/* Four chapters share one real-time sculpture. Static mode keeps every word. */
.hero { overflow:clip; padding-bottom:0; }
.hero > .field { bottom:auto; height:100svh; max-height:1100px; }
.hero > .hero__glow { max-height:900px; }
.hero__inner { align-items:start; }
.hero-narrative { min-width:0; }
.hero__copy { min-height:calc(100svh - 110px); padding-bottom:60px; }
.hero-chapter { min-height:92svh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:90px 0; scroll-margin-top:110px; }
.hero-chapter__kicker { display:flex; align-items:center; gap:20px; width:100%; max-width:360px; margin-bottom:35px; color:var(--dim); font-size:10px; letter-spacing:.16em; }
.hero-chapter__number { font-family:'Space Grotesk',sans-serif; color:var(--pink); font-size:44px; font-weight:500; letter-spacing:-.06em; line-height:1; }
.hero-chapter__rule { flex:1; height:1px; background:var(--line-2); }
.hero-chapter h2 { margin:0 0 24px; font-size:clamp(2.35rem,4.1vw,4rem); letter-spacing:-.045em; line-height:1.08; text-wrap:balance; }
.hero-chapter > p { max-width:430px; color:var(--text); font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.8; margin:24px 0; }
.hero-chapter__tag { color:var(--dim); font-size:.76rem; border-left:2px solid var(--lime); padding-left:12px; margin-top:6px; }
.hero-chapter .btn { margin-top:12px; gap:20px; }
.hero-stage { position:sticky; top:clamp(84px,12svh,115px); margin:0 -22px 0 -12px; min-width:0; isolation:isolate; }
.hero-stage__viewport { position:relative; width:100%; height:clamp(270px,calc(100svh - 285px),570px); touch-action:pan-y; cursor:grab; }
.hero-stage__viewport:active { cursor:grabbing; }
.hero-stage__viewport:focus-visible { outline:1px solid var(--lime); outline-offset:-12px; border-radius:24px; }
.hero-stage__viewport::before { content:""; position:absolute; inset:12%; z-index:-1; background:radial-gradient(ellipse,rgba(255,10,120,.10),transparent 67%); }
.hero-stage canvas { display:block; width:100%; height:100%; position:absolute; inset:0; outline:none; }
.hero-stage__fallback { width:100%; height:100%; object-fit:contain; position:absolute; inset:0; }
.hero-stage.is-ready .hero-stage__fallback { visibility:hidden; }
.hero-stage__status { position:absolute; left:0; right:0; bottom:15%; text-align:center; color:var(--text); font-size:.8rem; }
.hero-stage.is-ready .hero-stage__status { display:none; }
.hero-stage__label { display:flex; align-items:center; gap:12px; color:var(--dim); font-size:.67rem; letter-spacing:.1em; padding:0 7%; }
.hero-stage__label [data-chapter-index] { color:var(--lime); font-variant-numeric:tabular-nums; }
.hero-stage__label [data-chapter-title] { color:var(--white); }
.hero-stage__edition { margin-left:auto; font-size:8px; letter-spacing:.13em; opacity:.7; }
.hero-stage__readout { text-align:center; color:var(--dim); font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; margin:0 0 17px; }
.hero-stage__controls { display:flex; gap:9px; justify-content:center; flex-wrap:wrap; padding:0 12px; }
.hero-stage__controls button { min-height:42px; font:inherit; font-size:.75rem; color:var(--white); border:1px solid var(--line-2); background:rgba(11,19,34,.8); border-radius:30px; padding:9px 16px; cursor:pointer; }
.hero-stage__controls button:hover,.hero-stage__controls button[aria-pressed="true"] { border-color:var(--pink); background:#ff0a7814; }
.hero-stage__controls button:disabled { opacity:.4; cursor:default; }
.hero-stage button:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
.hero-stage__hint { color:var(--dim); text-align:center; font-size:.67rem; margin:13px 0 2px; }
.hero-stage__chapters { display:flex; gap:5px; justify-content:center; }
.hero-stage__chapters button { display:flex; justify-content:center; align-items:center; border:0; padding:0 8px; width:45px; height:36px; background:transparent; cursor:pointer; }
.hero-stage__chapters button span { display:block; width:22px; height:2px; background:var(--line-2); transition:background .2s, transform .2s; }
.hero-stage__chapters button:hover span { background:var(--white); }
.hero-stage__chapters button[aria-current="step"] span,.hero-stage__chapters button.is-active span { background:var(--pink); transform:scaleX(1.2); }
.hero-stage__progress { height:1px; background:var(--line); margin:0 22%; overflow:hidden; }
.hero-stage__progress span { height:100%; display:block; background:var(--pink); transform-origin:left; transform:scaleX(0); }
.hero.is-static .hero__inner { display:flex; flex-direction:column; }
.hero.is-static .hero-narrative { display:contents; }
.hero.is-static .hero__copy { order:0; min-height:0; padding-bottom:0; }
.hero.is-static .hero-stage { order:1; position:relative; top:auto; width:min(570px,100%); margin:10px auto 35px; }
.hero.is-static .hero-chapter { order:2; min-height:0; padding:45px 0; width:100%; }
.hero.is-static .hero-chapter--last { padding-bottom:85px; }
.hero.is-static .hero-stage__viewport { height:auto; aspect-ratio:1.15; min-height:0; cursor:default; }
.hero.is-static .hero-stage__fallback { visibility:visible; }
.hero.is-static .hero-stage__controls,.hero.is-static .hero-stage__hint,.hero.is-static .hero-stage__chapters,.hero.is-static .hero-stage__progress,.hero.is-static .hero-stage__status { display:none; }
.hero.is-static .hero-stage__label [data-chapter-index],.hero.is-static .hero-stage__label [data-chapter-title] { display:none; }
.hero.is-static .hero-stage__edition { margin:auto; }
@media(max-width:1080px) {
  .hero__inner { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; }
  .hero h1 { font-size:clamp(2.5rem,5vw,3.7rem); }
  .hero-stage { margin:0; }
  .hero-stage__edition { display:none; }
}
@media(max-width:767px) {
  .hero__inner { display:flex; flex-direction:column; }
  .hero-narrative { display:contents; }
  .hero__copy { order:0; min-height:0; padding-bottom:0; }
  .hero-stage { order:1; position:relative; top:auto; width:min(500px,100%); margin:0 auto 20px; }
  .hero-stage__viewport { height:auto; aspect-ratio:1.15; }
  .hero-chapter { order:2; min-height:0; padding:45px 0; }
  .hero-chapter--last { padding-bottom:85px; }
  .hero-chapter__kicker { margin-bottom:24px; }
  .hero-chapter h2 { font-size:clamp(2.2rem,8vw,3.2rem); }
  .hero-chapter > p { margin:20px 0; }
}
@media(prefers-reduced-motion:reduce) { .hero-stage * { transition:none!important; } }
@media(min-width:1081px) and (max-height:820px) {
  .hero-stage__viewport { height:clamp(230px,calc(100svh - 320px),570px); }
}


/* Editorial proportions and machined detail, in the Farmen palette. */
.nav__inner { position:relative; }
.nav__inner::after { content:""; position:absolute; bottom:-17px; left:var(--gut); right:var(--gut); height:1px; background:linear-gradient(90deg,#b6bdc538,#b6bdc51a); pointer-events:none; }
.hero h1 { font-weight:700; letter-spacing:-.052em; line-height:1.02; text-wrap:pretty; }
.hero__copy > .eyebrow { font-size:.68rem; letter-spacing:.23em; margin-bottom:25px; }
.hero__copy > .lede { max-width:490px; font-size:1.04rem; line-height:1.75; }
.hero__copy > .stats { border-top-color:#b6bdc52b; }
.hero > .field { opacity:.35; }
.hero > .hero__glow { opacity:.65; }
.hero-chapter { border-top:1px solid #b6bdc525; }
.hero-chapter h2 { font-weight:700; letter-spacing:-.052em; }
.hero-chapter__number { color:var(--white); font-size:48px; }
.hero-chapter__rule { background:linear-gradient(90deg,var(--pink),var(--line-2)); }
.hero-stage__label { border-top:1px solid #b6bdc530; padding:14px 4% 0; text-transform:uppercase; font-size:.59rem; letter-spacing:.15em; }
.hero-stage__viewport::after { content:""; position:absolute; left:15%; right:15%; bottom:6%; height:12%; border-radius:50%; z-index:-1; background:radial-gradient(ellipse,#000c 0%,#0007 34%,#c8ff2e09 52%,transparent 72%); filter:blur(12px); transform:scaleX(1.2); pointer-events:none; }
.hero-stage.is-ready .hero-stage__viewport::after { display:none; }
.hero-stage__viewport { background:radial-gradient(ellipse at 50% 68%,#101b2e52 0%,#060c1826 42%,transparent 72%); }
.hero-stage.is-ready canvas { mask-image:linear-gradient(to bottom,#000 85%,transparent 100%); }
.hero-stage__readout { font-size:.61rem; letter-spacing:.2em; }
.hero-stage__controls button { background:transparent; font-size:.7rem; border-color:#b6bdc538; }
.hero-stage__controls [data-expand] { border-color:#ff0a7870; }
.hero-stage__hint { letter-spacing:.025em; }
.hero-stage__progress { background:#b6bdc530; }
@media(min-width:1081px) {
  .hero__inner { grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:clamp(2rem,4vw,3.5rem); }
  .hero h1 { font-size:clamp(3.25rem,4.6vw,4.6rem); }
}
@media(max-width:767px) {
  .hero h1 { font-size:clamp(2.5rem,8.4vw,3.7rem); }
  .hero-stage__label { padding-top:12px; }
  .hero-chapter__number { font-size:38px; }
}
