/* ─────────────────────────────────────────────────────────────
   Design tokens — DESIGN.md (warm-canvas editorial system)
   canvas + serif display 400 w/ negative tracking + one coral
   accent + dark product surfaces. Color-block first, shadow rare.
   ───────────────────────────────────────────────────────────── */
:root{
  color-scheme:light;
  --primary:#cc785c; --primary-active:#a9583e; --primary-disabled:#e6dfd8;
  --ink:#141413; --body:#3d3d3a; --body-strong:#252523; --muted:#6c6a64; --muted-soft:#8e8b82;
  --hairline:#e6dfd8; --hairline-soft:#ebe6df;
  --canvas:#faf9f5; --surface-soft:#f5f0e8; --surface-card:#efe9de; --surface-cream-strong:#e8e0d2;
  --surface-dark:#181715; --surface-dark-elevated:#252320; --surface-dark-soft:#1f1e1b;
  --on-primary:#ffffff; --on-dark:#faf9f5; --on-dark-soft:#a09d96;
  --accent-teal:#5db8a6; --accent-amber:#e8a55a; --success:#5db872; --warning:#d4a017; --error:#c64545;
  --r-sm:6px; --r-md:8px; --r-lg:12px; --r-xl:16px; --r-pill:9999px;
  --serif:'Source Serif 4','Tiempos Headline',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1800px; --gutter:clamp(1.25rem,3.5vw,3.5rem);
  --section:clamp(4rem,8vw,6rem);
  --ease:cubic-bezier(.16,1,.3,1);
  /* semantic aliases that dark bands remap */
  --fg:var(--ink); --fg-body:var(--body); --fg-muted:var(--muted); --fg-soft:var(--muted-soft);
  --bg:var(--canvas); --card:var(--surface-card); --line:var(--hairline);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);font-size:16px;line-height:1.55;background:var(--canvas);color:var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
section{position:relative;padding-block:var(--section)}
.band-soft{background:var(--surface-soft)}
.band-dark{background:var(--surface-dark);color:var(--on-dark);
  --fg:var(--on-dark);--fg-body:#d6d2ca;--fg-muted:var(--on-dark-soft);--fg-soft:#7f7c74;
  --bg:var(--surface-dark);--card:var(--surface-dark-elevated);--line:#2e2b27}

/* type */
.eyebrow{font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--fg-muted);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);flex:none}
h1,h2,.display{font-family:var(--serif);font-weight:400;color:var(--fg)}
h1{font-size:clamp(2.4rem,4.4vw,4.25rem);line-height:1.05;letter-spacing:-.025em}
h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:0;max-width:22ch}
h2.wide{max-width:none}
h3{font-size:18px;font-weight:500;line-height:1.4;color:var(--fg);margin-bottom:.4rem}
h1 em,h2 em{font-style:italic;color:var(--primary)}
.lead{color:var(--fg-body);font-size:clamp(1.02rem,1.2vw,1.2rem);max-width:70ch}
p{color:var(--fg-body)}
.muted{color:var(--fg-muted)}
.mono{font-family:var(--mono)}

/* buttons — primary coral · secondary hairline · on-dark elevated · inverted on coral */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:40px;padding:0 20px;border-radius:var(--r-md);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}
.btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.btn-primary:hover,.btn-primary:active{background:var(--primary-active);border-color:var(--primary-active)}
.btn-secondary{background:var(--canvas);color:var(--ink);border-color:var(--hairline)}
.btn-secondary:hover{border-color:var(--muted-soft)}
.btn-on-dark{background:var(--surface-dark-elevated);color:var(--on-dark);border-color:#33302b}
.btn-on-dark:hover{background:#2d2a26}
.btn-inverted{background:var(--canvas);color:var(--ink);border-color:var(--canvas)}
.btn-inverted:hover{background:var(--surface-card);border-color:var(--surface-card)}
.btn-lg{height:48px;padding:0 26px;font-size:15px}
.link{color:var(--primary);font-weight:500}
.link:hover{text-decoration:underline}

/* badges */
.badge{display:inline-flex;align-items:center;gap:.45rem;padding:4px 12px;border-radius:var(--r-pill);font-size:13px;font-weight:500;background:var(--card);color:var(--fg)}
.badge-coral{background:var(--primary);color:var(--on-primary);font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.badge-coral i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.9;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}

/* nav — 64px cream bar */
nav{position:sticky;top:0;z-index:50;background:rgba(250,249,245,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline-soft)}
.nav-in{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);height:64px;display:flex;align-items:center;gap:2rem}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:500;font-size:1.05rem;color:var(--fg);letter-spacing:-.01em}
.logo .mark{width:28px;height:28px;border-radius:7px;background:var(--ink);display:grid;place-items:center;color:var(--canvas);font-family:var(--serif);font-size:1rem;flex:none}
.band-dark .logo .mark{background:var(--on-dark);color:var(--surface-dark)}
.nav-links{display:flex;gap:1.5rem;margin-left:auto;font-size:14px;font-weight:500;color:var(--muted)}
.nav-links a:hover{color:var(--ink)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--hairline);border-radius:var(--r-md);width:40px;height:36px;font-size:1.1rem;cursor:pointer;color:var(--ink)}
@media (max-width:960px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--canvas);border-bottom:1px solid var(--hairline);flex-direction:column;gap:0;padding:.5rem var(--gutter) 1rem}
  .nav-links.open{display:flex}
  .nav-links a{padding:.75rem 0;border-bottom:1px solid var(--hairline-soft)}
  .nav-toggle{display:block}
  .nav-cta{display:none}
}

/* hero — 6/6 split, canvas */
.hero{padding-block:clamp(3.5rem,7vw,6rem) clamp(3rem,5vw,4rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:center}
@media (max-width:1024px){.hero-grid{grid-template-columns:minmax(0,1fr)}}
.hero .lead{margin:1.4rem 0 2rem}
.hero-ctas{display:flex;gap:.75rem;flex-wrap:wrap}
.hero-note{margin-top:1.4rem;font-size:13px;color:var(--muted-soft)}
.hero-note b{font-weight:500;color:var(--muted)}

/* code window — the product's dark chrome */
.codewin{background:var(--surface-dark);color:var(--on-dark);border-radius:var(--r-lg);overflow:hidden;font-family:var(--mono);font-size:13px;line-height:1.7}
.codewin.xl{border-radius:var(--r-xl)}
.cw-bar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:var(--surface-dark-elevated);color:var(--on-dark-soft);font-size:12px;border-bottom:1px solid #2e2b27}
.cw-bar i{width:9px;height:9px;border-radius:50%;background:#3a3733;display:inline-block}
.cw-bar b{font-weight:500;color:#cfcbc3;margin-left:.35rem}
.cw-body{padding:1.1rem 1.25rem;white-space:pre-wrap;overflow-x:auto;background:var(--surface-dark-soft)}
.cw-body.nowrap{white-space:pre}
.t-you{color:var(--accent-teal)}
.t-cop{color:var(--on-dark)}
.t-eng{color:#a09d96}
.t-ok{color:var(--success)}
.t-dim{color:#7f7c74}
.t-link{color:var(--accent-amber)}
.t-kw{color:#e8a55a}.t-cm{color:#7f7c74}.t-num{color:#5db8a6}.t-str{color:#d6d2ca}
.caret{display:inline-block;width:7px;height:1.05em;background:var(--accent-teal);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* stats — hairline-ruled datasheet row */
.stats{border-block:1px solid var(--hairline);display:grid;grid-template-columns:repeat(6,1fr)}
.stat{padding:1.6rem 1.25rem;border-left:1px solid var(--hairline)}
.stat:first-child{border-left:none}
.stat b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.25rem);letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.stat b.accent{color:var(--primary)}
.stat span{display:block;color:var(--body);font-size:14px;margin-top:.35rem;line-height:1.4}
.stat small{display:block;color:var(--muted-soft);font-size:12px;margin-top:.35rem;line-height:1.4}
.stats-note{color:var(--muted-soft);font-size:13px;max-width:96ch;margin-top:1rem}
@media (max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.stat:nth-child(4){border-left:none}.stat:nth-child(n+4){border-top:1px solid var(--hairline)}}
@media (max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}.stat{border-left:1px solid var(--hairline);border-top:none}.stat:nth-child(odd){border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--hairline)}}

/* feature cards — cream surface, no border, no shadow */
.grid{display:grid;gap:1rem;margin-top:2.5rem}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-3,.grid-4,.grid-2{grid-template-columns:minmax(0,1fr)}}
.fcard{background:var(--card);border-radius:var(--r-lg);padding:2rem;display:flex;flex-direction:column;gap:.5rem}
.fcard p{font-size:15px}
.fcard ul{list-style:none;margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}
.fcard li{position:relative;padding-left:1.15rem;font-size:14px;color:var(--fg-body)}
.fcard li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.ico{width:36px;height:36px;border-radius:var(--r-md);background:var(--canvas);display:grid;place-items:center;margin-bottom:.6rem}
.band-dark .ico{background:var(--surface-dark-soft)}
.ico svg{width:18px;height:18px;stroke:var(--primary);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mode{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--primary);margin-bottom:.4rem}
.kicker{font-size:13px;font-weight:500;color:var(--fg-muted);letter-spacing:.02em}

/* section split layouts */
.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,3.5vw,3.5rem);align-items:start;margin-top:2.5rem}
.split.rev{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.split.stretch{align-items:stretch}
.split.stretch .codewin{display:flex;flex-direction:column}
.split.stretch .cw-body{flex:1}
@media (max-width:1024px){.split,.split.rev{grid-template-columns:minmax(0,1fr)}}

/* method compare */
.compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:stretch;margin-top:2.5rem}
@media (max-width:900px){.compare{grid-template-columns:minmax(0,1fr)}.vs{justify-self:center}}
.pane{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;background:var(--surface-card)}
.pane-label{padding:.7rem 1rem;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--muted);border-bottom:1px solid var(--hairline)}
.pane-code{padding:1.1rem 1.2rem;font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--body);white-space:pre-wrap;flex:1}
.pane.us{background:var(--surface-dark);color:var(--on-dark)}
.pane.us .pane-label{color:var(--accent-teal);border-bottom-color:#2e2b27}
.pane.us .pane-code{color:#d6d2ca}
.vs{align-self:center;font-size:13px;font-weight:500;color:var(--muted);padding:.4rem .8rem;border-radius:var(--r-pill);background:var(--surface-card)}

/* timeline (record run) */
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:2.5rem}
@media (max-width:1024px){.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.timeline{grid-template-columns:minmax(0,1fr)}}
.tl{background:var(--card);border-radius:var(--r-lg);padding:1.3rem 1.25rem}
.tl i{display:block;font-family:var(--mono);font-style:normal;font-size:12px;color:var(--accent-teal);margin-bottom:.4rem}
.tl b{display:block;font-weight:500;color:var(--fg);margin-bottom:.3rem}
.tl span{font-size:14px;color:var(--fg-body);line-height:1.5}
.tl.done{outline:1px solid #3a5a44}
.tl.done i{color:var(--success)}
.timeline .tl{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.timeline.in .tl{opacity:1;transform:none}
.timeline .tl:nth-child(2){transition-delay:.1s}.timeline .tl:nth-child(3){transition-delay:.2s}.timeline .tl:nth-child(4){transition-delay:.3s}.timeline .tl:nth-child(5){transition-delay:.4s}

/* curve art */
.curve-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,3vw,2.5rem);margin-top:2.4rem}
@media (max-width:760px){.curve-pair{grid-template-columns:1fr}}
.curve-art{display:block;width:100%;height:clamp(110px,13vw,160px)}
.curve-pair figcaption{font-family:var(--mono);font-size:12px;color:var(--on-dark-soft);margin-top:.5rem}
.curve-art path{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:2200;stroke-dashoffset:2200}
.curve-art.play path{animation:drawCurve 2.6s var(--ease) forwards}
.curve-art circle{opacity:0}
.curve-art.play circle{animation:popDot .4s var(--ease) forwards}
@keyframes drawCurve{to{stroke-dashoffset:0}}
@keyframes popDot{from{opacity:0}to{opacity:1}}

/* screenshots — real app windows */
.tour{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}
@media (max-width:900px){.tour{grid-template-columns:minmax(0,1fr)}}
.shot{background:var(--surface-dark-elevated);border-radius:var(--r-lg);overflow:hidden}
.shot-body img{width:100%;height:auto;display:block}
.shot-body.scrolly{aspect-ratio:16/12;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3a3733 transparent}
.shot-body.scrolly a{display:block}
.shot-body.scrolly img{border-bottom:1px solid #2e2b27}
.shot-body a:hover img{opacity:.9}
.tour figcaption{padding:.9rem 1.1rem 1.1rem;font-size:14px;color:var(--fg-body)}

/* comparison table */
.table{margin-top:2.5rem;border:1px solid var(--hairline);border-radius:var(--r-lg);overflow:hidden;background:var(--canvas)}
.row{display:grid;grid-template-columns:minmax(150px,2fr) minmax(0,4fr) minmax(0,5fr);border-top:1px solid var(--hairline)}
.row:first-child{border-top:none}
.row>div{padding:1rem 1.25rem;font-size:14.5px;color:var(--body);line-height:1.5}
.row>div:first-child{font-weight:500;color:var(--ink)}
.row .us{background:var(--surface-card);color:var(--ink)}
.row.head>div{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--muted);padding-block:.8rem}
.row.head .us{color:var(--primary);background:var(--surface-cream-strong)}
@media (max-width:820px){
  .row{grid-template-columns:1fr}
  .row>div{padding:.55rem 1.1rem}
  .row>div:first-child{padding-top:1rem}
  .row .us{padding-bottom:1rem}
  .row.head{display:none}
  .row>div:nth-child(2)::before{content:"Traditional  ";font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-soft);font-weight:500;display:block}
  .row .us::before{content:"AutoPDK  ";font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--primary);font-weight:500;display:block}
}
.foot-note{margin-top:1rem;font-size:13px;color:var(--muted-soft)}

/* reports */
.report{background:var(--card);border-radius:var(--r-lg);padding:2rem}
.report .tag{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--fg-muted)}
.report h3{font-family:var(--serif);font-weight:400;font-size:1.75rem;letter-spacing:-.01em;margin:.4rem 0 .6rem}
.passrow{display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:12.5px;color:var(--body);border-bottom:1px solid var(--hairline);padding:.5rem 0}
.passrow:last-child{border-bottom:none}
.p-ok{color:#3f9a58}.p-bad{color:var(--error)}.p-warn{color:#b8860b}

/* model chips + marquee */
.fam{margin-top:2rem}
.fam h4{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:.7rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips span{font-family:var(--mono);font-size:13px;padding:.4rem .85rem;border-radius:var(--r-pill);color:var(--ink);background:var(--surface-card)}
.chips .chip-your{background:transparent;border:1px dashed var(--primary);color:var(--primary)}
.marquee{overflow:hidden;margin-top:2rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:.5rem;width:max-content;animation:mq 46s linear infinite;padding-block:.2rem}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:var(--mono);font-size:13px;padding:.45rem 1rem;border-radius:var(--r-pill);color:var(--ink);background:var(--surface-card);white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}

/* roadmap strip */
.roadmap{margin-top:2.5rem;display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start;background:var(--surface-card);border-radius:var(--r-lg);padding:1.5rem 1.75rem}
@media (max-width:640px){.roadmap{grid-template-columns:minmax(0,1fr)}}
.roadmap h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;letter-spacing:-.01em}

/* wafer figure */
.wafer-fig{background:var(--canvas);border-radius:var(--r-lg);padding:1.4rem;text-align:center;border:1px solid var(--hairline)}
.wafer-fig svg{width:min(320px,80%);height:auto}
.wafer-cap{margin-top:.8rem;font-family:var(--mono);font-size:12px;color:var(--muted-soft)}
.wafer-cap i{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--error);margin:0 .3rem 0 .8rem;vertical-align:-1px}

/* early access — coral callout + form */
.access-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.25rem;margin-top:2.5rem;align-items:stretch}
@media (max-width:1024px){.access-grid{grid-template-columns:minmax(0,1fr)}}
.callout{background:var(--primary);color:var(--on-primary);border-radius:var(--r-lg);padding:clamp(1.75rem,3vw,3rem);display:flex;flex-direction:column;gap:1rem}
.callout h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:-.015em;color:#fff;margin:0}
.callout p{color:rgba(255,255,255,.88);font-size:15px}
.callout ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-top:.25rem}
.callout li{position:relative;padding-left:1.35rem;font-size:14.5px;color:#fff}
.callout li::before{content:"✓";position:absolute;left:0;top:0;font-size:13px;color:#fff;opacity:.9}
.callout .fine{margin-top:auto;font-size:13px;color:rgba(255,255,255,.75)}
.form{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:clamp(1.5rem,2.5vw,2.25rem)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:.35rem}
.field.full{grid-column:1/-1}
.field label{font-size:13px;font-weight:500;color:var(--body-strong)}
.field label small{font-weight:400;color:var(--muted-soft)}
.field input,.field select,.field textarea{height:40px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--canvas);color:var(--ink);font-size:15px;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}
.field textarea{height:auto;min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(204,120,92,.15)}
.checks{display:flex;flex-wrap:wrap;gap:.45rem}
.checks label{display:inline-flex;align-items:center;gap:.4rem;padding:6px 12px;border-radius:var(--r-pill);background:var(--surface-card);font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;user-select:none}
.checks input{position:absolute;opacity:0;pointer-events:none;height:0;width:0}
.checks label:has(input:checked){background:var(--ink);color:var(--canvas)}
.form-foot{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.25rem}
.form-status{font-size:13.5px;color:var(--muted)}
.form-status.ok{color:#3f9a58}.form-status.err{color:var(--error)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* footer — dark, never inverts */
footer{background:var(--surface-dark);color:var(--on-dark-soft);padding:4rem 0 2.5rem;font-size:14px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h5{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--on-dark);margin-bottom:.9rem}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.foot-grid a:hover{color:var(--on-dark)}
.foot-brand p{margin-top:.9rem;max-width:36ch;font-size:14px;color:var(--on-dark-soft)}
.foot-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #2e2b27;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:13px;color:#7f7c74}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease) var(--d,0s),transform .7s var(--ease) var(--d,0s)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv,.timeline .tl{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none}
  .curve-art path{stroke-dashoffset:0;animation:none}
  .curve-art circle{opacity:1;animation:none}
  .caret,.badge-coral i{animation:none}
}

/* ── multi-page additions ─────────────────────────────────── */
.nav-links a.active{color:var(--ink);position:relative}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--primary)}
@media (max-width:960px){.nav-links a.active::after{display:none}.nav-links a.active{color:var(--primary)}}
.page-hero{padding-block:clamp(3.5rem,7vw,5.5rem) clamp(2.5rem,4vw,3.5rem);border-bottom:1px solid var(--hairline-soft)}
.page-hero h1{font-size:clamp(2.25rem,4.4vw,3.5rem);max-width:20ch}
.page-hero .lead{margin-top:1.25rem}
.page-hero .crumbs{font-size:13px;color:var(--muted-soft);margin-bottom:1rem;display:flex;gap:.5rem;align-items:center}
.page-hero .crumbs a:hover{color:var(--ink)}
.page-hero .crumbs span{opacity:.6}
.page-hero .hero-ctas{margin-top:1.75rem}
.subnav{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1.75rem}
.subnav a{padding:8px 14px;border-radius:var(--r-md);font-size:14px;font-weight:500;color:var(--muted);background:transparent}
.subnav a:hover{background:var(--surface-card);color:var(--ink)}
.cta-band{padding-block:clamp(2.5rem,5vw,4rem) var(--section)}
.cta-band .callout{flex-direction:row;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cta-band .callout h3{max-width:22ch}
.cta-band .callout p{max-width:56ch}
.cta-band .callout .btn{flex:none}
.explore{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.5rem}
@media (max-width:1024px){.explore{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.explore{grid-template-columns:minmax(0,1fr)}}
.explore a{display:flex;flex-direction:column;gap:.5rem;background:var(--card);border-radius:var(--r-lg);padding:1.6rem;color:var(--fg)}
.explore a h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;letter-spacing:-.01em;margin:0}
.explore a p{font-size:14px;color:var(--fg-body);flex:1}
.explore a b{font-size:14px;font-weight:500;color:var(--primary)}
.explore a:hover{outline:1px solid var(--hairline)}
.band-dark .explore a:hover{outline-color:#3a3733}
.notfound{text-align:center;padding-block:clamp(6rem,14vw,10rem)}
.notfound h1{font-size:clamp(3rem,8vw,6rem)}
@media (min-width:961px){.nav-access{display:none}}
section .wrap > :first-child{margin-top:0}

/* ── full-width distribution: two-column section intros ───────── */
.intro{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.5rem,4vw,5rem);align-items:end}
.intro > div{min-width:0}
.intro h2{max-width:none}
.intro .lead{max-width:none;padding-bottom:.35rem}
.intro.solo{grid-template-columns:minmax(0,1fr)}
@media (max-width:900px){.intro{grid-template-columns:minmax(0,1fr);align-items:start}.intro .lead{padding-bottom:0}}
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,5rem);align-items:end}
.page-hero .crumbs{grid-column:1/-1}
.page-hero h1{max-width:none}
.page-hero .lead{margin-top:0;max-width:none;padding-bottom:.5rem}
.page-hero .subnav{grid-column:1/-1;margin-top:.5rem}
@media (max-width:900px){.page-hero .wrap{grid-template-columns:minmax(0,1fr)}.page-hero .lead{margin-top:1rem}}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1500px){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.explore{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stats-note{max-width:none}
