/* =============================================================
   Chetak Ply — main.css
   Bundled stylesheet. Sections in order:
   1. Tokens (variables)
   2. Reset + base
   3. Typography
   4. Layout (container, section, utilities)
   5. Buttons
   6. Header + nav + dropdown
   7. Mobile drawer
   8. Hero
   9. Section heads / eyebrows
   10. Products grid + card
   11. Applications
   12. Trust bar
   13. Heritage
   14. Network
   15. CTA banner
   16. Footer
   17. 404 + page fallback
   18. Reveal animations
   19. Responsive (mobile-first overrides at the end)
   ============================================================= */

/* ---------- 1. Tokens --------------------------------------- */
:root {
	/* Brand */
	--red:           #CC0000;
	--red-deep:      #A30000;
	--blue:          #13277A;
	--blue-deep:     #0E1D5C;
	--white:         #FFFFFF;
	/* Neutral palette — ATF Design System */
	--off-white:     #FAFAF8;   /* bg-primary  (page background) */
	--charcoal:      #1C1917;   /* dark-bg     (footer, dark sections) */
	--text:          #1A1A1A;   /* text-primary */
	--text-light:    #6B6560;   /* text-secondary */
	--text-muted:    #9A938C;
	--border:        #E8E4DE;
	--border-strong: #D8D2C8;
	--cream:         #F3F1ED;   /* bg-alt      (cards, alt sections) */

	/* Semantic aliases (ATF tokens) */
	--bg-primary:    #FAFAF8;
	--bg-alt:        #F3F1ED;
	--text-primary:  #1A1A1A;
	--text-secondary:#6B6560;
	--dark-bg:       #1C1917;

	/* Wood gradients (product cards — image fallback only) */
	--wood-1: #3D2B1F;
	--wood-2: #6B4A36;
	--wood-3: #A67C52;
	--wood-4: #C4956A;
	--wood-5: #D4B08C;

	/* Type — ATF Design System */
	--font-display: "Cabinet Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	--font-body:    "Switzer", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
	--font-hindi:   "Noto Sans Devanagari", "Mangal", system-ui, sans-serif;

	/* Spacing scale — tightened */
	--space-1:  4px;
	--space-2:  8px;
	--space-3:  12px;
	--space-4:  16px;
	--space-5:  20px;
	--space-6:  28px;
	--space-7:  32px;
	--space-8:  40px;
	--space-9:  48px;
	--space-10: 56px;

	/* Layout */
	--max-content: 1200px;
	--max-narrow:  820px;
	--gutter:      24px;

	/* Radii */
	--radius-sm: 6px;
	--radius-md: 12px;
	--radius-lg: 12px;
	--radius-xl: 16px;

	/* Elevation — subtle */
	--shadow-sm: 0 2px 12px rgba(0, 0, 0, .04);
	--shadow-md: 0 2px 12px rgba(0, 0, 0, .04);
	--shadow-lg: 0 6px 24px rgba(0, 0, 0, .07);

	/* Motion */
	--ease-out:  cubic-bezier(.2, .6, .2, 1);
	--ease-in:   cubic-bezier(.4, 0, .2, 1);
	--ease-soft: cubic-bezier(.25, .8, .25, 1);
	--dur-fast:  .18s;
	--dur:       .32s;
	--dur-slow:  .5s;

	/* Header */
	--header-h: 60px;
}

@media (max-width: 767px) {
	:root { --header-h: 56px; --gutter: 20px; }
}

/* ---------- 2. Reset + base --------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--off-white);
	color: var(--text);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

img, svg, video { display: block; max-width: 100%; height: auto; }
img { font-style: italic; }   /* alt text fallback colour */

button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
a { color: var(--blue); text-decoration: none; transition: color var(--dur-fast) var(--ease-out); }
a:hover { color: var(--red); }

ul, ol { padding: 0; margin: 0; list-style: none; }
p { margin: 0 0 1em; }
h1, h2, h3, h4, h5 { margin: 0 0 .5em; line-height: 1.2; font-family: var(--font-display); font-weight: 700; letter-spacing: -.02em; color: var(--charcoal); text-wrap: balance; }
.section__title, .section__lede, .s-head__title, .s-head__lede { text-wrap: balance; }

:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 2px; }

::selection { background: var(--red); color: var(--white); }

.skip-link {
	position: absolute; top: -100px; left: 8px;
	background: var(--blue); color: var(--white);
	padding: 10px 18px; border-radius: var(--radius-sm);
	z-index: 100;
	transition: top var(--dur) var(--ease-out);
}
.skip-link:focus { top: 8px; color: #fff; }

/* ---------- 3. Typography ----------------------------------- */
.eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--red);
	margin: 0 0 var(--space-2);
}
.eyebrow--light { color: rgba(255, 255, 255, .8); }

.section__title {
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 600;
	letter-spacing: -.02em;
	margin: 0 0 var(--space-4);
}
.section__lede {
	font-size: clamp(15px, 1.4vw, 16px);
	line-height: 1.65;
	color: var(--text-light);
	max-width: 60ch;
	margin: 0;
}
.section__lede--light { color: rgba(255, 255, 255, .78); }

.prose h2 { font-size: clamp(18px, 2.2vw, 24px); margin-top: 1.5em; }
.prose h3 { font-size: clamp(18px, 2vw, 22px); margin-top: 1.4em; }
.prose p { font-size: 16px; line-height: 1.7; }
.prose a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 4. Layout --------------------------------------- */
.container {
	width: 100%; max-width: var(--max-content);
	margin: 0 auto; padding-inline: var(--gutter);
}
.container--narrow { max-width: var(--max-narrow); }

.section {
	padding-block: clamp(var(--space-8), 8vw, var(--space-10));
}

.section--dark  { background: var(--charcoal); color: var(--white); }
.section--dark .section__title { color: var(--white); }
.section--cream { background: var(--cream); }

.section__head {
	max-width: 760px;
	margin: 0 auto var(--space-8);
	text-align: center;
}
.section__head .eyebrow,
.section__head .section__lede { margin-left: auto; margin-right: auto; }
.section__head--light .section__title { color: var(--white); }

/* ---------- 5. Buttons -------------------------------------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center;
	gap: 8px;
	padding: 10px 24px;
	font-family: var(--font-body);
	font-size: 13px; font-weight: 600;
	letter-spacing: .01em;
	border-radius: 8px;
	border: 1px solid transparent;
	transition: transform var(--dur-fast) var(--ease-out),
	            background var(--dur-fast) var(--ease-out),
	            color var(--dur-fast) var(--ease-out),
	            box-shadow var(--dur-fast) var(--ease-out);
	white-space: nowrap;
}
.btn--lg     { padding: 12px 28px; font-size: 14px; }
.btn--block  { width: 100%; }

/* Primary — tinted glass red */
.btn--primary {
	background: rgba(204, 0, 0, .65);
	backdrop-filter: blur(8px) saturate(120%);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
	border: 1px solid rgba(204, 0, 0, .4);
	color: var(--white);
	box-shadow: 0 2px 8px rgba(204, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .15);
}
.btn--primary:hover { background: rgba(204, 0, 0, .82); color: var(--white); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(204, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .15); }

/* Secondary — transparent with hairline border */
.btn--ghost { background: transparent; color: var(--text-primary); border: 1px solid var(--border); }
.btn--ghost:hover { background: var(--bg-alt); color: var(--text-primary); border-color: var(--border-strong); }

/* Secondary on dark/photographic backgrounds — light tinted glass */
.btn--ghost-light { background: rgba(255, 255, 255, .08); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--white); border: 1px solid rgba(255, 255, 255, .4); }
.btn--ghost-light:hover { background: rgba(255, 255, 255, .18); color: var(--white); }

.btn--white { background: var(--white); color: var(--red); }
.btn--white:hover { background: var(--off-white); color: var(--red-deep); }

.btn--outline-white { background: rgba(255, 255, 255, .08); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--white); border: 1px solid rgba(255, 255, 255, .4); }
.btn--outline-white:hover { background: rgba(255, 255, 255, .18); color: var(--white); }

/* ---------- 6. Header --------------------------------------- */
.site-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255, 255, 255, .82);
	backdrop-filter: saturate(160%) blur(10px);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid transparent;
	transition: background var(--dur) var(--ease-out),
	            border-color var(--dur) var(--ease-out),
	            box-shadow var(--dur) var(--ease-out);
}
.site-header.is-scrolled {
	background: rgba(255, 255, 255, .96);
	border-bottom-color: var(--border);
	box-shadow: 0 1px 0 rgba(0, 0, 0, .02);
}
.site-header__bar {
	display: flex; align-items: center; gap: var(--space-5);
	height: var(--header-h);
}
.site-header__logo {
	display: inline-flex; align-items: center;
	flex: 0 0 auto;
}
.chetak-logo {
	width: auto; height: 40px;
}
@media (max-width: 767px) {
	.chetak-logo { height: 36px; }
}

.site-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.site-nav__list { display: flex; gap: 8px; align-items: center; }
.site-nav__link {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px;
	color: var(--charcoal); font-weight: 500; font-size: 14px;
	border-radius: 8px;
	transition: color var(--dur-fast) var(--ease-out),
	            background var(--dur-fast) var(--ease-out);
}
.site-nav__link:hover { color: var(--red); background: rgba(204, 0, 0, .04); }
.site-nav__caret { width: 10px; height: 7px; transition: transform var(--dur-fast) var(--ease-out); }
.has-children:hover .site-nav__caret,
.has-children.is-open .site-nav__caret { transform: rotate(180deg); }

.site-nav__dropdown {
	position: absolute; left: 50%; transform: translateX(-50%) translateY(-6px);
	top: calc(var(--header-h) - 8px);
	width: min(720px, calc(100vw - 32px));
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
	padding: var(--space-5);
	opacity: 0; pointer-events: none;
	transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);
	z-index: 60;
}
.has-children:hover .site-nav__dropdown,
.has-children.is-open .site-nav__dropdown,
.has-children:focus-within .site-nav__dropdown {
	opacity: 1; pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}
.site-nav__dropdown-list {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px;
}
.site-nav__dropdown-link {
	display: flex; flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border-radius: 10px;
	color: var(--charcoal);
	transition: background var(--dur-fast) var(--ease-out);
}
.site-nav__dropdown-link:hover { background: var(--cream); color: var(--charcoal); }
.site-nav__dropdown-name { font-weight: 600; font-size: 14px; line-height: 1.25; }
.site-nav__dropdown-tag { font-size: 13px; color: var(--text-light); line-height: 1.4; }
.site-nav__dropdown-all {
	display: block;
	margin-top: var(--space-4);
	padding-top: var(--space-4);
	border-top: 1px solid var(--border);
	color: var(--blue);
	font-size: 14px; font-weight: 600;
}

.site-header__cta {
	flex: 0 0 auto;
	padding: 8px 18px;
	background: rgba(204, 0, 0, .75);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
	backdrop-filter: blur(8px) saturate(120%);
	border: 1px solid rgba(204, 0, 0, .4);
	color: var(--white);
	box-shadow: 0 2px 12px rgba(204, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .15);
}
.site-header__cta:hover { background: rgba(204, 0, 0, .9); color: var(--white); }

.site-header__toggle {
	display: none;
	width: 44px; height: 44px;
	flex-direction: column; gap: 5px; align-items: center; justify-content: center;
	border-radius: 10px;
	transition: background var(--dur-fast) var(--ease-out);
}
.site-header__toggle:hover { background: rgba(0, 0, 0, .05); }
.site-header__toggle span {
	display: block; width: 22px; height: 2px;
	background: var(--charcoal); border-radius: 2px;
	transition: transform var(--dur) var(--ease-out), opacity var(--dur-fast) var(--ease-out);
}

@media (max-width: 1023px) {
	.site-nav, .site-header__cta { display: none; }
	.site-header__toggle { display: inline-flex; }
}

/* ---------- 7. Mobile drawer -------------------------------- */
.mobile-drawer {
	position: fixed; inset: 0;
	z-index: 80;
	pointer-events: none;
	visibility: hidden;
}
.mobile-drawer.is-open { pointer-events: auto; visibility: visible; }
.mobile-drawer__backdrop {
	position: absolute; inset: 0;
	background: rgba(20, 20, 20, .55);
	opacity: 0;
	transition: opacity var(--dur) var(--ease-out);
	width: 100%; height: 100%;
	cursor: pointer;
}
.mobile-drawer.is-open .mobile-drawer__backdrop { opacity: 1; }
.mobile-drawer__panel {
	position: absolute; inset: 0 0 0 auto;
	width: min(420px, 92vw); height: 100%;
	background: var(--white);
	box-shadow: var(--shadow-lg);
	transform: translateX(100%);
	transition: transform var(--dur-slow) var(--ease-out);
	display: flex; flex-direction: column;
	padding: var(--space-5);
	overflow-y: auto;
}
.mobile-drawer.is-open .mobile-drawer__panel { transform: translateX(0); }
.mobile-drawer__top {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: var(--space-6);
}
.mobile-drawer__logo-img { height: 44px; width: auto; }
.mobile-drawer__close {
	width: 44px; height: 44px;
	border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--charcoal);
	transition: background var(--dur-fast) var(--ease-out);
}
.mobile-drawer__close:hover { background: var(--cream); }
.mobile-drawer__close svg { width: 22px; height: 22px; }

.mobile-drawer__nav { display: flex; flex-direction: column; gap: 4px; }
.mobile-drawer__group { border-bottom: 1px solid var(--border); }
.mobile-drawer__group summary {
	list-style: none;
	padding: 16px 0;
	font-size: 18px; font-weight: 600; color: var(--charcoal);
	cursor: pointer;
	display: flex; justify-content: space-between; align-items: center;
}
.mobile-drawer__group summary::-webkit-details-marker { display: none; }
.mobile-drawer__group summary::after {
	content: "+"; font-size: 22px; color: var(--text-muted); font-weight: 400;
	transition: transform var(--dur) var(--ease-out);
}
.mobile-drawer__group[open] summary::after { transform: rotate(45deg); }
.mobile-drawer__group ul { padding: 0 0 var(--space-5) 0; display: flex; flex-direction: column; gap: 2px; }
.mobile-drawer__group ul a {
	display: flex; flex-direction: column; gap: 2px;
	padding: 12px 0;
	color: var(--text);
	font-size: 15px;
}
.mobile-drawer__group ul a:hover .mobile-drawer__name { color: var(--red); }
.mobile-drawer__name { font-weight: 600; color: var(--charcoal); transition: color var(--dur-fast) var(--ease-out); }
.mobile-drawer__tag  { font-size: 13px; color: var(--text-light); }
.mobile-drawer__viewall { color: var(--blue) !important; font-weight: 600; }

.mobile-drawer__link {
	padding: 16px 0;
	font-size: 18px; font-weight: 600; color: var(--charcoal);
	border-bottom: 1px solid var(--border);
}
.mobile-drawer__link:hover { color: var(--red); }

.mobile-drawer__cta { margin-top: var(--space-6); }

.mobile-drawer__contact {
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
	display: flex; flex-direction: column; gap: 6px;
	font-size: 14px; color: var(--text-light);
}
.mobile-drawer__contact a { color: var(--text-light); }
.mobile-drawer__contact a:hover { color: var(--red); }

body.menu-open { overflow: hidden; }

/* ---------- 8. Hero ----------------------------------------- */
.hero {
	position: relative;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex; align-items: flex-end;
	padding-block: var(--space-8);
	overflow: hidden;
	color: var(--white);
}
.hero__media {
	position: absolute; inset: 0;
	z-index: 0;
}
.hero__img {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center;
}
.hero__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(to bottom,
		rgba(0, 0, 0, .3) 0%,
		rgba(0, 0, 0, .55) 50%,
		rgba(0, 0, 0, .7) 100%);
}
.hero__grain {
	position: absolute; inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .35 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
	opacity: .45;
	mix-blend-mode: overlay;
	pointer-events: none;
}
.hero__inner { position: relative; z-index: 2; padding-block: var(--space-9); width: 100%; }
.hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--font-hindi);
	font-size: clamp(14px, 1.4vw, 17px);
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .92);
	margin: 0 0 clamp(12px, 2vw, 16px);
	font-weight: 600;
}
.hero__eyebrow-dash {
	display: inline-block;
	width: 32px; height: 1.5px;
	background: var(--red);
	flex: 0 0 32px;
	border-radius: 1px;
}
.hero__title {
	font-family: var(--font-display);
	font-size: clamp(22px, 3.2vw, 32px);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.05;
	color: var(--white);
	margin: 0 0 clamp(16px, 2.5vw, 24px);
	max-width: 16ch;
}
.hero__title-line { display: block; font-weight: 700; }
.hero__title-em {
	display: block;
	font-style: italic;
	font-weight: 700;
	color: var(--red);
	position: relative;
	letter-spacing: -.035em;
}
.hero__title-em::after {
	content: ""; display: block;
	width: 56px; height: 3px;
	background: var(--red); margin-top: 14px;
	border-radius: 2px;
}
.hero__lede {
	max-width: 54ch;
	font-size: clamp(15px, 1.4vw, 16px);
	line-height: 1.65;
	color: rgba(255,255,255,.85);
	margin: 0 0 var(--space-7);
}
.hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-7); }
.hero__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding-top: var(--space-7);
	border-top: 1px solid rgba(255, 255, 255, .22);
}
.hero__stat {
	margin: 0;
	text-align: left;
	padding: 0 clamp(12px, 1.6vw, 24px);
	position: relative;
}
.hero__stat:first-child { padding-left: 0; }
.hero__stat:not(:first-child)::before {
	content: ""; position: absolute;
	left: 0; top: 8px; bottom: 8px;
	width: 1px;
	background: rgba(255, 255, 255, .18);
}
.hero__stat-num {
	font-family: var(--font-display);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	color: var(--white);
	margin: 0 0 6px;
	letter-spacing: -.02em;
	line-height: 1;
}
.hero__stat-label {
	font-size: 11px; font-weight: 600;
	letter-spacing: .18em; text-transform: uppercase;
	color: rgba(255, 255, 255, .58);
	margin: 0;
}

.hero__scroll {
	position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%);
	width: 28px; height: 46px; border: 1.5px solid rgba(255,255,255,.45);
	border-radius: 14px;
	z-index: 3;
	display: none;
}
.hero__scroll span {
	position: absolute; left: 50%; top: 8px; transform: translateX(-50%);
	width: 4px; height: 8px; border-radius: 2px;
	background: var(--white);
	animation: hero-scroll 1.8s var(--ease-out) infinite;
}
@keyframes hero-scroll {
	0%   { transform: translate(-50%, 0); opacity: 0; }
	30%  { opacity: 1; }
	100% { transform: translate(-50%, 18px); opacity: 0; }
}
@media (min-width: 1024px) { .hero__scroll { display: block; } }

@media (max-width: 600px) {
	.hero__stats { grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
}

/* ---------- 10. Products grid + card ------------------------ */
.products { background: var(--off-white); }
.products__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-5);
}
.products__grid > .product-card:nth-child(5),
.products__grid > .product-card:nth-child(6),
.products__grid > .product-card:nth-child(7) {
	grid-column: span 1;
}
@media (min-width: 1024px) {
	/* row 1: 4 cols. row 2: 3 cards centred (cols 1-3 spanning 4 by widening). */
	.products__grid > .product-card:nth-child(5) { grid-column: 1 / span 1; }
	.products__grid > .product-card:nth-child(6) { grid-column: 2 / span 1; }
	.products__grid > .product-card:nth-child(7) { grid-column: 3 / span 1; }
}

@media (max-width: 1023px) {
	.products__grid { grid-template-columns: repeat(2, 1fr); }
	.products__grid > .product-card { grid-column: auto !important; }
}
@media (max-width: 600px) {
	/* Mobile carousel — horizontal scroll snap */
	.products__grid {
		display: flex;
		grid-template-columns: none;
		gap: var(--space-3);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 8px clamp(20px, 5vw, 32px) 28px;
		margin-inline: calc(50% - 50vw);
		scrollbar-width: thin;
		scrollbar-color: var(--border-strong) transparent;
		-webkit-overflow-scrolling: touch;
	}
	.products__grid > .product-card {
		flex: 0 0 78%;
		max-width: 320px;
		min-height: 380px;
		scroll-snap-align: start;
	}
	.products__grid::-webkit-scrollbar { height: 4px; }
	.products__grid::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 2px; }
}

.product-card {
	position: relative;
	display: flex; flex-direction: column;
	min-height: 320px;
	padding: var(--space-5);
	color: var(--white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	isolation: isolate;
	transition: transform .4s var(--ease-out),
	            box-shadow .4s var(--ease-out),
	            opacity var(--dur) var(--ease-out);
	box-shadow: var(--shadow-sm);
}
.product-card:hover { transform: translateY(-4px) scale(1.04); box-shadow: var(--shadow-lg); color: var(--white); }
.product-card__bg {
	position: absolute; inset: 0; z-index: -2;
	/* Fallback for browsers without color-mix (Safari < 16.4, Chrome < 111) */
	background: var(--card-tint, var(--wood-2));
}
@supports (background: color-mix(in srgb, red 50%, blue 50%)) {
	.product-card__bg {
		background:
			linear-gradient(165deg,
				color-mix(in srgb, var(--card-tint) 92%, #000 8%) 0%,
				color-mix(in srgb, var(--card-tint) 70%, #000 30%) 60%,
				color-mix(in srgb, var(--card-tint) 50%, #000 50%) 100%);
	}
}
.product-card__grain {
	position: absolute; inset: 0; z-index: -1;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><filter id='g'><feTurbulence type='turbulence' baseFrequency='0.012 0.6' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 .9 0 0 0 0 .85 0 0 0 0 .75 0 0 0 .12 0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");
	opacity: .55; mix-blend-mode: overlay;
}
/* Photo-backed cards: product image fills the card, dark gradient anchors text. */
.product-card--photo .product-card__grain { display: none; }
.product-card__photo {
	position: absolute; inset: 0; z-index: -2;
	width: 100%; height: 100%;
	object-fit: cover; object-position: center;
	transition: transform var(--dur-lg, .6s) var(--ease-out);
}
.product-card__shade {
	position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(to top,
		rgba(20, 20, 20, .90) 0%,
		rgba(20, 20, 20, .58) 30%,
		rgba(20, 20, 20, .12) 58%,
		rgba(20, 20, 20, .34) 100%);
}
@media (hover: hover) {
	.product-card--photo:hover .product-card__photo { transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
	.product-card--photo:hover .product-card__photo { transform: none; }
}
.product-card__head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: auto;
}
.product-card__grade {
	font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
	background: rgba(255,255,255,.16);
	color: var(--white);
	padding: 5px 10px; border-radius: 4px;
	backdrop-filter: blur(4px);
}
.product-card__badge {
	font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
	color: rgba(255,255,255,.78);
}
.product-card__body { margin-top: var(--space-7); }
.product-card__name { margin: 0 0 4px; line-height: 1; }
.product-card__brand {
	display: block;
	font-family: var(--font-body);
	font-size: 13px; font-weight: 500;
	letter-spacing: .14em; text-transform: uppercase;
	color: rgba(255,255,255,.7);
	margin-bottom: 6px;
}
.product-card__model {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(22px, 3.2vw, 32px);
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--white);
}
.product-card__tag {
	margin: var(--space-3) 0 0;
	font-size: 14px;
	color: rgba(255,255,255,.85);
	max-width: 26ch;
}
.product-card__foot {
	display: flex; align-items: center; justify-content: space-between;
	margin-top: var(--space-6);
	padding-top: var(--space-4);
	border-top: 1px solid rgba(255,255,255,.18);
}
.product-card__cta {
	font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
	color: rgba(255,255,255,.92);
}
.product-card__arrow {
	font-size: 18px; transition: transform var(--dur) var(--ease-out);
}
.product-card:hover .product-card__arrow { transform: translateX(4px); }

.products__foot { text-align: center; margin-top: var(--space-8); }

/* ---------- 11. Applications -------------------------------- */
.apps { background: var(--charcoal); }
/* Horizontal image accordion — CSS only. */
.apps-acc { display: flex; gap: 8px; height: 460px; }
.apps-acc__item {
	position: relative;
	flex: 1 1 0;
	min-width: 72px;
	border-radius: var(--radius-md);
	overflow: hidden;
	cursor: pointer;
	isolation: isolate;
	transition: flex .5s cubic-bezier(.4, 0, .2, 1);
}
.apps-acc__item:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; }
.apps-acc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.apps-acc__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.82) 100%);
}
.apps-acc__vtitle {
	position: absolute; left: 0; bottom: 0; z-index: 2;
	padding: 20px 0 24px;
	width: 72px; text-align: center;
	writing-mode: vertical-rl; transform: rotate(180deg);
	font-family: var(--font-display); font-weight: 700; font-size: 16px;
	letter-spacing: .01em; color: var(--white);
	white-space: nowrap;
	opacity: 0;
	transition: opacity .35s var(--ease-out);
}
.apps-acc__panel {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
	padding: var(--space-5);
	color: var(--white);
	opacity: 1;
	transition: opacity .35s var(--ease-out);
}
.apps-acc__product {
	font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	color: rgba(255,255,255,.88); margin: 0 0 6px;
}
.apps-acc__title {
	font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 24px); font-weight: 700;
	color: var(--white); margin: 0 0 6px; letter-spacing: -.01em; line-height: 1.1;
	white-space: nowrap;
}
.apps-acc__sub { font-size: 14px; color: rgba(255,255,255,.82); margin: 0; max-width: 34ch; }

@media (hover: hover) {
	/* While the row is hovered, tiles collapse to a sliver except the one hovered. */
	.apps-acc:hover .apps-acc__item,
	.apps-acc:focus-within .apps-acc__item { flex: 0 0 72px; }
	.apps-acc:hover .apps-acc__item:hover,
	.apps-acc:focus-within .apps-acc__item:focus,
	.apps-acc:focus-within .apps-acc__item:hover { flex: 1 1 0; }
	/* Collapsed -> vertical title; expanded -> full panel. */
	.apps-acc:hover .apps-acc__item .apps-acc__vtitle,
	.apps-acc:focus-within .apps-acc__item .apps-acc__vtitle { opacity: 1; }
	.apps-acc:hover .apps-acc__item .apps-acc__panel,
	.apps-acc:focus-within .apps-acc__item .apps-acc__panel { opacity: 0; }
	.apps-acc:hover .apps-acc__item:hover .apps-acc__vtitle,
	.apps-acc:focus-within .apps-acc__item:focus .apps-acc__vtitle,
	.apps-acc:focus-within .apps-acc__item:hover .apps-acc__vtitle { opacity: 0; }
	.apps-acc:hover .apps-acc__item:hover .apps-acc__panel,
	.apps-acc:focus-within .apps-acc__item:focus .apps-acc__panel,
	.apps-acc:focus-within .apps-acc__item:hover .apps-acc__panel { opacity: 1; }
}

@media (max-width: 760px) {
	.apps-acc { flex-direction: column; height: auto; gap: 12px; }
	.apps-acc__item { flex: none; height: 220px; }
	.apps-acc__vtitle { display: none; }
	.apps-acc__panel { opacity: 1; }
}
/* ---------- 12. Trust bar ----------------------------------- */
.trust { background: var(--off-white); }
.trust__inner {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--space-4);
	padding-block: var(--space-7);
}
/* Spec tiles — clean cards, 2px red top accent, lift on hover. */
.trust__mark {
	position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 6px;
	padding: 28px var(--space-4);
	background: var(--white);
	border: 1px solid rgba(0, 0, 0, .04);
	border-top: 2px solid var(--red);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
	transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.trust__mark:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0, 0, 0, .08); }
.trust__mark-key {
	font-family: var(--font-display);
	font-size: clamp(18px, 2.2vw, 24px);
	font-weight: 700;
	color: var(--blue);
	letter-spacing: -.01em;
}
.trust__mark-label {
	font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	color: var(--text-muted);
	text-align: center;
}
@media (max-width: 900px) {
	.trust__inner { grid-template-columns: repeat(3, 1fr); row-gap: var(--space-5); }
	.trust__mark:nth-child(3n) { border-right: 0; }
}
@media (max-width: 480px) {
	.trust__inner { grid-template-columns: repeat(2, 1fr); }
	.trust__mark { border-right: 0; }
}

/* ---------- 13. Heritage ------------------------------------ */
.heritage { background: var(--off-white); }
.heritage__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(var(--space-6), 6vw, var(--space-9));
	align-items: stretch;
}
.heritage__media { position: relative; }
.heritage__frame {
	position: relative;
	height: 100%;
	min-height: 420px;
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-md);
}
.heritage__img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-md); }
.heritage__horse {
	position: absolute; right: -28px; bottom: -28px;
	width: 44%; max-width: 200px;
	opacity: .1;
	color: var(--blue);
	pointer-events: none;
}
.heritage__horse-svg { width: 100%; height: auto; fill: currentColor; }
@keyframes horse-breath {
	0%, 100% { transform: scale(1); opacity: .12; }
	50%      { transform: scale(1.04); opacity: .18; }
}
.heritage__prose p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--text-light);
	margin-bottom: var(--space-4);
	max-width: 60ch;
}
.heritage__timeline {
	display: flex; flex-direction: column; gap: var(--space-3);
	margin: var(--space-7) 0;
	padding-left: var(--space-5);
	border-left: 2px solid var(--border-strong);
}
.heritage__step { position: relative; display: flex; gap: var(--space-4); align-items: baseline; }
.heritage__step::before {
	content: ""; position: absolute;
	left: calc(-1 * var(--space-5) - 6px); top: 8px;
	width: 11px; height: 11px;
	border-radius: 50%;
	background: var(--red);
	border: 3px solid var(--off-white);
	box-shadow: 0 0 0 2px var(--red);
}
.heritage__year {
	font-family: var(--font-display);
	font-size: 22px; font-weight: 700;
	color: var(--blue);
	min-width: 70px;
}
.heritage__step-label { color: var(--text); font-size: 16px; font-weight: 500; }

@media (max-width: 900px) {
	.heritage__grid { grid-template-columns: 1fr; }
	.heritage__frame { min-height: 320px; }
}

/* ---------- 14. Network ------------------------------------- */
.network__grid {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: clamp(var(--space-6), 5vw, var(--space-9));
	align-items: center;
}
.network__copy { max-width: 480px; }
.network__stats {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
	margin: var(--space-6) 0;
	padding: var(--space-5) 0;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}
.network__stats div { margin: 0; }
.network__stats dt {
	font-family: var(--font-display);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	color: var(--blue);
	margin-bottom: 4px;
	line-height: 1;
}
.network__stats dd {
	margin: 0;
	font-size: 12px; font-weight: 600;
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--text-muted);
}
.network__cta { display: flex; gap: var(--space-3); flex-wrap: wrap; }

.network__legend {
	display: flex; gap: var(--space-5);
	margin: 0 0 var(--space-5);
	font-size: 12px; font-weight: 600;
	letter-spacing: .04em; text-transform: uppercase;
	color: var(--text-light);
}
.network__legend-item { display: inline-flex; align-items: center; gap: 8px; }
.network__legend-dot {
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--red); flex: none;
}
.network__legend-dot--wh { width: 15px; height: 15px; box-shadow: 0 0 0 3px rgba(204,0,0,.16); }

.network__map {
	position: relative;
	aspect-ratio: 1367 / 1393;
	max-width: 600px;
	margin-inline: auto;
	width: 100%;
}
.network__svg { width: 100%; height: 100%; overflow: visible; }
/* Full-country backdrop — the four active states are highlighted on top. */
.network__india {
	fill: #E7E3DB;
	stroke: #CDC6BA;
	stroke-width: 1.2;
	vector-effect: non-scaling-stroke;
}

/* State fills — four light-red tints so contiguous borders read. */
.network__state {
	stroke: var(--red);
	stroke-width: 1.1;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
	transition: fill var(--dur) var(--ease-out);
}
.network__state--rajasthan  { fill: rgba(204,0,0,.08); }
.network__state--gujarat    { fill: rgba(204,0,0,.13); }
.network__state--maharashtra{ fill: rgba(204,0,0,.10); }
.network__state--goa        { fill: rgba(204,0,0,.18); }
.network__state:hover       { fill: rgba(204,0,0,.22); }

.network__city {
	opacity: 0;
	transform: scale(.4);
	transform-origin: center;
	transform-box: fill-box;
	transition:
		opacity .5s var(--ease-out),
		transform .5s var(--ease-out);
	transition-delay: calc(var(--i, 0) * 28ms);
}
.network__svg.is-revealed .network__city,
[data-network-revealed] .network__city {
	opacity: 1;
	transform: scale(1);
}
/* Pulse only the warehouses — 40 pulsing dots would be noise. */
.network__city .network__pulse { opacity: 0; }
.network__city--wh .network__pulse {
	transform-origin: center;
	transform-box: fill-box;
	animation: city-pulse 2.6s ease-in-out infinite;
	animation-delay: .8s;
}
.network__city .network__dot {
	transition: r .2s var(--ease-out);
	cursor: pointer;
}
.network__city:not(.network__city--wh):hover .network__dot { r: 7; }

.network__label {
	font-family: var(--font-body);
	font-weight: 500;
	pointer-events: none;
	fill: var(--charcoal);
}
/* Warehouse labels are always on; regular labels reveal on hover/focus. */
.network__city--wh .network__label { font-weight: 700; opacity: 1; }
.network__city:not(.network__city--wh) .network__label {
	opacity: 0;
	transition: opacity .18s var(--ease-out);
	paint-order: stroke;
	stroke: var(--off-white);
	stroke-width: 3px;
	stroke-linejoin: round;
}
.network__city:not(.network__city--wh):hover .network__label,
.network__city:not(.network__city--wh):focus-within .network__label { opacity: 1; }

/* Goa cluster: fanned labels stay visible, joined to their dot by a leader line. */
.network__city--lead .network__label { opacity: 1; }
.network__leader {
	stroke: #CC0000;
	stroke-width: 0.8;
	opacity: .55;
	pointer-events: none;
}

@keyframes city-pulse {
	0%   { transform: scale(.6); opacity: .5; }
	60%  { transform: scale(1.5); opacity: 0; }
	100% { transform: scale(.6); opacity: 0; }
}

/* Mobile-only collapsible per-state dealer lists. */
.network__lists { display: none; margin-top: var(--space-6); }
.network__state-list {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	margin-bottom: var(--space-3);
	background: var(--white);
	overflow: hidden;
}
.network__state-list > summary {
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	cursor: pointer;
	list-style: none;
	font-family: var(--font-display);
	font-weight: 600; font-size: 18px;
	color: var(--blue);
}
.network__state-list > summary::-webkit-details-marker { display: none; }
.network__state-list > summary::after {
	content: "+"; font-size: 22px; color: var(--red); line-height: 1;
}
.network__state-list[open] > summary::after { content: "\2013"; }
.network__state-count {
	font-family: var(--font-body); font-size: 12px; font-weight: 600;
	letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
}
.network__state-list ul {
	margin: 0; padding: 0 var(--space-5) var(--space-5);
	list-style: none;
	display: grid; grid-template-columns: 1fr 1fr; gap: 6px var(--space-4);
}
.network__state-list li {
	font-size: 14px; color: var(--text);
	display: flex; align-items: center; gap: 8px;
}
.network__state-list li::before {
	content: ""; width: 6px; height: 6px; border-radius: 50%;
	background: var(--red); flex: none;
}
.network__state-list li.is-wh { font-weight: 700; }
.network__state-list li.is-wh::before { width: 9px; height: 9px; }
.network__wh-tag {
	font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--white); background: var(--red);
	padding: 2px 6px; border-radius: 3px;
}

@media (max-width: 900px) {
	.network__grid { grid-template-columns: 1fr; }
	.network__map { max-width: 460px; }
}
@media (max-width: 640px) {
	.network__map { display: none; }
	.network__lists { display: block; }
}

/* ---------- 15. CTA banner ---------------------------------- */
.cta {
	position: relative;
	padding-block: clamp(var(--space-9), 8vw, var(--space-10));
	color: var(--white);
	text-align: center;
	overflow: hidden;
	isolation: isolate;
}
.cta__horse {
	position: absolute;
	right: -3%; bottom: -8%;
	z-index: 0;
	width: 32%;
	max-width: 380px;
	opacity: .09;
	color: rgba(255, 255, 255, .9);
	pointer-events: none;
	will-change: transform;
}
.cta__horse-svg { width: 100%; height: auto; fill: currentColor; }
.cta__bg { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
	.cta__horse, .cta__bg { transform: none !important; }
}
.cta__bg {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(120% 80% at 50% 0%, rgba(255,255,255,.12), transparent 60%),
		linear-gradient(165deg, var(--red) 0%, var(--red-deep) 100%);
}
.cta__bg::after {
	content: ""; position: absolute; inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><filter id='c'><feTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .14 0'/></filter><rect width='100%' height='100%' filter='url(%23c)'/></svg>");
	opacity: .25;
	mix-blend-mode: overlay;
}
.cta__inner { max-width: 720px; margin-inline: auto; }
.cta__hindi { font-family: var(--font-hindi); font-size: clamp(16px, 1.6vw, 20px); margin: 0 0 var(--space-3); opacity: .9; }
.cta__title { font-size: clamp(22px, 3.2vw, 32px); color: var(--white); margin: 0 0 var(--space-3); letter-spacing: -.02em; }
.cta__lede { font-size: clamp(15px, 1.4vw, 16px); color: rgba(255,255,255,.85); margin: 0 auto var(--space-6); max-width: 56ch; }
.cta__buttons { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; }

/* ---------- 16. Footer -------------------------------------- */
.site-footer { background: var(--dark-bg); color: rgba(255,255,255,.78); padding-block: var(--space-9) 0; border-top: 1px solid rgba(255,255,255,.06); }
.site-footer__inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: var(--space-7);
	padding-bottom: var(--space-8);
}
.site-footer__logo {
	display: inline-block;
	background: var(--white);
	border-radius: 999px;
	padding: 10px 18px;
	margin-bottom: var(--space-4);
}
.site-footer__logo-img { height: 32px; width: auto; }
.site-footer__tagline {
	font-family: var(--font-hindi);
	color: var(--white);
	font-size: 18px;
	margin: 0 0 var(--space-4);
	font-weight: 600;
}
.site-footer__address { font-style: normal; font-size: 14px; line-height: 1.6; margin-bottom: var(--space-4); color: rgba(255,255,255,.7); }
.site-footer__contact { font-size: 14px; }
.site-footer__contact a { color: var(--white); }
.site-footer__contact a:hover { color: var(--red); }
.site-footer__heading {
	color: var(--white);
	font-family: var(--font-body);
	font-size: 12px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase;
	margin: 0 0 var(--space-4);
}
.site-footer__col ul { display: flex; flex-direction: column; gap: 8px; }
.site-footer__col a { color: rgba(255,255,255,.7); font-size: 14px; }
.site-footer__col a:hover { color: var(--red); }
.site-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.06);
	padding-block: var(--space-5);
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: var(--space-3);
	font-size: 12px; color: rgba(255,255,255,.45);
}
.site-footer__bottom a { color: rgba(255,255,255,.7); }
.site-footer__bottom-meta { display: inline-flex; gap: 8px; align-items: center; margin: 0; }

@media (max-width: 1023px) {
	.site-footer__inner { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
}
@media (max-width: 540px) {
	.site-footer__inner { grid-template-columns: 1fr; }
}

/* ---------- 17. 404 + page fallback ------------------------- */
.page-hero {
	background: var(--cream);
	padding-block: clamp(var(--space-8), 10vw, var(--space-10)) var(--space-7);
	border-bottom: 1px solid var(--border);
	margin-top: 0;
}
.page-hero__title {
	font-size: clamp(22px, 3.2vw, 32px);
	letter-spacing: -.02em;
	margin: 0;
}

.page-body { background: var(--off-white); }

.page-404 { background: var(--off-white); text-align: center; min-height: 70vh; display: flex; align-items: center; }
.page-404__inner { padding: var(--space-9) 0; }
.page-404__horse { width: 180px; margin-inline: auto; opacity: .12; color: var(--blue); margin-bottom: var(--space-5); }
.page-404__horse-svg { width: 100%; height: auto; fill: currentColor; }
.page-404__title { font-size: clamp(30px, 5vw, 48px); margin: 0 0 var(--space-3); letter-spacing: -.02em; }
.page-404__lede { font-size: 18px; color: var(--text-light); margin: 0 0 var(--space-6); max-width: 48ch; margin-inline: auto; }
.page-404__links { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; }

/* ---------- 18. Reveal animations --------------------------- */
[data-reveal] {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity .5s ease,
		transform .5s ease;
	transition-delay: calc(var(--reveal-delay, 0) * 1ms);
	will-change: opacity, transform;
}
[data-reveal="left"]  { transform: translateX(-20px); }
[data-reveal="right"] { transform: translateX(20px); }
[data-reveal="scale"] { transform: scale(.98); }
[data-reveal].is-revealed,
body.no-motion [data-reveal] {
	opacity: 1;
	transform: none;
}

/* ---------- Page loader bar -------------------------------- */
.page-loader {
	position: fixed; top: 0; left: 0; right: 0;
	height: 3px;
	z-index: 200;
	pointer-events: none;
	background: transparent;
}
.page-loader__bar {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--red), var(--red-deep));
	transform-origin: left;
	animation: page-load 1.2s cubic-bezier(.2, .8, .2, 1) forwards;
}
@keyframes page-load {
	0%   { width: 0; opacity: 1; }
	35%  { width: 30%; }
	70%  { width: 92%; }
	100% { width: 100%; opacity: 0; }
}
.page-loader.is-navigating .page-loader__bar {
	animation: page-nav .9s cubic-bezier(.2, .8, .2, 1) forwards;
}
@keyframes page-nav {
	0%   { width: 0; opacity: 1; }
	100% { width: 80%; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.page-loader { display: none; }
}

/* ---------- Back-to-top button ----------------------------- */
.back-to-top {
	position: fixed;
	right: clamp(16px, 3vw, 32px);
	bottom: clamp(16px, 3vw, 32px);
	width: 48px; height: 48px;
	background: var(--charcoal);
	color: var(--white);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-md);
	z-index: 60;
	opacity: 0;
	pointer-events: none;
	transform: translateY(12px);
	transition:
		opacity .3s var(--ease-out),
		transform .3s var(--ease-out),
		background .2s var(--ease-out);
	cursor: pointer;
}
.back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.back-to-top:hover { background: var(--red); transform: translateY(-3px); }
.back-to-top svg { width: 18px; height: 18px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
	[data-reveal] { opacity: 1; transform: none; }
	.heritage__horse { animation: none; }
	.network__city .network__pulse { animation: none; opacity: 0; }
	.hero__scroll span { animation: none; }
}

/* ---------- 19. Responsive breakpoints ---------------------- */
@media (max-width: 767px) {
	.hero__cta { flex-direction: column; align-items: stretch; }
	.hero__cta .btn { width: 100%; }
	.cta__buttons { flex-direction: column; align-items: stretch; }
	.cta__buttons .btn { width: 100%; }
	.site-header__bar { gap: var(--space-3); }
	.product-card { min-height: 320px; padding: var(--space-4); }
	.product-card__model { font-size: 36px; }
	.network__cta { flex-direction: column; }
	.network__cta .btn { width: 100%; }
}

/* Print polish */
@media print {
	.site-header, .site-footer, .mobile-drawer, .hero__scroll, .cta { display: none !important; }
	body { background: white; color: black; }
}

/* =============================================================
   Sprint 2 / 3 — pages, products, comparison, forms
   ============================================================= */

/* ---------- Page hero (BOLD) -------------------------------- */
.page-hero {
	position: relative;
	min-height: clamp(240px, 34vh, 340px);
	display: flex;
	align-items: center;
	padding-block: clamp(40px, 7vw, 64px);
	background: linear-gradient(165deg, #2A2420 0%, var(--dark-bg) 58%, #14110F 100%);
	color: var(--white);
	overflow: hidden;
	isolation: isolate;
	margin-top: 0;
	border-bottom: 0;
}
.page-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='ph'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .35 0'/></filter><rect width='100%' height='100%' filter='url(%23ph)'/></svg>");
	opacity: .35;
	mix-blend-mode: overlay;
	pointer-events: none;
}
.page-hero::after {
	content: ""; position: absolute; right: -12%; top: -30%; z-index: -1;
	width: 60%; height: 110%;
	background: radial-gradient(closest-side, rgba(204, 0, 0, .12), transparent 70%);
	pointer-events: none;
}
.page-hero .container { position: relative; z-index: 1; width: 100%; }
.page-hero .eyebrow { color: rgba(255, 255, 255, .72); margin-bottom: var(--space-3); }
.page-hero__title {
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	line-height: 1.04;
	letter-spacing: -.02em;
	color: var(--white);
	margin: 0;
	max-width: 22ch;
}
.page-hero__title::after {
	content: ""; display: block;
	width: 56px; height: 3px;
	background: var(--red);
	border-radius: 2px;
	margin-top: var(--space-5);
}
.page-hero__lede {
	margin: var(--space-5) 0 0;
	font-size: clamp(15px, 1.4vw, 16px);
	line-height: 1.55;
	color: rgba(255, 255, 255, .82);
	max-width: 56ch;
}

/* Breadcrumb inside page-hero */
.page-hero__crumbs {
	display: flex; flex-wrap: wrap; align-items: center;
	gap: 8px;
	margin: var(--space-6) 0 0;
	font-size: 13px;
	color: rgba(255, 255, 255, .7);
}
.page-hero__crumbs a {
	color: rgba(255, 255, 255, .85);
	transition: color var(--dur-fast) var(--ease-out);
}
.page-hero__crumbs a:hover { color: var(--white); }
.page-hero__crumbs-sep { color: rgba(255, 255, 255, .35); }
.page-hero__crumbs-current { color: rgba(255, 255, 255, .55); }

/* Variants */
.page-hero--charcoal { background: linear-gradient(165deg, var(--charcoal) 0%, #0a0a0a 100%); }
.page-hero--lift { background: linear-gradient(165deg, var(--blue) 0%, var(--blue-deep) 100%); }
.page-hero--products { background: linear-gradient(165deg, var(--blue-deep) 0%, var(--charcoal) 100%); }

/* ---------- Comparison table -------------------------------- */
.compare__scroll {
	overflow-x: auto;
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	-webkit-overflow-scrolling: touch;
}
.compare__scroll:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.compare__table {
	width: 100%; min-width: 900px;
	border-collapse: collapse;
	font-size: 14px;
}
.compare__table thead th { background: var(--cream); border-bottom: 2px solid var(--border-strong); padding: 14px 16px; text-align: left; vertical-align: bottom; }
.compare__table tbody th { background: var(--cream); text-align: left; padding: 14px 16px; font-weight: 600; color: var(--text); white-space: nowrap; }
.compare__table tbody td { padding: 14px 16px; border-top: 1px solid var(--border); color: var(--text); }
.compare__table tbody tr:hover td, .compare__table tbody tr:hover th { background: rgba(204, 0, 0, .03); }
.compare__rowhead { width: 14em; }
.compare__head-link { display: block; color: var(--charcoal); }
.compare__head-link:hover { color: var(--red); }
.compare__head-name { display: block; font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -.005em; }
.compare__head-grade {
	display: inline-block; margin-top: 4px;
	font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600;
	color: var(--red);
	background: rgba(204, 0, 0, .08); padding: 3px 8px; border-radius: 4px;
}
.compare__note { margin: var(--space-5) 0 0; font-size: 13px; color: var(--text-muted); text-align: center; }

/* ---------- Single product hero ----------------------------- */
.product-hero {
	position: relative;
	padding-block: clamp(var(--space-8), 6vw, var(--space-9)) var(--space-8);
	color: var(--white);
	overflow: hidden;
	isolation: isolate;
}
.product-hero__bg {
	position: absolute; inset: 0; z-index: -2;
	background: var(--tint, var(--wood-2));
}
@supports (background: color-mix(in srgb, red 50%, blue 50%)) {
	.product-hero__bg {
		background:
			linear-gradient(165deg,
				color-mix(in srgb, var(--tint) 80%, #000 20%) 0%,
				color-mix(in srgb, var(--tint) 50%, #000 50%) 100%);
	}
}
.product-hero__grain {
	position: absolute; inset: 0; z-index: -1;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><filter id='ph'><feTurbulence type='turbulence' baseFrequency='0.012 0.6' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 .9 0 0 0 0 .85 0 0 0 0 .75 0 0 0 .12 0'/></filter><rect width='100%' height='100%' filter='url(%23ph)'/></svg>");
	opacity: .55; mix-blend-mode: overlay;
}
.product-hero__inner { position: relative; z-index: 1; max-width: 920px; }
.product-hero__crumbs { display: flex; gap: 8px; align-items: center; font-size: 13px; color: rgba(255,255,255,.7); margin-bottom: var(--space-6); }
.product-hero__crumbs a { color: rgba(255,255,255,.78); }
.product-hero__crumbs a:hover { color: var(--white); }
.product-hero__head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); flex-wrap: wrap; }
.product-hero__grade {
	font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
	color: var(--white); background: rgba(255,255,255,.18); padding: 5px 10px; border-radius: 4px; backdrop-filter: blur(4px);
}
.product-hero__badge { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,.78); }
.product-hero__title { margin: 0 0 var(--space-3); line-height: 1; }
.product-hero__brand { display: block; font-family: var(--font-body); font-size: 14px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.75); margin-bottom: 8px; }
.product-hero__name { display: block; font-family: var(--font-display); font-size: clamp(30px, 5vw, 48px); font-weight: 700; letter-spacing: -.02em; color: var(--white); }
.product-hero__tag { font-size: clamp(18px, 2vw, 24px); color: rgba(255,255,255,.86); margin: 0 0 var(--space-5); }
.product-hero__lede { font-size: clamp(15px, 1.4vw, 16px); color: rgba(255,255,255,.78); max-width: 56ch; margin: 0 0 var(--space-7); }
.product-hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* ---------- Single product specs ---------------------------- */
.product-specs__grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: clamp(var(--space-6), 5vw, var(--space-8)); align-items: start; }
.product-specs__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); margin: 0; }
.product-specs__list > div { padding: var(--space-4); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); }
.product-specs__list dt { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.product-specs__list dd { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--charcoal); margin: 0; }
@media (max-width: 800px) {
	.product-specs__grid { grid-template-columns: 1fr; }
	.product-specs__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.product-specs__list { grid-template-columns: 1fr; }
}

/* ---------- Product features grid --------------------------- */
.product-features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
	margin: 0; padding: 0;
}
.product-features__item {
	display: flex; gap: var(--space-3); align-items: flex-start;
	padding: var(--space-5);
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	font-weight: 500;
	color: var(--charcoal);
}
.product-features__check { width: 26px; height: 26px; flex: 0 0 26px; color: var(--red); }
@media (max-width: 900px) { .product-features__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .product-features__grid { grid-template-columns: 1fr; } }

/* ---------- Product applications list ----------------------- */
.product-apps__list {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); margin: 0;
}
.product-apps__list li {
	padding: var(--space-4) var(--space-5);
	background: var(--cream); border: 1px solid var(--border);
	border-radius: var(--radius-md);
	font-weight: 500; color: var(--charcoal);
	display: flex; align-items: center;
}
.product-apps__list li::before {
	content: ""; width: 6px; height: 6px; border-radius: 50%;
	background: var(--red); margin-right: 12px;
	flex: 0 0 6px;
}
@media (max-width: 900px) { .product-apps__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .product-apps__list { grid-template-columns: 1fr; } }

/* ---------- About — story ----------------------------------- */
.about-story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(var(--space-6), 5vw, var(--space-9)); align-items: center; }
.about-story__media .heritage__frame { max-height: 540px; aspect-ratio: 4 / 5; }
@media (max-width: 900px) {
	.about-story__grid { grid-template-columns: 1fr; }
	.about-story__media .heritage__frame { max-width: 100%; }
}

/* ---------- About — founder --------------------------------- */
.about-founder__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(var(--space-6), 5vw, var(--space-9)); align-items: center; }
.about-founder__quote { border-left: 3px solid var(--red); margin: var(--space-6) 0 0; padding-left: var(--space-4); }
.about-founder__quote p { font-family: var(--font-display); font-size: 22px; line-height: 1.4; color: var(--charcoal); font-style: italic; margin: 0 0 var(--space-2); }
.about-founder__quote cite { font-style: normal; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.about-founder__panel {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4);
	background: linear-gradient(165deg, var(--blue) 0%, var(--blue-deep) 100%);
	color: var(--white);
	aspect-ratio: 4/5;
	max-width: 360px;
	margin-inline: auto;
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	text-align: center;
	box-shadow: var(--shadow-md);
	position: relative;
	overflow: hidden;
}
.about-founder__panel::after {
	content: ""; position: absolute; inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><filter id='ab'><feTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .12 0'/></filter><rect width='100%' height='100%' filter='url(%23ab)'/></svg>");
	mix-blend-mode: overlay; opacity: .6;
}
.about-founder__year { font-family: var(--font-display); font-size: 80px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.about-founder__rule { display: block; width: 64px; height: 3px; background: var(--red); border-radius: 2px; }
.about-founder__brand { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.2; letter-spacing: .02em; }
@media (max-width: 800px) { .about-founder__grid { grid-template-columns: 1fr; } .about-founder__panel { max-width: 320px; } }

/* ---------- About — timeline -------------------------------- */
.about-timeline__list {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5);
	counter-reset: about-step;
	list-style: none; padding: 0; margin: 0;
}
.about-timeline__step {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: var(--space-6);
	position: relative;
}
.about-timeline__step h3 { font-size: 20px; margin: 0 0 var(--space-3); letter-spacing: -.005em; }
.about-timeline__step p { color: var(--text-light); font-size: 15px; margin: 0; }
.about-timeline__year { display: inline-block; font-family: var(--font-display); font-size: 28px; font-weight: 700; color: var(--red); margin-bottom: var(--space-3); }
@media (max-width: 900px) { .about-timeline__list { grid-template-columns: 1fr; } }

/* ---------- About — values ---------------------------------- */
.values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.values__card {
	padding: var(--space-6);
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--radius-md);
}
.values__num { font-family: var(--font-display); font-size: 14px; letter-spacing: .15em; color: var(--red); display: block; margin-bottom: var(--space-3); font-weight: 700; }
.values__title { color: var(--white); font-size: 22px; margin: 0 0 var(--space-3); }
.values__body { color: rgba(255, 255, 255, .72); font-size: 15px; margin: 0; }
@media (max-width: 900px) { .values__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .values__grid { grid-template-columns: 1fr; } }

/* ---------- Quality marks ----------------------------------- */
.quality-marks__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.quality-card {
	background: var(--white); border: 1px solid var(--border);
	border-radius: var(--radius-md); padding: var(--space-6);
	display: flex; flex-direction: column; gap: var(--space-3);
}
.quality-card__seal {
	width: 100px; height: 100px;
	border-radius: 50%;
	background: linear-gradient(165deg, var(--blue) 0%, var(--blue-deep) 100%);
	color: var(--white);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	margin-bottom: var(--space-3);
	box-shadow: 0 8px 22px rgba(19, 39, 122, .2);
	position: relative;
}
.quality-card__seal::before {
	content: ""; position: absolute; inset: 6px;
	border-radius: 50%; border: 1px dashed rgba(255,255,255,.4);
}
.quality-card__seal-key { font-family: var(--font-display); font-size: 12px; letter-spacing: .15em; }
.quality-card__seal-num { font-family: var(--font-display); font-size: 26px; font-weight: 700; line-height: 1; }
.quality-card__title { font-size: 22px; margin: 0; letter-spacing: -.005em; }
.quality-card__sub { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); margin: 0; }
.quality-card p { color: var(--text-light); font-size: 15px; margin: 0; }
.quality-card__product { font-size: 14px; color: var(--blue); }
.quality-card__product a { color: var(--blue); font-weight: 600; }
.quality-card__product a:hover { color: var(--red); }
@media (max-width: 900px) { .quality-marks__grid { grid-template-columns: 1fr; } }

/* ---------- Quality warranty -------------------------------- */
.warranty__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.warranty__card {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: var(--space-6);
	text-align: left;
	position: relative;
	overflow: hidden;
}
.warranty__card--gold { background: linear-gradient(165deg, var(--blue) 0%, var(--blue-deep) 100%); color: var(--white); border: 0; }
.warranty__card--gold .warranty__title { color: var(--white); }
.warranty__card--gold p { color: rgba(255,255,255,.82); }
.warranty__years { font-family: var(--font-display); font-size: clamp(30px, 5vw, 48px); font-weight: 700; line-height: 1; color: var(--red); display: block; }
.warranty__card--gold .warranty__years { color: var(--white); }
.warranty__years-label { display: block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--text-muted); margin-bottom: var(--space-4); }
.warranty__card--gold .warranty__years-label { color: rgba(255,255,255,.7); }
.warranty__title { font-size: 22px; margin: 0 0 var(--space-3); }
.warranty__product { font-size: 14px; color: var(--text-muted); margin: var(--space-4) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--border); }
.warranty__card--gold .warranty__product { border-top-color: rgba(255, 255, 255, .15); color: rgba(255, 255, 255, .85); }
.warranty__product strong { color: var(--charcoal); }
.warranty__card--gold .warranty__product strong { color: var(--white); }
@media (max-width: 900px) { .warranty__grid { grid-template-columns: 1fr; } }

/* ---------- Quality process --------------------------------- */
/* Numbered steps with connecting lines — horizontal desktop, vertical mobile. */
/* Testing process — vertical stepper: big muted number, image + copy, connector. */
.qsteps { list-style: none; margin: 0 auto; padding: 0; max-width: 980px; position: relative; }
/* Central connecting line running down the gutter between the two columns. */
.qsteps--zigzag::before {
	content: ""; position: absolute; top: 6px; bottom: 6px; left: 50%;
	width: 2px; transform: translateX(-50%);
	background: var(--red); opacity: .18;
}
.qstep {
	position: relative;
	display: grid; grid-template-columns: 1fr 1fr;
	gap: clamp(var(--space-5), 4vw, var(--space-8));
	align-items: center;
	padding-bottom: clamp(var(--space-5), 3.5vw, var(--space-7));
}
.qstep:last-child { padding-bottom: 0; }
/* Zigzag — even steps flip the image to the right, text to the left. */
.qstep__media { display: flex; justify-content: flex-end; }
.qstep:nth-child(even) .qstep__media { order: 2; justify-content: flex-start; }
.qstep__img {
	width: 100%; max-width: 420px;
	aspect-ratio: 4 / 3; height: auto;
	object-fit: cover; border-radius: 10px; display: block;
}
.qstep__text { display: grid; gap: var(--space-2); align-content: center; }
.qstep:nth-child(even) .qstep__text { text-align: right; }
.qstep__num {
	font-family: var(--font-display);
	font-size: 40px; font-weight: 700; line-height: 1;
	color: var(--border-strong);
}
.qstep__title { font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--text-primary); margin: 0; }
.qstep__desc { font-size: 14px; line-height: 1.6; color: var(--text-secondary); margin: 0; }
.qstep:nth-child(even) .qstep__desc { margin-left: auto; }
@media (max-width: 640px) {
	.qsteps--zigzag::before { display: none; }
	.qstep { grid-template-columns: 1fr; gap: var(--space-3); padding-bottom: var(--space-6); }
	.qstep__media, .qstep:nth-child(even) .qstep__media { order: 0; justify-content: flex-start; }
	.qstep:nth-child(even) .qstep__text { text-align: left; }
	.qstep:nth-child(even) .qstep__desc { margin-left: 0; }
	.qstep__num { font-size: 32px; }
	.qstep__img { max-width: 100%; }
}

/* ---------- Network page ------------------------------------ */
.network-form__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(var(--space-6), 5vw, var(--space-9)); align-items: start; }
.network-form__points { margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.network-form__points li {
	padding: var(--space-3) 0 var(--space-3) var(--space-5);
	border-bottom: 1px solid var(--border);
	position: relative;
	color: var(--text);
	font-size: 15px;
}
.network-form__points li::before {
	content: "→"; position: absolute; left: 0; color: var(--red); font-weight: 700;
}
.network-partner__inner { max-width: 720px; }
.network-partner__points { margin: var(--space-4) 0 var(--space-6); padding: 0; }
.network-partner__points li {
	padding: var(--space-3) 0 var(--space-3) var(--space-5);
	border-bottom: 1px solid var(--border);
	position: relative;
	font-size: 15px;
	color: var(--text);
}
.network-partner__points li::before {
	content: ""; position: absolute; left: 0; top: 22px;
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--red);
}
@media (max-width: 900px) { .network-form__grid { grid-template-columns: 1fr; } }

/* ---------- Forms ------------------------------------------- */
.network-form__form, .contact-form {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: clamp(var(--space-5), 3vw, var(--space-7));
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4);
	box-shadow: var(--shadow-sm);
}
.contact-form__head { grid-column: 1 / -1; }
.contact-form__head .section__title { font-size: 28px; margin: 0; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field--full { grid-column: 1 / -1; }
.field--honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.field span {
	font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
	color: var(--text-muted);
}
.field input, .field select, .field textarea {
	width: 100%;
	padding: 12px 14px;
	font: inherit;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--charcoal);
	transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.field input:focus, .field select:focus, .field textarea:focus {
	outline: none;
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(19, 39, 122, .12);
}
.field textarea { resize: vertical; min-height: 100px; }
.field__note { grid-column: 1 / -1; font-size: 12px; color: var(--text-muted); margin: 0; }
.form-flash {
	grid-column: 1 / -1;
	padding: 12px 16px;
	border-radius: var(--radius-sm);
	font-weight: 500;
	font-size: 14px;
	margin: 0;
}
.form-flash--ok  { background: #E8F5EE; color: #1F5F3A; border: 1px solid #B6D9C4; }
.form-flash--err { background: #FCEBEB; color: #8A1A1A; border: 1px solid #F0C0C0; }
.network-form__form button[type="submit"], .contact-form button[type="submit"] { grid-column: 1 / -1; }
@media (max-width: 600px) {
	.network-form__form, .contact-form { grid-template-columns: 1fr; }
}

/* ---------- Contact page ------------------------------------ */
.contact-grid__inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(var(--space-6), 5vw, var(--space-9)); align-items: start; }
.contact-info__list { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin: var(--space-5) 0; }
.contact-info__list > div { display: grid; grid-template-columns: 140px 1fr; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.contact-info__list dt { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.contact-info__list dd { margin: 0; font-size: 15px; color: var(--charcoal); }
.contact-info__list address { font-style: normal; line-height: 1.6; }
.contact-info__map {
	margin-top: var(--space-5);
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--border);
	background: var(--cream);
	aspect-ratio: 16 / 9;
}
.contact-info__map iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px) {
	.contact-grid__inner { grid-template-columns: 1fr; }
	.contact-info__list > div { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- Misc utility ------------------------------------ */
.product-related__grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1023px) { .product-related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px)  { .product-related__grid { grid-template-columns: 1fr; } }

/* =============================================================
   v2 — Inner page polish (showcase, photo tiles, timeline, icons, search)
   ============================================================= */

/* ---------- Single-product showcase (visual + spec card) ---- */
.product-showcase__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(var(--space-6), 4vw, var(--space-8));
	align-items: stretch;
}
.product-showcase__visual {
	position: relative;
	aspect-ratio: 5 / 6;
	border-radius: var(--radius-lg);
	overflow: hidden;
	isolation: isolate;
	box-shadow: var(--shadow-md);
	display: flex; flex-direction: column; justify-content: space-between;
	padding: clamp(var(--space-5), 3vw, var(--space-7));
	color: var(--white);
}
.product-showcase__bg {
	position: absolute; inset: 0; z-index: -2;
	background: var(--tint, var(--wood-2));
}
@supports (background: color-mix(in srgb, red 50%, blue 50%)) {
	.product-showcase__bg {
		background:
			linear-gradient(155deg,
				color-mix(in srgb, var(--tint) 88%, #000 12%) 0%,
				color-mix(in srgb, var(--tint) 60%, #000 40%) 100%);
	}
}
.product-showcase__grain {
	position: absolute; inset: 0; z-index: -1;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='ws'><feTurbulence type='turbulence' baseFrequency='0.012 0.65' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 .9 0 0 0 0 .82 0 0 0 0 .72 0 0 0 .14 0'/></filter><rect width='100%' height='100%' filter='url(%23ws)'/></svg>");
	opacity: .55;
	mix-blend-mode: overlay;
}
.product-showcase__top {
	display: flex; gap: var(--space-3); align-items: center;
}
.product-showcase__grade {
	font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
	background: rgba(255, 255, 255, .16);
	color: var(--white);
	padding: 5px 10px; border-radius: 4px;
	backdrop-filter: blur(4px);
}
.product-showcase__center {
	display: flex; flex-direction: column; align-items: flex-start;
	gap: var(--space-3);
	margin: auto 0;
}
.product-showcase__brand {
	font-family: var(--font-body);
	font-size: 14px; font-weight: 500;
	letter-spacing: .2em; text-transform: uppercase;
	color: rgba(255, 255, 255, .78);
}
.product-showcase__name {
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: .95;
	color: var(--white);
}
.product-showcase__rule {
	display: block;
	width: 56px; height: 3px;
	background: var(--red);
	border-radius: 2px;
}
.product-showcase__bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-4); flex-wrap: wrap; }
.product-showcase__tag { font-size: 15px; color: rgba(255, 255, 255, .82); margin: 0; max-width: 22ch; }
.product-showcase__chip {
	font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
	background: rgba(0, 0, 0, .22);
	color: var(--white);
	padding: 6px 12px; border-radius: 999px;
}

/* Striped spec card */
.spec-card {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	margin: 0;
	display: flex; flex-direction: column;
}
.spec-card__head {
	padding: var(--space-5) var(--space-6);
	background: var(--charcoal);
	color: var(--white);
}
.spec-card__head .eyebrow { color: rgba(255, 255, 255, .7); margin-bottom: 4px; }
.spec-card__head h3 { color: var(--white); font-size: 22px; margin: 0; letter-spacing: -.005em; }
.spec-card__row {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-6);
	border-bottom: 1px solid var(--border);
	align-items: baseline;
}
.spec-card__row:last-child { border-bottom: 0; }
.spec-card__row:nth-child(even) { background: var(--cream); }
.spec-card__row dt {
	font-size: 12px; font-weight: 600;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--text-muted);
	margin: 0;
}
.spec-card__row dd {
	font-family: var(--font-display);
	font-size: 17px; font-weight: 600;
	color: var(--charcoal);
	margin: 0;
}
.spec-card__foot {
	padding: var(--space-5) var(--space-6);
	background: var(--cream);
	border-top: 1px solid var(--border);
	font-size: 13px;
	color: var(--text-muted);
}

@media (max-width: 900px) {
	.product-showcase__grid { grid-template-columns: 1fr; }
	.product-showcase__visual { aspect-ratio: 4 / 4; }
}

/* ---------- Feature cards w/ icons -------------------------- */
.feature-card {
	position: relative;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: var(--space-6);
	display: flex; flex-direction: column; gap: var(--space-3);
	transition: transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);
}
.feature-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.feature-card__icon {
	width: 48px; height: 48px;
	background: rgba(204, 0, 0, .08);
	color: var(--red);
	border-radius: 12px;
	display: inline-flex; align-items: center; justify-content: center;
}
.feature-card__icon .feature-icon { width: 26px; height: 26px; }
.feature-card__title {
	font-family: var(--font-display);
	font-size: 18px; font-weight: 700;
	color: var(--charcoal);
	margin: 0;
	letter-spacing: -.005em;
	line-height: 1.25;
}
.feature-card__body { font-size: 14px; color: var(--text-light); margin: 0; }

.features-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
}
@media (max-width: 900px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .features-grid { grid-template-columns: 1fr; } }

/* ---------- Application photo tiles (single product) -------- */
.app-tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
}
.app-tiles--two { grid-template-columns: repeat(2, 1fr); }
.app-tile {
	position: relative;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-md);
	overflow: hidden;
	isolation: isolate;
}
.app-tile__img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform var(--dur-slow) var(--ease-out);
}
.app-tile:hover .app-tile__img { transform: scale(1.05); }
.app-tile__overlay {
	position: absolute; inset: 0; z-index: 1;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, .0) 40%, rgba(0, 0, 0, .82) 100%);
}
.app-tile__label {
	position: absolute; left: var(--space-5); right: var(--space-5); bottom: var(--space-5);
	z-index: 2;
	color: var(--white);
}
.app-tile__num {
	display: block; font-size: 11px; letter-spacing: .15em;
	color: rgba(255, 255, 255, .65); font-weight: 600;
	margin-bottom: 4px;
}
.app-tile__title {
	font-family: var(--font-display);
	font-size: 22px; font-weight: 700;
	color: var(--white); margin: 0;
	letter-spacing: -.005em;
}

@media (max-width: 900px) {
	.app-tiles, .app-tiles--two { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.app-tiles, .app-tiles--two { grid-template-columns: 1fr; }
	.app-tile { aspect-ratio: 4 / 3; }
}

/* ---------- Personalised CTA -------------------------------- */
.cta--lite {
	padding-block: clamp(var(--space-8), 8vw, var(--space-9));
	background: var(--cream);
	color: var(--charcoal);
}
.cta--lite .cta__bg { display: none; }
.cta--lite .cta__title { color: var(--charcoal); }
.cta--lite .cta__lede { color: var(--text-light); }

/* ---------- Horizontal timeline (About) --------------------- */
.timeline {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	padding: var(--space-7) 0 var(--space-5);
	margin: 0;
	list-style: none;
}
.timeline::before {
	content: "";
	position: absolute;
	left: 14%; right: 14%;
	top: calc(var(--space-7) + 56px);
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, var(--border-strong) 8%, var(--border-strong) 92%, transparent 100%);
	z-index: 0;
}
.timeline__step {
	position: relative;
	padding: 0 var(--space-4);
	text-align: center;
}
.timeline__year {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(22px, 3.2vw, 32px);
	font-weight: 700;
	color: var(--blue);
	margin-bottom: var(--space-3);
	line-height: 1;
}
.timeline__dot {
	display: block;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--red);
	margin: 0 auto var(--space-5);
	border: 4px solid var(--off-white);
	box-shadow: 0 0 0 2px var(--red), 0 6px 14px rgba(204, 0, 0, .25);
	position: relative;
	z-index: 1;
}
.timeline__heading {
	font-size: 18px;
	margin: 0 0 var(--space-3);
	letter-spacing: -.005em;
}
.timeline__step p {
	color: var(--text-light);
	font-size: 14px;
	max-width: 30ch;
	margin: 0 auto;
}

@media (max-width: 800px) {
	.timeline { grid-template-columns: 1fr; gap: var(--space-7); padding-top: var(--space-5); }
	.timeline::before {
		top: 0; bottom: 0; left: 50%; right: auto;
		width: 2px; height: auto;
		background: linear-gradient(180deg, transparent 0%, var(--border-strong) 8%, var(--border-strong) 92%, transparent 100%);
	}
	.timeline__step { padding: 0; }
}

/* ---------- About values w/ icons --------------------------- */
.values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.values__card {
	display: flex; flex-direction: column; gap: var(--space-4);
}
.values__icon {
	width: 56px; height: 56px;
	border-radius: 14px;
	background: rgba(204, 0, 0, .14);
	color: var(--red);
	display: inline-flex; align-items: center; justify-content: center;
}
.values__icon svg { width: 28px; height: 28px; }
.values__num {
	display: block;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .15em;
	color: rgba(255, 255, 255, .55);
	margin-bottom: 2px;
}
.values__title { color: var(--white); font-size: 22px; margin: 0; letter-spacing: -.005em; }
.values__body { color: rgba(255, 255, 255, .72); font-size: 15px; margin: 0; }
@media (max-width: 900px) { .values__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .values__grid { grid-template-columns: 1fr; } }

/* ---------- 404 search box ---------------------------------- */
.chetak-search {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0;
	background: var(--white);
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	padding: 6px 6px 6px 18px;
	max-width: 480px;
	margin: var(--space-6) auto;
	box-shadow: var(--shadow-sm);
	transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.chetak-search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(19, 39, 122, .12); }
.chetak-search__icon { width: 18px; height: 18px; color: var(--text-muted); }
.chetak-search__input {
	border: 0; background: transparent;
	padding: 12px 14px;
	font: inherit; color: var(--charcoal);
	outline: none;
	min-width: 0;
}
.chetak-search__input::placeholder { color: var(--text-muted); }
.chetak-search__submit {
	background: var(--red); color: var(--white);
	padding: 10px 20px; border-radius: 999px;
	font-size: 14px; font-weight: 600; letter-spacing: .02em;
	cursor: pointer;
	transition: background var(--dur-fast) var(--ease-out);
}
.chetak-search__submit:hover { background: var(--red-deep); }

/* ---------- Section spacing override (CLAUDE.md spec) ------- */
.section { padding-block: clamp(36px, 5vw, 56px); }

/* Refine page hero → first section transition */
.page-hero + .section,
.page-hero + section.section { padding-top: clamp(var(--space-8), 8vw, var(--space-9)); }

/* ---------- Network — full-width prominent map -------------- */
.network-large { padding-block: clamp(var(--space-7), 7vw, var(--space-9)); }
.network-large .network__grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: clamp(var(--space-6), 5vw, var(--space-9));
	align-items: center;
}
.network-large .network__map { max-width: 840px; }
.network-large .section__title { font-size: clamp(22px, 3.2vw, 32px); }
@media (max-width: 900px) {
	.network-large .network__grid { grid-template-columns: 1fr; }
	.network-large .network__map { max-width: 560px; margin-inline: auto; }
}

/* ---------- Contact info card refinement -------------------- */
.contact-info {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: clamp(var(--space-5), 3vw, var(--space-7));
	box-shadow: var(--shadow-sm);
}
.contact-info .section__title { font-size: 28px; margin: 0 0 var(--space-5); }
.contact-info__list { display: grid; gap: 0; margin: 0; }
.contact-info__list > div { display: grid; grid-template-columns: 130px 1fr; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--border); }
.contact-info__list > div:last-of-type { border-bottom: 0; }
.contact-info__list dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); }
.contact-info__list dd { margin: 0; font-size: 15px; color: var(--charcoal); }
.contact-info__list address { font-style: normal; line-height: 1.55; }
.contact-info__map {
	margin: var(--space-5) 0 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--border);
	background: var(--cream);
	aspect-ratio: 16 / 10;
}
.contact-info__map iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px) {
	.contact-info__list > div { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- About founder quote refinement ------------------ */
.about-founder__copy { padding: var(--space-2) 0; }

/* ---------- Page section heading on dark ------------------- */
.section--dark .section__head .eyebrow { color: rgba(255, 255, 255, .7); }

/* =============================================================
   v3 — Editorial premium polish (Aesop-class inner pages)
   Aim: confidence, white space, full-bleed bands, big type.
   ============================================================= */

/* ---------- Section head — global pattern ------------------- */
.s-head { margin: 0 auto clamp(48px, 7vw, 96px); max-width: 760px; text-align: center; }
.s-head--left { text-align: left; max-width: none; margin-inline: 0; }
.s-head--light .s-head__title { color: var(--white); }
.s-head--light .s-head__lede { color: rgba(255,255,255,.78); }

.s-head__eyebrow {
	font-family: var(--font-body);
	font-size: 12px; font-weight: 600;
	letter-spacing: .18em; text-transform: uppercase;
	color: var(--red);
	margin: 0 0 var(--space-4);
}
.s-head--light .s-head__eyebrow { color: rgba(255,255,255,.7); }
.s-head--light .s-head__eyebrow span { color: var(--red); }

.s-head__title {
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.05;
	color: var(--charcoal);
	margin: 0 auto;
	max-width: 22ch;
}
.s-head--left .s-head__title { margin-inline: 0; }

.s-head__rule {
	display: block;
	width: 48px; height: 2px;
	background: var(--red);
	border-radius: 2px;
	margin: var(--space-5) auto 0;
}
.s-head--left .s-head__rule { margin-left: 0; margin-right: auto; }

.s-head__lede {
	margin: var(--space-5) auto 0;
	font-size: clamp(15px, 1.4vw, 16px);
	color: var(--text-light);
	max-width: 56ch;
	line-height: 1.6;
}
.s-head--left .s-head__lede { margin-inline: 0; }

/* ---------- Paper grain utility ----------------------------- */
.bg-paper {
	position: relative;
	isolation: isolate;
}
.bg-paper::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='pp'><feTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .15 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .14 0'/></filter><rect width='100%' height='100%' filter='url(%23pp)'/></svg>");
	mix-blend-mode: multiply;
	opacity: .55;
	pointer-events: none;
}
/* Subtle global paper grain on light sections — bring depth without weight */
.products,
.heritage,
.section--cream:not(.cta--lite) {
	position: relative;
	isolation: isolate;
}
.products::before,
.heritage::before,
.section--cream:not(.cta--lite)::before {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='gp'><feTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .12 0 0 0 0 .1 0 0 0 0 .07 0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23gp)'/></svg>");
	mix-blend-mode: multiply;
	pointer-events: none;
}
.products > .container,
.heritage > .container { position: relative; z-index: 1; }
.bg-paper--dark::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='ppd'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .14 0'/></filter><rect width='100%' height='100%' filter='url(%23ppd)'/></svg>");
	mix-blend-mode: overlay;
	opacity: .5;
}

/* ---------- Full-bleed escape ------------------------------- */
.full-bleed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* ---------- Section spacing — generous ---------------------- */
.section--airy { padding-block: clamp(36px, 5vw, 56px); }

/* ---------- Product Hero v3 — dramatic 75vh ----------------- */
.product-hero {
	position: relative;
	min-height: 280px;
	display: flex; align-items: center;
	/* generous top room so name/badge/tagline never clip behind the header */
	padding-block: clamp(48px, 6vw, 64px);
	color: var(--white);
	overflow: hidden;
	isolation: isolate;
}
.product-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.5) 100%);
	pointer-events: none;
}
.product-hero__bg {
	position: absolute; inset: 0; z-index: -2;
	background: var(--tint, var(--wood-2));
}
@supports (background: color-mix(in srgb, red 50%, blue 50%)) {
	.product-hero__bg {
		background:
			linear-gradient(155deg,
				color-mix(in srgb, var(--tint) 82%, #000 18%) 0%,
				color-mix(in srgb, var(--tint) 50%, #000 50%) 60%,
				color-mix(in srgb, var(--tint) 30%, #000 70%) 100%);
	}
}
.product-hero__grain {
	position: absolute; inset: 0; z-index: -1;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'><filter id='wg'><feTurbulence type='turbulence' baseFrequency='0.008 0.55' numOctaves='3' seed='6'/><feColorMatrix values='0 0 0 0 .92 0 0 0 0 .82 0 0 0 0 .68 0 0 0 .18 0'/></filter><rect width='100%' height='100%' filter='url(%23wg)'/></svg>");
	mix-blend-mode: overlay;
	opacity: .65;
	pointer-events: none;
}
.product-hero__inner { position: relative; z-index: 1; width: 100%; }
.product-hero__crumbs {
	display: flex; gap: 8px; align-items: center;
	margin: 0 0 clamp(40px, 6vw, 72px);
	font-size: 13px; color: rgba(255,255,255,.7);
}
.product-hero__crumbs a { color: rgba(255,255,255,.85); }
.product-hero__crumbs a:hover { color: var(--white); }
.product-hero__crumbs span[aria-hidden] { color: rgba(255,255,255,.35); }
.product-hero__pill {
	display: inline-flex; align-items: center;
	padding: 9px 20px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	font-size: 11px; font-weight: 600;
	letter-spacing: .16em; text-transform: uppercase;
	color: var(--white);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	margin-bottom: clamp(28px, 4vw, 48px);
}
.product-hero__name { margin: 0 0 clamp(28px, 4vw, 44px); line-height: 0.92; max-width: 14ch; }
.product-hero__brand {
	display: block;
	font-family: var(--font-body);
	font-size: clamp(15px, 1.4vw, 16px);
	font-weight: 500;
	letter-spacing: .26em; text-transform: uppercase;
	color: rgba(255,255,255,.7);
	margin-bottom: clamp(14px, 2vw, 22px);
}
.product-hero__model {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--white);
}
.product-hero__tag {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 400;
	color: rgba(255,255,255,.86);
	max-width: 28ch;
	margin: 0;
	line-height: 1.35;
}

/* ---------- Product shot — large centered image slot -------- */
.product-shot {
	position: relative;
	padding-block: clamp(36px, 5vw, 56px);
	background: var(--off-white);
	overflow: hidden;
	isolation: isolate;
}
.product-shot::before {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='ps'><feTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .12 0 0 0 0 .1 0 0 0 0 .07 0 0 0 .06 0'/></filter><rect width='100%' height='100%' filter='url(%23ps)'/></svg>");
	mix-blend-mode: multiply;
	pointer-events: none;
}
.product-shot .container { position: relative; z-index: 1; }
.product-shot__frame {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 560px;
	/* Matches the 4:5 portrait product photos — image fills edge to edge,
	   no letterbox bands, no crop. */
	aspect-ratio: 4 / 5;
	background: var(--cream);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow:
		0 4px 12px rgba(20, 20, 20, .06),
		0 30px 70px rgba(20, 20, 20, .18);
	border: 1px solid var(--border);
	isolation: isolate;
}
.product-shot__halo {
	position: absolute; inset: 0; z-index: 0;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--tint, var(--wood-2)) 22%, transparent) 0%, transparent 70%);
	opacity: .6;
}
.product-shot__img {
	position: relative; z-index: 1;
	width: 100%; height: 100%;
	object-fit: cover; object-position: center;
}
.product-shot__caption {
	position: absolute;
	left: clamp(16px, 3vw, 24px);
	bottom: clamp(16px, 3vw, 24px);
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 12px 16px;
	background: rgba(20, 20, 20, .42);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 10px;
}
.product-shot__caption-grade {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--white);
	background: var(--red);
	padding: 4px 10px;
	border-radius: 4px;
	width: max-content;
}
.product-shot__caption-name {
	font-family: var(--font-display);
	font-size: clamp(15px, 1.4vw, 16px);
	font-weight: 700;
	color: var(--white);
	letter-spacing: -.005em;
}
@media (max-width: 640px) {
	.product-shot__frame { max-width: 100%; }
	.product-shot__caption { left: 14px; bottom: 14px; }
}

/* ---------- Specs bar — Apple-style horizontal -------------- */
.specs-bar-section { padding-block: clamp(36px, 5vw, 56px); border-bottom: 1px solid var(--border); background: var(--off-white); }
/* Clean specs card with alternating rows (ATF). */
.specs-bar {
	display: flex; flex-direction: column;
	max-width: 720px; margin: 0 auto;
	background: var(--white);
	border: 1px solid rgba(0, 0, 0, .04);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
	overflow: hidden;
}
.specs-bar > div {
	display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
	padding: 13px 24px;
}
.specs-bar > div:nth-child(odd) { background: var(--bg-alt); }
.specs-bar dt {
	font-size: 12px; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--text-secondary);
	margin: 0;
}
.specs-bar dd {
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 600;
	color: var(--text-primary);
	margin: 0;
	letter-spacing: -.01em;
	text-align: right;
}
@media (max-width: 900px) {
	.specs-bar { max-width: 100%; }
}
.specs-bar__terms {
	max-width: var(--container);
	margin: var(--space-4) auto 0;
	padding-inline: var(--space-4);
	font-size: 13px;
	color: var(--text-muted);
}
@media (max-width: 540px) {
	.specs-bar { grid-template-columns: repeat(2, 1fr); }
	.specs-bar > div:nth-child(3n) { border-right: 1px solid var(--border); }
	.specs-bar > div:nth-child(2n) { border-right: 0; }
	.specs-bar > div:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
	.specs-bar > div:nth-last-child(-n+2) { border-bottom: 0; }
}

/* ---------- Feature bands — alternating photo + copy -------- */
.feature-band {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	min-height: clamp(440px, 64vh, 620px);
	align-items: stretch;
}
.feature-band__media {
	position: relative;
	overflow: hidden;
	min-height: 360px;
}
.feature-band__media img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}
.feature-band__media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(165deg, rgba(0,0,0,.35), rgba(0,0,0,.15));
}
.feature-band__copy {
	display: flex; flex-direction: column; justify-content: center;
	padding: clamp(24px, 8vw, 32px);
	background: var(--off-white);
}
.feature-band--dark .feature-band__copy { background: var(--charcoal); color: var(--white); }
.feature-band--cream .feature-band__copy { background: var(--cream); }
.feature-band__num {
	font-family: var(--font-display);
	font-size: 14px; font-weight: 700;
	letter-spacing: .22em;
	color: var(--red);
	margin: 0 0 var(--space-4);
}
.feature-band__title {
	font-family: var(--font-display);
	font-size: clamp(22px, 3.2vw, 32px);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.05;
	color: var(--charcoal);
	margin: 0 0 var(--space-5);
	max-width: 16ch;
}
.feature-band--dark .feature-band__title { color: var(--white); }
.feature-band__body {
	font-size: clamp(15px, 1.4vw, 16px);
	line-height: 1.65;
	color: var(--text-light);
	max-width: 50ch;
	margin: 0;
}
.feature-band--dark .feature-band__body { color: rgba(255,255,255,.78); }
.feature-band__rule {
	display: block;
	width: 56px; height: 2px;
	background: var(--red);
	margin: var(--space-6) 0 0;
}
.feature-band--reverse .feature-band__media { order: 2; }
.feature-band--reverse .feature-band__copy { order: 1; }

@media (max-width: 900px) {
	.feature-band { grid-template-columns: 1fr; min-height: 0; }
	.feature-band__media { aspect-ratio: 4/3; min-height: 0; }
	.feature-band--reverse .feature-band__media { order: 1; }
	.feature-band--reverse .feature-band__copy { order: 2; }
}

/* ---------- Cinematic use grid (full-bleed) ----------------- */
.use-cinematic { padding-block: clamp(36px, 5vw, 56px); background: var(--off-white); }
.use-cinematic__head { margin-bottom: clamp(56px, 7vw, 96px); }

/* auto-fit collapses empty tracks, so the row always fills — never an empty
   cell, whatever the tile count (2/3/4/5). */
.use-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 4px;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: var(--charcoal);
}
.use-grid--two { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.use-grid__tile {
	position: relative;
	aspect-ratio: 3/4;
	overflow: hidden;
	isolation: isolate;
}
.use-grid__tile img {
	position: absolute; inset: 0; z-index: 0;
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .6s var(--ease-out);
}
.use-grid__tile:hover img { transform: scale(1.05); }
.use-grid__tile::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background:
		linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.6) 70%, rgba(0,0,0,.92) 100%);
}
.use-grid__label {
	position: absolute; z-index: 2;
	left: clamp(28px, 3vw, 48px);
	right: clamp(28px, 3vw, 48px);
	bottom: clamp(28px, 4vw, 56px);
	color: var(--white);
}
.use-grid__num {
	display: block;
	font-family: var(--font-display);
	font-size: 13px; font-weight: 600;
	letter-spacing: .22em;
	color: rgba(255,255,255,.7);
	margin-bottom: var(--space-3);
}
.use-grid__title {
	font-family: var(--font-display);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	color: var(--white);
	margin: 0 0 var(--space-2);
	letter-spacing: -.01em;
	line-height: 1.05;
}
.use-grid__sub {
	font-size: 14px;
	color: rgba(255,255,255,.78);
	margin: 0;
	max-width: 28ch;
	line-height: 1.5;
}
@media (max-width: 540px) { .use-grid__tile { aspect-ratio: 4 / 3; } }

/* ---------- Compare mini ------------------------------------ */
.compare-mini { padding-block: clamp(36px, 5vw, 56px); }
.compare-mini__scroll {
	border-radius: var(--radius-xl);
	border: 1px solid var(--border);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}
.compare-mini__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--white);
}
.compare-mini__table thead th {
	padding: clamp(18px, 2.6vw, 28px) clamp(16px, 2vw, 24px);
	background: rgba(250, 250, 248, .72);
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	backdrop-filter: blur(10px) saturate(120%);
	text-align: left;
	vertical-align: bottom;
	border-bottom: 1px solid var(--border);
	font-weight: 500;
}
.compare-mini__table thead th.is-current { background: rgba(19, 39, 122, .08); }
.compare-mini__head-pill {
	display: inline-block;
	font-size: 11px; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase;
	background: rgba(204,0,0,.08); color: var(--red);
	padding: 4px 10px; border-radius: 4px;
	margin-bottom: var(--space-3);
}
.compare-mini__table thead th.is-current .compare-mini__head-pill { background: rgba(19,39,122,.12); color: var(--blue); }
.compare-mini__head-name {
	font-family: var(--font-display);
	font-size: clamp(18px, 2.4vw, 24px); font-weight: 700;
	letter-spacing: -.01em;
	display: block; margin: 0 0 4px;
	color: var(--text-primary);
}
.compare-mini__head-tag { font-size: 13px; color: var(--text-muted); display: block; }
.compare-mini__table tbody th {
	padding: clamp(13px, 1.5vw, 18px) clamp(16px, 2vw, 24px);
	text-align: left;
	font-size: 12px; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--text-secondary);
	border-bottom: 1px solid var(--border);
	background: var(--white);
	width: 15em;
	vertical-align: middle;
	position: sticky; left: 0; z-index: 1;
}
.compare-mini__table tbody tr:nth-child(even) th,
.compare-mini__table tbody tr:nth-child(even) td { background: #FAFAF8; }
.compare-mini__table tbody td {
	padding: clamp(13px, 1.5vw, 18px) clamp(16px, 2vw, 24px);
	border-bottom: 1px solid var(--border);
	font-size: clamp(14px, 1.3vw, 15px);
	color: var(--text-secondary);
	vertical-align: middle;
}
.compare-mini__table tbody td.is-current {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--text-primary);
	background: rgba(19, 39, 122, .04);
}
.compare-mini__table thead th.is-current,
.compare-mini__table tbody tr:nth-child(even) td.is-current { background: rgba(19, 39, 122, .07); }
.compare-mini__table tbody td.is-current::before {
	content: "\2713";
	display: inline-block;
	margin-right: 8px;
	color: #1A9D5A;
	font-weight: 700;
}
/* Unbranded column — muted with a red cross. */
.compare-mini__table tbody td:not(.is-current)::before {
	content: "\2717";
	display: inline-block;
	margin-right: 8px;
	color: var(--red);
	opacity: .7;
	font-weight: 700;
}
.compare-mini__table tr:last-child td,
.compare-mini__table tr:last-child th { border-bottom: 0; }
@media (max-width: 700px) {
	.compare-mini__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.compare-mini__table { min-width: 640px; }
}

/* ---------- Related products — horizontal rail -------------- */
.related-rail { padding-block: clamp(36px, 5vw, 56px); background: var(--cream); position: relative; }
.related-rail__head { margin-bottom: clamp(40px, 6vw, 72px); }
.related-rail__rail {
	display: flex;
	gap: var(--space-5);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 8px clamp(24px, calc((100vw - 1280px) / 2 + 24px), 40vw) 24px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	scrollbar-width: thin;
	scrollbar-color: var(--border-strong) transparent;
}
.related-rail__rail::-webkit-scrollbar { height: 6px; }
.related-rail__rail::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 3px; }
.related-rail__rail .product-card {
	flex: 0 0 clamp(280px, 28vw, 340px);
	min-height: 380px;
	scroll-snap-align: start;
}

/* ---------- About — Era bands ------------------------------- */
.era {
	position: relative;
	padding-block: clamp(36px, 5vw, 56px);
	overflow: hidden;
	isolation: isolate;
}
.era--cream { background: var(--cream); }
.era--dark  { background: var(--charcoal); color: var(--white); }
.era--off   { background: var(--off-white); }

.era__year-bg {
	position: absolute;
	right: -2vw; top: 50%;
	transform: translateY(-50%);
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: .85;
	color: var(--charcoal);
	opacity: .045;
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
	z-index: 0;
}
.era--dark .era__year-bg { color: var(--white); opacity: .065; }

.era__inner {
	position: relative; z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: clamp(48px, 6vw, 96px);
	align-items: center;
	padding-left: clamp(20px, 3vw, 48px);
}
.era__inner::before {
	content: ""; position: absolute;
	left: 0; top: -clamp(60px, 8vw, 100px); bottom: -clamp(60px, 8vw, 100px);
	width: 2px;
	background: linear-gradient(180deg, transparent 0%, var(--red) 12%, var(--red) 88%, transparent 100%);
	transform: scaleY(0);
	transform-origin: top center;
	transition: transform 1.6s cubic-bezier(.22, .8, .25, 1);
	border-radius: 1px;
}
.era.is-revealed .era__inner::before { transform: scaleY(1); }
.era.is-revealed .era__inner::after {
	content: ""; position: absolute;
	left: -7px; top: 50%;
	width: 16px; height: 16px;
	border-radius: 50%;
	background: var(--red);
	box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--red);
	transform: translateY(-50%) scale(0);
	animation: era-dot-pop .6s cubic-bezier(.34, 1.56, .64, 1) 1.2s forwards;
}
.era--dark.is-revealed .era__inner::after {
	box-shadow: 0 0 0 4px var(--charcoal), 0 0 0 6px var(--red);
}
.era--off.is-revealed .era__inner::after {
	box-shadow: 0 0 0 4px var(--off-white), 0 0 0 6px var(--red);
}
@keyframes era-dot-pop {
	0%   { transform: translateY(-50%) scale(0); }
	60%  { transform: translateY(-50%) scale(1.2); }
	100% { transform: translateY(-50%) scale(1); }
}
.era__meta { }
.era__chapter {
	font-family: var(--font-body);
	font-size: 11px; font-weight: 600;
	letter-spacing: .22em; text-transform: uppercase;
	color: var(--red);
	margin: 0 0 var(--space-4);
}
.era--dark .era__chapter { color: rgba(255,180,170,.9); }
.era__year {
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--charcoal);
	margin: 0;
	line-height: 1;
}
.era--dark .era__year { color: var(--white); }
.era__year-rule {
	display: block;
	width: 56px; height: 2px;
	background: var(--red);
	margin: var(--space-5) 0 0;
}
.era__heading {
	font-family: var(--font-display);
	font-size: clamp(22px, 3.2vw, 32px);
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.1;
	color: var(--charcoal);
	margin: 0 0 var(--space-5);
}
.era--dark .era__heading { color: var(--white); }
.era__copy p {
	font-size: clamp(15px, 1.4vw, 16px);
	line-height: 1.65;
	color: var(--text-light);
	max-width: 52ch;
	margin: 0 0 var(--space-4);
}
.era--dark .era__copy p { color: rgba(255,255,255,.78); }

@media (max-width: 800px) {
	.era__inner { grid-template-columns: 1fr; gap: var(--space-6); }
	.era__year-bg { font-size: clamp(30px, 5vw, 48px); right: -8vw; }
}

/* ---------- About — Pullquote band -------------------------- */
.pullquote {
	background: var(--charcoal);
	color: var(--white);
	padding-block: clamp(36px, 5vw, 56px);
	text-align: center;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.pullquote__mark {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(30px, 5vw, 48px);
	color: var(--off-white);
	opacity: .18;
	line-height: .8;
	margin: 0 0 var(--space-4);
	font-weight: 700;
}
.pullquote__quote {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(20px, 2.4vw, 24px);
	line-height: 1.4;
	letter-spacing: -.01em;
	max-width: 30ch;
	margin: 0 auto var(--space-6);
	color: #F5F3EF;
}
.pullquote__attr {
	font-size: 12px; font-weight: 600;
	letter-spacing: .22em; text-transform: uppercase;
	color: rgba(255,255,255,.6);
	margin: 0;
}
.pullquote__attr-name { color: var(--white); margin-right: var(--space-3); }
.pullquote__rule { display: inline-block; width: 24px; height: 1px; background: rgba(255,255,255,.4); vertical-align: middle; margin: 0 var(--space-3); }

/* ---------- About — Value cards v2 -------------------------- */
.values-v2 { padding-block: clamp(36px, 5vw, 56px); background: var(--off-white); }
.values-v2__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
}
/* Clean white cards; the big number is a muted watermark, not a colored border. */
.values-v2__card {
	position: relative;
	overflow: hidden;
	background: var(--white);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
	padding: var(--space-6);
	transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.values-v2__card:hover { transform: translateY(-3px); box-shadow: 0 6px 24px rgba(0, 0, 0, .07); }
.values-v2__num {
	position: absolute;
	top: -14px; right: 6px;
	font-family: var(--font-display);
	font-size: 92px; font-weight: 700;
	line-height: 1;
	letter-spacing: -.04em;
	color: var(--bg-alt);
	pointer-events: none;
	z-index: 0;
}
.values-v2__title {
	position: relative; z-index: 1;
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--text-primary);
	margin: var(--space-6) 0 var(--space-2);
}
.values-v2__body {
	position: relative; z-index: 1;
	font-size: 15px;
	color: var(--text-secondary);
	line-height: 1.65;
	margin: 0;
}
@media (max-width: 900px) {
	.values-v2__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.values-v2__grid { grid-template-columns: 1fr; }
}

/* ---------- Quality — ISO award stack ----------------------- */
.iso-section { padding-block: clamp(36px, 5vw, 56px); }
/* Three IS marks in one row (FIX 10). */
.iso-stack {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 1100px;
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
}
/* Clean cards, IS number prominent at top, alternating bg — no colored border. */
.iso-stack__item {
	display: block;
	background: var(--white);
	border: 1px solid rgba(0, 0, 0, .04);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
	padding: clamp(24px, 4vw, 32px);
	position: relative;
}
.iso-stack__item:nth-child(even) { background: #FAFAF8; }
.iso-stack__seal-wrap { margin-bottom: var(--space-3); }
.iso-seal {
	display: inline-flex; align-items: baseline; gap: 6px;
	color: var(--blue);
}
.iso-seal__top {
	font-family: var(--font-display);
	font-size: 16px; font-weight: 700;
	letter-spacing: .04em;
}
.iso-seal__num {
	font-family: var(--font-display);
	font-size: 32px; font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1;
}
.iso-stack__copy { padding: var(--space-2) 0; }
.iso-stack__chapter {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 11px; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--red);
	background: rgba(204, 0, 0, .08);
	border-radius: 20px;
	padding: 4px 12px;
	margin: 0 0 var(--space-4);
}
.iso-stack__title {
	font-family: var(--font-display);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	letter-spacing: -.01em;
	margin: 0 0 var(--space-3);
	color: var(--charcoal);
}
.iso-stack__body {
	font-size: clamp(15px, 1.4vw, 16px);
	color: var(--text-light);
	line-height: 1.65;
	margin: 0 0 var(--space-4);
	max-width: 56ch;
}
.iso-stack__product {
	font-size: 14px;
	color: var(--blue);
}
.iso-stack__product a { color: var(--blue); font-weight: 600; }
.iso-stack__product a:hover { color: var(--red); }

@media (max-width: 760px) {
	.iso-stack { grid-template-columns: 1fr; }
}

/* ---------- Quality — Warranty graduated bar ---------------- */
.warranty-bar-section { padding-block: clamp(36px, 5vw, 56px); background: var(--cream); }
.warranty-bar {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--space-2);
	align-items: stretch;
}
.warranty-tier {
	position: relative;
	padding: var(--space-4) var(--space-4) var(--space-6);
	border-radius: var(--radius-md);
	background: var(--white);
	border: 1px solid rgba(0, 0, 0, .04);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
	display: flex; flex-direction: column;
}
.warranty-tier--max,
.warranty-tier--mid,
.warranty-tier--base { background: var(--white); color: var(--text-primary); }
/* Graduated meter along the bottom — grows with the warranty term. */
.warranty-tier::after {
	content: ""; position: absolute;
	left: var(--space-4); bottom: 14px; height: 3px;
	border-radius: 2px; background: var(--red);
}
.warranty-bar .warranty-tier:nth-child(1)::after { width: 26px; }
.warranty-bar .warranty-tier:nth-child(2)::after { width: 38px; }
.warranty-bar .warranty-tier:nth-child(3)::after { width: 52px; }
.warranty-bar .warranty-tier:nth-child(4)::after { width: 70px; }
.warranty-bar .warranty-tier:nth-child(5)::after { width: 90px; }
.warranty-tier__num {
	font-family: var(--font-display);
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--red);
	display: block;
}
.warranty-tier__years {
	font-family: var(--font-body);
	font-size: 11px; font-weight: 600;
	letter-spacing: .22em; text-transform: uppercase;
	margin-top: var(--space-3);
	opacity: .7;
}
.warranty-tier__type {
	font-family: var(--font-display);
	font-size: clamp(15px, 1.6vw, 16px);
	font-weight: 700;
	letter-spacing: -.005em;
	margin: var(--space-4) 0 0;
}
.warranty-tier__products {
	margin: var(--space-4) 0 0; padding: var(--space-3) 0 0;
	border-top: 1px solid var(--border);
	font-size: 13px;
	display: flex; flex-direction: column; gap: 6px;
	color: var(--text-secondary);
	margin-top: auto;
}
.warranty-tier__products li { list-style: none; }
.warranty-tier__products strong { font-weight: 700; }
.warranty-tier__type { margin-top: var(--space-4); }
.warranty-bar__alfa {
	margin-top: var(--space-4);
	padding: clamp(20px, 2.4vw, 32px) clamp(24px, 3vw, 32px);
	border-radius: var(--radius-lg);
	background: var(--off-white);
	border: 1px dashed var(--border);
}
.warranty-bar__alfa-note { margin: 0; font-size: 15px; color: var(--text); }
.warranty-bar__alfa-note strong { color: var(--charcoal); font-weight: 700; }
.warranty-bar__terms {
	margin: var(--space-4) 0 0;
	font-size: 13px;
	color: var(--text-muted);
	letter-spacing: .01em;
}
@media (max-width: 1024px) {
	.warranty-bar { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.warranty-bar { grid-template-columns: repeat(2, 1fr); }
	.warranty-tier { min-height: 0; }
}

/* ---------- Contact — full-width map ------------------------ */
.contact-map-bleed {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	height: clamp(340px, 50vh, 560px);
	background: var(--cream);
	border-block: 1px solid var(--border);
	overflow: hidden;
}
.contact-map-bleed iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- Floating-label form ---------------------------- */
.float-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-5);
	max-width: 720px;
}
.float-form > .float-flash,
.float-form > button[type="submit"],
.float-form > .float-form__note,
.float-form > .float-field--full {
	grid-column: 1 / -1;
}
.float-field { position: relative; }
.float-field input,
.float-field select,
.float-field textarea {
	width: 100%;
	padding: 28px 18px 12px;
	font: inherit; font-size: 16px;
	color: var(--charcoal);
	background: var(--white);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	outline: none;
	transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);
	appearance: none;
	-webkit-appearance: none;
}
.float-field textarea { min-height: 140px; resize: vertical; line-height: 1.6; }
.float-field select { padding-right: 36px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5L6 6.5L11 1.5' fill='none' stroke='%23999' stroke-width='1.5'/></svg>"); background-repeat: no-repeat; background-position: right 16px center; }
.float-field label {
	position: absolute;
	left: 19px;
	top: 19px;
	pointer-events: none;
	font-size: 15px;
	color: var(--text-muted);
	background: linear-gradient(180deg, transparent 45%, var(--white) 45%);
	padding: 0 4px;
	transition: top .18s var(--ease-out), font-size .18s var(--ease-out), color .18s var(--ease-out), letter-spacing .18s var(--ease-out);
}
.float-field input:not(:placeholder-shown) ~ label,
.float-field textarea:not(:placeholder-shown) ~ label,
.float-field input:focus ~ label,
.float-field textarea:focus ~ label,
.float-field--filled label,
.float-field select:focus ~ label {
	top: -8px;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--blue);
	padding: 0 6px;
	background: var(--white);
}
.float-field input:focus,
.float-field textarea:focus,
.float-field select:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(19,39,122,.12);
}
.float-form .float-flash {
	padding: 14px 18px;
	border-radius: var(--radius-sm);
	font-weight: 500;
	font-size: 14px;
	margin: 0;
}
.float-form .float-flash--ok  { background: #E8F5EE; color: #1F5F3A; border: 1px solid #B6D9C4; }
.float-form .float-flash--err { background: #FCEBEB; color: #8A1A1A; border: 1px solid #F0C0C0; }
.float-form button[type="submit"] {
	background: var(--red);
	color: var(--white);
	padding: 18px 32px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	transition: background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.float-form button[type="submit"]:hover { background: var(--red-deep); transform: translateY(-1px); }
.float-form__note { font-size: 12px; color: var(--text-muted); margin: 0; }

/* honeypot in float form */
.float-field--honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 600px) {
	.float-form { grid-template-columns: 1fr; }
}

/* ---------- Contact two-col ------------------------------- */
.contact-two {
	padding-block: clamp(36px, 5vw, 56px);
}
.contact-two__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(56px, 7vw, 96px);
	align-items: start;
}
.contact-two__form-head { margin-bottom: var(--space-6); }
.contact-two__info {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: clamp(24px, 4vw, 32px);
	box-shadow: var(--shadow-sm);
}
.contact-two__info h3 {
	font-family: var(--font-display);
	font-size: 22px;
	margin: 0 0 var(--space-4);
}
.contact-two__info dl { margin: 0; }
.contact-two__info dl > div { padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.contact-two__info dl > div:last-of-type { border-bottom: 0; }
.contact-two__info dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.contact-two__info dd { margin: 0; font-size: 15px; color: var(--charcoal); }
.contact-two__info address { font-style: normal; line-height: 1.55; }
@media (max-width: 900px) {
	.contact-two__grid { grid-template-columns: 1fr; }
}

/* ---------- About founder — magazine pullquote spacing override --- */
.about-pullquote { /* alias for pullquote on About */ }

/* =============================================================
   Walkthrough — scroll-driven interior tour (page-walkthrough.php)
   ============================================================= */

/* ---------- Hero ------------------------------------------- */
.walkthrough-hero {
	position: relative;
	min-height: clamp(480px, 80vh, 760px);
	display: flex; align-items: center;
	padding-block: clamp(36px, 5vw, 56px);
	background: linear-gradient(165deg, var(--charcoal) 0%, #0a0a0a 100%);
	color: var(--white);
	overflow: hidden;
	isolation: isolate;
}
.walkthrough-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='wh'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .14 0'/></filter><rect width='100%' height='100%' filter='url(%23wh)'/></svg>");
	opacity: .5;
	mix-blend-mode: overlay;
	pointer-events: none;
}
.walkthrough-hero::after {
	content: ""; position: absolute; right: -10%; top: -25%; z-index: -1;
	width: 60%; height: 110%;
	background: radial-gradient(closest-side, rgba(204, 0, 0, .26), transparent 70%);
	pointer-events: none;
}
.walkthrough-hero__inner { position: relative; z-index: 1; width: 100%; }
.walkthrough-hero .eyebrow { color: rgba(255,255,255,.7); margin-bottom: var(--space-4); }
.walkthrough-hero .page-hero__crumbs { margin-top: var(--space-5); }
.walkthrough-hero__title {
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	letter-spacing: -.025em;
	line-height: 1.02;
	color: var(--white);
	margin: 0 0 var(--space-4);
	max-width: 14ch;
}
.walkthrough-hero__title::after {
	content: ""; display: block;
	width: 56px; height: 3px;
	background: var(--red);
	border-radius: 2px;
	margin-top: var(--space-5);
}
.walkthrough-hero__lede {
	font-size: clamp(15px, 1.4vw, 16px);
	color: rgba(255,255,255,.78);
	max-width: 56ch;
	margin: var(--space-5) 0 0;
	line-height: 1.6;
}
.walkthrough-hero__scroll {
	position: absolute;
	left: 50%; bottom: clamp(32px, 5vw, 64px);
	transform: translateX(-50%);
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-3);
	color: rgba(255,255,255,.7);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	transition: color .2s var(--ease-out);
}
.walkthrough-hero__scroll:hover { color: var(--white); }
.walkthrough-hero__scroll-arrow {
	font-size: 18px;
	animation: wh-bounce 2s var(--ease-out) infinite;
}
@keyframes wh-bounce {
	0%, 100% { transform: translateY(0); opacity: .7; }
	50%      { transform: translateY(8px); opacity: 1; }
}

/* ---------- Scene ------------------------------------------ */
.scene {
	position: relative;
	background: var(--charcoal);
}
.scene__visual {
	position: relative;
	height: 100vh;
	min-height: 100vh;
	overflow: hidden;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	color: var(--white);
	will-change: transform, opacity;
}
.scene__bg-wrap {
	position: absolute; inset: 0;
	z-index: -2;
	overflow: hidden;
}
.scene__bg {
	position: absolute;
	left: 0; right: 0;
	top: -8%;
	width: 100%;
	height: 116%;
	object-fit: cover;
	will-change: transform;
}
.scene__overlay {
	position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(165deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .25) 45%, rgba(0, 0, 0, .8) 100%);
	pointer-events: none;
}
.scene__title-wrap {
	position: relative;
	z-index: 4;
	width: 100%;
	padding: clamp(24px, 6vw, 32px) clamp(24px, 5vw, 32px);
	max-width: min(720px, 50%);
}
@media (max-width: 1100px) {
	.scene__title-wrap { max-width: 60%; }
}
.scene__chapter {
	display: block;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .7);
	margin-bottom: var(--space-3);
}
.scene__title {
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 800;
	letter-spacing: -.025em;
	color: var(--white);
	line-height: .95;
	margin: 0;
}
.scene__sub {
	margin: var(--space-5) 0 0;
	font-size: clamp(15px, 1.4vw, 16px);
	color: rgba(255, 255, 255, .82);
	max-width: 44ch;
	line-height: 1.55;
}

/* ---------- Hotspots --------------------------------------- */
.scene__hotspots {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
}
.hotspot {
	position: absolute;
	left: var(--x);
	top: var(--y);
	transform: translate(-50%, -50%);
	pointer-events: auto;
}
.hotspot__pulse {
	position: relative;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.hotspot__pulse-dot {
	display: block;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: var(--red);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .3), 0 4px 12px rgba(0, 0, 0, .35);
	z-index: 2;
	position: relative;
}
.hotspot__pulse-ring {
	position: absolute; inset: 0;
	border-radius: 50%;
	border: 2px solid var(--red);
	animation: hot-pulse 2.4s var(--ease-out) infinite;
	z-index: 1;
}
.hotspot__pulse-ring--2 { animation-delay: 1.2s; }
@keyframes hot-pulse {
	0%   { transform: scale(.5); opacity: .85; }
	100% { transform: scale(2.6); opacity: 0; }
}

.hotspot__card {
	position: absolute;
	top: 50%;
	width: clamp(240px, 22vw, 300px);
	background: var(--white);
	color: var(--charcoal);
	padding: var(--space-5) var(--space-5);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
	opacity: 0;
	transform: translateY(-50%);
	pointer-events: none;
	will-change: transform, opacity;
}
.hotspot--side-right .hotspot__card { left: 36px; }
.hotspot--side-left  .hotspot__card { right: 36px; }
.hotspot.is-revealed .hotspot__card,
.hotspot:hover .hotspot__card,
.hotspot:focus-within .hotspot__card {
	opacity: 1 !important;
	pointer-events: auto;
}
.hotspot__card-arrow {
	position: absolute;
	top: 50%; transform: translateY(-50%);
	width: 0; height: 0;
}
.hotspot--side-right .hotspot__card-arrow {
	left: -10px;
	border: 8px solid transparent;
	border-right-color: var(--white);
}
.hotspot--side-left .hotspot__card-arrow {
	right: -10px;
	border: 8px solid transparent;
	border-left-color: var(--white);
}
.hotspot__grade {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--red);
	background: rgba(204, 0, 0, .08);
	padding: 4px 10px;
	border-radius: 4px;
	margin-bottom: var(--space-3);
}
.hotspot__where {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin: 0 0 6px;
}
.hotspot__name {
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.005em;
	color: var(--charcoal);
	margin: 0 0 var(--space-3);
	line-height: 1.15;
}
.hotspot__warranty {
	font-size: 13px;
	color: var(--text-light);
	margin: 0 0 var(--space-4);
	line-height: 1.45;
}
.hotspot__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--blue);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	transition: color .2s var(--ease-out), gap .2s var(--ease-out);
}
.hotspot__cta:hover { color: var(--red); gap: 10px; }

/* ---------- Mobile stack — only visible <=900px ------------ */
.scene__mobile { display: none; }

@media (max-width: 900px) {
	.scene { background: var(--off-white); }
	.scene__visual {
		min-height: 0;
		aspect-ratio: 4 / 5;
		max-height: 80vh;
		align-items: stretch;
		max-width: 100%;
	}
	.scene__title-wrap {
		display: flex; flex-direction: column; justify-content: flex-end;
		padding: var(--space-5);
		max-width: 100%;
	}
	.scene__title { font-size: clamp(30px, 5vw, 48px); }
	.scene__sub  { font-size: 15px; max-width: 32ch; }
	.scene__hotspots { display: none; }

	.scene__mobile {
		display: block;
		padding: clamp(24px, 10vw, 32px) 0;
		background: var(--off-white);
	}
	.scene__mobile-head { margin-bottom: var(--space-6); display: none; }
	.scene__mobile-list { display: grid; gap: var(--space-5); margin: 0; padding: 0; }
	.scene__mobile-card {
		list-style: none;
		background: var(--white);
		border: 1px solid var(--border);
		border-radius: var(--radius-md);
		padding: clamp(24px, 5vw, 32px);
		box-shadow: var(--shadow-sm);
		display: flex;
		flex-direction: column;
		gap: var(--space-2);
	}
	.scene__mobile-card .hotspot__grade { margin-bottom: var(--space-2); }
	.scene__mobile-card .hotspot__where { margin-bottom: 4px; }
	.scene__mobile-card .hotspot__name { font-size: 22px; margin-bottom: var(--space-3); }
	.scene__mobile-card .hotspot__warranty { margin-bottom: var(--space-4); }
}

/* Reduced motion: kill the pulse + dampened reveal */
@media (prefers-reduced-motion: reduce) {
	.hotspot__pulse-ring { animation: none; opacity: 0; }
	.walkthrough-hero__scroll-arrow { animation: none; }
	.hotspot__card {
		transition: none;
		opacity: 1;
		transform: translateY(-50%) scale(1);
		pointer-events: auto;
	}
}

/* ---------- Walkthrough progress indicator ----------------- */
.walkthrough-progress {
	position: fixed;
	right: clamp(16px, 2.5vw, 32px);
	top: 50%;
	transform: translateY(-50%);
	z-index: 30;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px 12px;
	background: rgba(20, 20, 20, .55);
	-webkit-backdrop-filter: blur(10px) saturate(160%);
	backdrop-filter: blur(10px) saturate(160%);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 999px;
	pointer-events: auto;
	opacity: 0;
	transition: opacity .4s var(--ease-out);
}
.walkthrough-progress.is-visible { opacity: 1; }
.walkthrough-progress a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
	border-radius: 50%;
	color: rgba(255, 255, 255, .6);
	cursor: pointer;
	transition: color .3s var(--ease-out);
}
.walkthrough-progress a::after {
	content: "";
	position: absolute;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .5);
	transition: background .3s var(--ease-out), transform .3s var(--ease-out), box-shadow .3s var(--ease-out);
}
.walkthrough-progress a:hover::after { background: rgba(255, 255, 255, .85); }
.walkthrough-progress a.is-active::after {
	background: var(--red);
	transform: scale(1.6);
	box-shadow: 0 0 0 3px rgba(204, 0, 0, .25);
}
.walkthrough-progress a.is-active { color: var(--white); }
.walkthrough-progress__num {
	position: absolute;
	right: calc(100% + 14px);
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	color: rgba(255, 255, 255, .55);
	white-space: nowrap;
	opacity: 0;
	transition: opacity .25s var(--ease-out);
	pointer-events: none;
}
.walkthrough-progress a:hover .walkthrough-progress__num,
.walkthrough-progress a.is-active .walkthrough-progress__num {
	opacity: 1;
}
@media (max-width: 900px) {
	.walkthrough-progress { display: none; }
}

/* ---------- End cap ---------------------------------------- */
.walkthrough-end {
	background: var(--off-white);
	padding-block: clamp(36px, 5vw, 56px);
	text-align: center;
	border-top: 1px solid var(--border);
}
.walkthrough-end__inner { max-width: 720px; margin-inline: auto; }
.walkthrough-end .eyebrow { color: var(--red); margin-bottom: var(--space-4); }
.walkthrough-end__title {
	font-family: var(--font-display);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--charcoal);
	margin: 0 0 var(--space-3);
	line-height: 1.05;
}
.walkthrough-end__rule {
	display: block;
	width: 48px; height: 2px;
	background: var(--red);
	margin: var(--space-4) auto 0;
}
.walkthrough-end__lede {
	margin: var(--space-5) auto 0;
	font-size: clamp(15px, 1.4vw, 16px);
	color: var(--text-light);
	max-width: 52ch;
}
.walkthrough-end__cta {
	margin-top: clamp(40px, 5vw, 64px);
	display: flex; flex-wrap: wrap; gap: var(--space-3);
	justify-content: center;
}

/* =============================================================
   Product demos — one unique CSS animation per product
   ============================================================= */
.demo {
	position: relative;
	background: linear-gradient(165deg, var(--charcoal) 0%, #0a0a0a 100%);
	color: var(--white);
	padding-block: clamp(36px, 5vw, 56px);
	overflow: hidden;
	isolation: isolate;
}
.demo::before {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='dx'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .14 0'/></filter><rect width='100%' height='100%' filter='url(%23dx)'/></svg>");
	mix-blend-mode: overlay;
	opacity: .4;
	pointer-events: none;
}
.demo::after {
	content: ""; position: absolute; right: -10%; top: -25%; z-index: 0;
	width: 60%; height: 110%;
	background: radial-gradient(closest-side, rgba(204, 0, 0, .14), transparent 70%);
	pointer-events: none;
}
.demo__inner { position: relative; z-index: 1; }
.demo__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto clamp(40px, 6vw, 72px);
}
.demo__head .s-head__eyebrow { color: rgba(255, 255, 255, .65); }
.demo__head .s-head__rule { margin: var(--space-4) auto 0; }
.demo__title {
	font-family: var(--font-display);
	font-size: clamp(22px, 3.2vw, 32px);
	font-weight: 600;
	font-style: italic;
	letter-spacing: -.01em;
	color: var(--white);
	margin: 0 auto;
	line-height: 1.25;
	max-width: 22ch;
}
.demo__stage {
	position: relative;
	width: min(680px, 94vw);
	min-height: 360px;
	margin: 0 auto;
	background:
		linear-gradient(165deg, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, .02) 100%);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--radius-lg);
	overflow: hidden;
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	backdrop-filter: blur(10px) saturate(120%);
	box-shadow: 0 30px 70px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .08);
}
/* Caption fades in over the stage as the animation plays. */
.demo__caption {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
	margin: 0; padding: 14px 20px;
	font-size: 13px; font-weight: 500; letter-spacing: .01em;
	color: rgba(255, 255, 255, .92);
	background: linear-gradient(to top, rgba(0, 0, 0, .55), transparent);
	opacity: 0;
	animation: demo-caption-in .8s var(--ease-out) 1.1s forwards;
}
@keyframes demo-caption-in { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .demo__caption { opacity: 1; animation: none; } }

@media (prefers-reduced-motion: reduce) {
	.demo__stage * { animation: none !important; }
}

/* ---------- 1. Maxima — water beads up & rolls off ---------- */
.dx-water { position: absolute; inset: 0; }
.dx-water__surface {
	position: absolute; left: 8%; right: 8%; bottom: 22%;
	height: 18px;
	background:
		repeating-linear-gradient(90deg,
			#6b4a36 0, #6b4a36 14px,
			#5a3e2c 14px, #5a3e2c 16px),
		linear-gradient(180deg, #8b5e3c 0%, #3d2b1f 100%);
	border-radius: 4px;
	box-shadow:
		inset 0 1px 0 rgba(255, 200, 150, .25),
		0 8px 18px rgba(0, 0, 0, .45);
}
.dx-water__surface::before {
	content: ""; position: absolute; inset: 1px 0 auto 0; height: 2px;
	background: linear-gradient(90deg, transparent, rgba(255, 220, 180, .4), transparent);
}
.dx-water__drop {
	position: absolute;
	top: -8%;
	left: calc(13% + var(--i) * 13%);
	width: 14px; height: 18px;
	background: linear-gradient(180deg, rgba(170, 220, 255, .5) 0%, rgba(70, 130, 220, .95) 100%);
	border-radius: 50% 50% 50% 50% / 30% 30% 70% 70%;
	box-shadow: inset 1px 1px 2px rgba(255, 255, 255, .5);
	animation: dx-water-fall 3.4s linear infinite;
	animation-delay: calc(var(--i) * -.55s);
}
@keyframes dx-water-fall {
	0%   { transform: translateY(0)              scale(1, 1); opacity: 0; border-radius: 50% 50% 50% 50% / 30% 30% 70% 70%; }
	8%   { opacity: 1; }
	48%  { transform: translateY(238px)          scale(1, 1); opacity: 1; border-radius: 50% 50% 50% 50% / 30% 30% 70% 70%; }
	53%  { transform: translateY(244px)          scale(1.6, .5); border-radius: 50%; }
	60%  { transform: translateY(244px) translateX(8px) scale(1, 1); border-radius: 50%; }
	100% { transform: translateY(244px) translateX(140px) scale(.7, .5); opacity: 0; border-radius: 50%; }
}
.dx-water__bead {
	position: absolute;
	bottom: calc(22% + 18px);
	left: calc(20% + var(--i) * 16%);
	width: 8px; height: 8px;
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.7), rgba(70,130,220,.7));
	border-radius: 50%;
	animation: dx-water-roll 4s linear infinite;
	animation-delay: calc(var(--i) * -.9s);
	opacity: 0;
}
@keyframes dx-water-roll {
	0%, 100% { opacity: 0; transform: translateX(0); }
	10%      { opacity: 1; transform: translateX(0); }
	60%      { opacity: 1; transform: translateX(60px); }
	80%      { opacity: 0; transform: translateX(80px); }
}

/* ---------- 2. Suprima — flames bounce off shield ----------- */
.dx-fire { position: absolute; inset: 0; }
.dx-fire__board {
	position: absolute; top: 22%; left: 16%; right: 16%; height: 50px;
	background: linear-gradient(180deg, #6b4a36 0%, #3d2b1f 100%);
	border-radius: 4px;
	color: var(--white);
	font-family: var(--font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .5);
}
.dx-fire__shield {
	position: absolute; left: 12%; right: 12%; top: calc(22% + 50px + 10px);
	height: 3px;
	background: linear-gradient(90deg, transparent, #4ad8ff, var(--blue), #4ad8ff, transparent);
	box-shadow: 0 0 14px #4ad8ff, 0 0 28px var(--blue);
	border-radius: 2px;
	animation: dx-fire-shield 2s ease-in-out infinite;
}
@keyframes dx-fire-shield {
	0%, 100% { opacity: .65; transform: scaleX(.95); }
	50%      { opacity: 1;   transform: scaleX(1.02); }
}
.dx-fire__flame {
	position: absolute;
	bottom: 14%;
	left: calc(20% + var(--i) * 13%);
	width: 30px; height: 70px;
	background: radial-gradient(ellipse at 50% 100%,
		#ff3300 0%, #ff7700 22%, #ffaa00 48%, #ffdd44 68%, transparent 100%);
	border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%;
	transform-origin: bottom center;
	animation: dx-fire-lick 1.4s ease-in-out infinite;
	animation-delay: calc(var(--i) * -.22s);
	filter: blur(1px);
	mix-blend-mode: screen;
}
@keyframes dx-fire-lick {
	0%, 100% { transform: scaleY(1)   rotate(-3deg); opacity: .85; }
	25%      { transform: scaleY(1.18) rotate(2deg); }
	50%      { transform: scaleY(.9)  rotate(-1deg); opacity: 1; }
	75%      { transform: scaleY(1.12) rotate(3deg); }
}
.dx-fire__ember {
	position: absolute;
	bottom: 18%;
	left: calc(25% + var(--i) * 8%);
	width: 4px; height: 4px;
	background: #ffaa00;
	border-radius: 50%;
	box-shadow: 0 0 6px #ff7700;
	animation: dx-fire-ember 2.8s linear infinite;
	animation-delay: calc(var(--i) * -.4s);
	opacity: 0;
}
@keyframes dx-fire-ember {
	0%   { transform: translateY(0)    scale(1); opacity: 0; }
	30%  { opacity: 1; }
	100% { transform: translateY(-90px) scale(.4); opacity: 0; }
}

/* ---------- 3. Ultima — steam rising over solid layers ------ */
.dx-steam { position: absolute; inset: 0; }
.dx-steam__board {
	position: absolute; left: 30%; top: 36%; width: 40%; height: 28%;
	border-radius: 4px;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .55);
	display: flex; flex-direction: column; gap: 1px; padding: 3px;
	box-sizing: border-box;
	background: #2a1c14;
}
.dx-steam__layer { flex: 1; border-radius: 1px; }
.dx-steam__layer:nth-child(1) { background: linear-gradient(90deg, #8b5e3c, #a67c52, #8b5e3c); }
.dx-steam__layer:nth-child(2) { background: linear-gradient(90deg, #6b4a36, #8b5e3c, #6b4a36); }
.dx-steam__layer:nth-child(3) { background: linear-gradient(90deg, #a67c52, #c4956a, #a67c52); }
.dx-steam__layer:nth-child(4) { background: linear-gradient(90deg, #6b4a36, #8b5e3c, #6b4a36); }
.dx-steam__layer:nth-child(5) { background: linear-gradient(90deg, #8b5e3c, #a67c52, #8b5e3c); }
.dx-steam__puff {
	position: absolute;
	bottom: 32%;
	left: calc(18% + var(--i) * 9%);
	width: 40px; height: 40px;
	background: radial-gradient(circle, rgba(255, 255, 255, .42) 0%, transparent 65%);
	border-radius: 50%;
	animation: dx-steam-rise 4s linear infinite;
	animation-delay: calc(var(--i) * -.5s);
	filter: blur(8px);
}
@keyframes dx-steam-rise {
	0%   { transform: translate(0, 0)         scale(.5); opacity: 0; }
	20%  { opacity: .7; }
	100% { transform: translate(8px, -180px)  scale(2.4); opacity: 0; }
}

/* ---------- 4. Prima — mist repelled by force field --------- */
.dx-mist { position: absolute; inset: 0; }
.dx-mist__board {
	position: absolute; left: 32%; top: 38%; width: 36%; height: 24%;
	background: linear-gradient(180deg, #c4956a 0%, #8b5e3c 100%);
	border-radius: 4px;
	color: var(--white);
	font-family: var(--font-display);
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .55);
	z-index: 3;
}
.dx-mist__shield {
	position: absolute;
	left: 22%; top: 25%;
	width: 56%; height: 50%;
	border-radius: 50%;
	border: 1px dashed rgba(80, 200, 255, .35);
	animation: dx-mist-shield 3s ease-in-out infinite;
	z-index: 2;
}
.dx-mist__shield--2 {
	left: 18%; top: 18%;
	width: 64%; height: 64%;
	animation-delay: -.8s;
	border-color: rgba(80, 200, 255, .18);
}
@keyframes dx-mist-shield {
	0%, 100% { transform: scale(1);    opacity: .35; }
	50%      { transform: scale(1.08); opacity: .7; }
}
.dx-mist__particle {
	position: absolute;
	left: calc(50% - 7px);
	top: calc(50% - 7px);
	width: 14px; height: 14px;
	background: radial-gradient(circle, rgba(220, 230, 240, .65) 0%, transparent 60%);
	border-radius: 50%;
	animation: dx-mist-repel 4s ease-out infinite;
	animation-delay: calc(var(--i) * -.33s);
	filter: blur(3px);
	--angle: calc(var(--i) * 30deg);
	z-index: 1;
}
@keyframes dx-mist-repel {
	0%   { transform: rotate(var(--angle)) translateX(0)     scale(.4); opacity: 0; }
	18%  { opacity: .8; }
	100% { transform: rotate(var(--angle)) translateX(180px) scale(1.8); opacity: 0; }
}

/* ---------- 5. Accord — warp comparison --------------------- */
.dx-warp {
	position: absolute; inset: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}
.dx-warp__col {
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: 24px;
	padding: 24px;
	margin: 0;
	height: 100%;
}
.dx-warp__col--bad { border-right: 1px dashed rgba(255, 255, 255, .1); }
.dx-warp__board {
	width: 78%;
	height: 18px;
	background: linear-gradient(180deg, #8b5e3c 0%, #3d2b1f 100%);
	border-radius: 4px;
	box-shadow: 0 8px 18px rgba(0, 0, 0, .45);
	transform-origin: center;
}
.dx-warp__col--bad .dx-warp__board {
	animation: dx-warp-bend 4.5s ease-in-out infinite;
}
@keyframes dx-warp-bend {
	0%, 100% { transform: rotate(0deg)   scaleY(1);   border-radius: 4px; }
	25%      { transform: rotate(-2deg)  scaleY(1.4); border-radius: 60% 4px 4px 60%; }
	50%      { transform: rotate(0deg)   scaleY(.85); border-radius: 50% / 30%; }
	75%      { transform: rotate(2deg)   scaleY(1.4); border-radius: 4px 60% 60% 4px; }
}
.dx-warp__col figcaption {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}
.dx-warp__col--good figcaption { color: var(--red); }

/* ---------- 6. Alfa — weights stack on board ---------------- */
.dx-weight { position: absolute; inset: 0; }
.dx-weight__base {
	position: absolute; left: 8%; right: 8%; bottom: 14%;
	height: 8px;
	background: rgba(255, 255, 255, .06);
	border-radius: 4px;
}
.dx-weight__board {
	position: absolute; left: 12%; right: 12%; bottom: 22%;
	height: 22px;
	background: linear-gradient(180deg, #8b5e3c 0%, #3d2b1f 100%);
	border-radius: 3px;
	box-shadow: 0 10px 22px rgba(0, 0, 0, .55);
}
.dx-weight__block {
	position: absolute;
	left: calc(22% + var(--i) * 16%);
	bottom: calc(22% + 22px);
	width: 60px; height: 32px;
	background: linear-gradient(180deg, #444 0%, #222 100%);
	border: 1px solid #555;
	border-radius: 2px;
	transform: translateY(-260%);
	animation: dx-weight-drop 4s cubic-bezier(.25, 1, .3, 1) infinite;
	animation-delay: calc(var(--i) * .55s);
	box-shadow: 0 6px 12px rgba(0, 0, 0, .65);
	display: flex; align-items: center; justify-content: center;
}
.dx-weight__block span {
	font-size: 11px; font-weight: 700;
	letter-spacing: .12em;
	color: rgba(255, 255, 255, .55);
}
@keyframes dx-weight-drop {
	0%   { transform: translateY(-260%); opacity: 0; }
	18%  { opacity: 1; }
	48%  { transform: translateY(0); }
	100% { transform: translateY(0); opacity: 1; }
}

/* ---------- 7. HDMR — board dunks into water ---------------- */
.dx-dunk { position: absolute; inset: 0; }
.dx-dunk__water {
	position: absolute; left: 0; right: 0; bottom: 0;
	height: 42%;
	background: linear-gradient(180deg,
		rgba(80, 140, 200, .15) 0%,
		rgba(40, 90, 150, .55) 30%,
		rgba(15, 40, 90, .85) 100%);
	overflow: hidden;
}
.dx-dunk__water::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg,
		transparent 0%, rgba(180, 220, 255, .5) 30%,
		rgba(255, 255, 255, .9) 50%, rgba(180, 220, 255, .5) 70%, transparent 100%);
	animation: dx-dunk-line 3s ease-in-out infinite;
}
@keyframes dx-dunk-line {
	0%, 100% { transform: translateX(-8%); }
	50%      { transform: translateX(8%); }
}
.dx-dunk__board {
	position: absolute; left: 35%; top: 12%; width: 30%; height: 30%;
	background: linear-gradient(180deg, #c4956a 0%, #8b5e3c 100%);
	border-radius: 4px;
	color: var(--white);
	font-family: var(--font-display);
	font-size: 16px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 700;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .6);
	animation: dx-dunk-motion 5s ease-in-out infinite;
}
@keyframes dx-dunk-motion {
	0%, 100% { transform: translateY(0); }
	30%      { transform: translateY(120px); }
	60%      { transform: translateY(120px); }
}
.dx-dunk__ripple {
	position: absolute;
	left: calc(50% - 30px);
	top: 56%;
	width: 60px; height: 60px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .35);
	opacity: 0;
	animation: dx-dunk-ripple 5s ease-out infinite;
	animation-delay: 1s;
}
.dx-dunk__ripple--2 { animation-delay: 1.4s; }
@keyframes dx-dunk-ripple {
	0%, 60%, 100% { transform: scale(.4); opacity: 0; }
	18%           { transform: scale(1.6); opacity: .85; }
	30%           { transform: scale(2.6); opacity: 0; }
}

/* ---------- "From our feed" — Instagram-style social grid --------- */
.social-feed { background: var(--off-white); padding-block: clamp(36px, 5vw, 56px); }
.social-feed .s-head__lede strong { color: var(--charcoal); font-weight: 600; }

.social-feed__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: clamp(6px, .8vw, 12px);
	grid-auto-flow: dense;
}

.social-feed__tile {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 4px;
	background: var(--cream);
	isolation: isolate;
	display: block;
}
.social-feed__tile--wide {
	grid-column: span 2;
	aspect-ratio: 2 / 1;
}

.social-feed__tile img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .6s var(--ease-out);
	z-index: 0;
}
.social-feed__tile:hover img { transform: scale(1.06); }

.social-feed__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(165deg, rgba(204, 0, 0, .0) 0%, rgba(0, 0, 0, .0) 60%, rgba(0, 0, 0, .82) 100%);
	opacity: 0;
	transition: opacity .3s var(--ease-out);
	pointer-events: none;
}
.social-feed__tile:hover .social-feed__overlay { opacity: 1; }

.social-feed__meta {
	position: absolute; left: 16px; right: 16px; bottom: 16px;
	z-index: 2;
	display: flex; align-items: center; gap: 10px;
	color: var(--white);
	transform: translateY(8px);
	opacity: 0;
	transition: transform .3s var(--ease-out), opacity .3s var(--ease-out);
	pointer-events: none;
}
.social-feed__tile:hover .social-feed__meta {
	transform: translateY(0);
	opacity: 1;
}
.social-feed__icon { width: 18px; height: 18px; flex: 0 0 18px; }
.social-feed__caption {
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Empty / placeholder state */
.social-feed__tile--placeholder {
	background:
		linear-gradient(165deg, var(--cream) 0%, var(--off-white) 100%);
	border: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: var(--text-muted);
	position: relative;
}
.social-feed__tile--placeholder::after {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='ph2'><feTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .15 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .08 0'/></filter><rect width='100%' height='100%' filter='url(%23ph2)'/></svg>");
	opacity: .5;
	mix-blend-mode: multiply;
	pointer-events: none;
}
.social-feed__tile--placeholder > * { position: relative; z-index: 1; }
.social-feed__icon-lg {
	width: 24px; height: 24px;
	color: var(--text-muted);
	opacity: .55;
}
.social-feed__slot-num {
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	color: var(--text-muted);
	opacity: .55;
}

.social-feed__cta {
	margin-top: clamp(40px, 5vw, 64px);
	text-align: center;
}

/* Responsive — keep three rows by reducing column count */
@media (max-width: 1023px) {
	.social-feed__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 540px) {
	.social-feed__grid { grid-template-columns: repeat(3, 1fr); }
}



/* ---------- Walkthrough — editorial layout (ATF, no GSAP) --- */
.wscene { padding-block: clamp(28px, 4vw, 48px); }
.wscene__inner { display: grid; gap: var(--space-6); }
.wscene__media {
	position: relative; margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	aspect-ratio: 16 / 9;
	max-height: 460px;
}
.wscene__img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.wscene__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.72) 100%);
}
.wscene__caption {
	position: absolute; left: clamp(20px,3vw,40px); right: clamp(20px,3vw,40px);
	bottom: clamp(20px,3vw,32px); color: var(--white);
}
.wscene__chapter { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.78); margin-bottom: 6px; }
.wscene__title { font-family: var(--font-display); font-size: clamp(22px,3.2vw,32px); font-weight: 700; color: var(--white); margin: 0 0 6px; letter-spacing: -.02em; }
.wscene__sub { font-size: clamp(14px,1.4vw,16px); color: rgba(255,255,255,.85); max-width: 62ch; margin: 0; line-height: 1.6; }
.wscene__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.wscene__card {
	background: var(--white);
	border: 1px solid rgba(0,0,0,.04);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 12px rgba(0,0,0,.04);
	padding: var(--space-5);
}
.wscene__card-grade { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
.wscene__card-where { font-size: 13px; color: var(--text-light); margin: 0 0 2px; }
.wscene__card-name { font-family: var(--font-display); font-size: 20px; font-weight: 700; margin: 0 0 6px; color: var(--text-primary); letter-spacing: -.01em; }
.wscene__card-warranty { font-size: 14px; color: var(--text-light); margin: 0 0 var(--space-4); line-height: 1.5; }
.wscene__card-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--blue); }
.wscene__card-cta:hover { color: var(--red); }
@media (max-width: 640px) {
	.wscene__cards { grid-template-columns: 1fr; }
	.wscene__media { aspect-ratio: 4 / 3; }
}

/* ---------- Product features — simple icon list (ATF) ------ */
.features-list { background: var(--off-white); }
.feature-rows {
	display: grid; grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: 880px; margin: 0 auto;
}
.feature-row {
	display: flex; align-items: flex-start; gap: var(--space-4);
}
.feature-row__icon { flex: 0 0 auto; display: inline-flex; color: var(--red); }
.feature-row__icon .feature-icon { width: 32px; height: 32px; }
.feature-row__text { font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--text-primary); }
@media (max-width: 640px) { .feature-rows { grid-template-columns: 1fr; } }

/* ---------- About timeline — vertical line + red dots (ATF) - */
/* Desktop: 3 equal columns, horizontal connector line, red dots at each stop. */
/* Lighten the section so the #F3F1ED era cards stand out. */
.about-timeline.section--cream, .about-timeline { background: var(--off-white); }
.timeline {
	position: relative;
	margin: 0; padding: 26px 0 0; list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-5);
}
/* 2px red connector across the milestone dots */
.timeline::before {
	content: ""; position: absolute;
	top: 6px; left: 7px; right: 7px; height: 2px;
	background: var(--red);
}
.timeline__item {
	position: relative;
	background: #F3F1ED;
	border-radius: 12px;
	padding: 24px;
}
.timeline__dot {
	position: absolute; top: -26px; left: 0;
	width: 14px; height: 14px; border-radius: 50%;
	background: var(--red); box-shadow: 0 0 0 4px var(--off-white);
}
.timeline__year {
	display: block; font-family: var(--font-display);
	font-size: 42px; font-weight: 700; color: var(--text-primary);
	letter-spacing: -.02em; line-height: 1; margin-bottom: var(--space-3);
}
.timeline__heading {
	font-family: var(--font-display); font-size: 18px; font-weight: 600;
	color: var(--text-primary); margin: 0 0 var(--space-2);
}
.timeline__body { font-size: 15px; line-height: 1.7; color: var(--text); font-weight: 600; margin: 0; }
@media (max-width: 760px) {
	.timeline { grid-template-columns: 1fr; gap: var(--space-6); padding: 0 0 0 28px; }
	.timeline::before { top: 6px; bottom: 6px; left: 6px; right: auto; width: 2px; height: auto; }
	.timeline__dot { top: 24px; left: -28px; }
}

/* ---------- Contact — form card (ATF) ---------------------- */
.contact-two__grid { gap: clamp(24px, 4vw, 40px); }
.contact-two__form-card {
	background: var(--white);
	border: 1px solid rgba(0, 0, 0, .04);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
	padding: clamp(24px, 4vw, 32px);
}

/* ---------- Social feed — marquee carousel (ATF) ----------- */
.social-marquee {
	position: relative;
	overflow: hidden;
	margin-top: var(--space-7);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.social-marquee__track {
	display: flex; gap: 16px; width: max-content;
	animation: social-marquee 55s linear infinite;
	will-change: transform;
}
.social-marquee:hover .social-marquee__track,
.social-marquee:focus-within .social-marquee__track { animation-play-state: paused; }
.social-marquee__slide {
	flex: 0 0 auto;
	width: 224px; height: 280px;
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--bg-alt);
	display: block;
}
.social-marquee__slide img { width: 100%; height: 100%; object-fit: cover; }
.social-marquee__slide--placeholder {
	display: flex; align-items: center; justify-content: center;
	color: var(--text-muted);
	border: 1px solid var(--border);
}
.social-marquee__icon { width: 40px; height: 40px; }
.social-feed__cta { text-align: center; margin-top: var(--space-7); }
@keyframes social-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .social-marquee__track { animation: none; } }

/* ---------- Single product — image + specs two-column (ATF) - */
.product-lead { padding-block: clamp(36px, 5vw, 56px); background: var(--off-white); }
.product-lead__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
}
.product-lead--no-media .product-lead__grid { grid-template-columns: 1fr; max-width: 720px; }
.product-lead__media {
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	max-height: 480px;
	background: var(--bg-alt);
	position: sticky; top: calc(var(--header-h) + 16px);
}
.product-lead__img { width: 100%; height: 100%; object-fit: cover; }
.product-lead__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--red); margin: 0 0 var(--space-2); }
.product-lead__title { font-family: var(--font-display); font-size: clamp(22px, 3vw, 28px); font-weight: 600; letter-spacing: -.02em; margin: 0 0 var(--space-4); color: var(--text-primary); }
.product-lead .specs-bar { max-width: 100%; margin: 0; }
.product-lead__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
@media (max-width: 860px) {
	.product-lead__grid { grid-template-columns: 1fr; }
	.product-lead__media { position: static; max-height: 440px; max-width: 380px; }
}

/* Quality testing process — optional step thumbnail (ATF) */
.quality-process__thumb {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--radius-sm);
	margin-top: var(--space-4);
}

/* ---------- Product demo — video variant (ATF round 2) ----- */
.demo__video {
	position: relative;
	width: min(820px, 94vw);
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .14);
	box-shadow: 0 30px 70px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06);
	background: #000;
}
.demo__video-el { width: 100%; height: 100%; object-fit: cover; display: block; }
.demo__video .demo__caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; }
.demo__video-toggle {
	position: absolute; right: 14px; bottom: 14px; z-index: 4;
	width: 40px; height: 40px; border-radius: 50%;
	background: rgba(0, 0, 0, .5);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, .25);
	display: flex; align-items: center; justify-content: center;
}
.demo__video-ico { display: block; width: 10px; height: 12px; border-left: 3px solid #fff; border-right: 3px solid #fff; }
.demo__video.is-paused .demo__video-ico {
	width: 0; height: 0; border: 0;
	border-left: 12px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent;
	margin-left: 3px;
}
