:root{
  --paper:#F2ECE1;
  --paper-2:#E9E1D2;
  --card:#FBF8F2;
  --ink:#1A1815;
  --ink-2:#3A362F;
  --mute:#6B6458;
  --line:#CDC2AE;
  --green:#1D4436;
  --green-2:#25553F;
  --green-ink:#E9E3D3;
  --verm:#C9432A;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gut:clamp(16px,4vw,56px);
  --max:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-style:italic}
:focus-visible{outline:2px solid var(--verm);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:100}
.skip:focus{left:8px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* paper grain */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .4  0 0 0 0 .35  0 0 0 0 .28  0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- top bar ---------- */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:70}
.progress span{display:block;height:100%;width:0;background:var(--verm)}
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{max-width:var(--max);margin:0 auto;padding:12px var(--gut);display:flex;align-items:center;gap:22px}
.brand img{height:34px;width:auto}
.prog{font:600 14px/1 var(--sans);text-decoration:none;display:flex;align-items:center;gap:8px;padding-left:22px;border-left:1px solid var(--line);height:28px}
.prog em{font-style:normal;color:var(--mute);font-weight:500}
.prog .dot{width:9px;height:9px;border-radius:50%;background:var(--verm)}
.chap-nav{margin-left:auto;position:relative}
.chap-toggle{display:flex;align-items:center;gap:10px;font:500 13px/1 var(--mono);letter-spacing:.02em;border:1px solid var(--ink);padding:9px 12px;border-radius:999px;min-width:200px;justify-content:space-between}
.chap-toggle i{width:8px;height:8px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.chap-toggle[aria-expanded="true"] i{transform:rotate(-135deg) translateY(-1px)}
.chap-nav ol{list-style:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--ink);padding:8px;width:290px;display:none;box-shadow:6px 6px 0 var(--ink)}
.chap-nav ol.open{display:block}
.chap-nav li a{display:flex;gap:14px;padding:9px 10px;text-decoration:none;font:500 15px/1.2 var(--sans)}
.chap-nav li a b{font:500 12px/1.4 var(--mono);color:var(--mute)}
.chap-nav li a:hover,.chap-nav li a.on{background:var(--paper-2)}
.chap-nav li a.on b{color:var(--verm)}
@media (max-width:720px){
  .prog{display:none}
  .chap-toggle{min-width:0}
  .brand img{height:28px}
}

/* ---------- shared ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--sans);padding:15px 22px;border-radius:999px;text-decoration:none;transition:transform .15s,background .15s}
.btn.ink{background:var(--ink);color:var(--paper)}
.btn.ink:hover{background:var(--verm)}
.btn.line{border:1.5px solid var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--paper)}
.eyebrow{font:500 13px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
mark{background:none;color:inherit;font-weight:600;background-image:linear-gradient(transparent 62%,color-mix(in srgb,var(--verm) 28%,transparent) 62%);padding:0 2px}

.chapter{max-width:var(--max);margin:0 auto;padding:clamp(72px,10vw,140px) var(--gut)}
.ch-head{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:20px;border-top:1.5px solid var(--ink);padding-top:18px;margin-bottom:clamp(32px,5vw,64px)}
.ch-num{font:500 14px/1 var(--mono);color:var(--verm);padding-bottom:12px}
.ch-head h2{font:400 clamp(44px,7.4vw,104px)/.92 var(--serif);letter-spacing:-.02em}
.ch-intro{font-size:clamp(19px,1.8vw,23px);line-height:1.5;max-width:44ch;color:var(--ink-2);margin-bottom:clamp(36px,5vw,64px)}
.note{font-size:15px;color:var(--mute);max-width:62ch;margin-top:28px;padding-left:16px;border-left:2px solid var(--verm)}

/* full-bleed variants */
.dark,.tinted{max-width:none;padding-left:0;padding-right:0}
.dark>*,.tinted>*{max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut)}
.dark>.ch-head,.tinted>.ch-head{max-width:calc(var(--max) - 2*var(--gut));padding-left:0;padding-right:0}
.dark>.ch-intro,.tinted>.ch-intro{max-width:calc(44ch + 2*var(--gut));margin-left:max(0px,calc((100% - var(--max))/2))}
.dark{background:var(--green);color:var(--green-ink)}
.dark .ch-head{border-color:var(--green-ink)}
.dark .ch-num{color:#F0A68F}
.dark .ch-intro{color:var(--green-ink);opacity:.9}
.tinted{background:var(--paper-2)}
.note.light{color:var(--green-ink);opacity:.75;border-color:#F0A68F}
@media (max-width:1300px){.dark>.ch-head,.tinted>.ch-head{margin-left:var(--gut);margin-right:var(--gut)}}

.asterism{text-align:center;font:400 28px/1 var(--serif);color:var(--verm);letter-spacing:.2em;padding-bottom:clamp(40px,6vw,80px)}

/* ---------- hero ---------- */
.hero{max-width:var(--max);margin:0 auto;padding:clamp(40px,6vw,80px) var(--gut) 0;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.hero h1{font:400 clamp(56px,8.6vw,132px)/.88 var(--serif);letter-spacing:-.025em;margin:22px 0 28px}
.hero h1 em{color:var(--verm)}
.lede{font-size:clamp(18px,1.6vw,21px);max-width:40ch;color:var(--ink-2)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 28px}
.doubts{font-size:15px;color:var(--mute)}
.doubts span{font:italic 400 24px/1 var(--serif);color:var(--ink);margin-right:6px}
.table-fig{position:relative}
.table-fig svg{width:100%;height:auto;overflow:visible}
.table-fig figcaption{font-size:14px;color:var(--mute);text-align:center;margin-top:-6px}
.table-fig figcaption b{color:var(--verm);font-weight:600}
#table .tbl{fill:var(--green)}
#table .tbl-rim{fill:none;stroke:var(--ink);stroke-width:1.5}
#table .grain{fill:none;stroke:#2c5a49;stroke-width:1}
#table .q{font:italic 400 40px var(--serif);fill:var(--green-ink)}
#table .q2{font:500 11px var(--mono);fill:#9fbfae;letter-spacing:.12em}
#table .chair{transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s}
#table .chair rect{fill:var(--card);stroke:var(--ink);stroke-width:1.5}
#table .chair.you rect{fill:none;stroke:var(--verm);stroke-dasharray:4 3;stroke-width:2}
#table .lab{font:500 12.5px var(--sans);fill:var(--ink-2);transition:opacity .6s}
#table .lab.you{fill:var(--verm);font-weight:700}
#table .chair.out{opacity:0}
#table .lab.out{opacity:0}
#table .you rect{animation:breathe 2.4s ease-in-out infinite}
@keyframes breathe{50%{stroke-opacity:.35}}

.ticker{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);padding:18px 0;margin-top:clamp(20px,4vw,48px)}
.tk-tag{font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--verm);color:#fff;padding:7px 10px;border-radius:3px}
.tk-q{font:400 clamp(22px,2.4vw,30px)/1.15 var(--serif)}
.tk-meta{font:500 13px/1.4 var(--mono);color:var(--mute);margin-left:auto}
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .table-fig{max-width:520px;margin:0 auto;width:100%}
  .tk-meta{margin-left:0}
}

/* ---------- 01 essay ---------- */
.essay-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px);font-size:clamp(18px,1.4vw,20px)}
.essay-body>p{grid-column:1;max-width:58ch;margin-bottom:1.1em}
.essay-body .drop{font:400 clamp(28px,3vw,40px)/1.18 var(--serif);max-width:none;grid-column:1/-1;margin-bottom:1.4em;max-width:30ch}
.essay-body .drop mark{font-weight:400}
.pull{grid-column:2;grid-row:2/span 3;align-self:start;position:sticky;top:110px}
.pull p{font:400 clamp(30px,3.4vw,48px)/1.08 var(--serif);border-top:1.5px solid var(--ink);padding-top:20px}
.pull em{color:var(--verm)}
.stat-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--ink);margin-top:40px}
.stat{padding:24px 24px 0 0}
.stat+.stat{border-left:1px solid var(--line);padding-left:24px}
.stat b{display:block;font:400 clamp(56px,6vw,88px)/1 var(--serif);color:var(--verm);margin-bottom:10px}
.stat span{font-size:15px;color:var(--ink-2);display:block;max-width:26ch}
@media (max-width:820px){
  .essay-body{grid-template-columns:1fr}
  .pull{grid-column:1;grid-row:auto;position:static;margin:16px 0 32px}
  .stat-row{grid-template-columns:1fr}
  .stat+.stat{border-left:0;padding-left:0;border-top:1px solid var(--line)}
  .stat{padding-bottom:20px}
}

/* ---------- 02 1945 ---------- */
.h45{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.h45 .big{font:400 clamp(32px,3.6vw,52px)/1.08 var(--serif);margin-bottom:28px;color:#fff}
.h45 .big em{color:#F0A68F}
.h45-lead>p:not(.big){max-width:56ch;margin-bottom:1em;opacity:.9}
.h45 .src{font:400 13px/1.5 var(--mono);opacity:.6!important}
.vote{border:1px solid color-mix(in srgb,var(--green-ink) 35%,transparent);padding:28px;border-radius:6px}
.vote-num{display:flex;align-items:baseline;gap:14px;font:400 clamp(88px,11vw,160px)/.85 var(--serif);color:#fff}
.vote-num i{font-size:.3em;font-style:italic;opacity:.6}
.vote p{font-size:14px;opacity:.75;margin:14px 0 20px}
.vote-dots{display:grid;grid-template-columns:repeat(13,1fr);gap:5px}
.vote-dots span{aspect-ratio:1;border-radius:50%;background:var(--green-ink);opacity:0;transform:scale(.3);transition:opacity .3s,transform .3s}
.vote-dots span.nay{background:#F0A68F}
.vote-dots span.abs{background:none;border:1px solid color-mix(in srgb,var(--green-ink) 40%,transparent)}
.vote-dots.go span{opacity:1;transform:none}

.timeline45{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(56px,7vw,96px)!important;position:relative}
.timeline45:before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:7px;height:1px;background:color-mix(in srgb,var(--green-ink) 40%,transparent)}
.timeline45 li{position:relative;padding:32px 20px 0 0}
.timeline45 li:before{content:"";position:absolute;left:0;top:2px;width:11px;height:11px;border-radius:50%;background:var(--green);border:1.5px solid var(--green-ink)}
.timeline45 li:last-child:before{background:#F0A68F;border-color:#F0A68F}
.timeline45 time{font:500 13px/1 var(--mono);color:#F0A68F;display:block;margin-bottom:10px}
.timeline45 p{font-size:15px;line-height:1.5;opacity:.9}
.timeline45 b{color:#fff}
@media (max-width:900px){
  .h45{grid-template-columns:1fr}
  .timeline45{grid-template-columns:1fr;gap:4px}
  .timeline45:before{left:calc(var(--gut) + 5px);right:auto;top:0;bottom:0;width:1px;height:auto}
  .timeline45 li{padding:0 0 22px 32px}
}
.four{margin-top:clamp(64px,8vw,112px)!important}
.four-intro{font:400 clamp(26px,2.6vw,36px)/1.15 var(--serif);color:#fff;max-width:28ch;margin-bottom:32px}
.four-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid color-mix(in srgb,var(--green-ink) 40%,transparent)}
.four-grid article{padding:24px 22px 8px 0}
.four-grid article+article{padding-left:22px;border-left:1px solid color-mix(in srgb,var(--green-ink) 25%,transparent)}
.four-grid span{font:italic 400 30px/1 var(--serif);color:#F0A68F}
.four-grid h3{font:600 18px/1.25 var(--sans);color:#fff;margin:14px 0 10px}
.four-grid p{font-size:15px;line-height:1.55;opacity:.85}
@media (max-width:900px){
  .four-grid{grid-template-columns:1fr 1fr}
  .four-grid article:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:560px){
  .four-grid{grid-template-columns:1fr}
  .four-grid article+article{padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb,var(--green-ink) 25%,transparent)}
}

/* ---------- 03 day ---------- */
.day{border:1.5px solid var(--ink);border-radius:8px;background:var(--card);overflow:hidden}
.day-track{position:relative;height:96px;border-bottom:1.5px solid var(--ink);background:
  linear-gradient(90deg,#2a3340 0%,#2a3340 18%,#e7b98a 26%,#f5e9cf 36%,#fbf8f2 50%,#f5e9cf 66%,#e7a37f 76%,#3a3550 84%,#2a3340 100%)}
.day-line{position:absolute;left:3%;right:3%;top:58px;height:1px;background:rgba(26,24,21,.35)}
.day-sun{position:absolute;top:-7px;width:15px;height:15px;border-radius:50%;background:var(--verm);transform:translateX(-50%);transition:left .55s cubic-bezier(.3,.8,.2,1);box-shadow:0 0 0 6px color-mix(in srgb,var(--verm) 22%,transparent)}
.day-stop{position:absolute;top:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;font:500 11.5px/1 var(--mono);color:var(--ink);padding:4px}
.day-stop:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--card);border:1.5px solid var(--ink);margin-top:3px}
.day-stop.night{color:#e9e3d3}
.day-stop.night:after{border-color:#e9e3d3;background:#2a3340}
.day-stop[aria-selected="true"]{font-weight:700}
.day-stop[aria-selected="true"]:after{background:var(--verm);border-color:var(--verm)}
.day-panel{display:grid;grid-template-columns:minmax(150px,240px) 1fr auto;gap:clamp(20px,4vw,56px);padding:clamp(24px,4vw,48px);align-items:start;min-height:280px}
.dp-time{font:400 clamp(64px,8vw,112px)/.85 var(--serif);color:var(--verm)}
.dp-title{font:400 clamp(28px,3vw,42px)/1.08 var(--serif);margin-bottom:14px}
.dp-text{max-width:52ch;color:var(--ink-2)}
.dp-who{margin-top:22px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;border-top:1px solid var(--line);padding-top:14px;max-width:52ch}
.dp-who span{font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.dp-who b{font-weight:600;font-size:16px}
.dp-nav{display:flex;gap:8px}
.dp-nav button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--ink);font-size:18px}
.dp-nav button:hover{background:var(--ink);color:var(--paper)}
.dp-body{transition:opacity .25s}
.dp-body.fade{opacity:0}
@media (max-width:820px){
  .day-panel{grid-template-columns:1fr}
  .dp-nav{order:-1;justify-content:flex-end;margin-bottom:-60px}
  .day-stop{font-size:0;gap:0}
  .day-stop:after{margin-top:29px}
}

/* ---------- 04 ledger ---------- */
.ledger{border-top:1.5px solid var(--ink)}
.ledger-head,.lrow{display:grid;grid-template-columns:64px 1fr 1fr;gap:clamp(16px,3vw,48px)}
.ledger-head{font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);padding:16px 0}
.ledger-head span:last-child{color:var(--verm)}
.lrow{border-top:1px solid var(--line);padding:26px 0;align-items:start}
.lrow .n{font:400 40px/1 var(--serif);color:var(--mute)}
.lrow .old{position:relative;color:var(--ink-2);font-size:clamp(17px,1.4vw,19px);align-self:start}
.lrow .old b,.lrow .new b{display:block;font:600 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;color:var(--mute)}
.lrow .old .txt{background:linear-gradient(var(--verm),var(--verm)) 0 58%/0% 2px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .9s cubic-bezier(.6,0,.2,1) .15s,color .6s .15s}
.lrow .new{opacity:0;transform:translateY(10px);transition:opacity .6s .7s,transform .6s .7s}
.lrow .new p{font:400 clamp(22px,2vw,28px)/1.2 var(--serif)}
.lrow .new b{color:var(--verm)}
.lrow .new small{display:block;font:500 13px/1.4 var(--mono);color:var(--mute);margin-top:10px}
.lrow.on .old .txt{background-size:100% 2px}
.lrow.on .old .txt{color:var(--mute)}
.lrow.on .new{opacity:1;transform:none}
@media (max-width:760px){
  .ledger-head{display:none}
  .lrow{grid-template-columns:44px 1fr}
  .lrow .new{grid-column:2}
  .lrow .n{font-size:32px}
}

/* ---------- 05 scrolly ---------- */
.scrolly{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px)}
.scrolly-fig{position:sticky;top:110px;align-self:start;height:min(70vh,520px);display:grid;place-items:center}
.scrolly-fig svg{width:100%;max-width:440px;height:auto;overflow:visible}
.loop-ring{fill:none;stroke:var(--line);stroke-width:2}
.loop-prog{fill:none;stroke:var(--verm);stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:210px 210px;transition:stroke-dashoffset .8s cubic-bezier(.3,.8,.2,1)}
.loop-c1{font:400 92px var(--serif);fill:var(--ink)}
.loop-c2{font:500 13px var(--mono);fill:var(--mute);letter-spacing:.12em;text-transform:uppercase}
.lnode circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;transition:fill .3s,r .3s}
.lnode text{font:500 13px var(--sans);fill:var(--ink-2)}
.lnode .ln-n{font:500 12px var(--mono);fill:var(--ink)}
.lnode.done circle{fill:var(--ink)}
.lnode.done .ln-n{fill:var(--paper)}
.lnode.on circle{fill:var(--verm);stroke:var(--verm)}
.lnode.on .ln-n{fill:#fff}
.lnode.on text:not(.ln-n){font-weight:700;fill:var(--ink)}
.scrolly-steps{list-style:none;padding:8vh 0 14vh}
.scrolly-steps li{min-height:52vh;padding:24px 0;opacity:.28;transition:opacity .4s}
.scrolly-steps li.on{opacity:1}
.scrolly-steps .mins{font:500 13px/1 var(--mono);color:var(--verm);display:block;margin-bottom:12px}
.scrolly-steps h3{font:400 clamp(34px,3.6vw,52px)/1 var(--serif);margin-bottom:14px}
.scrolly-steps p{max-width:42ch;color:var(--ink-2)}
.scrolly-steps .loopback{border-top:1.5px dashed var(--verm);padding-top:32px}
@media (max-width:820px){
  .scrolly{grid-template-columns:1fr}
  .scrolly-fig{top:56px;height:auto;z-index:2;background:var(--paper);padding:34px 0 22px;border-bottom:1px solid var(--line)}
  .scrolly-fig svg{max-width:220px}
  .scrolly-steps{padding-top:2vh}
  .scrolly-steps li{min-height:38vh}
}

/* ---------- 06 venues ---------- */
.venues{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.venue{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.venue:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--ink);border-color:var(--ink)}
.v-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:22px}
.v-k{font:600 15px/1.2 var(--sans)}
.v-len{font:500 11.5px/1.2 var(--mono);color:var(--mute);text-align:right}
.venue blockquote{font:italic 400 clamp(24px,2.1vw,29px)/1.12 var(--serif);color:var(--verm);margin-bottom:10px}
.v-who{font:500 12.5px/1.4 var(--mono);color:var(--mute);margin-bottom:18px}
.venue>p:last-child{font-size:15.5px;line-height:1.55;color:var(--ink-2);margin-top:auto}
@media (max-width:1000px){.venues{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.venues{grid-template-columns:1fr}}
.youth{display:grid;grid-template-columns:200px 1fr;gap:24px;margin-top:clamp(48px,6vw,80px)!important;border-top:1.5px solid var(--ink);padding-top:24px!important}
.youth-k{font:500 13px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--verm)}
.youth p{font:400 clamp(26px,2.8vw,40px)/1.15 var(--serif);max-width:32ch}
.youth em{color:var(--verm)}
@media (max-width:700px){.youth{grid-template-columns:1fr}}

/* ---------- 07 both ways ---------- */
.q-card{border:1.5px solid var(--ink);border-radius:8px;padding:clamp(24px,4vw,44px);background:var(--card);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,56px);margin-bottom:24px}
.q-k{grid-column:1/-1;font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--verm)}
.q-text{font:400 clamp(34px,4vw,58px)/1.02 var(--serif)}
.facts{display:grid;gap:0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:15px;color:var(--ink-2)}
.facts dd{font:400 30px/1 var(--serif);grid-row:span 2;align-self:center}
.facts dd.cite{grid-row:auto;grid-column:1;font:400 12px/1.4 var(--mono);color:var(--mute)}
@media (max-width:820px){.q-card{grid-template-columns:1fr}}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.case{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:clamp(24px,3.5vw,40px)}
.case header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px solid var(--ink);padding-bottom:14px;margin-bottom:20px}
.case header span{font:500 12px/1 var(--mono);color:var(--mute);order:2}
.case h3{font:400 clamp(30px,3vw,40px)/1 var(--serif)}
.case p{font-size:17px;line-height:1.6;color:var(--ink-2);margin-bottom:1em}
.case .sig{font:400 12.5px/1.5 var(--mono);color:var(--mute);margin:24px 0 0}
@media (max-width:760px){.cases{grid-template-columns:1fr}}
.stance{margin-top:clamp(48px,6vw,72px);text-align:center}
.st-q{font:400 clamp(30px,3.4vw,46px)/1.05 var(--serif);margin-bottom:24px}
.st-scale{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.st-scale button{border:1.5px solid var(--ink);border-radius:999px;padding:12px 18px;font:500 15px/1 var(--sans);transition:background .15s,color .15s}
.st-scale button:hover{background:var(--paper-2)}
.st-scale button[aria-checked="true"]{background:var(--ink);color:var(--paper)}
.st-scale .unsure{border-style:dashed}
.st-reply{margin:24px auto 0;max-width:52ch;color:var(--mute);font-size:16px;min-height:3.2em}
.st-reply b{font:italic 400 24px/1.2 var(--serif);color:var(--ink);display:block;margin-bottom:6px}

/* ---------- 08 measure ---------- */
.metric-hero{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,72px);align-items:center;border-top:1px solid color-mix(in srgb,var(--green-ink) 40%,transparent);border-bottom:1px solid color-mix(in srgb,var(--green-ink) 40%,transparent);padding-top:36px!important;padding-bottom:36px!important;margin-bottom:48px!important}
.mh-num{font:400 clamp(96px,13vw,200px)/.82 var(--serif);color:#F0A68F;white-space:nowrap}
.mh-num small{font-size:.28em;color:var(--green-ink);opacity:.7;margin-left:6px}
.mh-copy h3{font:italic 400 clamp(28px,3vw,42px)/1.1 var(--serif);color:#fff;margin-bottom:14px}
.mh-copy p{max-width:50ch;opacity:.88}
@media (max-width:760px){.metric-hero{grid-template-columns:1fr}}
.metrics .m{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:24px;align-items:center;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--green-ink) 20%,transparent)}
.m-lab b{display:block;color:#fff;font-weight:600}
.m-lab span{font-size:14px;opacity:.75}
.m-bar{position:relative;height:34px;background:color-mix(in srgb,var(--green-ink) 10%,transparent);border-radius:3px}
.m-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:repeating-linear-gradient(-45deg,#F0A68F 0 2px,transparent 2px 7px);border-right:2px solid #F0A68F;transition:width 1.2s cubic-bezier(.3,.8,.2,1)}
.m-bar em{position:absolute;top:50%;transform:translateY(-50%);font:500 14px/1 var(--mono);font-style:normal;color:#fff;left:calc(var(--w,0%) + 12px);transition:left 1.2s cubic-bezier(.3,.8,.2,1);white-space:nowrap}
.m-bar.full em{left:auto;right:12px;color:var(--green)}
.m-bar.full i{background:#F0A68F}
@media (max-width:700px){.metrics .m{grid-template-columns:1fr;gap:8px}}

/* ---------- 09 season ---------- */
.weeks{display:grid;grid-template-columns:repeat(15,1fr);gap:4px;margin-bottom:12px}
.wk{position:relative;height:150px;border-radius:4px;background:var(--paper-2);display:flex;flex-direction:column;justify-content:flex-end;padding:8px 6px;font:500 11px/1.2 var(--mono);color:var(--mute);overflow:hidden}
.wk:before{content:attr(data-n);position:absolute;top:8px;left:6px}
.wk.p-map{background:#e2d8c4}
.wk.p-anchor{background:#d5c7ad}
.wk.p-exhibit{background:var(--verm);color:#fff}
.wk.p-sessions{background:var(--green);color:var(--green-ink)}
.wk.p-report{background:var(--ink);color:var(--paper)}
.phase-lab{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:20px;margin-bottom:clamp(56px,7vw,96px)}
.phase-lab div{border-top:5px solid var(--c,var(--ink));padding-top:12px;font-size:14px;line-height:1.4}
.phase-lab div:nth-child(1){--c:#e2d8c4}.phase-lab div:nth-child(2){--c:#d5c7ad}.phase-lab div:nth-child(3){--c:var(--verm)}.phase-lab div:nth-child(4){--c:var(--green)}.phase-lab div:nth-child(5){--c:var(--ink)}
.phase-lab b{display:block;font:400 22px/1.05 var(--serif);margin-bottom:4px}
.phase-lab span{color:var(--mute)}
@media (max-width:820px){
  .weeks{grid-template-columns:repeat(15,1fr)}
  .wk{height:70px;font-size:0;padding:0}
  .wk:before{font-size:9px;left:3px;top:4px}
  .phase-lab{grid-template-columns:1fr 1fr;gap:16px}
}
.chairs-goal{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,5vw,72px);align-items:center;border-top:1.5px solid var(--ink);padding-top:32px}
.cg-copy h3{font:400 clamp(36px,4vw,56px)/1 var(--serif);margin-bottom:16px}
.cg-copy p{color:var(--ink-2);max-width:42ch}
.cg-count{margin-top:20px;font:500 14px/1 var(--mono)!important;color:var(--mute)!important}
.cg-count b{font:400 44px/1 var(--serif);color:var(--verm);margin-right:6px}
.cg-chairs{display:grid;grid-template-columns:repeat(9,1fr);gap:clamp(6px,1.2vw,14px)}
.cg-chair{display:flex;flex-direction:column;align-items:center;gap:8px;font:500 10.5px/1.2 var(--mono);color:var(--mute);text-align:center}
.cg-chair svg{width:100%;height:auto}
.cg-chair svg path{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:3 3}
@media (max-width:820px){.chairs-goal{grid-template-columns:1fr}}

/* ---------- principles ---------- */
.principles{background:var(--ink);color:var(--paper);padding:clamp(64px,9vw,120px) var(--gut)}
.principles>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.pr-k{font:500 13px/1.5 var(--mono);color:#F0A68F;margin-bottom:36px;max-width:var(--max)}
.principles ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:p}
.principles li{counter-increment:p;padding:28px 28px 28px 0;border-top:1px solid #4a453d;font-size:16px;line-height:1.5;color:#cfc7b8}
.principles li:before{content:counter(p);display:block;font:italic 400 44px/1 var(--serif);color:#F0A68F;margin-bottom:14px}
.principles li b{display:block;font:400 28px/1.1 var(--serif);color:var(--paper);margin-bottom:8px}
@media (max-width:820px){.principles ol{grid-template-columns:1fr}}

/* ---------- join ---------- */
.join-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.jcard{display:flex;flex-direction:column;text-decoration:none;border:1.5px solid var(--ink);border-radius:8px;padding:28px;background:var(--card);min-height:320px;transition:background .2s,color .2s,transform .2s}
.jcard:hover{background:var(--verm);color:#fff;border-color:var(--verm);transform:translateY(-4px)}
.jcard:hover .jc-k,.jcard:hover p{color:#fff}
.jc-k{font:500 12px/1.4 var(--mono);color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.jcard h3{font:400 clamp(36px,3.6vw,50px)/1 var(--serif);margin:28px 0 14px}
.jcard p{font-size:16px;color:var(--ink-2)}
.jc-go{margin-top:auto;padding-top:24px;font-weight:600}
@media (max-width:900px){.join-grid{grid-template-columns:1fr}.jcard{min-height:0}}
.indep{margin-top:40px;font-size:15px;color:var(--mute);max-width:70ch}

/* ---------- footer ---------- */
.foot{background:var(--green);color:var(--green-ink);padding:56px var(--gut) 36px}
.foot-in{max-width:var(--max);margin:0 auto}
.foot-logo{height:44px;width:auto;margin-bottom:32px}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:32px;font-size:15px;border-top:1px solid color-mix(in srgb,var(--green-ink) 30%,transparent);padding-top:24px}
.foot a{color:#fff}
.foot-fine{margin-top:40px;font:400 12.5px/1.5 var(--mono);opacity:.6}
@media (max-width:760px){.foot-cols{grid-template-columns:1fr}}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.chap-now{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
@media (max-width:820px){.scrolly-steps li{opacity:.5}}
@media (max-width:600px){
  #table .lab{display:none}
  #table .lab.you{display:block;font-size:24px}
  #table .q{font-size:46px}
  #table .q2{font-size:13px}
}

/* ===== toolkit page ===== */
.facts-strip{list-style:none;display:flex;flex-wrap:wrap;gap:22px;margin-top:6px;border-top:1px solid var(--line);padding-top:18px}
.facts-strip li{max-width:180px}
.facts-strip b{display:block;font:400 40px/1 var(--serif);color:var(--verm)}
.facts-strip span{font-size:13.5px;color:var(--ink-2)}
.hosts{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.host{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px;display:flex;flex-direction:column}
.h-k{font:500 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--verm)}
.host h3{font:400 26px/1.05 var(--serif);margin:12px 0 10px}
.host>p:not(.h-k):not(.h-worry){font-size:15px;color:var(--ink-2)}
.h-worry{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font:italic 400 18px/1.2 var(--serif)}
.h-worry span{display:block;margin-top:6px;font:400 13.5px/1.45 var(--sans);font-style:normal;color:var(--ink-2)}
.host .h-worry{margin-top:16px}
@media (max-width:1100px){.hosts{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.hosts{grid-template-columns:1fr}}
.kit{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kit-item{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;position:relative}
.kit-item.big{grid-row:span 2;display:flex;flex-direction:column}
.ki-n{position:absolute;top:14px;right:16px;font:500 11px/1 var(--mono);color:var(--mute)}
.kit-item h3{font:400 24px/1.05 var(--serif);margin:14px 0 8px}
.kit-item p{font-size:14.5px;color:var(--ink-2)}
.ki-art{height:84px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--paper);border-radius:6px}
.kit-item.big .ki-art{height:auto;flex:1;min-height:180px}
.ki-art i{display:block;background:#fff;border:1px solid var(--line);box-shadow:2px 3px 0 rgba(26,24,21,.08)}
.guide i{width:70px;height:96px;transform:rotate(-6deg)}.guide i+i{transform:rotate(2deg);margin-left:-50px}.guide i+i+i{transform:rotate(8deg);margin-left:-50px;background:var(--green);border-color:var(--green)}
.kit-item.big .guide i{width:110px;height:150px;margin-left:-80px}.kit-item.big .guide i:first-child{margin-left:0}
.brief b{width:50px;height:66px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font:400 30px var(--serif);color:var(--verm)}
.slides i{width:62px;height:40px;background:var(--ink)}.slides i+i{margin-left:-30px;margin-top:20px;background:var(--verm);border-color:var(--verm)}
.invite{flex-direction:row;gap:0}.invite span{border:1.5px solid var(--ink);background:#fff;font:600 9px/1 var(--sans);text-transform:uppercase;padding:6px 8px 22px}.invite span+span{border-left:0;padding-right:26px}
.cards i{width:38px;height:54px}.cards i:nth-child(2){transform:rotate(8deg);margin-left:-18px}.cards i:nth-child(3){transform:rotate(16deg);margin-left:-18px;background:#F0A68F}
.panels-mini,.ki-art.panels i{width:18px;height:52px;background:#F4ECDA}.ki-art.panels i:nth-child(even){transform:skewY(8deg)}.ki-art.panels i:nth-child(odd){transform:skewY(-8deg)}.ki-art.panels i:last-child{background:var(--green);border-color:var(--green)}
.sheet{flex-direction:column;gap:5px}.sheet i{width:90px;height:7px;border:0;background:var(--line);box-shadow:none}
.letter i{width:72px;height:48px;background:#fff;position:relative;background-image:linear-gradient(155deg,transparent 48%,var(--line) 49%,transparent 51%),linear-gradient(25deg,transparent 48%,var(--line) 49%,transparent 51%)}
.train b{width:58px;height:58px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:400 22px var(--serif)}
@media (max-width:1000px){.kit{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.kit{grid-template-columns:1fr}.kit-item.big{grid-row:auto}}
.mods{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;border-top:1.5px solid var(--ink)}
.mods li{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}
.m-n{font:400 46px/1 var(--serif);color:var(--verm)}
.mods h3{font:400 26px/1.05 var(--serif);margin-bottom:6px}
.m-q{font-size:16px;color:var(--ink)}
.m-h{margin-top:6px;font:400 12.5px/1.4 var(--mono);color:var(--mute)}
@media (max-width:760px){.mods{grid-template-columns:1fr}}
.sample{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.sample-page{background:#fff;border:1px solid var(--line);box-shadow:8px 10px 0 rgba(26,24,21,.08);padding:clamp(22px,3vw,40px)}
.sp-k{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
.sample-page h3{font:400 clamp(30px,3vw,42px)/1 var(--serif);margin:12px 0 18px}
.qa{margin-top:18px}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{font:400 21px/1.2 var(--serif);padding:12px 26px 12px 0;cursor:pointer;list-style:none;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:"+";position:absolute;right:0;top:14px;font:500 17px/1 var(--mono);color:var(--verm)}
.qa details[open] summary:after{content:"−"}
.qa details p{font-size:15.5px;color:var(--ink-2);padding-bottom:14px}
.sp-f{margin-top:16px;font:400 12px/1.5 var(--mono);color:var(--mute)}
.sample .stance{margin-top:0;text-align:left;position:sticky;top:110px;background:var(--card);border:1.5px solid var(--ink);border-radius:8px;padding:24px}
.st-k{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--verm);margin-bottom:12px}
.sample .st-q{font-size:clamp(24px,2.4vw,32px)}
.sample .st-scale{justify-content:flex-start}
.sample .st-reply{margin-left:0}
@media (max-width:900px){.sample{grid-template-columns:1fr}.sample .stance{position:static}}
.rules-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px)}
.r-k{font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:#F0A68F;margin-bottom:12px}
.r-list{padding-left:22px}
.r-list li{padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--green-ink) 22%,transparent);font-size:16px;opacity:.92}
.r-list li::marker{font:500 12px var(--mono);color:#F0A68F}
.r-list b{color:#fff}
.r-list.room li{font:italic 400 clamp(22px,2vw,28px)/1.2 var(--serif);color:#fff;opacity:1}
@media (max-width:820px){.rules-two{grid-template-columns:1fr}}
.after-flow{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--ink);margin-bottom:clamp(40px,5vw,64px)}
.after-flow li{padding:22px 22px 0 0}
.after-flow li+li{padding-left:22px;border-left:1px solid var(--line)}
.after-flow b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--verm);color:#fff;font:600 13px var(--sans)}
.after-flow h3{font:400 26px/1.05 var(--serif);margin:12px 0 8px}
.after-flow p{font-size:15px;color:var(--ink-2)}
@media (max-width:860px){.after-flow{grid-template-columns:1fr 1fr;gap:20px 0}.after-flow li:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:520px){.after-flow{grid-template-columns:1fr}.after-flow li+li{padding-left:0;border-left:0}}
.light-mh{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin-bottom:28px}
.light-mh .mh-num{color:var(--verm)}
.light-mh .mh-num small{color:var(--mute)}
.light-mh .mh-copy h3{color:var(--ink)}
#after .metrics .m{border-bottom-color:var(--line)}
#after .m-lab b{color:var(--ink)}
#after .m-bar{background:var(--paper-2)}
#after .m-bar i{background:repeating-linear-gradient(-45deg,var(--verm) 0 2px,transparent 2px 7px);border-right-color:var(--verm)}
#after .m-bar em{color:var(--ink)}
#after .m-bar.full i{background:var(--verm)}
#after .m-bar.full em{color:#fff}
.faq{margin-top:clamp(48px,6vw,80px);border-top:1.5px solid var(--ink);max-width:860px}
.faq-k{font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--verm);padding:16px 0 4px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{font:400 clamp(22px,2vw,28px)/1.2 var(--serif);padding:16px 30px 16px 0;cursor:pointer;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:20px;font:500 18px/1 var(--mono);color:var(--verm)}
.faq details[open] summary:after{content:"−"}
.faq details p{font-size:16px;color:var(--ink-2);padding-bottom:16px;max-width:64ch}
@media (min-width:1001px){.kit-item:last-child{grid-column:span 2}}
