/**
 * ActiveTurf Strata Phase 1 — scoped foundation CSS.
 * Adapted from Stage 3.2 prototype; Astra header/footer chrome preserved.
 */

/* Astra container breakout for full-bleed scenes.
 * Astra's .ast-container is display:flex; flex-direction:row for sidebar layouts.
 * With flex-grow:0 on the single child, .at-home-root shrink-wrapped to the
 * GSAP pin-spacer content width (~1480px), leaving a white body gutter on wide
 * viewports. Force block formatting so Strata spans the viewport. */
body.at-home .site-content > .ast-container,
body.at-home #content .ast-container {
  max-width: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  display: block;
}
body.at-home .at-home-root{
  width: 100%;
  max-width: none;
}
body.at-home #content.site-content { margin: 0; }
body.at-home .entry-header,
body.at-home .ast-archive-description { display: none; }

/* Soften Astra header over dark hero without editing Astra */
body.at-home .main-header-bar,
body.at-home .ast-primary-header-bar {
  background: rgba(11,20,16,.78);
  backdrop-filter: blur(8px);
}
body.at-home .ast-builder-menu-1 .menu-item > .menu-link,
body.at-home .site-header .site-title a {
  color: #EDEFE6 !important;
}
/* Preview-scoped only: above-header tagline readability (do not edit Astra) */
body.at-home .ast-above-header-bar{
  background:#0B1410 !important;
}
body.at-home .ast-above-header-bar .wp-block-heading,
body.at-home .ast-above-header-bar .header-widget-area,
body.at-home .ast-above-header-bar .header-widget-area p,
body.at-home .ast-above-header-bar .header-widget-area h1,
body.at-home .ast-above-header-bar .header-widget-area h2,
body.at-home .ast-above-header-bar .header-widget-area h3 {
  color: #F7F9F1 !important;
  font-weight: 650;
  letter-spacing: .04em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .45);
}

/* Defeat Astra global heading colour so Strata ink/chalk hierarchy wins */
body.at-home .at-home-root,
body.at-home .at-home-root h1,
body.at-home .at-home-root h2,
body.at-home .at-home-root h3,
body.at-home .at-home-root .entry-content :where(h1, h2, h3) {
  color: var(--at-chalk, #EDEFE6);
}
body.at-home .at-on-light,
body.at-home .at-on-light h1,
body.at-home .at-on-light h2,
body.at-home .at-on-light h3 {
  color: var(--at-ink, #0B1410);
}
body.at-home .at-s1 .at-h1-line,
body.at-home .at-s1 #at-s1h {
  color: #EDEFE6;
  text-shadow: 0 1px 18px rgba(11, 20, 16, 0.55);
}
body.at-home .at-mob-bar {
  z-index: 100;
}

body.at-home .at-preview-banner {
  position: relative; z-index: 60; background: #F2B33D; color: #1b1405;
  font: 500 .8125rem/1.3 var(--at-f-text, inherit);
  display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center;
  padding: 8px var(--at-gut-r, 20px) 8px var(--at-gut, 20px);
}

/* Phase 2: pin tracks active when motion-ready on desk/tab; static/mob stay stacked */
body.at-home .at-home-root.is-static .at-track,
body.at-home .at-home-root[data-mode="mob"] .at-track,
body.at-home .at-home-root[data-mode="static"] .at-track {
  height: auto !important;
}
body.at-home .at-home-root.is-static .at-stage,
body.at-home .at-home-root[data-mode="mob"] .at-stage,
body.at-home .at-home-root[data-mode="static"] .at-stage {
  position: relative !important;
  height: auto !important;
  overflow: visible !important;
}
body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-track,
body.at-home .at-home-root.is-motion-ready[data-mode="tab"] .at-track {
  height: auto; /* ScrollTrigger pinSpacing owns scroll distance */
}
body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-stage,
body.at-home .at-home-root.is-motion-ready[data-mode="tab"] .at-stage {
  position: relative;
  height: 100svh;
  overflow: hidden;
}
body.at-home .at-cutline {
  display: block;
  height: 2px;
  width: 100%;
  max-width: 12rem;
  background: var(--at-lime);
  transform-origin: left center;
}

/* Skip pin links — visible on focus */
body.at-home .at-skip-wrap { margin: 0; }
body.at-home .at-skip-pin {
  position: absolute;
  left: var(--at-gut);
  top: calc(var(--at-hdr, 72px) + 12px);
  z-index: 6;
  padding: 8px 12px;
  background: var(--at-lime);
  color: var(--at-ink);
  font-weight: 650;
  text-decoration: none;
  border-radius: 2px;
  clip-path: inset(50%);
}
body.at-home .at-skip-pin:focus,
body.at-home .at-skip-pin:focus-visible {
  clip-path: none;
  outline: 3px solid var(--at-chalk);
  outline-offset: 2px;
}
body.at-home .at-skip-wrap--s5 .at-skip-pin {
  position: static;
  clip-path: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  background: transparent;
  color: var(--at-lime);
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 10px 0;
}
body.at-home .at-skip-wrap--s5 .at-skip-pin:focus,
body.at-home .at-skip-wrap--s5 .at-skip-pin:focus-visible {
  clip-path: none;
  outline: 3px solid var(--at-lime);
  outline-offset: 3px;
  background: rgba(184, 242, 60, 0.12);
}

/* Map prototype gen/real tags + ledger/product on state */
body.at-home .at-asset-tag.gen, body.at-home .at-asset-tag--gen { background: rgba(242,179,61,.92); color: #1b1405; }
body.at-home .at-asset-tag.real, body.at-home .at-asset-tag--real { background: rgba(184,242,60,.92); color: #0B1410; }
body.at-home .at-ledger li.is-on .at-ledger__row,
body.at-home .at-ledger li.on .at-row { color: var(--at-chalk); }
body.at-home .at-stages li.is-on { opacity: 1; }
body.at-home .at-lbl--a { top: 12px; }
body.at-home .at-lbl--b { bottom: 12px; }
body.at-home .at-sw--classic { opacity: calc(1 - var(--s4-blend, 0)); }
body.at-home .at-sw--golf { opacity: var(--s4-blend, 0); }
body.at-home .at-swatch-win[data-active="golf"] { --s4-blend: 1; }
body.at-home .at-swatch-win[data-active="classic"] { --s4-blend: 0; }
body.at-home .at-lab-sub { font-size: 13px; fill: var(--at-gravel); letter-spacing: .04em; }
body.at-home{
  --at-ink:#0B1410; --at-ink-2:#14211A; --at-loam:#17120D; --at-clay:#8A6A4B;
  --at-gravel:#8C9088; --at-chalk:#EDEFE6; --at-chalk-2:#DDE1D3; --at-lime:#B8F23C; --at-turf:#2F7A2B;
  --at-preview:#F2B33D;
  --at-f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --at-f-text:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  --at-f-mono:"DM Mono",ui-monospace,monospace;
  --at-fs-display:clamp(2.75rem,1.2rem + 6.4vw,7.5rem);
  --at-fs-h2:clamp(2rem,1.1rem + 3.2vw,4.25rem);
  --at-fs-body:clamp(1.0625rem,1rem + .2vw,1.1875rem);
  --at-fs-label:clamp(.75rem,.72rem + .1vw,.8125rem);
  --at-ease-out:cubic-bezier(.16,1,.3,1); --at-ease-io:cubic-bezier(.65,0,.35,1);
  --at-gut:max(1.5rem, env(safe-area-inset-left, 0px));
  --at-gut-r:max(1.5rem, env(safe-area-inset-right, 0px));
  --at-content-max:72rem;
  --at-section-y:clamp(2.75rem, 5.5vh, 4.5rem);
  --at-hdr:72px;
  color-scheme:dark;
}
@media (min-width:768px){
  body.at-home{
    --at-gut:max(2rem, env(safe-area-inset-left, 0px));
    --at-gut-r:max(2rem, env(safe-area-inset-right, 0px));
  }
}
@media (min-width:1024px){
  body.at-home{
    --at-gut:max(3.5rem, env(safe-area-inset-left, 0px));
    --at-gut-r:max(5rem, env(safe-area-inset-right, 0px));
  }
}
body.at-home .at-home-root *, body.at-home .at-home-root *::before, body.at-home .at-home-root *::after {box-sizing:border-box}
body.at-home {scroll-padding-top:calc(var(--at-hdr) + 16px);scroll-padding-bottom:96px}
body.at-home .at-home-root{
  margin:0;
  width:100%;
  max-width:none;
  background:var(--at-ink);
  color:var(--at-chalk);
  font-family:var(--at-f-text);
  font-size:var(--at-fs-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.at-home .at-home-root img {max-width:100%;height:auto;display:block}
body.at-home .at-home-root a {color:inherit}
body.at-home .at-home-root :focus-visible {outline:3px solid var(--at-lime);outline-offset:2px}
body.at-home .at-mono{font-family:var(--at-f-mono);font-size:var(--at-fs-label);letter-spacing:.08em;text-transform:uppercase}
body.at-home .at-home-root h1, body.at-home .at-home-root h2, body.at-home .at-home-root h3 {font-family:var(--at-f-display);font-weight:760;letter-spacing:-.025em;line-height:.96;margin:0;text-wrap:balance}
body.at-home .at-home-root p {margin:0}
/* Gutters must survive later section padding shorthands on the same .at-wrap node */
body.at-home .at-wrap{
  padding-left:var(--at-gut) !important;
  padding-right:var(--at-gut-r) !important;
}
/* Cap reading width; keep left edge on the gutter (Strata is left-aligned). */
body.at-home .at-content{
  width:100%;
  max-width:var(--at-content-max);
}

















@media (min-width:1024px){}



/* Force dark label on lime — Astra/theme link colour must not win */
body.at-home .at-home-root .at-pill,
body.at-home .at-home-root a.at-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 20px;border-radius:999px;
  background:var(--at-lime);color:var(--at-ink)!important;
  font-weight:650;text-decoration:none;font-size:.9375rem;white-space:nowrap;
  border:1.5px solid transparent;
  transition:background-color .2s var(--at-ease-out), color .2s var(--at-ease-out),
    transform .2s var(--at-ease-out), box-shadow .2s var(--at-ease-out), border-color .2s var(--at-ease-out);
}
body.at-home .at-home-root .at-pill:hover,
body.at-home .at-home-root .at-pill:focus-visible,
body.at-home .at-home-root a.at-pill:hover,
body.at-home .at-home-root a.at-pill:focus-visible{
  background:#d4ff6a !important;color:var(--at-ink)!important;
  box-shadow:0 0 0 1px rgba(184,242,60,.35), 0 8px 22px rgba(184,242,60,.28);
}
body.at-home .at-home-root .at-pill:active,
body.at-home .at-home-root a.at-pill:active{
  background:#b3e635 !important;color:var(--at-ink)!important;
  box-shadow:none;
}
body.at-home .at-home-root .at-btn-ghost,
body.at-home .at-home-root a.at-btn-ghost{
  display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;
  border:1.5px solid currentColor;text-decoration:none;font-weight:600;
  transition:background-color .2s var(--at-ease-out), color .2s var(--at-ease-out),
    border-color .2s var(--at-ease-out), transform .2s var(--at-ease-out), box-shadow .2s var(--at-ease-out);
}
body.at-home .at-home-root .at-btn-ghost:hover,
body.at-home .at-home-root .at-btn-ghost:focus-visible,
body.at-home .at-home-root a.at-btn-ghost:hover,
body.at-home .at-home-root a.at-btn-ghost:focus-visible{
  color:var(--at-lime) !important;
  border-color:var(--at-lime) !important;
  background:rgba(184,242,60,.14);
  box-shadow:0 8px 20px rgba(11,20,16,.35);
}
body.at-home .at-home-root .at-btn-ghost:focus-visible,
body.at-home .at-home-root a.at-btn-ghost:focus-visible{
  outline:3px solid var(--at-lime);
  outline-offset:2px;
}
body.at-home .at-textlink{font-weight:600;text-decoration:underline;text-underline-offset:3px}
body.at-home .at-tel{font-family:var(--at-f-mono);font-size:.875rem;letter-spacing:.04em;text-decoration:none;padding:12px 4px;border-bottom:1px solid rgba(237,239,230,.4)}
body.at-home .at-home-root .at-mail{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--at-f-mono);font-size:.875rem;letter-spacing:.02em;
  text-transform:none;text-decoration:none;padding:10px 2px;
  color:var(--at-chalk);border-bottom:1px solid rgba(184,242,60,.55);
  word-break:break-word;
  transition:color .2s var(--at-ease-out), border-color .2s var(--at-ease-out),
    transform .2s var(--at-ease-out), gap .2s var(--at-ease-out);
}
body.at-home .at-home-root .at-mail__icon{
  flex:0 0 auto;width:16px;height:16px;opacity:.9;
  transition:opacity .2s var(--at-ease-out), transform .2s var(--at-ease-out);
}
body.at-home .at-home-root .at-mail:hover,
body.at-home .at-home-root .at-mail:focus-visible{
  color:var(--at-lime);border-bottom-color:var(--at-lime);
}
body.at-home .at-home-root .at-mail:hover .at-mail__icon,
body.at-home .at-home-root .at-mail:focus-visible .at-mail__icon{opacity:1}

/* Fine-pointer hover lift — skip on touch */
@media (hover:hover) and (pointer:fine){
  body.at-home .at-home-root .at-pill:hover,
  body.at-home .at-home-root a.at-pill:hover,
  body.at-home .at-home-root .at-btn-ghost:hover,
  body.at-home .at-home-root a.at-btn-ghost:hover{
    transform:translateY(-2px);
  }
  body.at-home .at-home-root .at-mail:hover{
    transform:translateY(-1px);
    gap:10px;
  }
  body.at-home .at-home-root .at-mail:hover .at-mail__icon{
    transform:translateY(-1px);
  }
}
@media (prefers-reduced-motion:reduce){
  body.at-home .at-home-root .at-pill,
  body.at-home .at-home-root a.at-pill,
  body.at-home .at-btn-ghost,
  body.at-home .at-home-root .at-mail,
  body.at-home .at-home-root .at-mail__icon{
    transition:none !important;
  }
  body.at-home .at-home-root .at-pill:hover,
  body.at-home .at-home-root a.at-pill:hover,
  body.at-home .at-home-root .at-btn-ghost:hover,
  body.at-home .at-home-root .at-mail:hover{
    transform:none !important;
  }
}

body.at-home .at-asset-tag{position:absolute;left:12px;top:12px;z-index:3;font:500 .625rem/1 var(--at-f-mono);letter-spacing:.05em;padding:5px 7px;border-radius:2px;pointer-events:none}
body.at-home .at-asset-tag.gen{background:rgba(242,179,61,.92);color:#1b1405}
body.at-home .at-asset-tag.real{background:rgba(184,242,60,.92);color:#0B1410}
body.at-home .at-asset-note{opacity:.7;margin-top:12px}

body.at-home .at-gauge{position:fixed;right:max(18px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:30;display:none;height:min(56vh,440px);width:56px;pointer-events:none}
@media (min-width:1024px){.at-gauge{display:block}}
body.at-home .at-gauge .at-gauge__ruler{position:absolute;right:0;top:0;bottom:0;width:14px;background:repeating-linear-gradient(to bottom,currentColor 0 1px,transparent 1px 10.5%);border-right:1px solid currentColor;opacity:.7;color:var(--at-chalk)}
body.at-home .at-gauge .at-gauge__marker{position:absolute;right:0;width:30px;height:2px;background:var(--at-lime);top:0}
body.at-home .at-gauge .at-gauge__read{position:absolute;right:0;top:calc(100% + 14px);font:500 .6875rem/1 var(--at-f-mono);letter-spacing:.06em;text-align:right;color:var(--at-lime)}
body.at-home .at-gauge .at-gauge__ticks{position:absolute;right:20px;top:0;bottom:0;font:500 .625rem/1 var(--at-f-mono);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;opacity:.75;color:var(--at-chalk)}

body.at-home .at-scene{position:relative}
body.at-home .at-track{position:relative;height:calc(var(--pin,100) * 1vh)}
body.at-home .at-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
body.at-home [data-mode="mob"] .at-track,[data-mode="static"] .at-track{height:auto}
body.at-home [data-mode="mob"] .at-stage,[data-mode="static"] .at-stage{position:relative;height:auto;overflow:visible}

/* S1 */
body.at-home .at-s1 .at-stage{background:var(--at-loam)}
body.at-home .at-surface{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 var(--lift,0%) 0);will-change:clip-path}
body.at-home .at-surface .at-par{position:absolute;inset:-16px;transform:translate3d(var(--px,0),var(--py,0),0)}
body.at-home .at-hero-img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
body.at-home .at-surface::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,16,.5) 0,transparent 24%,rgba(11,20,16,.15) 45%,rgba(11,20,16,.55) 68%,rgba(11,20,16,.88) 100%);pointer-events:none}
body.at-home .at-underneath{position:absolute;left:0;right:0;bottom:0;height:38%;display:flex;align-items:flex-end;padding-bottom:28px;background:repeating-linear-gradient(135deg,rgba(138,106,75,.22) 0 1px,transparent 1px 9px),var(--at-loam)}
body.at-home .at-underneath p{color:var(--at-clay)}
body.at-home .at-hero{position:absolute;inset:0;z-index:2;pointer-events:none}
body.at-home .at-hero a,.at-hero .at-pill,.at-hero .at-btn-ghost,.at-hero .at-tel,.at-hero .at-mail{pointer-events:auto}
body.at-home .at-hero-copy{position:absolute;left:var(--at-gut);right:var(--at-gut-r);bottom:calc(38% + 18px);max-width:1100px;transform:scale(var(--hs,1));transform-origin:left bottom}
body.at-home .at-hero-below{position:absolute;left:var(--at-gut);right:var(--at-gut-r);top:calc(62% + 36px);display:flex;flex-wrap:wrap;gap:20px 48px;align-items:center}
body.at-home .at-cut-inline{display:none}
/* Kicker: opaque ink plate + lime rule — readable on patio stones and turf */
body.at-home .at-s1 .at-kicker{
  display:inline-block;
  color:#FFFFFF;
  font-weight:700;
  letter-spacing:.08em;
  margin-bottom:14px;
  max-width:min(100%, 48ch);
  padding:10px 16px;
  background:#0B1410;
  border-left:3px solid var(--at-lime);
  box-shadow:0 10px 28px rgba(11,20,16,.55);
  text-shadow:none;
}
body.at-home .at-h1-line{display:block;overflow:hidden;padding-bottom:.06em;font-size:var(--at-fs-display)}
body.at-home .at-h1-line>span{display:block}
/* Desk/tablet: one line. Mobile: allow wrap (nowrap was clipped by stage overflow). */
body.at-home .at-s1 .at-sub,
body.at-home .at-hero .at-sub{
  margin-top:16px;
  max-width:none !important;
  width:auto;
  font-size:clamp(1rem,.92rem + .4vw,1.3125rem);
  line-height:1.35;
  color:#e3e6dc;
  text-shadow:0 1px 10px rgba(11,20,16,.45);
  white-space:normal;
}
@media (min-width:768px){
  body.at-home .at-s1 .at-sub,
  body.at-home .at-hero .at-sub{white-space:nowrap}
}
body.at-home .at-cta-row{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
/* S1 cutline must span full stage; early max-width:12rem rule was parking the label over CTAs */
body.at-home .at-s1 .at-cutline{
  position:absolute;left:0;right:0;top:var(--cut,62%);z-index:2;
  height:2px;width:auto;max-width:none;
  background:var(--at-lime);transform-origin:left center;transform:scaleX(var(--cl,1));
}
body.at-home .at-s1 .at-cutline .at-mono{
  position:absolute;right:var(--at-gut-r);left:auto;
  bottom:calc(100% + 10px);top:auto;
  color:var(--at-lime);
  text-shadow:0 1px 2px rgba(11,20,16,.75);
  pointer-events:none;
}
/* Do not absolute-position every .at-cutline — that pinned #at-s3cut to viewport left:0.
   S1 / S8 cutlines are scoped (.at-s1 .at-cutline, .at-s8-cut). */
body.at-home .at-scroll-prompt{position:absolute;z-index:3;right:var(--at-gut-r);bottom:clamp(28px,7vh,72px);display:none;text-decoration:none}
@media (min-width:1024px){.at-scroll-prompt{display:flex}}
/* Curtain exists in markup for GSAP; hidden until motion intro claims it (protects LCP / no-JS).
   Do not set transform here while .js-load — GSAP owns transform to avoid cascade fights. */
body.at-home .at-curtain{position:absolute;inset:0;z-index:4;background:var(--at-ink);pointer-events:none;visibility:hidden;opacity:0}
body.at-home .js-load .at-curtain{visibility:visible}
body.at-home .loaded .at-curtain{visibility:hidden;opacity:0;pointer-events:none}
/* Guaranteed post-intro CTA visibility if GSAP leaves inline opacity mid-tween */
body.at-home .loaded .at-s1 .at-hero-below,
body.at-home .loaded .at-s1 .at-kicker,
body.at-home .loaded .at-s1 .at-sub{
  opacity:1;
  visibility:visible;
}
body.at-home .at-h1-line>span{will-change:auto}
body.at-home .at-s1 .at-cutline{transform-origin:left center}
body.at-home .at-stages li.is-on,
body.at-home .at-stages li.on{opacity:1}
body.at-home .at-xsect .at-lab{opacity:.35;transition:opacity .2s linear}
body.at-home .at-home-root.is-static .at-xsect .at-lab{opacity:1}
body.at-home .at-home-root.is-static .at-stages li{opacity:1}
body.at-home [data-mode="mob"] .at-s1 .at-stage,
body.at-home [data-mode="static"] .at-s1 .at-stage,
body.at-home .at-home-root.is-static .at-s1 .at-stage{min-height:100svh}
body.at-home [data-mode="mob"] .at-hero,
body.at-home [data-mode="static"] .at-hero,
body.at-home .at-home-root.is-static .at-hero{position:relative;min-height:100svh;display:grid;align-content:end;gap:22px;padding:calc(var(--at-hdr) + 40px) 0 32px;pointer-events:auto}
body.at-home [data-mode="mob"] .at-hero-copy,
body.at-home [data-mode="static"] .at-hero-copy,
body.at-home [data-mode="mob"] .at-hero-below,
body.at-home [data-mode="static"] .at-hero-below,
body.at-home .at-home-root.is-static .at-hero-copy,
body.at-home .at-home-root.is-static .at-hero-below{position:static;transform:none}
body.at-home [data-mode="mob"] .at-hero-below,
body.at-home [data-mode="static"] .at-hero-below,
body.at-home .at-home-root.is-static .at-hero-below{display:grid;gap:20px}
body.at-home [data-mode="mob"] .at-s1 .at-cutline,
body.at-home [data-mode="static"] .at-s1 .at-cutline,
body.at-home .at-home-root.is-static .at-s1 .at-cutline{display:none}
body.at-home [data-mode="mob"] .at-cut-inline,
body.at-home [data-mode="static"] .at-cut-inline,
body.at-home .at-home-root.is-static .at-cut-inline{display:block;height:2px;margin-bottom:26px;background:var(--at-lime);position:relative}
body.at-home .at-cut-inline{
  position:relative;
  margin-top:8px;
  margin-bottom:28px;
  padding-top:1.25rem; /* room for label above the rule */
}
body.at-home .at-cut-inline span{
  position:absolute;right:0;left:auto;
  bottom:calc(100% + 8px);top:auto;
  color:var(--at-lime);
  text-shadow:0 1px 2px rgba(11,20,16,.75);
}
body.at-home [data-mode="mob"] .at-surface,
body.at-home [data-mode="static"] .at-surface{position:absolute}

/* Mobile-first S1 composition before JS sets data-mode */
@media (max-width:767px){
  body.at-home .at-s1 .at-stage{min-height:100svh;height:auto;overflow:visible}
  body.at-home .at-s1 .at-hero{position:relative;min-height:100svh;display:grid;align-content:end;gap:22px;padding:calc(var(--at-hdr) + 40px) 0 32px;pointer-events:auto}
  body.at-home .at-s1 .at-hero-copy,
  body.at-home .at-s1 .at-hero-below{position:static;transform:none}
  body.at-home .at-s1 .at-hero-below{display:grid;gap:20px}
  body.at-home .at-s1 .at-cutline{display:none}
  body.at-home .at-s1 .at-cut-inline{display:block;height:2px;margin-bottom:26px;background:var(--at-lime);position:relative}
  body.at-home .at-s1 .at-scroll-prompt{display:none}
}
@media (min-width:768px){
  body.at-home .at-s1 .at-cut-inline{display:none}
  body.at-home .at-s1 .at-cutline{display:block}
}

/* S2 — The Cut: centred text + before/after composition */
body.at-home .at-on-light{background:var(--at-chalk);color:var(--at-ink)}
body.at-home .at-on-light .at-tel{border-color:rgba(11,20,16,.35);color:var(--at-ink)}
body.at-home .at-s2 .at-stage{
  display:grid;
  /* safe center: fall back to start when content is taller than the stage */
  align-content:safe center;
  justify-items:stretch;
  gap:0;
  padding-top:16px;
  padding-bottom:20px;
}
/*
 * Pin start is already top+=header, so a full 100svh stage hangs below the fold
 * and clips the range control. Size S2 to the visible remainder only.
 */
body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s2 .at-stage,
body.at-home .at-home-root.is-motion-ready[data-mode="tab"] .at-s2 .at-stage{
  height:calc(100svh - var(--at-hdr));
}
/* Override shared .at-content left-align: centre this scene's composition */
body.at-home .at-s2 .at-cut-grid{
  display:grid;
  gap:clamp(1.25rem, 3vw, 1.75rem);
  align-items:start;
  width:100%;
  max-width:min(87.5rem, 1400px);
  margin-inline:auto;
}
body.at-home .at-s2 .at-cut-copy{
  display:grid;
  gap:18px;
  max-width:42ch;
  text-align:left;
  justify-self:start;
  min-width:0;
}
body.at-home .at-s2 .at-cut-copy h2{font-size:var(--at-fs-h2);text-align:left}
body.at-home .at-s2 .at-cut-copy p{color:#38423b;text-align:left}
body.at-home .at-s2 .at-compare-wrap{
  display:grid;
  gap:10px;
  width:100%;
  min-width:0;
  justify-items:start;
  /*
   * Square media cap: pin stage is 100svh but starts below the sticky header,
   * so leave room for the range control under the image.
   */
  --at-s2-media: min(100%, calc(100svh - var(--at-hdr) - 8.5rem));
}
body.at-home .at-s2 .at-compare{
  position:relative;
  width:var(--at-s2-media);
  max-width:100%;
  aspect-ratio:1;
  max-height:var(--at-s2-media);
  height:auto;
  overflow:hidden;
  background:#ccc;
  transform:scale(var(--st,1));
}
body.at-home .at-s2 .at-compare img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
body.at-home .at-s2 .at-compare .at-after{clip-path:inset(0 0 calc(100% - var(--wipe,0%)) 0)}
body.at-home .at-s2 .at-compare .at-wline{
  position:absolute;left:0;right:0;top:var(--wipe,0%);height:2px;background:var(--at-lime);z-index:2;
}
body.at-home .at-s2 .at-compare .at-lbl{
  position:absolute;right:12px;z-index:3;background:var(--at-ink);color:var(--at-chalk);padding:5px 8px;
}
body.at-home .at-s2 .at-range{
  display:grid;
  gap:8px;
  width:var(--at-s2-media);
  max-width:100%;
}
body.at-home .at-s2 .at-range input{
  width:100%;
  min-height:44px;
  accent-color:var(--at-turf);
  touch-action:manipulation;
}

/* Tablet: intentional stack — two columns at ~768px make copy too narrow */
@media (min-width:768px) and (max-width:1023px){
  body.at-home .at-s2 .at-stage{
    align-content:safe center;
    padding-top:16px;
    padding-bottom:20px;
  }
  body.at-home .at-s2 .at-cut-grid{
    grid-template-columns:1fr;
    gap:1.5rem;
    max-width:min(40rem, 100%);
    margin-inline:auto;
    justify-items:center;
  }
  body.at-home .at-s2 .at-cut-copy{
    max-width:36ch;
    justify-self:start;
    width:100%;
  }
  body.at-home .at-s2 .at-compare-wrap{
    --at-s2-media: min(100%, calc(100svh - var(--at-hdr) - 12rem));
    width:100%;
    justify-items:center;
  }
}

/* Desktop: centred ~40% copy / ~60% media cluster */
@media (min-width:1024px){
  body.at-home .at-s2 .at-cut-grid{
    width:100%;
    max-width:min(87.5rem, 1400px);
    margin-inline:auto;
    /*
     * auto media column + justify-content:center: leftover track space splits
     * on both sides so a height-capped square does not leave chalk only on the right.
     * Media size uses vw/svh (not %) so the auto column can size intrinsically.
     */
    grid-template-columns:minmax(18rem, 26rem) auto;
    justify-content:center;
    gap:clamp(2.5rem, 4vw, 4rem); /* 40–64px */
    align-items:center;
  }
  body.at-home .at-s2 .at-compare-wrap{
    /*
     * Prefer a prominent square. Cap against viewport height (pin + range)
     * and against remaining width beside the copy column so 1024×768 cannot overflow.
     */
    --at-s2-media: min(
      52rem,
      50vw,
      calc(100svh - var(--at-hdr) - 8.5rem),
      calc(100vw - var(--at-gut) - var(--at-gut-r) - 30rem)
    );
  }
  body.at-home .at-s2 .at-cut-copy{max-width:min(42ch, 100%)}
}

/* Mobile: stacked composition, full image, no pin chrome */
@media (max-width:767px){
  body.at-home .at-s2 .at-stage{
    align-content:start;
    padding-top:calc(var(--at-hdr) + 12px); /* mob stage is in-flow, not pin-offset */
    padding-bottom:clamp(1.5rem, 4vh, 2.25rem);
  }
  body.at-home .at-s2 .at-cut-grid{
    gap:1.25rem;
    max-width:100%;
  }
  body.at-home .at-s2 .at-cut-copy{max-width:100%}
  body.at-home .at-s2 .at-compare-wrap{
    --at-s2-media: 100%;
  }
  body.at-home .at-s2 .at-compare{
    max-height:none;
  }
}

/* S3 — Ledger: typography-led alternating editorial */
body.at-home .at-s3{
  padding-top:var(--at-section-y);
  padding-bottom:var(--at-section-y);
  background:var(--at-ink);
  position:relative;
}
body.at-home .at-s3 > .at-content{
  max-width:min(82rem,100%);
  margin-inline:auto;
}
/* S3 seam: in-flow short lime rule above the ledger head (not a full-bleed absolute) */
body.at-home .at-s3-seam{
  position:relative;
  margin-bottom:clamp(1.25rem,3vh,2rem);
}
body.at-home .at-s3 .at-s3-cut,
body.at-home .at-s3 #at-s3cut{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  display:block;
  width:min(40vw,14rem);
  max-width:min(40vw,14rem);
  height:2px;
  transform-origin:left center;
  z-index:auto;
}
body.at-home .at-ledger-head{
  display:grid;
  gap:12px;
  margin-bottom:clamp(1.5rem,3vh,2.25rem);
  max-width:42ch;
}
body.at-home .at-ledger-head h2{font-size:var(--at-fs-h2)}
body.at-home .at-ledger-head p{color:var(--at-chalk-2)}
body.at-home .at-ledger{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
}
body.at-home .at-ledger > li{
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
}
body.at-home .at-ledger__hair{
  display:block;
  height:1px;
  width:100%;
  background:rgba(237,239,230,.22);
  transform:scaleX(0);
  transform-origin:left center;
}
body.at-home .at-ledger > li:last-child{padding-bottom:2px}
body.at-home .at-ledger > li:last-child::after{
  content:"";
  display:block;
  height:1px;
  width:100%;
  background:rgba(237,239,230,.22);
  margin-top:0;
}
/* Body copy always visible — active state is colour + accent, not accordion hide */
body.at-home .at-ledger__body{
  display:grid;
  gap:6px;
  padding:0 0 1.15rem calc(2.2rem + 18px);
  color:var(--at-chalk-2);
}
body.at-home .at-ledger__body strong{
  font-family:var(--at-f-text);
  font-weight:650;
  font-size:0.95em;
  color:var(--at-chalk);
}
body.at-home .at-ledger__body p{
  max-width:38ch;
  text-wrap:pretty;
}
body.at-home .at-ledger__row{
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:baseline;
  padding:1.15rem 0 0.55rem;
  background:none;
  border:0;
  color:var(--at-ledger-idle, #c5c9c0);
  text-align:left;
  cursor:pointer;
  font:inherit;
}
body.at-home .at-ledger__t{
  font-family:var(--at-f-display);
  font-size:clamp(1.45rem,1.05rem + 1.6vw,2.65rem);
  font-weight:760;
  letter-spacing:-.02em;
  line-height:1.05;
  text-wrap:balance;
  transition:color .25s var(--at-ease-out);
}
body.at-home .at-ledger__n{
  color:var(--at-lime);
  font-family:var(--at-f-mono);
  font-size:var(--at-fs-label);
  letter-spacing:.08em;
  opacity:.85;
  transition:opacity .25s var(--at-ease-out);
}
/*
 * Accent: short lime rule toggled by .is-drawn.
 * Instant on/off — CSS transitions on these nodes were freezing under ScrollTrigger
 * scroll updates (WAAPI progress stuck at 0), which left stale lines visible.
 */
body.at-home .at-ledger__accent{
  position:absolute;
  left:0;
  bottom:0;
  height:2px;
  width:4.5rem;
  background:var(--at-lime);
  opacity:0;
  transition:none;
  pointer-events:none;
}
body.at-home .at-ledger__accent.is-drawn{
  opacity:1;
}
body.at-home .at-ledger > li.is-on .at-ledger__row{color:var(--at-chalk)}
body.at-home .at-ledger > li.is-on .at-ledger__n{opacity:1}
body.at-home .at-ledger > li.is-on .at-ledger__body{color:var(--at-chalk)}
body.at-home .at-ledger > li.is-on .at-ledger__body strong{color:var(--at-chalk)}

/* Tablet: gentle alternate; stack if the measure would get too narrow */
@media (min-width:768px) and (max-width:1023px){
  body.at-home .at-ledger > li:nth-child(odd){
    align-self:flex-start;
    width:min(72%, 28rem);
  }
  body.at-home .at-ledger > li:nth-child(even){
    align-self:flex-end;
    width:min(72%, 28rem);
  }
  body.at-home .at-ledger__t{font-size:clamp(1.35rem,1rem + 1.2vw,2rem)}
}

/* Desktop: centre axis, ~50% item width, one benefit per row alternating L/R */
@media (min-width:1024px){
  body.at-home .at-ledger > li:nth-child(odd){
    align-self:flex-start;
    width:min(52%, 36rem);
  }
  body.at-home .at-ledger > li:nth-child(even){
    align-self:flex-end;
    width:min(52%, 36rem);
  }
  body.at-home .at-ledger-head{margin-bottom:clamp(1.75rem,3.5vh,2.75rem)}
}

/* Mobile: single column, no horizontal offsets */
@media (max-width:767px){
  body.at-home .at-s3{
    padding-top:clamp(2rem,5vh,3rem);
    padding-bottom:clamp(2rem,5vh,3rem);
  }
  body.at-home .at-ledger__row{color:var(--at-chalk);padding-top:1rem}
  body.at-home .at-ledger__body{padding-bottom:1rem;padding-left:calc(2rem + 14px)}
  body.at-home .at-ledger__t{font-size:clamp(1.35rem,1.1rem + 2.2vw,1.85rem)}
  body.at-home .at-ledger__accent,
  body.at-home .at-ledger__accent.is-drawn{
    width:3.25rem;
    opacity:0.85;
    transition:none;
  }
  body.at-home .at-ledger__hair{transform:none}
}

/* S4 — Grades product showcase */
body.at-home .at-s4{background:var(--at-chalk)}
/*
 * Pin stage is 100svh. align-content:center left ~200px of empty chalk above the
 * heading while scrolling from S3 into S4. Pack content to the top so the
 * composition appears as soon as the cream arrives.
 */
body.at-home .at-s4 .at-stage{
  display:grid;
  align-content:start;
  padding-top:calc(var(--at-hdr) + clamp(0.75rem, 1.5vh, 1.25rem));
  padding-bottom:clamp(1.75rem,4vh,2.75rem);
}
/* Desk/tab: ath-s4 start is already top+=header — do not double that offset */
body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s4 .at-stage,
body.at-home .at-home-root.is-motion-ready[data-mode="tab"] .at-s4 .at-stage{
  padding-top:clamp(0.85rem, 1.8vh, 1.35rem);
  /*
   * Global motion stages are 100svh. S4 content is shorter, so a full-viewport
   * stage left a large chalk void under the grades composition and inflated the
   * pin-spacer before S5. Size the stage to the content; pinSpacing still owns scrub.
   */
  height:auto;
  min-height:0;
  overflow:visible;
}
body.at-home .at-grades{
  --at-s4-max:1360px;
  width:100%;
  max-width:var(--at-s4-max);
  margin-inline:auto;
  display:grid;
  gap:20px 40px;
  align-items:start;
  grid-template-columns:1fr;
  grid-template-areas:
    "intro"
    "tabs"
    "media"
    "panels"
    "all";
}
body.at-home .at-grades-intro{grid-area:intro;display:grid;gap:12px;max-width:36rem}
body.at-home .at-grades-intro h2{font-size:var(--at-fs-h2)}
body.at-home .at-grades-ship{
  color:#3d4a40;
  margin:0;
  font-size:clamp(.92rem,.9rem + .12vw,1.02rem);
  line-height:1.45;
  max-width:42ch;
}
body.at-home .at-grades-hint{
  color:#3d4a40;
  margin:0;
  font-size:clamp(.95rem,.92rem + .15vw,1.05rem);
  line-height:1.45;
  max-width:32ch;
}
body.at-home .at-product-tabs{
  grid-area:tabs;
  display:grid;
  gap:10px;
}
body.at-home .at-product-tab{
  display:grid;
  gap:4px;
  width:100%;
  min-height:44px;
  margin:0;
  padding:14px 14px 14px 16px;
  border:1px solid rgba(11,20,16,.14);
  border-left:3px solid transparent;
  background:rgba(255,255,255,.35);
  color:#2a352c;
  text-align:left;
  cursor:pointer;
  font:inherit;
  transition:border-color .25s var(--at-ease-out), background-color .25s var(--at-ease-out), color .25s var(--at-ease-out);
}
body.at-home .at-product-tab__name{
  font-family:var(--at-f-display);
  font-size:clamp(1.25rem,1.1rem + .7vw,1.65rem);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.15;
  color:inherit;
}
body.at-home .at-product-tab__spec{
  color:#4a574c;
}
body.at-home .at-product-tab.is-on{
  border-color:rgba(11,20,16,.22);
  border-left-color:var(--at-turf);
  background:#fff;
  color:var(--at-ink);
}
body.at-home .at-product-tab.is-on .at-product-tab__spec{color:#3d4a40}
body.at-home .at-product-tab:focus-visible{
  outline:3px solid var(--at-turf);
  outline-offset:2px;
}
@media (hover:hover) and (pointer:fine){
  body.at-home .at-product-tab:hover:not(.is-on){
    border-color:rgba(11,20,16,.28);
    color:var(--at-ink);
  }
}
body.at-home .at-grades-media{
  grid-area:media;
  width:100%;
  min-width:0;
}
body.at-home .at-swatch-tilt{
  width:100%;
  transform-style:preserve-3d;
}
body.at-home .at-swatch-win{
  position:relative;
  width:100%;
  aspect-ratio:4 / 5;
  background:#111;
  overflow:hidden;
}
body.at-home .at-swatch-win{
  --s4-blend:0;
}
body.at-home .at-swatch-win .at-sw{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  /* Defeat theme/global `transition: all` — blend is driven by --s4-blend. */
  transition:none !important;
}
body.at-home .at-home-root.is-motion-ready .at-swatch-win .at-sw{
  will-change:opacity;
}
body.at-home .at-swatch-win .at-sw--classic{
  opacity:calc(1 - var(--s4-blend, 0));
}
body.at-home .at-swatch-win .at-sw--golf{
  opacity:var(--s4-blend, 0);
}
body.at-home .at-home-root.is-static .at-swatch-win .at-sw,
body.at-home .at-home-root[data-mode="static"] .at-swatch-win .at-sw{
  will-change:auto;
}
body.at-home .at-swatch-win .at-sw picture{
  display:block;
  width:100%;
  height:100%;
}
body.at-home .at-swatch-win .at-sw img{
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  object-fit:cover;
  object-position:center;
}
body.at-home .at-swatch-win .at-cap{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  background:rgba(11,20,16,.82);
  color:var(--at-chalk);
  padding:8px 10px;
  max-width:calc(100% - 24px);
}
body.at-home .at-swatch-win .at-asset-tag{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  max-width:min(100% - 20px, 18rem);
  font-size:.625rem;
  line-height:1.3;
  padding:5px 7px;
}
body.at-home .at-product-panels{grid-area:panels;display:grid;gap:0}
body.at-home .at-product-panel{
  display:grid;
  gap:8px;
  padding:4px 0 0;
}
body.at-home .at-product-panel[hidden]{display:none!important}
body.at-home .at-product-panel h3{
  font-size:clamp(1.35rem,1.15rem + .8vw,1.85rem);
  margin:0;
  font-weight:700;
  color:var(--at-ink);
}
body.at-home .at-product-panel .at-spec{color:#3d4a40;margin:0}
body.at-home .at-product-panel a{
  display:inline-block;
  margin-top:6px;
  font-weight:650;
  text-underline-offset:3px;
  min-height:44px;
  padding-top:8px;
}
body.at-home .at-hint{color:#3d4a40;font-size:.9375rem;margin:0;line-height:1.5;max-width:38ch}
body.at-home .at-grades-all{grid-area:all;justify-self:start;margin-top:4px}

/* Tablet: balanced columns when width allows */
@media (min-width:768px) and (max-width:1023px){
  body.at-home .at-grades{
    grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);
    grid-template-areas:
      "intro media"
      "tabs media"
      "panels media"
      "all media";
    column-gap:28px;
    align-items:center;
  }
  body.at-home .at-swatch-win{aspect-ratio:5 / 4}
}

/* Desktop: centred editorial 45 / 55 */
@media (min-width:1024px){
  body.at-home .at-grades{
    grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);
    grid-template-areas:
      "intro media"
      "tabs media"
      "panels media"
      "all media";
    column-gap:clamp(2rem,3.5vw,3.25rem);
    row-gap:18px;
    align-items:center;
  }
  body.at-home .at-swatch-win{aspect-ratio:5 / 4}
  body.at-home .at-swatch-tilt{perspective:1100px}
  body.at-home .at-grades{align-items:center}
}

@media (max-width:767px){
  body.at-home .at-s4 .at-track,
  body.at-home .at-s4 .at-stage{height:auto!important;overflow:visible!important}
  body.at-home .at-s4 .at-stage{align-content:start;padding-top:calc(var(--at-hdr) + 12px)}
  body.at-home .at-grades{gap:16px}
  body.at-home .at-product-tabs{grid-template-columns:1fr 1fr;gap:8px}
  body.at-home .at-product-tab{padding:12px 10px 12px 12px}
  body.at-home .at-product-tab__name{font-size:1.05rem}
}

@media (prefers-reduced-motion:reduce){
  body.at-home .at-product-tab{transition:none}
  body.at-home .at-swatch-win .at-sw{transition:none;will-change:auto}
}

/* S5 — Descent: two-column on desk; stack below 1024 */
body.at-home .at-s5 .at-stage{
  background:var(--at-loam);
  display:grid;
  align-content:start;
  justify-items:stretch;
}
/*
 * Pin start is already top+=header (same as S2). A full 100svh stage hangs
 * below the fold and clips the skip link + CTAs. Size to the visible remainder.
 */
body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-stage{
  height:calc(100svh - var(--at-hdr));
  overflow:hidden;
}
body.at-home .at-descent{
  --at-s5-max:min(92.5rem, 1480px);
  /* Symmetric gutters for this scene (global --at-gut-r is wider for the gauge) */
  --at-s5-gut:clamp(1.25rem, 3.2vw, 3rem);
  width:100%;
  max-width:var(--at-s5-max);
  margin-inline:auto;
  display:grid;
  gap:clamp(1.25rem, 2.8vw, 2.5rem);
  align-items:center;
  padding-top:calc(var(--at-hdr) + 16px);
  padding-bottom:calc(28px + env(safe-area-inset-bottom, 0px));
  padding-left:max(var(--at-s5-gut), env(safe-area-inset-left, 0px)) !important;
  padding-right:max(var(--at-s5-gut), env(safe-area-inset-right, 0px)) !important;
  min-width:0;
  box-sizing:border-box;
}
/* Desk/tab pin: header offset is on the stage — drop duplicate top padding */
body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-descent,
body.at-home .at-home-root.is-motion-ready[data-mode="tab"] .at-s5 .at-descent{
  padding-top:clamp(10px, 1.6vh, 18px);
  padding-bottom:clamp(16px, 2.2vh, 28px);
}
@media (min-width:1024px){
  body.at-home .at-descent{
    /* ~58% image / ~42% copy after gap */
    grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);
    gap:clamp(1.75rem, 3vw, 3rem);
  }
}
body.at-home .at-draw-wrap{
  position:relative;
  min-width:0;
  width:100%;
}
body.at-home .at-xsect{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(237,239,230,.12);
  background:#0a0a0a;
  aspect-ratio:16/9;
  width:100%;
  height:auto;
  margin-inline:0;
}
/* Short desk viewports: shrink plate + tighten copy so skip/CTAs stay in the pin stage */
@media (min-width:1024px) and (max-height:860px){
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-descent{
    gap:clamp(1rem, 2vw, 1.5rem);
    padding-top:8px;
    padding-bottom:10px;
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-xsect{
    width:min(100%, calc((100svh - var(--at-hdr) - 7.5rem) * 16 / 9));
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-d-head{
    gap:8px;
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-d-head h2{
    font-size:clamp(1.55rem, 1.1rem + 2.2vh, 2.65rem);
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-stages li{
    padding:6px 0;
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-stages h3{
    font-size:clamp(1rem, .9rem + .4vw, 1.15rem);
    margin-bottom:2px;
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-note{
    font-size:.86rem;
    line-height:1.35;
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-process-thumb{
    width:min(34%, 180px);
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="desk"] .at-s5 .at-skip-wrap--s5 .at-skip-pin{
    min-height:40px;
    padding:6px 0;
  }
}
body.at-home .at-xsect-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(calc(1 + var(--sep) * .04)) translateY(calc(var(--sep) * -2%));
}
body.at-home .at-home-root.is-motion-ready .at-xsect-photo{will-change:transform}
body.at-home .at-home-root.is-motion-ready .at-surface{will-change:clip-path}
body.at-home .at-xsect-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
body.at-home .at-xsect-labels line{stroke:var(--at-lime);stroke-width:1.5}
body.at-home .at-xsect-labels text{fill:var(--at-chalk);font-family:var(--at-f-mono);font-size:18px;letter-spacing:.06em;text-transform:uppercase}
body.at-home .at-xsect-labels text.sub{font-size:13px;fill:var(--at-gravel);letter-spacing:.04em}
body.at-home .at-cut-v{position:absolute;left:62%;top:0;bottom:0;width:2px;background:var(--at-lime);transform:scaleY(calc(.35 + var(--sep) * .65));transform-origin:top;opacity:.9}
body.at-home .at-process-thumb{
  position:absolute;
  right:clamp(8px, 1.2vw, 14px);
  bottom:clamp(8px, 1.2vw, 14px);
  width:min(38%, 240px);
  margin:0;
  border:1px solid rgba(237,239,230,.2);
  background:var(--at-ink);
}
body.at-home .at-process-thumb img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
body.at-home .at-process-thumb figcaption{padding:6px 8px;color:var(--at-gravel)}
body.at-home .at-d-head{
  display:grid;
  gap:clamp(10px, 1.4vh, 14px);
  min-width:0;
  align-content:center;
}
body.at-home .at-d-head h2{font-size:var(--at-fs-h2)}
body.at-home .at-note{color:var(--at-gravel);font-size:clamp(.9rem, .86rem + .2vw, .98rem);line-height:1.45}
body.at-home .at-stages{list-style:none;margin:0;padding:0;display:grid;gap:0}
body.at-home .at-stages li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  padding:clamp(8px, 1.2vh, 12px) 0;
  border-top:1px solid rgba(237,239,230,.12);
  /* Inactive must stay readable on loam (was 0.4 — failed contrast) */
  opacity:.82;
  color:var(--at-chalk-2);
  transition:opacity .25s var(--at-ease-out), color .25s var(--at-ease-out);
}
body.at-home .at-stages li.is-on,
body.at-home .at-stages li.on{
  opacity:1;
  color:var(--at-chalk);
}
body.at-home .at-stages li.is-on h3,
body.at-home .at-stages li.on h3{color:var(--at-chalk)}
body.at-home .at-stages .at-n,
body.at-home .at-stages .n{color:var(--at-lime);font-family:var(--at-f-mono)}
body.at-home .at-stages h3{
  font-size:clamp(1.05rem, .95rem + .55vw, 1.3rem);
  margin-bottom:4px;
  line-height:1.15;
}
body.at-home .at-stages li p{
  margin:0;
  font-size:clamp(.88rem, .84rem + .15vw, .95rem);
  line-height:1.4;
  color:inherit;
}
body.at-home .at-skip-wrap--s5{margin:2px 0 0}
body.at-home .at-d-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 16px;
  align-items:center;
  margin-top:2px;
}
/* Tablet: stack — pin removed in JS so skip/CTAs are not clipped */
@media (max-width:1023px){
  body.at-home .at-s5 .at-stage{align-content:start}
  body.at-home .at-descent{
    gap:clamp(1.1rem, 2.5vw, 1.75rem);
  }
  body.at-home .at-home-root.is-motion-ready[data-mode="tab"] .at-s5 .at-stage{
    height:auto;
    overflow:visible;
  }
}
/* Mobile gutters 16–24px already via --at-gut; keep plate fully visible */
@media (max-width:767px){
  body.at-home .at-descent{
    padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  }
  body.at-home .at-process-thumb{width:min(46%, 180px)}
  body.at-home .at-xsect-labels text{font-size:16px}
}

/* S6 — Grounds editorial gallery (no ScrollTrigger pin) */
body.at-home .at-s6{
  background:var(--at-ink);
  padding-top:calc(var(--at-hdr) + clamp(1.25rem, 3vw, 2.5rem));
  padding-bottom:clamp(2rem, 5vw, 3.5rem);
}
body.at-home .at-s6-shell{
  --at-s6-max:min(92.5rem, 1480px);
  /* Featured frame target ≈60% of prior full-bleed desk width (~1289–1344px). */
  --at-s6-gallery-max:min(53.75rem, 860px);
  width:100%;
  max-width:var(--at-s6-max);
  margin-inline:auto;
  display:grid;
  gap:clamp(1.25rem, 2.5vw, 2rem);
  justify-items:center;
}
body.at-home .at-g-head{
  display:grid;
  gap:10px;
  max-width:42ch;
  justify-self:center;
  width:100%;
}
@media (min-width:768px){
  body.at-home .at-g-head{
    max-width:var(--at-s6-gallery-max);
  }
}
body.at-home .at-g-head h2{font-size:var(--at-fs-h2)}
body.at-home .at-g-head p:not(.at-mono){
  color:rgba(237,239,230,.78);
  max-width:36ch;
}

body.at-home .at-gallery{
  display:grid;
  gap:clamp(1rem, 2vw, 1.35rem);
  min-width:0;
  width:100%;
}
@media (min-width:768px){
  body.at-home .at-gallery{
    max-width:var(--at-s6-gallery-max);
  }
}
body.at-home .at-gallery__stage{
  display:grid;
  gap:14px;
  outline:none;
  min-width:0;
}
body.at-home .at-gallery__frame{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#0a100d;
  isolation:isolate;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
body.at-home .at-gallery__layer{
  margin:0;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
body.at-home .at-gallery__layer.is-buffer{
  visibility:hidden;
  pointer-events:none;
}
body.at-home .at-gallery__layer.is-animating{
  visibility:visible;
  pointer-events:none;
  z-index:2;
}
body.at-home .at-gallery__layer.is-current{
  visibility:visible;
  z-index:1;
}
body.at-home .at-gallery__layer img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  will-change:auto;
}
body.at-home .at-gallery.is-transitioning .at-gallery__layer img{
  will-change:transform;
}

body.at-home .at-gallery__chrome{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 18px;
  min-width:0;
}
body.at-home .at-gallery__tag{
  margin:0;
  color:var(--at-lime);
  flex:1 1 auto;
  min-width:0;
}
body.at-home .at-gallery__count{
  margin:0;
  font-family:var(--at-f-mono);
  font-size:var(--at-fs-label);
  letter-spacing:.08em;
  color:rgba(237,239,230,.72);
  white-space:nowrap;
}
body.at-home .at-gallery__current{color:var(--at-chalk)}
body.at-home .at-nav-btns{display:flex;gap:8px;margin-left:auto}
body.at-home .at-nav-btns button{
  min-width:44px;
  min-height:44px;
  border:1px solid rgba(237,239,230,.3);
  background:transparent;
  color:var(--at-chalk);
  font-size:1.1rem;
  cursor:pointer;
  line-height:1;
}
@media (hover:hover) and (pointer:fine){
  body.at-home .at-nav-btns button:hover{
    border-color:var(--at-lime);
    color:var(--at-lime);
  }
}
body.at-home .at-nav-btns button:active{transform:scale(0.98)}

body.at-home .at-gallery__thumbs{
  list-style:none;
  margin:0;
  padding:2px 0 6px;
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
  min-width:0;
}
body.at-home .at-gallery__thumbs li{
  flex:0 0 auto;
  scroll-snap-align:start;
}
body.at-home .at-gallery__thumb{
  display:block;
  padding:0;
  margin:0;
  border:2px solid transparent;
  background:#111;
  cursor:pointer;
  width:clamp(4.5rem, 14vw, 7.25rem);
  aspect-ratio:16 / 9;
  overflow:hidden;
  opacity:.55;
  transition:opacity .2s var(--at-ease-out), border-color .2s var(--at-ease-out);
}
body.at-home .at-gallery__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}
body.at-home .at-gallery__thumb.is-selected{
  opacity:1;
  border-color:var(--at-lime);
}
@media (hover:hover) and (pointer:fine){
  body.at-home .at-gallery__thumb:hover{opacity:.9}
}
@media (min-width:1024px){
  body.at-home .at-gallery__thumb{width:clamp(6.5rem, 9vw, 8.5rem)}
}

body.at-home .at-g-foot{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:flex-start;
  align-items:center;
}
body.at-home .at-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
body.at-home .at-asset-note{color:var(--at-gravel);margin:0}

@media (max-width:767px){
  /* Mobile keeps full content width — the ~40% reduction is desktop-only. */
  body.at-home .at-gallery__frame{aspect-ratio:4 / 3}
  body.at-home .at-gallery__chrome{gap:10px 12px}
  body.at-home .at-nav-btns{margin-left:0;width:100%;justify-content:flex-start}
  body.at-home .at-gallery__thumbs{gap:8px}
  body.at-home .at-gallery__thumb{width:4.75rem}
  body.at-home .at-s6-shell{justify-items:stretch}
  body.at-home .at-g-head{justify-self:stretch;max-width:42ch}
}
@media (min-width:768px) and (max-width:1023px){
  body.at-home .at-s6-shell{
    --at-s6-gallery-max:min(40rem, 100%);
  }
  body.at-home .at-gallery__frame{aspect-ratio:3 / 2}
  body.at-home .at-gallery__thumb{width:clamp(5.25rem, 12vw, 6.75rem)}
}

/* S7 — centred editorial FAQ (≈40/60 columns on desktop) */
body.at-home .at-s7{
  padding-top:var(--at-section-y);
  padding-bottom:var(--at-section-y);
  background:var(--at-chalk);
}
body.at-home .at-s7-shell{
  --at-s7-max:min(87.5rem, 1400px);
  width:100%;
  max-width:var(--at-s7-max);
  margin-inline:auto;
}
body.at-home .at-faq{
  display:grid;
  gap:clamp(1.75rem, 3vw, 2.5rem);
  width:100%;
  min-width:0;
}
@media (min-width:768px) and (max-width:1023px){
  body.at-home .at-faq{
    grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);
    gap:clamp(1.75rem, 3vw, 2.5rem);
    align-items:start;
  }
}
@media (min-width:1024px){
  body.at-home .at-faq{
    grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);
    gap:clamp(2.5rem, 4vw, 4rem);
    align-items:start;
  }
}
body.at-home .at-faq-aside{
  display:grid;
  gap:14px;
  align-content:start;
  min-width:0;
}
body.at-home .at-faq-aside h2{font-size:var(--at-fs-h2);max-width:12ch}
body.at-home .at-faq-lede{color:#38423b;max-width:28ch}
body.at-home .at-faq-provisional{color:#6a7468;margin:0;max-width:34ch}
body.at-home .at-box{
  margin-top:8px;
  padding:clamp(1rem, 2vw, 1.25rem);
  border:1px solid rgba(11,20,16,.15);
  display:grid;
  gap:12px;
  justify-items:start;
  max-width:22rem;
}
body.at-home .at-box > p{margin:0;color:var(--at-ink);font-weight:600}
body.at-home .at-s7 .at-mail{
  color:var(--at-ink);
  border-bottom-color:rgba(11,20,16,.35);
  min-height:44px;
}
body.at-home .at-s7 .at-mail:hover,
body.at-home .at-s7 .at-mail:focus-visible{
  color:var(--at-turf);
  border-bottom-color:var(--at-turf);
}
body.at-home .at-faq-list{min-width:0}
body.at-home .at-faq-list details{border-top:1px solid rgba(11,20,16,.12);padding:14px 0}
body.at-home .at-faq-list details:last-child{border-bottom:1px solid rgba(11,20,16,.12)}
body.at-home .at-faq-list summary{
  cursor:pointer;font-weight:650;padding:4px 0;list-style:none;
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  min-height:44px;
  color:var(--at-ink);
}
body.at-home .at-faq-list summary::-webkit-details-marker{display:none}
body.at-home .at-faq-chev{
  flex:0 0 auto;width:12px;height:12px;margin-top:6px;
  border-right:2px solid var(--at-ink);border-bottom:2px solid var(--at-ink);
  transform:rotate(45deg);transition:transform .2s var(--at-ease-out);
}
body.at-home .at-faq-list details[open] .at-faq-chev{transform:rotate(225deg);margin-top:10px}
body.at-home .at-faq-a{color:#38423b}
body.at-home .at-faq-a p{margin:10px 0 0}
/* Mobile: heading → accordion → contact box */
@media (max-width:767px){
  body.at-home .at-faq{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
  }
  body.at-home .at-faq-aside{
    display:contents;
  }
  body.at-home .at-faq-aside .at-mono{order:1}
  body.at-home .at-faq-aside h2{order:2}
  body.at-home .at-faq-lede{order:3}
  body.at-home .at-faq-provisional{order:4}
  body.at-home .at-faq-list{order:5}
  body.at-home .at-box{
    order:6;
    max-width:none;
    width:100%;
    margin-top:0;
  }
}
@supports (interpolate-size:allow-keywords){
  body.at-home .at-faq-list details::details-content{
    transition:content-visibility .35s allow-discrete, height .35s var(--at-ease-out);
    overflow:hidden;
  }
}
@media (prefers-reduced-motion:no-preference){
  @supports (interpolate-size:allow-keywords){
    body.at-home{interpolate-size:allow-keywords}
    body.at-home .at-faq-list details:not([open])::details-content{height:0}
    body.at-home .at-faq-list details[open]::details-content{height:auto}
  }
}

/* S8 */
body.at-home .at-s8{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden}
body.at-home .at-s8 .at-bg{position:absolute;inset:0}
body.at-home .at-s8 .at-bg img{width:100%;height:110%;object-fit:cover;object-position:center 40%;will-change:transform}
body.at-home .at-s8 .at-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,16,.35),rgba(11,20,16,.82) 70%,rgba(11,20,16,.95))}
body.at-home .at-s8-cut{position:absolute;left:var(--at-gut);top:calc(var(--at-hdr) + 28px);z-index:2;max-width:min(36vw,10rem)}
body.at-home .at-s8 .at-inner{
  position:relative;z-index:1;display:grid;gap:24px;
  padding-top:calc(var(--at-hdr) + 40px);padding-bottom:64px;
  /* keep .at-wrap horizontal gutters — do not zero padding-left/right */
}
body.at-home .at-s8 h2,
body.at-home .at-s8-h{font-size:var(--at-fs-h2);max-width:16ch;display:grid;gap:.15em}
body.at-home .at-s8-sub{
  margin:0;
  max-width:36ch;
  color:rgba(247,243,234,.88);
  font-size:clamp(.95rem,.92rem + .15vw,1.08rem);
  line-height:1.45;
}
body.at-home .at-s8 .at-h1-line{display:block;overflow:hidden}
body.at-home .at-s8 .at-h1-line > span{display:block}
@media (prefers-reduced-motion: no-preference) {
  /* Only hide+reveal when JS armed the scene. Default remains visible. */
  body.at-home .at-home-root.is-motion-ready .at-s8.js-s8-arm:not(.is-in) .at-s8-cut {
    transform: scaleX(0);
    transform-origin: left center;
  }
  body.at-home .at-home-root.is-motion-ready .at-s8.js-s8-arm .at-s8-cut {
    transform-origin: left center;
    transition: transform .6s var(--at-ease-io);
  }
  body.at-home .at-home-root.is-motion-ready .at-s8.js-s8-arm.is-in .at-s8-cut {
    transform: scaleX(1);
  }
  body.at-home .at-home-root.is-motion-ready .at-s8.js-s8-arm:not(.is-in) .at-h1-line > span {
    transform: translateY(105%);
  }
  body.at-home .at-home-root.is-motion-ready .at-s8.js-s8-arm .at-h1-line > span {
    transition: transform .7s var(--at-ease-out);
  }
  body.at-home .at-home-root.is-motion-ready .at-s8.js-s8-arm .at-h1-line:nth-child(2) > span {
    transition-delay: .08s;
  }
  body.at-home .at-home-root.is-motion-ready .at-s8.js-s8-arm.is-in .at-h1-line > span {
    transform: translateY(0);
  }
}
body.at-home .at-s8 .at-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
body.at-home .at-contact{display:grid;gap:18px}
@media (min-width:768px){body.at-home .at-contact{grid-template-columns:repeat(3,1fr)}}
body.at-home .at-contact .at-mono{display:block;color:var(--at-lime);margin-bottom:8px}
body.at-home .at-contact .at-tel{display:block;text-decoration:none}
body.at-home .at-contact .at-tel:hover{color:var(--at-lime)}
body.at-home .at-alt-real{opacity:.65}







body.at-home .at-mob-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:10px;padding:10px var(--at-gut) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(11,20,16,.96);border-top:1px solid rgba(237,239,230,.12)}
body.at-home .at-mob-bar a{flex:1;text-align:center;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(237,239,230,.25);border-radius:999px;font-weight:600}
body.at-home .at-mob-bar .at-pill{border:0}
@media (min-width:768px){body.at-home .at-mob-bar{display:none !important}}

@media (prefers-reduced-motion:reduce){
  body.at-home .at-home-root *,
  body.at-home .at-home-root *::before,
  body.at-home .at-home-root *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  body.at-home .at-curtain{display:none!important;visibility:hidden!important}
  body.at-home .at-h1-line>span{transform:none!important}
  body.at-home .at-hero-below{opacity:1!important;transform:none!important}
  body.at-home .at-surface{clip-path:none!important}
  body.at-home .at-xsect{--sep:1}
  body.at-home .at-compare{--wipe:50%}
}

/* S3 static / reduced-motion: short accent visible, no scale animation */
body.at-home .at-home-root.is-static .at-ledger__row,
body.at-home .at-home-root[data-mode="static"] .at-ledger__row { color:var(--at-chalk); }
body.at-home .at-home-root.is-static .at-ledger__accent,
body.at-home .at-home-root[data-mode="static"] .at-ledger__accent,
body.at-home .at-home-root.is-static .at-ledger__accent.is-drawn,
body.at-home .at-home-root[data-mode="static"] .at-ledger__accent.is-drawn{
  width:3.25rem;
  opacity:0.9;
  transition:none;
}
body.at-home .at-home-root.is-static .at-ledger__hair,
body.at-home .at-home-root[data-mode="static"] .at-ledger__hair,
body.at-home .at-home-root.is-static .at-cutline,
body.at-home .at-home-root[data-mode="static"] .at-cutline { transform:none; }
@media (prefers-reduced-motion:reduce){
  body.at-home .at-ledger__accent,
  body.at-home .at-ledger__accent.is-drawn{
    transition:none !important;
    width:3.25rem;
    opacity:0.85;
  }
  body.at-home .at-ledger__hair{transform:none !important}
}
body.at-home .at-home-root.is-static .at-s8 .at-h1-line > span,
body.at-home .at-home-root[data-mode="static"] .at-s8 .at-h1-line > span { transform:none; }
body.at-home .at-compare .at-lbl { position:absolute; right:12px; z-index:3; background:var(--at-ink); color:var(--at-chalk); padding:5px 8px; }
body.at-home .at-xsect-labels line { stroke:var(--at-lime); stroke-width:1.5; }
body.at-home .at-xsect-labels text { fill:var(--at-chalk); font-family:var(--at-f-mono); font-size:18px; letter-spacing:.06em; text-transform:uppercase; }
body.at-home .at-n { color:var(--at-lime); font-family:var(--at-f-mono); }