/*
Theme Name: Hidden Systems 2
Theme URI: https://hiddensystems.co.uk/
Author: Hidden Systems Ltd
Description: Version 2 of the Hidden Systems block theme for the specialist Hi-Fi dealer in Ascot, Berkshire. The 1.1 colours (warm paper, charcoal and brass, with a light header) with the 2.0 type, layout and motion: Instrument Sans, Literata and Jost, scroll-led motion and smooth page transitions. Built for WooCommerce, keeping the classic product templates so existing shop plugins keep working. Install alongside Hidden Systems 1.x and switch between them at any time.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 2.3.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hidden-systems
Tags: block-patterns, full-site-editing, e-commerce
*/

/* ==================================================================
   Map
   1  Tokens and base          10 Brand index          19 WooCommerce
   2  Type and buttons         11 Devialet feature     20 Product page
   3  Logo                     12 Services             21 Shop extras
   4  Top bar                  13 Google reviews       22 Getting Started
   5  Header and menu          14 News                 23 Older sections
   6  Sections and headings    15 Visit us             24 Motion
   7  Homepage hero            16 Call to action
   8  Inner page hero          17 Footer
   9  Why us and LP12 story    18 Pages and posts
================================================================== */

/* ------------------------------------------------------------------
   1  Tokens and base
------------------------------------------------------------------ */
:root {
	color-scheme: light only;
	--hs-ground: var(--wp--preset--color--paper);
	--hs-raised: #FBF9F4;
	--hs-stage: var(--wp--preset--color--paper-2);
	--hs-line: var(--wp--preset--color--line);
	--hs-text: var(--wp--preset--color--ink);
	--hs-body-text: var(--wp--preset--color--text);
	--hs-muted: var(--wp--preset--color--muted);
	--hs-ink: var(--wp--preset--color--ink);
	--hs-ink-2: var(--wp--preset--color--ink-deep);
	--hs-ink-line: rgba(255, 255, 255, 0.14);
	--hs-on-ink: #F6F3EC;
	--hs-on-ink-muted: #BDB7AA;
	--hs-brass: var(--wp--preset--color--brass);
	--hs-brass-text: var(--wp--preset--color--brass-deep);
	--hs-brass-light: var(--wp--preset--color--brass-light);
	--hs-display: var(--wp--preset--font-family--display);
	--hs-body: var(--wp--preset--font-family--body);
	--hs-ui: var(--wp--preset--font-family--ui);
	--hs-serif: var(--wp--preset--font-family--serif);
	--hs-logo: var(--wp--preset--font-family--logo);
	--hs-gutter: clamp(16px, 4.4vw, 64px);
	--hs-max: 1360px;
	--hs-gap: 24px;
	--hs-section: var(--wp--preset--spacing--60);
	--hs-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--hs-ease-io: cubic-bezier(0.65, 0, 0.35, 1);
	--hs-top: var(--wp-admin--admin-bar--height, 0px);

	/* Names used by 1.x, kept so older page content still matches. */
	--hs-paper: var(--hs-ground);
	--hs-paper-2: var(--hs-stage);
	--hs-brass-deep: var(--hs-brass-text);
	--hs-ink-deep: var(--hs-ink-2);
}

html { background: var(--hs-ink-2); }
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
.wp-site-blocks { overflow-x: clip; background: var(--hs-ground); }
.wp-site-blocks > * { margin-block: 0; }
:focus-visible { outline: 2px solid var(--hs-brass); outline-offset: 3px; }
::selection { background: var(--hs-brass-light); color: var(--hs-ink); }
h1, h2, h3, h4 { text-wrap: balance; font-variant-numeric: lining-nums; }
p { text-wrap: pretty; }
.wp-site-blocks a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
.hs-num, .price, .amount { font-variant-numeric: tabular-nums lining-nums; }
.hs-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--hs-max) + 2 * var(--hs-gutter));
	margin-inline: auto;
	padding-inline: var(--hs-gutter);
}

/* ------------------------------------------------------------------
   2  Type and buttons
------------------------------------------------------------------ */
.is-style-eyebrow {
	font-family: var(--hs-ui);
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.005em;
	line-height: 1.5;
	text-transform: none;
	color: var(--hs-brass-text);
	margin-bottom: 0.25rem;
}
.is-style-eyebrow a { color: inherit; text-decoration: none; }
.is-style-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: var(--hs-muted);
	max-width: 38rem;
}
.hs-display {
	font-size: clamp(2.65rem, 1.2rem + 5.4vw, 6.1rem);
	line-height: 0.98;
	letter-spacing: -0.038em;
}
.hs-center { justify-content: center; }
.hs-nowrap { white-space: nowrap; }

/* Fine rule above a column (why us, ways in) */
.is-style-brass-rule {
	border-top: 1px solid var(--hs-brass);
	padding-top: 22px;
}
.is-style-brass-rule > :first-child { margin-top: 0; }
.is-style-brass-rule h3,
.is-style-brass-rule h4 { font-size: 1.1875rem; line-height: 1.3; letter-spacing: -0.01em; margin: 0 0 10px; }
.is-style-brass-rule p { font-size: 0.97rem; line-height: 1.6; color: var(--hs-muted); margin-top: 0; }
.is-style-brass-rule h3 a,
.is-style-brass-rule h4 a { color: inherit; text-decoration: none; transition: color 0.3s ease; }
.is-style-brass-rule h3 a:hover,
.is-style-brass-rule h4 a:hover { color: var(--hs-brass-text); }

/* Buttons: a colour wipes across from the left on hover. */
.wp-block-buttons { gap: 12px; }
.wp-block-button .wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	box-sizing: border-box;
	min-height: 52px;
	max-width: 100%;
	padding: 0 26px;
	border: 1px solid transparent;
	border-radius: 2px;
	background: var(--hs-brass);
	color: #1A150A;
	font-family: var(--hs-ui);
	font-size: 0.96rem;
	font-weight: 400;
	letter-spacing: 0.005em;
	line-height: 1.2;
	text-transform: none;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: color 0.5s var(--hs-ease), border-color 0.5s var(--hs-ease);
}
.wp-block-button .wp-block-button__link::before,
.woocommerce a.button::before,
.woocommerce button.button::before,
.woocommerce input.button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--hs-brass-light);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.6s var(--hs-ease);
}
.wp-block-button .wp-block-button__link:hover::before,
.wp-block-button .wp-block-button__link:focus-visible::before,
.woocommerce a.button:hover::before,
.woocommerce a.button:focus-visible::before,
.woocommerce button.button:hover::before,
.woocommerce button.button:focus-visible::before {
	transform: scaleX(1);
	transform-origin: left;
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus-visible,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--hs-brass); color: #1A150A; }
.woocommerce a.button.alt,
.woocommerce button.button.alt { background: var(--hs-brass); color: #1A150A; }
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce a.button.disabled { opacity: 0.5; cursor: not-allowed; }

/* Outline on dark */
.wp-block-button.is-style-outline-light .wp-block-button__link {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.45);
	color: var(--hs-on-ink);
}
.wp-block-button.is-style-outline-light .wp-block-button__link::before { background: var(--hs-on-ink); }
.wp-block-button.is-style-outline-light .wp-block-button__link:hover,
.wp-block-button.is-style-outline-light .wp-block-button__link:focus-visible {
	background: transparent;
	border-color: var(--hs-on-ink);
	color: var(--hs-ink);
}
/* Outline on light */
.wp-block-button.is-style-outline-dark .wp-block-button__link {
	background: transparent;
	border-color: var(--hs-text);
	color: var(--hs-text);
}
.wp-block-button.is-style-outline-dark .wp-block-button__link::before { background: var(--hs-text); }
.wp-block-button.is-style-outline-dark .wp-block-button__link:hover,
.wp-block-button.is-style-outline-dark .wp-block-button__link:focus-visible {
	background: transparent;
	color: var(--hs-ground);
}
.hs-on-ink .wp-block-button.is-style-outline-dark .wp-block-button__link::before { background: var(--hs-on-ink); }
/* Dark */
.wp-block-button.is-style-ink .wp-block-button__link,
.woocommerce .hs-enquire a.button {
	background: var(--hs-ink);
	color: var(--hs-on-ink);
}
.wp-block-button.is-style-ink .wp-block-button__link::before,
.woocommerce .hs-enquire a.button::before { background: var(--hs-brass); }
.wp-block-button.is-style-ink .wp-block-button__link:hover,
.wp-block-button.is-style-ink .wp-block-button__link:focus-visible,
.woocommerce .hs-enquire a.button:hover,
.woocommerce .hs-enquire a.button:focus-visible {
	background: var(--hs-ink);
	color: #1A150A;
}
/* Outline on dark sections when someone picks the light-background outline */
.hs-on-ink .wp-block-button.is-style-outline-dark .wp-block-button__link { border-color: rgba(255, 255, 255, 0.45); color: var(--hs-on-ink); }
.hs-on-ink .wp-block-button.is-style-outline-dark .wp-block-button__link::before { background: var(--hs-on-ink); }
.hs-on-ink .wp-block-button.is-style-outline-dark .wp-block-button__link:hover { color: var(--hs-ink); }

/* Text link with an underline that draws away on hover */
.hs-link,
.hs-newslist__all a,
.hs-story__more a,
.hs-quotes__link a,
.hs-brands__also a {
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
	padding-bottom: 2px;
	transition: background-size 0.5s var(--hs-ease), color 0.3s ease;
}
.hs-link:hover,
.hs-newslist__all a:hover,
.hs-story__more a:hover,
.hs-quotes__link a:hover,
.hs-brands__also a:hover {
	background-size: 0 1px;
	background-position: 100% 100%;
}

/* ------------------------------------------------------------------
   3  Logo: the Hidden Systems mark beside the name.
   Drawn with currentColor, so it takes the colour of the text.
------------------------------------------------------------------ */
.wp-block-site-title a {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	white-space: nowrap;
}
.wp-block-site-title a::before {
	content: "";
	flex: 0 0 auto;
	width: 52px;
	aspect-ratio: 121 / 52;
	background-color: currentColor;
	-webkit-mask: url("assets/images/logo-mark.svg") no-repeat center / contain;
	mask: url("assets/images/logo-mark.svg") no-repeat center / contain;
}

/* ------------------------------------------------------------------
   4  Top bar: reviews and services scroll past
------------------------------------------------------------------ */
.hs-util {
	position: relative;
	background: var(--hs-ink);
	color: #CFC9BB;
	font-family: var(--hs-ui);
	font-size: 0.8125rem;
	line-height: 1.3;
	padding-top: 0;
	padding-bottom: 0;
}
.hs-util p { margin: 0; }
.hs-util a { color: var(--hs-on-ink); text-decoration: none; }
.hs-util a:hover { color: #fff; }
.hs-util__row { gap: 24px; align-items: center; min-height: 38px; }
.hs-util__contact { flex: 0 0 auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.hs-stars { color: var(--hs-brass-light); letter-spacing: 0.14em; }

.hs-ticker {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.hs-ticker__track { gap: 0 !important; width: max-content; align-items: center; }
.hs-ticker__item {
	position: relative;
	white-space: nowrap;
	padding-right: 88px;
}
.hs-ticker__item::after {
	content: "";
	position: absolute;
	right: 42px;
	top: 50%;
	width: 4px;
	height: 4px;
	margin-top: -2px;
	border-radius: 50%;
	background: var(--hs-brass-light);
	opacity: 0.8;
}
.hs-ticker__item em {
	font-family: var(--hs-serif);
	font-style: italic;
	font-weight: 300;
	font-size: 0.95rem;
	color: var(--hs-on-ink);
}
.hs-ticker__item strong { font-weight: 400; color: var(--hs-brass-light); }
.hs-ticker__by { color: var(--hs-on-ink-muted); margin-left: 0.35em; }
.hs-ticker__track.is-animated { animation: hs-ticker var(--hs-ticker-duration, 70s) linear infinite; }
.hs-ticker:hover .hs-ticker__track,
.hs-ticker:focus-within .hs-ticker__track { animation-play-state: paused; }
@keyframes hs-ticker {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (max-width: 520px) {
	.hs-util__contact { display: none; }
}
.editor-styles-wrapper .hs-ticker { -webkit-mask-image: none; mask-image: none; }
.editor-styles-wrapper .hs-ticker__track { flex-wrap: wrap !important; width: auto; row-gap: 0.25rem !important; }

/* ------------------------------------------------------------------
   5  Header and menu
------------------------------------------------------------------ */
.hs-sticky-header {
	position: sticky;
	top: var(--hs-top);
	z-index: 60;
}
.hs-header {
	position: relative;
	isolation: isolate;
	color: var(--hs-body-text);
	padding-top: 0;
	padding-bottom: 0;
	border-bottom: 1px solid var(--hs-line);
	transition: box-shadow 0.5s var(--hs-ease);
}
.hs-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(246, 243, 236, 0.94);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: background-color 0.5s var(--hs-ease);
}
.hs-scrolled .hs-header::before {
	background: rgba(246, 243, 236, 0.92);
	-webkit-backdrop-filter: blur(20px) saturate(1.5);
	backdrop-filter: blur(20px) saturate(1.5);
}
.hs-header__row { gap: 32px; align-items: center; min-height: 76px; transition: min-height 0.5s var(--hs-ease); }
.hs-scrolled .hs-header__row { min-height: 62px; }
.hs-scrolled .hs-header { box-shadow: 0 10px 30px rgba(33, 30, 23, 0.08); }
.hs-header__right { gap: 30px; align-items: center; }
.hs-header .wp-block-site-title a { color: var(--hs-text); }

.hs-header .hs-nav-primary { gap: 30px; }
.hs-header .hs-nav-primary a {
	position: relative;
	padding: 6px 0;
	color: var(--hs-body-text);
	white-space: nowrap;
}
.hs-header .hs-nav-primary a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--hs-brass);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.5s var(--hs-ease);
}
.hs-header .hs-nav-primary a:hover,
.hs-header .hs-nav-primary a:focus-visible,
.hs-header .hs-nav-primary a[aria-current="page"] { color: var(--hs-text); }
.hs-header .hs-nav-primary a:hover::after,
.hs-header .hs-nav-primary a:focus-visible::after,
.hs-header .hs-nav-primary a[aria-current="page"]::after {
	transform: scaleX(1);
	transform-origin: left;
}
.hs-header__cta .wp-block-button__link { min-height: 42px; padding: 0 18px; font-size: 0.9rem; white-space: nowrap; }

.hs-header .wc-block-mini-cart__button { color: var(--hs-text); padding: 8px; }
.hs-header .wc-block-mini-cart__button:hover { color: var(--hs-brass-text); }
.hs-header .wc-block-mini-cart__icon { width: 24px; height: 24px; }
.hs-header .wc-block-mini-cart__badge { background: var(--hs-brass); color: #1A150A; border-color: var(--hs-ground); }
.hs-header .wc-block-mini-cart__amount { display: none; }

.hs-nav-burger .wp-block-navigation__responsive-container-open {
	color: var(--hs-text);
	padding: 6px;
	border-radius: 2px;
}
.hs-nav-burger .wp-block-navigation__responsive-container-open:hover { color: var(--hs-brass-text); }
.hs-nav-burger .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }

@media (max-width: 1100px) {
	.hs-header .hs-nav-primary { display: none; }
}
@media (max-width: 600px) {
	.hs-header .wp-block-buttons.hs-header__cta { display: none; }
	.hs-header__right { gap: 6px; }
	.hs-header__row { min-height: 64px; }
	.hs-scrolled .hs-header__row { min-height: 56px; }
}
@media (max-width: 520px) {
	.hs-header .wp-block-site-title { font-size: 0.78rem !important; letter-spacing: 0.26em !important; }
	.hs-header .wp-block-site-title a { gap: 11px; }
	.hs-header .wp-block-site-title a::before { width: 40px; }
}

/* Full-screen menu: paper, three columns (Shop, Brands, Visit us) */
.hs-nav-burger .wp-block-navigation__responsive-container.is-menu-open {
	padding: calc(env(safe-area-inset-top, 0px) + clamp(1.25rem, 4vw, 2.5rem)) var(--hs-gutter) clamp(1.5rem, 4vw, 2.5rem);
	background: var(--hs-ground) !important;
	color: var(--hs-text) !important;
}
.hs-nav-burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	max-width: var(--hs-max);
	margin: 0 auto;
	padding-top: clamp(3rem, 9vh, 6rem);
	align-items: stretch;
}
.hs-nav-burger .wp-block-navigation__responsive-container-close { color: var(--hs-text); top: 0; right: 0; }
.hs-nav-burger .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.hs-nav-burger .is-menu-open .wp-block-navigation__container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem var(--hs-gap) !important;
	align-items: start !important;
	width: 100%;
}
.hs-nav-burger .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	align-items: flex-start;
	width: 100%;
}
.hs-nav-burger .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	width: 100%;
	margin-bottom: 1.1rem;
	padding: 0 0 0.9rem !important;
	border-bottom: 1px solid var(--hs-brass);
	font-family: var(--hs-display);
	font-size: clamp(2.2rem, 4.4vw, 3.6rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1.05;
	color: var(--hs-text);
}
.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container {
	gap: 0.55rem !important;
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.15rem 0 !important;
	font-family: var(--hs-ui);
	font-size: 1rem;
	font-weight: 400;
	color: var(--hs-body-text);
}
.hs-nav-burger .is-menu-open a:hover,
.hs-nav-burger .is-menu-open a:focus-visible { color: var(--hs-brass-text) !important; }
.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
@media (max-width: 781px) {
	.hs-nav-burger .is-menu-open .wp-block-navigation__container {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem !important;
	}
	.hs-nav-burger .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		font-size: 2.2rem;
		margin-bottom: 0.8rem;
		padding-bottom: 0.65rem !important;
	}
	.hs-nav-burger .is-menu-open .hs-navcol--shop > .wp-block-navigation__submenu-container,
	.hs-nav-burger .is-menu-open .hs-navcol--brands > .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1.25rem;
	}
}

/* ------------------------------------------------------------------
   6  Sections and split headings
------------------------------------------------------------------ */
.hs-main { margin-top: 0; }
.hs-main > .alignfull,
.hs-landing > .wp-block-post-content > .alignfull,
.hs-landing > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }

.hs-section {
	padding-top: var(--hs-section);
	padding-bottom: var(--hs-section);
}
.hs-section.hs-section--flush-top { padding-top: 0; }
.hs-on-ink {
	background: var(--hs-ink);
	color: var(--hs-on-ink);
}
.hs-on-ink.hs-on-ink--raised { background: var(--hs-ink-2); }
.hs-on-ink :where(h1, h2, h3, h4) { color: var(--hs-on-ink); }
.hs-on-ink .is-style-eyebrow { color: var(--hs-brass-light); }
.hs-on-ink .is-style-lead { color: var(--hs-on-ink-muted); }
.hs-on-ink a:where(:not(.wp-element-button)) { color: var(--hs-on-ink); }

/* Section heading: small brass label, then the heading and intro, all from the left */
.hs-section > .hs-section-head { max-width: var(--wp--style--global--wide-size); }
.wp-block-group.hs-section-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	text-align: left;
	margin-bottom: 0;
}
.wp-block-group.hs-section-head > * {
	max-width: none !important;
	margin: 0 !important;
}
.wp-block-group.hs-section-head > .is-style-eyebrow:first-child { margin-bottom: -8px !important; }
.wp-block-group.hs-section-head > h2 { max-width: 15em !important; }
.wp-block-group.hs-section-head > .is-style-lead { max-width: 38rem !important; }
.hs-section > .hs-section-head + * { margin-block-start: clamp(3rem, 6.5vw, 6rem) !important; }
@media (max-width: 900px) {
	.wp-block-group.hs-section-head { gap: 18px; }
	.wp-block-group.hs-section-head > .is-style-eyebrow:first-child { margin-bottom: -4px !important; }
}

/* Image that fills its column */
.wp-block-image.hs-fill { height: 100%; margin: 0; }
.wp-block-image.hs-fill img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }

/* ------------------------------------------------------------------
   7  Homepage hero: the 1.1 photo behind a dark fade
------------------------------------------------------------------ */
.hs-hero {
	position: relative;
	overflow: hidden;
	background: var(--hs-ink-2);
	color: var(--hs-on-ink);
}
.hs-hero > *,
.hs-hero__stage > *,
.hs-hero__grid > *,
.hs-hero__text > * { margin-block: 0; }
.hs-hero__stage {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	min-height: clamp(560px, 80vh, 860px);
}
.hs-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	margin: 0;
	will-change: transform;
}
.hs-hero__bg img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transform-origin: 68% 42%;
}
/* The same fade as 1.1: dark on the left for the words, lighter on the right */
.hs-hero__stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(20, 18, 12, 0.35) 0%, transparent 28%, transparent 62%, rgba(33, 30, 23, 0.7) 100%),
		linear-gradient(90deg, rgba(20, 18, 12, 0.94), rgba(20, 18, 12, 0.45));
	pointer-events: none;
}
.hs-hero__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--hs-gap);
	align-items: end;
	padding-top: clamp(64px, 9vw, 128px);
	padding-bottom: clamp(48px, 6vw, 88px);
}
.hs-hero__text {
	grid-column: 1 / span 7;
	position: relative;
	display: grid;
	gap: 28px;
}
.hs-hero__text .is-style-eyebrow { color: var(--hs-brass-light); margin: 0; }
.hs-hero h1 { color: var(--hs-on-ink); margin: 0; }
.hs-hero .is-style-lead { color: #E5E0D5; margin: 0; }
.hs-hero__ctas { margin: 0; }
.hs-hero__dealer { position: relative; background: var(--hs-ink-2); border-top: 1px solid var(--hs-ink-line); }
.hs-hero__dealer p {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px 34px;
	margin: 0 auto;
	padding-top: 22px;
	padding-bottom: 22px;
}
.hs-hero__dealer-label { font-size: 0.875rem; color: var(--hs-on-ink-muted); margin-right: 6px; }
.hs-hero__dealer a {
	font-family: var(--hs-display);
	font-size: 1.05rem;
	color: var(--hs-on-ink);
	text-decoration: none;
	opacity: 0.86;
	transition: opacity 0.3s ease, color 0.3s ease;
}
.hs-hero__dealer a:hover { opacity: 1; color: var(--hs-brass-light); }
@media (max-width: 1100px) {
	.hs-hero__text { grid-column: 1 / span 9; }
}
@media (max-width: 900px) {
	.hs-hero__stage { min-height: clamp(520px, 78vh, 760px); }
	.hs-hero__text { grid-column: 1 / -1; }
	.hs-hero__stage::after {
		background:
			linear-gradient(180deg, rgba(20, 18, 12, 0.45) 0%, rgba(20, 18, 12, 0.7) 45%, rgba(20, 18, 12, 0.9) 100%);
	}
}

/* ------------------------------------------------------------------
   8  Inner page hero (Getting Started and other landing pages)
------------------------------------------------------------------ */
.hs-pagehero {
	background: var(--hs-ink);
	color: var(--hs-on-ink-muted);
	padding-top: clamp(56px, 8vw, 120px);
	padding-bottom: clamp(48px, 6vw, 88px);
}
.hs-pagehero h1 { color: var(--hs-on-ink); margin: 18px 0 22px; font-size: clamp(2.65rem, 1.2rem + 5.4vw, 6.1rem); line-height: 0.98; letter-spacing: -0.038em; }
.hs-pagehero .is-style-eyebrow { color: var(--hs-brass-light); margin-bottom: 0; }
.hs-pagehero .is-style-lead { color: var(--hs-on-ink-muted); max-width: 40rem; }
.hs-pagehero .wp-block-buttons { margin-top: 30px; }

/* ------------------------------------------------------------------
   9  Why us, and the LP12 story
------------------------------------------------------------------ */
.wp-block-columns.hs-grid-4 {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px var(--hs-gap);
}
.wp-block-columns.hs-grid-4 > .wp-block-column { margin: 0 !important; min-width: 0; }
.hs-section-head + .wp-block-columns { margin-top: clamp(3.5rem, 7vw, 6rem); }
@media (max-width: 980px) {
	.wp-block-columns.hs-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.wp-block-columns.hs-grid-4 { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

.hs-story {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: start;
}
.hs-story > *,
.hs-story__steps > * { margin-block: 0 !important; }
.hs-story__stage {
	position: sticky;
	top: calc(var(--hs-top) + 92px);
}
.hs-photo__frame {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 2px;
	background: var(--hs-stage);
}
.hs-photo__layer {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.04);
}
.hs-photo__layer.is-on { opacity: 1; transform: none; }
.hs-photo__layer--zoom { transform-origin: 90% 24%; }
.hs-photo.is-zoomed .hs-photo__layer--zoom { transform: scale(1.9); }
.hs-photo__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	min-height: 64px;
	padding-top: 12px;
}
.hs-photo__bar p { margin: 0; font-size: 0.95rem; }
.hs-photo__kind { color: var(--hs-muted); }
.hs-photo__note { display: none; color: var(--hs-muted); }
.hs-photo[data-step="2"] .hs-photo__name,
.hs-photo[data-step="3"] .hs-photo__name,
.hs-photo[data-step="2"] .hs-photo__swatches,
.hs-photo[data-step="3"] .hs-photo__swatches { display: none; }
.hs-photo[data-step="2"] .hs-photo__note--2,
.hs-photo[data-step="3"] .hs-photo__note--3 { display: block; }
.hs-photo__swatches { display: flex; flex-wrap: wrap; gap: 2px; }
.hs-swatch {
	-webkit-appearance: none;
	appearance: none;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.hs-swatch__dot {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: var(--c, #888);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}
.hs-swatch__dot--fluted { background-image: repeating-linear-gradient(90deg, transparent 0 3px, rgba(0, 0, 0, 0.32) 3px 4px); }
.hs-swatch:hover .hs-swatch__dot { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14), 0 0 0 2px var(--hs-ground), 0 0 0 3px var(--hs-line); }
.hs-swatch.is-on .hs-swatch__dot { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14), 0 0 0 2px var(--hs-ground), 0 0 0 3px var(--hs-text); transform: scale(1.06); }

.hs-story__step {
	min-height: 78vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	padding: 40px 0;
}
.hs-story__step:last-child { min-height: 0; padding-bottom: 0; }
.hs-story__step > * { margin: 0 !important; }
.hs-story__step h3 { font-size: var(--wp--preset--font-size--x-large); }
.hs-story__step p { color: var(--hs-muted); max-width: 32rem; }
.hs-story.is-live .hs-story__step:not(.is-active) { opacity: 0.3; }
.hs-step__n { font-size: 0.9rem; color: var(--hs-brass-text) !important; font-variant-numeric: tabular-nums; }
.hs-step__n span { margin-right: 0.5em; }
.hs-prices { display: flex; flex-wrap: wrap; gap: 14px 36px; margin: 6px 0 0; }
.hs-prices p { display: grid; margin: 0; }
.hs-prices span { font-size: 0.85rem; color: var(--hs-muted); }
.hs-prices strong { font-family: var(--hs-display); font-weight: 400; font-size: 1.6rem; letter-spacing: -0.02em; color: var(--hs-text); font-variant-numeric: tabular-nums lining-nums; }

/* LP12 upgrades: each part links to its product page, with its price */
.hs-upgrades { margin: 8px 0 0; border-top: 1px solid var(--hs-line); font-size: 0.97rem; }
.hs-upgrades__row {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 2px 16px;
	align-items: baseline;
	padding: 8px 0;
	border-bottom: 1px solid var(--hs-line);
}
.hs-upgrades__label,
.hs-story__step .hs-upgrades__label { margin: 0; font-size: 0.85rem; color: var(--hs-brass-text); padding-top: 4px; }
.hs-upgrades__items { display: flex; flex-wrap: wrap; gap: 0 18px; margin: 0; padding: 0; list-style: none; }
.hs-upgrades__items li { margin: 0; }
.hs-upgrades__item {
	display: inline-flex;
	align-items: baseline;
	gap: 0.45em;
	padding: 4px 0;
	color: var(--hs-text);
	text-decoration: none;
	transition: color 0.3s ease;
}
.hs-upgrades__item:hover,
.hs-upgrades__item:focus-visible { color: var(--hs-brass-text); }
.hs-upgrades__price { color: var(--hs-muted); font-size: 0.9em; font-variant-numeric: tabular-nums; }
.hs-story__ctas { margin-top: 10px !important; }
.hs-story__more { font-size: 0.95rem; }
.hs-story__more a { color: var(--hs-text); }

@media (max-width: 860px) {
	.hs-story { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.hs-story__stage {
		top: calc(var(--hs-top) + 56px);
		z-index: 3;
		margin-inline: calc(-1 * var(--hs-gutter));
		padding: 8px var(--hs-gutter) 4px;
		background: var(--hs-ground);
	}
	.hs-photo__frame { aspect-ratio: 16 / 10; }
	.hs-photo__bar { min-height: 52px; padding-top: 6px; }
	.hs-swatch { width: 38px; height: 38px; }
	.hs-swatch__dot { width: 20px; height: 20px; }
	.hs-story__step { min-height: 62vh; justify-content: flex-start; padding-top: 12vh; }
	.hs-story__step:last-child { min-height: 0; }
}
@media (max-width: 600px) {
	.hs-upgrades__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* ------------------------------------------------------------------
   10 Brand index
------------------------------------------------------------------ */
.hs-brands { display: block; border-top: 1px solid var(--hs-ink-line); }
.hs-section-head + .hs-brands { margin-top: clamp(40px, 5vw, 64px) !important; }
.hs-brand-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
	gap: var(--hs-gap);
	align-items: center;
	padding-block: clamp(18px, 2.4vw, 30px);
	border-bottom: 1px solid var(--hs-ink-line);
	color: var(--hs-on-ink);
	text-decoration: none;
}
.hs-on-ink .hs-brand-row { color: var(--hs-on-ink); }
.hs-brand-row__name {
	font-family: var(--hs-display);
	font-size: clamp(1.7rem, 4.2vw, 3.6rem);
	letter-spacing: -0.035em;
	line-height: 1;
	transition: transform 0.7s var(--hs-ease), color 0.5s var(--hs-ease);
}
.hs-brand-row__range { color: var(--hs-on-ink-muted); font-size: 0.98rem; }
.hs-brand-row__arrow {
	width: 26px;
	height: 26px;
	color: var(--hs-brass-light);
	opacity: 0;
	transform: translateX(-12px);
	transition: opacity 0.5s var(--hs-ease), transform 0.7s var(--hs-ease);
}
.hs-brand-row:hover .hs-brand-row__name,
.hs-brand-row:focus-visible .hs-brand-row__name { transform: translateX(14px); color: var(--hs-brass-light); }
.hs-brand-row:hover .hs-brand-row__arrow,
.hs-brand-row:focus-visible .hs-brand-row__arrow { opacity: 1; transform: none; }
.hs-brands__also { margin-top: 26px !important; color: var(--hs-on-ink-muted); font-size: 0.97rem; }
@media (hover: none) {
	.hs-brand-row__arrow { opacity: 0.8; transform: none; }
	.hs-brand-row:active .hs-brand-row__name { color: var(--hs-brass-light); }
}
@media (max-width: 700px) {
	.hs-brand-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
	.hs-brand-row__range { grid-column: 1; grid-row: 2; }
	.hs-brand-row__arrow { grid-column: 2; grid-row: 1 / span 2; opacity: 1; transform: none; }
}
/* Photo that follows the pointer (added by motion.js on computers) */
.hs-preview {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 30;
	width: 0;
	height: 0;
	pointer-events: none;
}
.hs-preview__box {
	position: absolute;
	left: -150px;
	top: -112px;
	width: 300px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 2px;
	background: var(--hs-stage);
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.4s var(--hs-ease), transform 0.6s var(--hs-ease);
}
.hs-preview.is-on .hs-preview__box { opacity: 1; transform: none; }
.hs-preview__box img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ------------------------------------------------------------------
   11 Devialet feature
------------------------------------------------------------------ */
.hs-feature {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--hs-gap);
	row-gap: 40px;
	align-items: end;
}
.hs-feature > * { margin: 0 !important; }
.hs-feature__media {
	grid-column: 1 / span 6;
	overflow: hidden;
	border-radius: 2px;
	background: var(--hs-stage);
}
.hs-feature__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transform-origin: 50% 60%;
}
.hs-feature__text { grid-column: 8 / span 5; display: grid; gap: 24px; padding-bottom: 8px; }
.hs-feature__text > * { margin: 0; }
@media (max-width: 900px) {
	.hs-feature__media,
	.hs-feature__text { grid-column: 1 / -1; }
}

/* ------------------------------------------------------------------
   12 Services
------------------------------------------------------------------ */
.hs-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(24px, 5vw, 80px);
}
.hs-services > * { margin: 0 !important; }
.hs-service {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
	gap: 20px;
	padding-block: 26px;
	border-top: 1px solid var(--hs-line);
}
.hs-service > * { margin: 0 !important; }
.hs-service h3 { font-size: 1.1875rem; line-height: 1.3; letter-spacing: -0.01em; }
.hs-service h3 a { color: inherit; text-decoration: none; transition: color 0.3s ease; }
.hs-service h3 a:hover { color: var(--hs-brass-text); }
.hs-service p { color: var(--hs-muted); font-size: 0.97rem; }
@media (max-width: 860px) {
	.hs-services { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
	.hs-service { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}

/* ------------------------------------------------------------------
   13 Google reviews, one at a time
------------------------------------------------------------------ */
.hs-quotes { display: grid; gap: 34px; max-width: var(--wp--style--global--wide-size); }
.hs-quotes__stack { display: grid; max-width: 1080px; }
.hs-quote {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);
	transition: opacity 0.6s var(--hs-ease), transform 0.9s var(--hs-ease), visibility 0s linear 0.9s;
}
.hs-quote.is-on {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.8s var(--hs-ease) 0.35s, transform 1s var(--hs-ease) 0.35s, visibility 0s;
}
.hs-quote blockquote { margin: 0; padding: 0; border: 0; }
.hs-quote blockquote p {
	margin: 0;
	font-family: var(--hs-serif);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(2rem, 5.2vw, 4.6rem);
	line-height: 1.08;
	letter-spacing: -0.012em;
	color: var(--hs-on-ink);
	text-wrap: balance;
}
.hs-quote figcaption { margin-top: 26px; color: var(--hs-on-ink-muted); }
.hs-quote figcaption strong { color: var(--hs-on-ink); font-weight: 400; }
.hs-quotes__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 32px;
	color: var(--hs-on-ink-muted);
	border-top: 1px solid var(--hs-ink-line);
	padding-top: 24px;
}
.hs-quotes__meta p { margin: 0; }
.hs-quotes__ctrl { display: flex; gap: 8px; margin-left: auto; }
.hs-quotes__ctrl button {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--hs-ink-line);
	border-radius: 50%;
	background: none;
	color: var(--hs-on-ink);
	cursor: pointer;
	transition: border-color 0.4s ease, background-color 0.4s ease;
}
.hs-quotes__ctrl button:hover,
.hs-quotes__ctrl button:focus-visible { border-color: var(--hs-brass-light); }
.hs-quotes__ctrl svg { width: 18px; height: 18px; }
.hs-quotes:not(.is-live) .hs-quotes__ctrl { visibility: hidden; }
@media (max-width: 600px) {
	.hs-quotes__ctrl { margin-left: 0; }
}

/* ------------------------------------------------------------------
   14 News: latest posts on the homepage, News pages, single posts
------------------------------------------------------------------ */
.hs-section-head + .hs-newslist { margin-top: clamp(36px, 4vw, 56px) !important; }
.hs-newslist .wp-block-post-template { gap: var(--hs-gap); margin: 0; }
.hs-newslist .wp-block-post {
	display: grid;
	gap: 14px;
	align-content: start;
	padding-top: 20px;
	border-top: 1px solid var(--hs-brass);
}
.hs-newslist .wp-block-post > * { margin: 0; }
.hs-newslist__date { color: var(--hs-muted); font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.hs-newslist__title { font-size: 1.1875rem; line-height: 1.3; letter-spacing: -0.01em; }
.hs-newslist__title a { color: inherit; text-decoration: none; transition: color 0.3s ease; }
.hs-newslist__title a:hover { color: var(--hs-brass-text); }
.hs-newslist__excerpt,
.hs-newslist__excerpt p { color: var(--hs-muted); font-size: 0.97rem; margin: 0; }
.hs-newslist__excerpt .wp-block-post-excerpt__more-text { display: none; }
.hs-newslist__all { margin-top: 36px !important; }
.hs-newslist__all a { color: var(--hs-text); }
@media (max-width: 860px) {
	.hs-newslist .wp-block-post-template { grid-template-columns: minmax(0, 1fr) !important; gap: 32px; }
}

.hs-news-head { margin-bottom: clamp(28px, 4vw, 48px); }
.hs-news-head > * { margin-block: 0; }
.hs-news-head .hs-page__title { margin: 10px 0 0; }
.hs-news-head .wp-block-term-description { max-width: 40rem; color: var(--hs-muted); margin-top: 18px; }
ul.hs-news-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--hs-line);
}
.hs-news-filters li { margin: 0; }
.hs-news-filters .cat-item-none { display: none; }
.hs-news-filters a {
	position: relative;
	display: inline-block;
	padding: 14px 0;
	font-size: 0.97rem;
	color: var(--hs-muted);
	text-decoration: none;
}
.hs-news-filters a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: var(--hs-text);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.6s var(--hs-ease);
}
.hs-news-filters a:hover { color: var(--hs-text); }
.hs-news-filters .current-cat > a { color: var(--hs-text); }
.hs-news-filters .current-cat > a::after { transform: scaleX(1); }

.hs-posts .wp-block-post-template { gap: 48px var(--hs-gap); }
.hs-posts .wp-block-post { display: flex; flex-direction: column; }
.hs-posts .wp-block-post > * { margin-block: 0; }
.hs-posts .wp-block-post-featured-image { margin: 0 0 18px; overflow: hidden; border-radius: 2px; background: var(--hs-stage); }
.hs-posts .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.hs-posts .wp-block-post-date { margin: 0 0 8px; }
.hs-posts .wp-block-post-title { font-size: 1.375rem; line-height: 1.25; letter-spacing: -0.015em; margin: 0; }
.hs-posts .wp-block-post-title a { text-decoration: none; }
.hs-posts .wp-block-post-title a:hover { color: var(--hs-brass-text); }
.hs-posts .wp-block-post-excerpt { margin-top: 10px; font-size: 0.97rem; color: var(--hs-muted); }
.hs-posts .wp-block-post-excerpt__excerpt { margin: 0; }
.hs-posts .wp-block-query-pagination { margin-top: 56px; gap: 18px; font-size: 0.95rem; }
.hs-posts .wp-block-query-pagination a { text-decoration: none; }
.hs-noimage { background: var(--hs-stage); overflow: hidden; }
.hs-noimage a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.hs-noimage__mark {
	display: block;
	width: 30%;
	aspect-ratio: 121 / 52;
	background-color: var(--hs-brass);
	opacity: 0.5;
	-webkit-mask: url("assets/images/logo-mark.svg") no-repeat center / contain;
	mask: url("assets/images/logo-mark.svg") no-repeat center / contain;
}

.hs-single__meta { gap: 0.25rem 1.25rem; align-items: baseline; }
.hs-single__meta > * { margin: 0; }
.hs-single__meta a { text-decoration: none; }
.hs-single .hs-page__title { margin-top: 0.75rem; }
.hs-single__image { margin-top: 1.5rem; margin-bottom: 2.5rem; border-radius: 2px; overflow: hidden; }
.hs-single__image img { display: block; width: 100%; height: auto; max-height: 72vh; object-fit: cover; }
.hs-single__terms { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--hs-line); font-size: 0.9rem; color: var(--hs-muted); }
.hs-single__terms a { color: var(--hs-text); text-decoration: none; }
.hs-single__nav { gap: 1rem 2rem; margin-top: 1.5rem; font-size: 0.95rem; }
.hs-single__nav a { color: var(--hs-text); text-decoration: none; }
.hs-single__nav a:hover { color: var(--hs-brass-text); }
.hs-single__back a { color: var(--hs-brass-text); text-decoration: none; }

/* ------------------------------------------------------------------
   15 Visit us
------------------------------------------------------------------ */
.hs-visit__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--hs-gap);
	row-gap: 48px;
	align-items: center;
}
.hs-visit__grid > * { margin: 0 !important; }
.hs-visit__text { grid-column: 1 / span 5; display: grid; gap: 26px; }
.hs-visit__text > * { margin: 0 !important; }
.hs-visit__media {
	grid-column: 7 / span 6;
	overflow: hidden;
	border-radius: 2px;
	background: var(--hs-ink-2);
}
.hs-visit__media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.hs-facts {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px 24px;
	margin: 0;
	font-size: 0.97rem;
}
.hs-facts dt { color: var(--hs-on-ink-muted); }
.hs-facts dd { margin: 0; color: var(--hs-on-ink); }
.hs-facts a { text-decoration: none; }
.hs-facts a:hover { color: var(--hs-brass-light); }
.hs-towns { font-size: 0.9rem; color: var(--hs-on-ink-muted); }
@media (max-width: 900px) {
	.hs-visit__text,
	.hs-visit__media { grid-column: 1 / -1; }
}

/* ------------------------------------------------------------------
   16 Call to action
------------------------------------------------------------------ */
.hs-cta {
	background: var(--hs-ground);
	color: var(--hs-text);
	padding-top: clamp(56px, 7vw, 100px);
	padding-bottom: clamp(56px, 7vw, 100px);
	border-top: 1px solid var(--hs-line);
}
.hs-cta__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 32px;
	align-items: end;
}
.hs-cta__grid > * { margin: 0 !important; }
.hs-cta__text { display: grid; gap: 14px; }
.hs-cta__text > * { margin: 0 !important; }
.hs-cta h2 { color: var(--hs-text); }
@media (max-width: 800px) {
	.hs-cta__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------
   17 Footer
------------------------------------------------------------------ */
.hs-footer {
	background: var(--hs-ink-2);
	color: var(--hs-on-ink-muted);
	font-size: 0.95rem;
	padding-top: 72px;
	padding-bottom: 0;
}
.wp-block-columns.hs-footer__cols {
	display: grid !important;
	grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
	gap: 40px var(--hs-gap);
	margin-bottom: 0;
}
.hs-footer__cols > .wp-block-column { margin: 0 !important; min-width: 0; }
.hs-footer__brand { display: grid; gap: 16px; align-content: start; }
.hs-footer__brand > * { margin: 0; }
.hs-footer__brand p { max-width: 22rem; }
.hs-footer .wp-block-site-title,
.hs-footer .wp-block-site-title a { color: var(--hs-on-ink); }
.hs-footer__title {
	margin: 0 0 14px;
	font-family: var(--hs-display);
	font-size: 0.95rem !important;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
	color: var(--hs-brass-light);
}
.hs-footer__links { margin: 0; line-height: 2; }
.hs-footer a { color: var(--hs-on-ink-muted); text-decoration: none; transition: color 0.3s ease; }
.hs-footer a:hover { color: var(--hs-on-ink); }
.hs-footer__base {
	margin-top: 64px;
	padding-top: 22px;
	padding-bottom: 32px;
	border-top: 1px solid var(--hs-ink-line);
	font-size: 0.85rem;
	gap: 8px 24px;
}
.hs-footer__base p { margin: 0; }
/* Legal footer (2.3.0) */
.hs-footer__legal { display: grid; gap: 10px; width: 100%; }
.hs-footer__company { margin: 0; line-height: 1.6; color: var(--hs-on-ink-muted); }
.hs-footer__legal-links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; list-style: none; }
.hs-footer__legal-links a,
.hs-footer__legal-links button { color: var(--hs-on-ink); text-decoration: none; font: inherit; font-size: inherit; background: none; border: 0; padding: 0; cursor: pointer; min-height: 32px; display: inline-flex; align-items: center; }
.hs-footer__legal-links a:hover,
.hs-footer__legal-links button:hover { color: var(--hs-brass-light); }
.hs-footer__legal-links a:focus-visible,
.hs-footer__legal-links button:focus-visible { outline: 2px solid var(--hs-brass-light); outline-offset: 2px; }
/* Legal pages: indented sub-clauses (a), (b)... */
.hs-indent { padding-left: 1.5em; }
.hs-legal-table { overflow-x: auto; }
.hs-legal-table table { min-width: 560px; font-size: 0.9rem; }
.hs-legal-table th, .hs-legal-table td { vertical-align: top; }
@media (max-width: 860px) {
	.wp-block-columns.hs-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hs-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
	.wp-block-columns.hs-footer__cols { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------
   18 Pages and posts
------------------------------------------------------------------ */
.hs-page { padding-top: clamp(40px, 6vw, 88px); padding-bottom: var(--hs-section); }
.hs-page__title { margin-top: 0.25rem; margin-bottom: clamp(28px, 4vw, 48px); }
.hs-page .wp-block-post-content > h2 { font-size: clamp(1.75rem, 3vw, 2.6rem); margin-top: 2.2em; }
.hs-page .wp-block-post-content > h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); margin-top: 1.8em; }
.hs-page .wp-block-post-content > p a,
.hs-page .wp-block-post-content li a { color: var(--hs-text); text-decoration-color: var(--hs-brass); }
.hs-page .wp-block-post-content > p a:hover,
.hs-page .wp-block-post-content li a:hover { color: var(--hs-brass-text); }
.hs-page .wp-block-image img,
.hs-page .wp-block-post-featured-image img { border-radius: 2px; }
.hs-page .wp-block-post-featured-image { margin-bottom: 2.5rem; }
.wp-block-quote { font-style: italic; }
.wp-block-quote cite { display: block; margin-top: 0.75rem; font-family: var(--hs-ui); font-style: normal; font-size: 0.9rem; color: var(--hs-muted); }
.wp-block-separator { border-top-width: 1px; opacity: 1; }
.wp-block-details summary { cursor: pointer; }
.wp-block-table table { border-collapse: collapse; }
.wp-block-table th,
.wp-block-table td { border: 0; border-bottom: 1px solid var(--hs-line); padding: 12px 16px 12px 0; text-align: left; }
.wp-block-table thead { border-bottom: 1px solid var(--hs-text); }

/* Forms (contact form, account and search) */
.wp-site-blocks :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="date"], textarea, select) {
	box-sizing: border-box;
	max-width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--hs-line);
	border-radius: 2px;
	background: var(--hs-raised);
	color: var(--hs-text);
	font: inherit;
	transition: border-color 0.3s ease;
}
.wp-site-blocks :where(textarea) { min-height: 140px; }
.wp-site-blocks :where(input, textarea, select):hover { border-color: var(--hs-muted); }
.wp-site-blocks :where(input, textarea, select):focus { border-color: var(--hs-text); outline: 2px solid rgba(168, 132, 44, 0.3); outline-offset: 1px; }
.wp-site-blocks :where(label) { font-size: 0.95rem; }
.wp-block-search__inside-wrapper { gap: 8px; }
.wp-block-search__button { min-height: 48px; margin-left: 0 !important; }

/* ------------------------------------------------------------------
   19 WooCommerce: shop, category and brand pages
------------------------------------------------------------------ */
.hs-woo {
	box-sizing: border-box;
	max-width: calc(var(--hs-max) + 2 * var(--hs-gutter));
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(28px, 4vw, 48px) var(--hs-gutter) var(--hs-section);
}
.hs-woo .content-area,
.hs-woo .site-main { margin: 0; padding: 0; width: auto; float: none; }

.woocommerce .woocommerce-breadcrumb {
	margin: 0 0 18px;
	font-size: 0.9rem;
	color: var(--hs-muted);
}
.woocommerce .woocommerce-breadcrumb a { color: var(--hs-muted); text-decoration: none; transition: color 0.3s ease; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--hs-text); }

.woocommerce-products-header { margin: 0 0 clamp(28px, 4vw, 48px); padding: 0; }
.woocommerce-products-header__title.page-title {
	margin: 0 0 22px;
	font-family: var(--hs-display);
	font-size: clamp(2.65rem, 1.2rem + 5.4vw, 6.1rem);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.038em;
	color: var(--hs-text);
}
.woocommerce .term-description,
.woocommerce-products-header .page-description {
	max-width: 40rem;
	color: var(--hs-muted);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
}
.woocommerce .term-description > :first-child { margin-top: 0; }
.woocommerce .term-description p { margin: 0 0 0.9em; }
.woocommerce .term-description h2,
.woocommerce .term-description h3 { font-size: var(--wp--preset--font-size--x-large); color: var(--hs-text); margin: 1.4em 0 0.5em; }
.woocommerce .term-description a { color: var(--hs-text); }

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { font-size: 0.92rem; color: var(--hs-muted); }
.woocommerce .woocommerce-result-count { float: left; margin: 0 0 28px; line-height: 44px; }
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 28px; }
.woocommerce .woocommerce-ordering select {
	-webkit-appearance: none;
	appearance: none;
	min-height: 44px;
	padding: 0 40px 0 14px;
	border: 1px solid var(--hs-line);
	border-radius: 2px;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231B1915' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center / 11px 7px;
	color: var(--hs-text);
	font: inherit;
	cursor: pointer;
}

/* Product grid */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 48px var(--hs-gap);
	clear: both;
	margin: 0 0 2rem !important;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products.columns-3,
.hs-woo--archive ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce ul.products.columns-1 { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 960px) {
	.woocommerce ul.products,
	.woocommerce ul.products.columns-3,
	.hs-woo--archive ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.woocommerce ul.products { gap: 36px 14px; }
}

.woocommerce ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0;
	text-align: left;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 16px;
	align-items: baseline;
	width: 100%;
	color: var(--hs-text);
	text-decoration: none;
}
.woocommerce ul.products li.product .hs-thumb,
.woocommerce ul.products li.product a > img { grid-column: 1 / -1; }

/* Photo frame: white product backgrounds blend into the stone colour */
.hs-thumb {
	position: relative;
	isolation: isolate;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: 0 0 16px;
	overflow: hidden;
	border-radius: 2px;
	background: var(--hs-stage);
}
.woocommerce ul.products li.product .hs-thumb img {
	position: absolute;
	inset: 7% 8%;
	width: 84%;
	height: 86%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform 1.1s var(--hs-ease);
}
.woocommerce ul.products li.product:hover .hs-thumb img,
.woocommerce ul.products li.product:active .hs-thumb img { transform: scale(1.045) translateY(-4px); }
/* If a plugin removes the frame, the photo still sits on stone. */
.woocommerce ul.products li.product a > img {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin: 0 0 16px;
	padding: 6%;
	object-fit: contain;
	background: var(--hs-stage);
	border-radius: 2px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	grid-column: 1;
	margin: 0;
	padding: 0;
	font-family: var(--hs-body);
	font-size: 1.02rem;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	color: var(--hs-text);
}
.woocommerce ul.products li.product .price {
	grid-column: 2;
	display: block;
	margin: 0;
	font-family: var(--hs-body);
	font-size: 1.02rem;
	color: var(--hs-brass-text);
	text-align: right;
	white-space: nowrap;
}
.woocommerce ul.products li.product .star-rating { grid-column: 1 / -1; order: 5; margin: 6px 0 0; }
.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: var(--hs-muted); font-size: 0.88em; opacity: 1; }
.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none; }
@media (max-width: 600px) {
	.woocommerce ul.products li.product .woocommerce-LoopProduct-link { grid-template-columns: minmax(0, 1fr); }
	.woocommerce ul.products li.product .price { grid-column: 1; margin-top: 4px; text-align: left; white-space: normal; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 0.95rem; }
}

/* Action under each card: a quiet text link, not a block */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 44px;
	margin: 2px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--hs-brass-text);
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 0;
	text-decoration: none;
	overflow: visible;
}
.woocommerce ul.products li.product .button::before { display: none; }
.woocommerce ul.products li.product .button::after {
	content: "";
	position: static;
	display: inline-block;
	width: 14px;
	height: 14px;
	margin: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform 0.5s var(--hs-ease);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus-visible { background: none; color: var(--hs-text); }
.woocommerce ul.products li.product .button:hover::after { transform: translateX(4px); }
.woocommerce ul.products li.product .button.loading { opacity: 0.5; }
.woocommerce ul.products li.product .button.added { display: none; }
.woocommerce ul.products li.product .added_to_cart { color: var(--hs-text); }

/* Sale badge */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	z-index: 2;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 6px 10px;
	border-radius: 2px;
	background: var(--hs-ink);
	color: var(--hs-on-ink);
	font-size: 0.78rem;
	font-weight: 400;
	line-height: 1;
}

/* Category tiles on the Shop page */
.woocommerce ul.products li.product-category > a { display: block; width: 100%; color: var(--hs-text); text-decoration: none; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	margin: 0;
	padding: 0;
	font-family: var(--hs-display);
	font-size: clamp(1.25rem, 1.8vw, 1.6rem);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--hs-text);
	transition: color 0.3s ease;
}
.woocommerce ul.products li.product-category:hover .woocommerce-loop-category__title { color: var(--hs-brass-text); }
.woocommerce ul.products li.product-category .count { display: none; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 56px; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 6px; margin: 0; padding: 0; list-style: none; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { display: block; border: 0; margin: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 10px;
	box-sizing: border-box;
	border: 1px solid var(--hs-line);
	border-radius: 2px;
	color: var(--hs-text);
	font-size: 0.95rem;
	line-height: 1;
	text-decoration: none;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--hs-stage); color: var(--hs-text); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--hs-ink); border-color: var(--hs-ink); color: var(--hs-on-ink); }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border: 0 !important;
	border-radius: 2px;
	background: var(--hs-stage) !important;
	color: var(--hs-text) !important;
	font-size: 0.97rem;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--hs-brass) !important; }
.woocommerce-error::before { color: #9B3B2E !important; }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button { min-height: 40px; padding: 0 16px; background: var(--hs-ink); color: var(--hs-on-ink); }
.woocommerce .woocommerce-message .button::before,
.woocommerce .woocommerce-info .button::before { background: var(--hs-brass); }
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-info .button:hover { background: var(--hs-ink); color: var(--hs-ink); }

/* ------------------------------------------------------------------
   20 Product page
------------------------------------------------------------------ */
.woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	column-gap: clamp(32px, 5vw, 80px);
	align-items: start;
}
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images,
.woocommerce-page div.product div.images {
	grid-column: 1;
	grid-row: 1;
	position: sticky;
	top: calc(var(--hs-top) + 86px);
	width: auto !important;
	float: none !important;
	margin: 0 0 2rem;
}
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary {
	grid-column: 2;
	grid-row: 1;
	width: auto !important;
	float: none !important;
	margin: 0;
}
@media (max-width: 900px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
	.woocommerce div.product div.images,
	.woocommerce-page div.product div.images { position: relative; top: auto; grid-column: 1; grid-row: auto; }
	.woocommerce div.product div.summary,
	.woocommerce-page div.product div.summary { grid-column: 1; grid-row: auto; }
}

/* Gallery */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image {
	isolation: isolate;
	overflow: hidden;
	border-radius: 2px;
	background: var(--hs-stage);
}
.woocommerce div.product div.images img {
	display: block;
	width: 100%;
	height: auto;
	border: 0;
	background: none;
	mix-blend-mode: multiply;
}
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 12px 0 0;
	padding: 0;
}
.woocommerce div.product div.images .flex-control-thumbs::before,
.woocommerce div.product div.images .flex-control-thumbs::after { display: none; }
.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	isolation: isolate;
	overflow: hidden;
	border-radius: 2px;
	background: var(--hs-stage);
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	opacity: 0.6;
	transition: opacity 0.4s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--hs-raised);
	box-shadow: 0 0 0 1px var(--hs-line);
}

/* Summary */
.woocommerce div.product .product_title {
	margin: 0 0 14px;
	font-family: var(--hs-display);
	font-size: clamp(1.9rem, 1.1rem + 1.9vw, 2.9rem);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.032em;
	color: var(--hs-text);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin: 0 0 22px;
	font-family: var(--hs-display);
	font-size: 1.9rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	color: var(--hs-brass-text);
}
/* Delivery line under the price (2.2.3) */
.woocommerce div.product .hs-delivery {
	margin: -12px 0 22px;
	font-size: 0.97rem;
	line-height: 1.5;
	color: var(--hs-text);
}
.woocommerce div.product .hs-delivery a { color: var(--hs-brass-text); text-underline-offset: 3px; white-space: nowrap; }

/* Enquiry form (2.2.4): bot trap kept off screen, and the product line */
.hs-trap { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.hs-form-about {
	margin: 0 0 24px;
	padding: 14px 18px;
	border-left: 2px solid var(--hs-brass);
	background: var(--hs-stage);
	color: var(--hs-text);
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--hs-muted); }
.woocommerce div.product .woocommerce-product-details__short-description > :first-child { margin-top: 0; }
.woocommerce div.product .woocommerce-product-details__short-description a { color: var(--hs-text); }
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 26px 0;
	padding-top: 22px;
	border-top: 1px solid var(--hs-line);
}
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty {
	box-sizing: border-box;
	width: 4.75rem;
	min-height: 52px;
	padding: 0 8px;
	border: 1px solid var(--hs-line);
	border-radius: 2px;
	background: var(--hs-raised);
	color: var(--hs-text);
	font: inherit;
	text-align: center;
}
.woocommerce div.product form.cart .button { float: none; min-height: 52px; padding: 0 30px; }
.woocommerce div.product form.cart .variations { margin: 0 0 18px; border: 0; }
.woocommerce div.product form.cart .variations tr { display: grid; gap: 8px; margin-bottom: 14px; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; padding: 0; line-height: 1.4; text-align: left; }
.woocommerce div.product form.cart .variations label { font-weight: 400; font-size: 0.95rem; color: var(--hs-muted); }
.woocommerce div.product form.cart .variations select {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 100%;
	max-width: 420px;
	min-height: 52px;
	margin: 0;
	padding: 0 44px 0 14px;
	border: 1px solid var(--hs-line);
	border-radius: 2px;
	background: var(--hs-raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231B1915' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center / 12px 8px;
	color: var(--hs-text);
	font: inherit;
	cursor: pointer;
}
.woocommerce div.product form.cart .variations select:hover { border-color: var(--hs-muted); }
.woocommerce div.product form.cart .variations select:focus { border-color: var(--hs-text); outline: 2px solid rgba(168, 132, 44, 0.3); outline-offset: 1px; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 0.9rem; color: var(--hs-muted); }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 1.5rem; margin: 0 0 12px; }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product .stock { color: var(--hs-muted); font-size: 0.95rem; }
.woocommerce div.product .stock.out-of-stock { color: #9B3B2E; }
.woocommerce .product_meta {
	display: grid;
	gap: 4px;
	margin-top: 8px;
	padding-top: 20px;
	border-top: 1px solid var(--hs-line);
	font-size: 0.9rem;
	color: var(--hs-muted);
}
.woocommerce .product_meta a { color: var(--hs-text); text-decoration: none; }
.woocommerce .product_meta a:hover { color: var(--hs-brass-text); }

/* Enquire instead of Add to basket (sales rules) */
.hs-enquire {
	display: grid;
	gap: 14px;
	margin: 26px 0;
	padding: 24px;
	border: 1px solid var(--hs-line);
	border-top: 2px solid var(--hs-brass);
	background: var(--hs-stage);
}
.hs-enquire[hidden] { display: none; }
.hs-enquire > * { margin: 0; }
.hs-enquire__title { font-family: var(--hs-display); font-size: 1.1875rem; line-height: 1.3; letter-spacing: -0.01em; color: var(--hs-text); }
.hs-enquire__text { font-size: 0.97rem; color: var(--hs-muted); }
.hs-enquire__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.hs-enquire__phone { color: var(--hs-text); text-decoration: none; font-variant-numeric: tabular-nums; }
.hs-enquire__phone:hover { color: var(--hs-brass-text); }
.woocommerce .variations_form.hs-option-enquiry .woocommerce-variation-add-to-cart { display: none; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(48px, 6vw, 80px); padding-top: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 28px;
	list-style: none;
	margin: 0 0 28px !important;
	padding: 0 !important;
	overflow-x: auto;
	border-bottom: 1px solid var(--hs-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	position: relative;
	display: block;
	padding: 14px 0;
	font-weight: 400;
	font-size: 0.97rem;
	color: var(--hs-muted);
	text-decoration: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--hs-brass);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.6s var(--hs-ease);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--hs-text); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after { transform: scaleX(1); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 46rem; margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: var(--wp--preset--font-size--x-large); margin-top: 0; }
.woocommerce div.product .woocommerce-tabs .panel a { color: var(--hs-text); }
.woocommerce table.shop_attributes { border-top: 1px solid var(--hs-line); }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { padding: 12px 16px 12px 0; border-bottom: 1px solid var(--hs-line); background: none !important; font-style: normal; font-weight: 400; text-align: left; }
.woocommerce table.shop_attributes th { color: var(--hs-muted); width: 30%; }
.woocommerce table.shop_attributes td p { margin: 0; padding: 0; }

.woocommerce .related,
.woocommerce .upsells { margin-top: clamp(56px, 7vw, 100px); }
.woocommerce .related > h2,
.woocommerce .upsells > h2 { margin: 0 0 28px; font-size: clamp(1.75rem, 3vw, 2.6rem); }

/* ------------------------------------------------------------------
   21 Shop extras: Back button, basket and account pages
------------------------------------------------------------------ */
.hs-back { margin: 0 0 18px; }
.hs-back--end { margin: 48px 0 0; }
.hs-back__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	color: var(--hs-text);
	font-size: 0.95rem;
	text-decoration: none;
}
.hs-back__link::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' d='M20 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' d='M20 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform 0.5s var(--hs-ease);
}
.hs-back__link:hover,
.hs-back__link:focus-visible { color: var(--hs-text); }
.hs-back__link:hover::before { transform: translateX(-4px); }

.woocommerce table.shop_table { border: 0; border-top: 1px solid var(--hs-text); border-radius: 0; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-top: 0; border-bottom: 1px solid var(--hs-line); padding: 16px 12px 16px 0; }
.woocommerce table.shop_table th { font-weight: 400; color: var(--hs-muted); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hs-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--hs-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; color: var(--hs-text); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--hs-brass-text); }
.woocommerce form .form-row label { font-size: 0.95rem; color: var(--hs-muted); }
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select { min-height: 48px; }
.wc-block-components-button:not(.is-link) { border-radius: 2px; }

/* ------------------------------------------------------------------
   22 Getting Started page
------------------------------------------------------------------ */
.hs-gs-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}
.hs-gs-hero__text > * { margin-block: 0; }
.hs-gs-hero__text h1 { margin: 18px 0 22px; }
.hs-gs-hero__text .wp-block-buttons { margin-top: 30px; }
.hs-gs-hero__art { color: var(--hs-on-ink); opacity: 0.92; }
.hs-gs-hero__art svg { display: block; width: 100%; max-width: 520px; height: auto; margin-left: auto; }
.hs-gs-arc { stroke: var(--hs-brass-light); }
@media (max-width: 781px) {
	.hs-gs-hero__inner { grid-template-columns: minmax(0, 1fr); }
	.hs-gs-hero__art svg { max-width: 300px; margin: 0; }
}

.hs-gs-icon {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--hs-stage);
	color: var(--hs-brass-text);
}
.hs-gs-icon svg { width: 34px; height: 34px; }
.hs-gs-links,
.hs-gs-combos,
.hs-gs-tiernav { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-gs-links { margin-top: 16px; }
.hs-gs-links a,
.hs-gs-combos a,
.hs-gs-tiernav a {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	box-sizing: border-box;
	min-height: 40px;
	padding: 6px 14px;
	border: 1px solid var(--hs-line);
	border-radius: 999px;
	background: transparent;
	color: var(--hs-text);
	font-family: var(--hs-ui);
	font-size: 0.9rem;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}
.hs-gs-links a:hover,
.hs-gs-combos a:hover,
.hs-gs-tiernav a:hover,
.hs-gs-links a:focus-visible,
.hs-gs-combos a:focus-visible,
.hs-gs-tiernav a:focus-visible { border-color: var(--hs-brass); background: var(--hs-raised); color: var(--hs-brass-text); }
.hs-gs-combos a em { font-style: normal; color: var(--hs-muted); }

/* Lines up with the heading above (left edge of the wide column) */
@media (min-width: 901px) {
	.hs-section > .hs-gs-tiernav,
	.hs-section > .hs-gs-combos,
	.hs-section > .hs-gs-faqlist {
		box-sizing: border-box;
		width: auto;
		max-width: min(46rem, 100%) !important;
		margin-left: calc((100% - min(100%, var(--wp--style--global--wide-size))) / 2) !important;
		margin-right: 0 !important;
		justify-content: flex-start;
		text-align: left;
	}
}
.hs-section > .hs-section-head + .hs-gs-tiernav { margin-top: 32px !important; }

/* How the parts connect */
.hs-gs-chain {
	display: flex;
	align-items: flex-start;
	max-width: 1000px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
}
.hs-gs-chain__node {
	flex: 0 0 8.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}
.hs-gs-chain__icon {
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	border: 1px solid var(--hs-line);
	border-radius: 50%;
	background: var(--hs-ground);
	color: var(--hs-brass-text);
}
.hs-gs-chain__icon svg { width: 46px; height: 46px; }
.hs-gs-chain__label { font-size: 0.97rem; color: var(--hs-text); }
.hs-gs-chain__label small { display: block; margin-top: 2px; font-size: 0.85rem; color: var(--hs-muted); }
.hs-gs-chain__link { position: relative; flex: 1 1 auto; height: 1px; margin-top: 44px; }
.hs-gs-chain__link::before { content: ""; position: absolute; inset: 0; background: var(--hs-line); }
.hs-gs-chain__link::after {
	content: "";
	position: absolute;
	top: -3px;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--hs-brass);
	opacity: 0;
}
.hs-gs-combos { max-width: 980px; margin: clamp(2.5rem, 5vw, 4rem) auto 0; }
.hs-gs-combos > span { flex-basis: 100%; margin-bottom: 4px; font-size: 0.875rem; color: var(--hs-muted); }
@media (max-width: 600px) {
	.hs-gs-chain__node { flex-basis: 4.6rem; gap: 8px; }
	.hs-gs-chain__icon { width: 56px; height: 56px; }
	.hs-gs-chain__icon svg { width: 30px; height: 30px; }
	.hs-gs-chain__label { font-size: 0.8rem; }
	.hs-gs-chain__label small { font-size: 0.72rem; }
	.hs-gs-chain__link { margin-top: 28px; min-width: 10px; }
}

/* Tiers with product cards */
.hs-gs-tiernav { margin: 0 auto clamp(2.5rem, 5vw, 4rem); }
.hs-gs-tier { scroll-margin-top: calc(var(--hs-top) + 96px); padding-top: 40px; border-top: 1px solid var(--hs-brass); }
.hs-gs-tier + .hs-gs-tier { margin-top: clamp(48px, 6vw, 80px); border-top-color: var(--hs-line); }
#budget { scroll-margin-top: calc(var(--hs-top) + 80px); }
.hs-gs-tier__head {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--hs-gap);
	row-gap: 10px;
	align-items: start;
	margin-bottom: 32px;
}
.hs-gs-tier__head > * { margin: 0 !important; }
.hs-gs-tier__title { grid-column: 1 / span 4; }
.hs-gs-tier__title > * { margin: 0; }
.hs-gs-tier__title h3 { margin-top: 6px; font-size: var(--wp--preset--font-size--x-large); }
.hs-gs-tier__head > p { grid-column: 6 / -1; color: var(--hs-muted); max-width: 34rem; }
.hs-gs-tier .woocommerce ul.products { margin-bottom: 0 !important; }
.hs-gs-tier .woocommerce ul.products.columns-2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) {
	.hs-gs-tier .woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.hs-gs-tier__more { margin-top: 24px; }
@media (max-width: 900px) {
	.hs-gs-tier__title,
	.hs-gs-tier__head > p { grid-column: 1 / -1; }
}

/* Encore band */
.hs-gs-encore { background: var(--hs-ink); color: var(--hs-on-ink-muted); text-align: center; }
.hs-gs-encore h2 { color: var(--hs-on-ink); margin: 14px 0; }
.hs-gs-encore .is-style-eyebrow { color: var(--hs-brass-light); }
.hs-gs-encore p:not(.is-style-eyebrow) { max-width: 38rem; margin-left: auto; margin-right: auto; }
.hs-gs-encore .wp-block-buttons { justify-content: center; margin-top: 30px; }

/* Questions, opened one at a time */
.hs-gs-faqlist { max-width: 760px; margin: 0 auto; border-top: 1px solid var(--hs-line); }
.hs-gs-faqlist > * { margin-block: 0; }
.hs-gs-faq { border-bottom: 1px solid var(--hs-line); }
.hs-gs-faq summary {
	position: relative;
	display: block;
	box-sizing: border-box;
	min-height: 58px;
	padding: 18px 44px 18px 0;
	list-style: none;
	cursor: pointer;
	font-family: var(--hs-display);
	font-size: 1.125rem;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: var(--hs-text);
}
.hs-gs-faq summary::-webkit-details-marker { display: none; }
.hs-gs-faq summary::before,
.hs-gs-faq summary::after {
	content: "";
	position: absolute;
	right: 4px;
	top: 50%;
	width: 14px;
	height: 1px;
	background: var(--hs-brass);
	transition: transform 0.5s var(--hs-ease);
}
.hs-gs-faq summary::after { transform: rotate(90deg); }
.hs-gs-faq[open] summary::after { transform: rotate(0deg); }
.hs-gs-faq > :not(summary) { margin: 0 0 20px; color: var(--hs-muted); max-width: 40rem; }

/* ------------------------------------------------------------------
   23 Older sections, still styled in case a page uses them
------------------------------------------------------------------ */
.hs-brandstrip {
	background: var(--hs-ink-2);
	gap: 10px 34px;
	align-items: baseline;
	padding: 22px var(--hs-gutter);
	margin-top: 0 !important;
	border-top: 1px solid var(--hs-ink-line);
}
.hs-brandstrip p { margin: 0; }
.hs-brandstrip__label { font-size: 0.875rem; color: var(--hs-on-ink-muted); }
.hs-brandstrip__brand { font-family: var(--hs-display); font-size: 1.05rem; }
.hs-brandstrip__brand a { color: var(--hs-on-ink); text-decoration: none; opacity: 0.86; }
.hs-brandstrip__brand a:hover { opacity: 1; color: var(--hs-brass-light); }

.wp-block-columns.hs-cards { gap: var(--hs-gap); margin-top: 1.5rem; }
.hs-card { background: transparent; }
.hs-card .wp-block-image { margin: 0 0 16px; overflow: hidden; border-radius: 2px; background: var(--hs-stage); }
.hs-card .wp-block-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1.1s var(--hs-ease); }
.hs-card:hover .wp-block-image img { transform: scale(1.04); }
.hs-card h3 { margin: 0; font-size: 1.1875rem; letter-spacing: -0.01em; }
.hs-card h3 a { color: var(--hs-text); text-decoration: none; }
.hs-card p { margin: 4px 0 0; font-size: 0.95rem; color: var(--hs-muted); }

.hs-pricerow { gap: 14px 36px; margin: 6px 0 0; }
.hs-price { margin: 0; display: grid; font-family: var(--hs-display); font-size: 1.6rem; letter-spacing: -0.02em; color: var(--hs-text); line-height: 1.2; }
.hs-price span { font-family: var(--hs-ui); font-size: 0.85rem; letter-spacing: 0; color: var(--hs-muted); }
.hs-score { font-family: var(--hs-display); font-size: 2.5rem; color: var(--hs-text); margin: 0.25rem 0 0; }
.hs-score .hs-stars { font-size: 1.4rem; vertical-align: middle; margin-left: 0.4rem; color: var(--hs-brass); }
.hs-nap { line-height: 2; }

/* ------------------------------------------------------------------
   24 Motion. Everything below is skipped for visitors who ask their
   device to reduce motion.
------------------------------------------------------------------ */

/* Words behind a mask (added by motion.js) */
.hs-w {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	padding: 0 0.06em 0.12em;
	margin: 0 -0.06em -0.12em;
}
.hs-w > span { display: inline-block; }
.hs-words-wait .hs-w > span { transform: translate3d(0, 110%, 0); }
.hs-words-in .hs-w > span {
	transition: transform 1.1s cubic-bezier(0.19, 1, 0.22, 1);
	transition-delay: calc(var(--i, 0) * 35ms);
}

/* Waiting to arrive (added by motion.js; shown again as it scrolls in) */
.hs-wait { opacity: 0; }

/* Safety net: if the motion script never runs, show everything anyway. */
@keyframes hs-show { to { opacity: 1; } }
.hs-js .hs-hero h1:not(.is-split),
.hs-js .hs-pagehero h1:not(.is-split),
.hs-js .hs-page__title:not(.is-split),
.hs-js .woocommerce-products-header__title:not(.is-split),
.hs-js .woocommerce div.product .product_title:not(.is-split),
.hs-js .hs-hero__text > :not(h1):not(.is-in),
.hs-js .hs-hero__dealer:not(.is-in) {
	opacity: 0;
	animation: hs-show 0.01s linear 2.2s forwards;
}

/* Photos that open out as you scroll */
.hs-reveal { overflow: hidden; }
.hs-reveal.is-live { clip-path: inset(9% 7% 9% 7%); }
.hs-reveal.is-live img { transform: translate3d(0, -4%, 0) scale(1.16); will-change: transform; }

@keyframes hs-rise { from { opacity: 0; translate: 0 30px; } }
@keyframes hs-fade { from { opacity: 0; } }
@keyframes hs-menu-in { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes hs-page-out { to { opacity: 0; translate: 0 -12px; } }
@keyframes hs-page-in { from { opacity: 0; translate: 0 22px; } }

@media (prefers-reduced-motion: no-preference) {

	/* Smooth change between pages. The header and admin bar stay put,
	   and a product photo glides from its card into the product page. */
	@view-transition { navigation: auto; }
	.hs-sticky-header { view-transition-name: hs-header; }
	#wpadminbar { view-transition-name: hs-adminbar; }
	.single-product div.product div.images .woocommerce-product-gallery__image:first-child { view-transition-name: hs-product; }
	::view-transition-old(root) { animation: hs-page-out 0.32s cubic-bezier(0.65, 0, 0.35, 1) both; }
	::view-transition-new(root) { animation: hs-page-in 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.08s both; }
	::view-transition-group(hs-header),
	::view-transition-group(hs-adminbar) { animation-duration: 0.5s; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	::view-transition-group(hs-product) { animation-duration: 0.85s; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	::view-transition-old(hs-product),
	::view-transition-new(hs-product) { animation-duration: 0.85s; height: 100%; object-fit: contain; }

	/* Homepage hero photo: fades up, settles, then drifts very slowly (as in 1.1) */
	.hs-hero__bg img {
		animation: hs-hero-photo-in 2.4s cubic-bezier(0.16, 1, 0.3, 1) both, hs-hero-photo-drift 26s cubic-bezier(0.45, 0, 0.55, 1) 2.4s infinite alternate;
	}
	@keyframes hs-hero-photo-in {
		from { opacity: 0; scale: 1.14; }
		to { opacity: 1; scale: 1.04; }
	}
	@keyframes hs-hero-photo-drift {
		from { scale: 1.04; }
		to { scale: 1.12; }
	}

	/* Full-screen menu opens like a blind, then the links rise in */
	.hs-nav-burger .wp-block-navigation__responsive-container.is-menu-open { animation: hs-menu-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) both; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li { animation: hs-rise 0.9s var(--hs-ease) both; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__container > li:nth-child(2) { --hs-col: 1; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__container > li:nth-child(3) { --hs-col: 2; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(2) { --hs-i: 1; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(3) { --hs-i: 2; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(4) { --hs-i: 3; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(5) { --hs-i: 4; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(6) { --hs-i: 5; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(7) { --hs-i: 6; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(8) { --hs-i: 7; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(9) { --hs-i: 8; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(10) { --hs-i: 9; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li:nth-child(n+11) { --hs-i: 10; }
	.hs-nav-burger .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { animation-delay: calc(0.18s + var(--hs-col, 0) * 0.08s); }
	.hs-nav-burger .is-menu-open .wp-block-navigation__submenu-container > li { animation-delay: calc(0.3s + var(--hs-col, 0) * 0.08s + var(--hs-i, 0) * 0.03s); }

	/* Pages without the hero: the heading area settles in */
	.hs-pagehero .is-style-eyebrow,
	.hs-pagehero .is-style-lead,
	.hs-pagehero .wp-block-buttons,
	.hs-gs-hero__art,
	.hs-news-head > :not(.hs-page__title),
	.hs-single__meta,
	.woocommerce .woocommerce-breadcrumb,
	.hs-back:not(.hs-back--end),
	.woocommerce .term-description,
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary > :not(.product_title) { animation: hs-rise 1.2s var(--hs-ease) 0.12s both; }
	.hs-pagehero .is-style-lead,
	.hs-gs-hero__art,
	.woocommerce .term-description,
	.woocommerce div.product div.summary > :not(.product_title) { animation-delay: 0.26s; }
	.hs-pagehero .wp-block-buttons { animation-delay: 0.38s; }

	/* First products on a shop page arrive one after another */
	.woocommerce ul.products > li:nth-child(-n+6) { animation: hs-rise 1.1s var(--hs-ease) both; }
	.woocommerce ul.products > li:nth-child(1) { animation-delay: 0.15s; }
	.woocommerce ul.products > li:nth-child(2) { animation-delay: 0.22s; }
	.woocommerce ul.products > li:nth-child(3) { animation-delay: 0.29s; }
	.woocommerce ul.products > li:nth-child(4) { animation-delay: 0.36s; }
	.woocommerce ul.products > li:nth-child(5) { animation-delay: 0.43s; }
	.woocommerce ul.products > li:nth-child(6) { animation-delay: 0.5s; }

	/* LP12 story */
	.hs-story.is-live .hs-story__step { transition: opacity 0.8s var(--hs-ease); }
	.hs-photo__layer { transition: opacity 1.1s var(--hs-ease), transform 1.6s var(--hs-ease); }
	.hs-swatch__dot { transition: box-shadow 0.4s var(--hs-ease), transform 0.4s var(--hs-ease); }

	/* Picture eases in on news cards (press and hold on iPad) */
	.hs-posts .wp-block-post-featured-image img { transition: transform 1.1s var(--hs-ease); }
	.hs-posts .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }

	/* Getting Started */
	.hs-gs-arc { animation: hs-gs-pulse 2.8s ease-in-out infinite; }
	.hs-gs-arc--2 { animation-delay: 0.35s; }
	.hs-gs-chain__link::after { animation: hs-gs-flow 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite; }
	.hs-gs-chain__link:nth-of-type(2)::after { animation-delay: 0.85s; }
	.hs-gs-chain__link:nth-of-type(3)::after { animation-delay: 1.7s; }
	@keyframes hs-gs-pulse { 0%, 100% { opacity: 0.25; } 50% { opacity: 1; } }
	@keyframes hs-gs-flow {
		0% { left: 0; opacity: 0; }
		15% { opacity: 1; }
		85% { opacity: 1; }
		100% { left: calc(100% - 7px); opacity: 0; }
	}
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
	.hs-ticker__track { animation: none !important; }
	.hs-story__step { opacity: 1 !important; }
	.hs-reveal { clip-path: none !important; }
	.hs-reveal img { transform: none !important; }
}
