/* site.css — layout and components ONLY. Every colour, font and visual token comes from theme.css. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:var(--w-body) var(--t-body)/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
img,video,canvas{display:block;max-width:100%}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--btn-bg);color:var(--btn-fg);padding:10px 16px;border-radius:8px}.skip:focus{left:12px}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:20;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gut);background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand img{height:45px;width:auto}.brand .logo-light{display:var(--logo-light)}.brand .logo-dark{display:var(--logo-dark)}
.nav-links{display:flex;gap:var(--s1);font:700 14px/1 var(--display);text-transform:uppercase;letter-spacing:.08em}
.nav-links a{text-decoration:none;padding:10px 14px;border-radius:999px;color:var(--muted)}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--fg)}
.nav-links .pill{border:1px solid var(--line);color:var(--fg)}
.menu-btn{display:none}
@media (max-width:720px){
  .brand img{height:40px}
  .menu-btn{display:inline-flex;appearance:none;background:none;border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:9px 16px;font:500 15px var(--display);cursor:pointer}
  .nav-links{display:none;position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;padding:var(--s1) var(--gut) var(--s3);background:var(--bg);border-bottom:1px solid var(--line)}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:16px 0;border-radius:0;border-bottom:1px solid var(--line);font-size:18px}
  .nav-links .pill{border:0;border-bottom:1px solid var(--line)}
}

/* type */
.display{margin:0;font:var(--w-display) var(--t-display)/.98 var(--display);font-stretch:var(--stretch);letter-spacing:var(--track-display);text-wrap:balance}
.h2{margin:0;font:var(--w-h2) var(--t-h2)/1.04 var(--display);font-stretch:var(--stretch);letter-spacing:-.025em;text-wrap:balance;max-width:16em}
.lead{margin:var(--s3) 0 0;color:var(--muted);max-width:34em;font-size:calc(var(--t-body)*1.15)}
.eyebrow{margin:0 0 var(--s3);font:700 var(--t-small)/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--accent)}
.prose{max-width:36em;color:var(--muted)}.prose p{margin:0 0 1em}
.small{font-size:var(--t-small);color:var(--muted)}

/* sections */
.sec{padding-block:var(--s5)}
.sec+.sec{border-top:1px solid var(--line)}
.page-head{padding-top:calc(var(--nav-h) + var(--s5));padding-bottom:var(--s4)}
.statement{min-height:min(80svh,760px);display:flex;align-items:center}
.statement .h2{font-size:clamp(34px,5.4vw,84px);max-width:13em}

/* three principles */
.principles{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s3);grid-template-columns:repeat(3,1fr)}
.principles li{border-top:1px solid var(--fg);padding-top:var(--s2)}
.principles .n{display:block;font:var(--w-display) var(--t-numeral)/.8 var(--display);color:var(--accent);letter-spacing:var(--track-display);font-stretch:var(--stretch)}
.principles h3{margin:var(--s3) 0 var(--s1);font:var(--w-h2) clamp(24px,2.2vw,32px)/1.1 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.principles p{margin:0;color:var(--muted)}
@media (max-width:820px){.principles{grid-template-columns:1fr}}

/* single AlphaX card */
.ax-card{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;margin-top:var(--s4)}
.ax-card .media{background:var(--media-bg);aspect-ratio:4/3}
.ax-card .media img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter)}
.ax-card .body{padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:var(--s2)}
.ax-card .lockup{height:56px;width:auto}
.ax-card h3{margin:0;font:var(--w-h2) clamp(26px,2.6vw,40px)/1.08 var(--display);letter-spacing:-.02em}
.ax-card p{margin:0;color:var(--muted)}
.ax-card .go{font:500 16px var(--display);color:var(--accent)}
.ax-card:hover{border-color:var(--muted)}
@media (max-width:820px){.ax-card{grid-template-columns:1fr}}

/* buttons */
.actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}
.btn{display:inline-flex;align-items:center;font:700 15px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;padding:16px 24px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--fg)}
.btn:hover{border-color:var(--fg)}
.btn--solid{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.btn--solid:hover{background:transparent;color:var(--fg)}
.close .display{font-size:clamp(48px,9vw,144px)}

/* cards grid (AlphaX/contact) */
.grid{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.card{border:1px solid var(--line);border-radius:var(--r);padding:var(--s3)}
.card h3{margin:0 0 var(--s1);font:var(--w-h2) 22px/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em}
.card p{margin:0;color:var(--muted)}
.mail{font:500 clamp(20px,2.2vw,28px)/1.2 var(--display);text-decoration:none;overflow-wrap:anywhere;color:var(--fg)}
.mail:hover{color:var(--accent)}
.steps{list-style:none;margin:var(--s4) 0 0;padding:0;max-width:44em}
.steps li{display:grid;grid-template-columns:64px 1fr;gap:var(--s2);padding:var(--s3) 0;border-top:1px solid var(--line)}
.steps .n{font:var(--w-display) 44px/1 var(--display);color:var(--accent);letter-spacing:-.03em}
.steps b{display:block;font:var(--w-h2) 22px/1.2 var(--display);text-transform:uppercase;margin-bottom:var(--s1)}
.steps p{margin:0;color:var(--muted)}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:var(--s4)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);justify-content:space-between;font:400 var(--t-small)/1.4 var(--display);color:var(--muted)}
.foot nav{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3)}.foot a{text-decoration:none}.foot a:hover{color:var(--fg)}

/* scroll reveal: content is visible without JS; .js gates the hidden start state */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*90ms)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* ---------- HOME HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-bottom:clamp(56px,12svh,128px);isolation:isolate}
.hero-stage{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-stage canvas{width:100%;height:100%}
/* fallback poster: applied only when the hero framework decides not to run live (reduced motion, no WebGL, low-end, or no JS) */
.hero-stage .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.hero-stage[data-mode=poster] .poster,html:not(.js) .hero-stage .poster{opacity:1}
.hero .display{max-width:11em}
.hero .lead{margin-top:var(--s3)}
.scroll-cue{margin-top:var(--s4);font:700 var(--t-small)/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--muted)}

/* ---------- ALPHAX ---------- */
.vhero{position:relative;min-height:min(92svh,900px);display:flex;align-items:flex-end;padding-bottom:var(--s4);padding-top:calc(var(--nav-h) + var(--s4));isolation:isolate;overflow:hidden}
.vhero video,.vhero .vposter{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:var(--img-filter)}
.vhero::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--scrim)}
.vhero .lockup{height:clamp(44px,5vw,72px);width:auto;margin-bottom:var(--s3)}
.vhero .display{font-size:clamp(38px,6vw,96px);max-width:12em}
.vhero .lead{color:var(--on-media-muted)}
.enzyme-fig{position:relative;height:min(70svh,620px);margin-top:var(--s4);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.enzyme-fig canvas{width:100%;height:100%}
.enzyme-fig figcaption{position:absolute;left:var(--s3);bottom:var(--s3)}
.hero>.wrap,.vhero>.wrap{width:100%}

/* dark contrast sections + line-art motif */
.theme-dark{background:var(--bg);color:var(--fg)}
.sec.theme-dark+.sec,.sec+.sec.theme-dark{border-top:0}
.sec{position:relative;overflow:hidden}
.sec>.wrap{position:relative;z-index:1}
.rings{position:absolute;z-index:0;pointer-events:none;color:var(--line-art);width:min(90vw,900px);height:auto;right:-18vw;top:50%;transform:translateY(-50%)}
.accent{color:var(--accent)}
.rule{display:block;width:96px;height:4px;background:var(--accent);margin-bottom:var(--s3)}
/* photo slots: real, professionally relevant photos only (Godwin's rule). Until one exists, a line-art placeholder shows. */
.photo-slot{position:relative;margin:0;border:1px solid var(--line);aspect-ratio:var(--ratio,4/5);overflow:hidden;background:var(--bg);color:var(--line-art)}
.photo-slot img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter)}
.photo-slot svg{position:absolute;inset:0;width:100%;height:100%}
.photo-slot figcaption{position:absolute;left:var(--s2);bottom:var(--s2);font:700 12px/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--s4);align-items:start}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.ax-card .lockup{align-self:flex-start;width:auto}
/* foreground art: framed panels beside text */
.art{margin:0;color:var(--art-ink);background:var(--art-panel);border:1px solid var(--art-frame);aspect-ratio:1;padding:clamp(20px,3vw,40px);position:relative}
.art svg{width:100%;height:100%;overflow:visible}.art .a{color:var(--art-accent)}
.art::after{content:"";position:absolute;right:-1px;top:-1px;width:28px;height:28px;border-top:3px solid var(--art-accent);border-right:3px solid var(--art-accent)}
.has-art .rings{display:none}
.has-art>.wrap{display:grid;grid-template-columns:1.25fr 1fr;column-gap:clamp(32px,6vw,96px);align-items:center}
.has-art>.wrap>:not(.art){grid-column:1}
.has-art>.wrap>.art{grid-column:2;grid-row:1/span 4;max-width:520px;width:100%;justify-self:end}
.page-head:has(.art)>.wrap{display:grid;grid-template-columns:1.4fr 1fr;column-gap:64px;align-items:start}
.page-head:has(.art)>.wrap>:not(.art){grid-column:1}.page-head .art{grid-column:2;grid-row:1/span 3;max-width:380px;justify-self:end}
.page-head:has(.art) .grid{grid-column:1/-1}
.p-icon{display:block;width:104px;height:104px;padding:12px;border:1px solid var(--art-frame);background:var(--art-panel);margin-top:var(--s3);color:var(--art-ink)}.p-icon .a{color:var(--art-accent)}
@media (max-width:820px){.has-art>.wrap,.page-head:has(.art)>.wrap{grid-template-columns:1fr}.has-art>.wrap>.art,.page-head .art{grid-column:1;grid-row:auto;justify-self:start;margin-top:var(--s4);max-width:420px}}
/* Africa poster fallback: keep the baked map clear of the headline on desktop */
@media (min-width:900px){.hero-stage[data-concept=africa] .poster{left:auto;right:0;top:50%;bottom:auto;width:58%;height:auto;aspect-ratio:1440/900;object-fit:contain;transform:translateY(-50%)}}
@media (max-width:899px){.hero-stage[data-concept=africa] .poster{inset:auto;top:-40px;left:calc(50% - 451px);width:580px;max-width:none;height:362px;object-fit:contain}}
/* ---------- HOME redesign (Oct 15): Why / Believe / How ---------- */
.body-lg{margin:var(--s3) 0 0;font-size:clamp(19px,.6vw + 15px,23px);line-height:1.5;color:var(--muted);max-width:30em}
.factline{display:flex;flex-wrap:wrap;gap:10px 0;margin:var(--s4) 0 0;padding-top:var(--s2);border-top:2px solid var(--fg);font:700 var(--t-small)/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase}
.factline span+span::before{content:"";display:inline-block;width:6px;height:6px;background:var(--accent);margin:0 14px;vertical-align:2px;transform:rotate(45deg)}
.why{padding-block:clamp(80px,10vw,160px)}
.why>.wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:center}
.why .h2{font-size:clamp(36px,4.6vw,72px);max-width:12em}
.why-art{margin:0;color:var(--art-ink);background:var(--art-panel);border:1px solid var(--art-frame);padding:clamp(16px,2.5vw,40px);position:relative}.why-art::after{content:"";position:absolute;right:-1px;top:-1px;width:28px;height:28px;border-top:3px solid var(--art-accent);border-right:3px solid var(--art-accent)}
.why-art svg,.gate svg,.stage-art svg{display:block;width:100%;height:auto;overflow:visible}
.why-art .a,.gate .a,.stage-art .a{color:var(--art-accent)}
.believe{padding-block:clamp(96px,12vw,180px) clamp(80px,10vw,140px)}
.believe>.wrap{position:relative;z-index:1}
.gate{margin:0 auto var(--s4);width:min(100%,920px);padding-inline:var(--gut);color:var(--art-ink);position:relative;z-index:0}
.manifesto{margin:0;font:var(--w-display) clamp(40px,6.6vw,112px)/.98 var(--display);font-stretch:var(--stretch);letter-spacing:var(--track-display);text-wrap:balance;max-width:14em}
.beliefs{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.beliefs li{border-top:1px solid var(--line);padding-top:var(--s3);font-size:clamp(18px,.4vw + 15px,21px);line-height:1.5;color:var(--muted)}
.beliefs li b{display:block;margin-bottom:var(--s1);font:var(--w-h2) clamp(22px,2vw,30px)/1.1 var(--display);text-transform:uppercase;letter-spacing:-.01em;color:var(--fg)}
.beliefs li b::before{content:"";display:block;width:40px;height:4px;background:var(--accent);margin-bottom:var(--s2)}
.how{padding-block:clamp(80px,10vw,160px)}
.how-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--s2)}
.how-head .eyebrow{order:-1;flex-basis:100%}
.process{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px);position:relative}
.process::before{content:"";position:absolute;left:8%;right:8%;top:calc(var(--stage-h)/2);border-top:2px dashed var(--accent);z-index:0}
.process{--stage-h:clamp(220px,22vw,320px)}
.process li{position:relative;z-index:1}
.stage-art{margin:0 auto;width:var(--stage-h);height:var(--stage-h);max-width:100%;padding:clamp(18px,2vw,28px);background:var(--bg);border:1px solid var(--art-frame);border-radius:50%;color:var(--art-ink)}
.process .n{display:block;margin-top:var(--s3);font:var(--w-display) clamp(56px,6vw,96px)/.85 var(--display);color:var(--accent);letter-spacing:var(--track-display);font-stretch:var(--stretch)}
.process h3{margin:var(--s2) 0 var(--s1);font:var(--w-h2) clamp(24px,2.2vw,34px)/1.1 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.process p{margin:0;font-size:clamp(18px,.4vw + 15px,21px);line-height:1.5;color:var(--muted);max-width:24em}
@media (max-width:820px){
  .why>.wrap{grid-template-columns:1fr}
  .beliefs{grid-template-columns:1fr}
  .gate{margin-bottom:var(--s3)}
  .process{grid-template-columns:1fr;gap:var(--s4);--stage-h:200px}
  .process::before{left:calc(var(--stage-h)/2 - 1px);right:auto;top:40px;bottom:40px;border-top:0;border-left:2px dashed var(--accent)}
  .process li{display:grid;grid-template-columns:var(--stage-h) 1fr;column-gap:var(--s3)}
  .stage-art{margin:0;grid-row:1/span 3}
}
@media (max-width:560px){
  .process{--stage-h:120px;gap:var(--s4)}
  .process li{grid-template-columns:var(--stage-h) 1fr;column-gap:20px}
  .stage-art{padding:12px}
  .process .n{margin-top:0;font-size:56px}
  .process::before{top:20px}
}

.example{margin:var(--s3) 0 0;padding:var(--s2) var(--s3);border-left:4px solid var(--accent);background:var(--art-panel);font-size:clamp(17px,.3vw + 15px,19px);line-height:1.5;color:var(--fg);max-width:34em}
.example b{display:block;margin-bottom:6px;font:700 var(--t-small)/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--accent)}
.inpractice{margin-top:var(--s4);max-width:46em}
.problems{padding-block:clamp(80px,10vw,160px)}
.prob-art{margin:var(--s4) 0 0;color:var(--art-ink)}.prob-art svg{display:block;width:100%;height:auto}.prob-art .a{color:var(--art-accent)}
.prob-list{list-style:none;margin:var(--s3) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px)}
.prob-list li{border-top:1px solid var(--line);padding-top:var(--s3)}.prob-list li.now{border-top:3px solid var(--accent)}
.prob-list h3{margin:var(--s2) 0 var(--s1);font:var(--w-h2) clamp(24px,2.2vw,34px)/1.1 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.prob-list p{margin:0;font-size:clamp(18px,.4vw + 15px,21px);line-height:1.5;color:var(--muted)}
.tag{display:inline-block;padding:7px 10px;font:700 12px/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase;background:var(--accent);color:#fff}
.tag--open{background:transparent;color:var(--muted);border:1px solid var(--line)}
@media (max-width:820px){.prob-list{grid-template-columns:1fr}.prob-art{margin-top:var(--s3)}}
/* ---------- HOME scope update (Oct 15) ---------- */
.believe-lead{color:var(--muted);max-width:36em}
.walk{padding-block:clamp(80px,10vw,140px)}
.walk-art{margin:var(--s4) 0 0;color:var(--art-ink)}.walk-art svg,.now-art svg{display:block;width:100%;height:auto}.walk-art .a,.now-art .a,.founder-slot .a{color:var(--art-accent)}
.walk-steps{list-style:none;margin:var(--s3) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px)}
.walk-steps li{border-top:2px solid var(--fg);padding-top:var(--s2)}
.walk-steps .n{font:var(--w-display) 48px/1 var(--display);color:var(--accent);letter-spacing:-.03em}
.walk-steps h3{margin:var(--s2) 0 var(--s1);font:var(--w-h2) clamp(20px,1.7vw,26px)/1.15 var(--display);text-transform:uppercase}
.walk-steps p,.now-list li,.founder .body-lg{font-size:clamp(17px,.4vw + 15px,20px);line-height:1.5;color:var(--muted);margin:0}
.now{padding-block:clamp(80px,10vw,150px)}
.now>.wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.now-art{margin:0;color:var(--art-ink)}
.now-list{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s3)}
.now-list li{border-top:1px solid var(--line);padding-top:var(--s2)}
.now-list b{display:block;margin-bottom:6px;font:var(--w-h2) clamp(20px,1.8vw,26px)/1.1 var(--display);text-transform:uppercase;color:var(--fg)}
.founder{padding-block:clamp(80px,10vw,150px)}
.founder>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:center}
.founder-slot{color:var(--art-ink);max-width:460px;border-top:3px solid var(--accent)}
.founder .body-lg+.body-lg{margin-top:var(--s2)}
.go-link{display:inline-block;margin-top:var(--s3);font:600 17px var(--display);color:var(--accent);text-decoration:none}
@media (max-width:980px){.walk-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.now>.wrap,.founder>.wrap{grid-template-columns:1fr}.founder-slot{max-width:300px}}
@media (max-width:480px){.walk-steps{grid-template-columns:1fr}}
/* ---------- HOME research-lab foundation (Oct 15) ---------- */
.mission,.program{padding-block:clamp(96px,12vw,200px)}
.mission-line{margin:0;font:var(--w-h2) clamp(30px,3.6vw,56px)/1.12 var(--display);font-stretch:var(--stretch);letter-spacing:-.02em;max-width:22em;text-wrap:balance}
.q-label{margin:clamp(72px,9vw,140px) 0 0;font:700 var(--t-small)/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--muted)}
.questions{list-style:none;margin:var(--s3) 0 0;padding:0}
.questions li{display:grid;grid-template-columns:clamp(56px,8vw,140px) 1fr;gap:var(--s3);padding:clamp(32px,4vw,56px) 0;border-top:1px solid var(--line)}
.questions .n{font:var(--w-display) clamp(28px,3vw,44px)/1.1 var(--display);color:var(--accent);letter-spacing:-.03em}
.questions p{margin:0;font:var(--w-h2) clamp(28px,3.9vw,60px)/1.1 var(--display);font-stretch:var(--stretch);letter-spacing:-.025em;text-wrap:balance;max-width:20em}
.start-line{margin:0;padding-top:var(--s3);border-top:2px solid var(--fg);font:500 clamp(19px,.6vw + 15px,24px)/1.4 var(--display);color:var(--fg)}
.prog-facts{margin:var(--s4) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px)}
.prog-facts div{border-top:1px solid var(--fg);padding-top:var(--s2)}
.prog-facts dt{font:700 var(--t-small)/1 var(--display);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--accent);margin-bottom:var(--s2)}
.prog-facts dd{margin:0;font-size:clamp(18px,.4vw + 15px,21px);line-height:1.5;color:var(--muted)}
.status{margin:var(--s4) 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;font:600 clamp(18px,.5vw + 15px,22px)/1.3 var(--display)}
.quiet{margin:var(--s3) 0 0;font:500 16px var(--display)}.quiet a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}.quiet a:hover{color:var(--fg)}
.close .lead{color:var(--muted)}
@media (max-width:820px){.prog-facts{grid-template-columns:1fr}.questions li{grid-template-columns:1fr;gap:var(--s1)}}
/* lab pass r2: calmer rhythm */
.start-line{margin-top:var(--s4);font-size:clamp(20px,.8vw + 15px,28px)}
.program .h2{font-size:clamp(48px,7vw,112px)}
.prog-facts dd{font-size:clamp(18px,.6vw + 14px,23px)}
.program .ax-card{margin-top:clamp(64px,8vw,112px)}
