/* ============ Zentus design system ============ */
:root{
  /* colour */
  --paper:#F6F5F0; --paper-2:#FBFAF6; --tint:#EBF0EA; --tint-2:#E2E9E3;
  --ink:#12191F; --ink-2:#4C5760; --ink-3:#5E6870; --ink-4:#B9C0C4;
  --mint:#DDEFE5; --sky:#DCE8F8; --mist:#EEF3EF;
  --atmos:radial-gradient(110% 90% at 12% 100%,var(--mint) 0%,rgba(221,239,229,0) 62%),radial-gradient(90% 80% at 92% 0%,var(--sky) 0%,rgba(220,232,248,0) 60%),var(--mist);
  --line:#D6D9D4; --line-2:#E5E7E2;
  --signal:#1F4FD1; --signal-soft:#DCE4FB;
  /* type */
  --serif:"Switzer",system-ui,sans-serif; --sans:"Switzer",system-ui,sans-serif; --mono:"Fragment Mono",ui-monospace,monospace;
  /* space (Isomorphic scale) */
  --sp-4:4px; --sp-8:8px; --sp-12:12px; --sp-16:16px; --sp-20:20px; --sp-30:30px; --sp-40:40px; --sp-60:60px; --sp-80:80px; --sp-120:120px; --sp-200:200px;
  /* radius */
  --r-xs:2px; --r-s:4px; --r-m:5px; --r-l:12px;
  /* layout */
  --wrap:1280px; --pad-x:clamp(16px,5vw,72px); --nav-h:64px; --gap:10px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
html.menu-open{overflow:hidden}
html{scroll-padding-top:calc(var(--nav-h) + 24px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;font-feature-settings:"cv11","ss01";font-variation-settings:"opsz" 20;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg,picture{display:block;max-width:100%}
p{margin:0}
.wrap{max-width:calc(var(--wrap) + 2 * var(--pad-x));margin:0 auto;padding:0 var(--pad-x)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--pad-x);top:-60px;z-index:50;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:var(--r-m)}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}

/* ---- type scale ---- */
h1,h2,h3,.t-display-1,.t-display-2,.t-headline-1,.t-headline-2{font-family:var(--serif);font-weight:320;margin:0;color:var(--ink)}
h1,.t-display-1{font-size:clamp(40px,4.8vw,68px);line-height:1.0;letter-spacing:-.022em;font-variation-settings:"opsz" 72}
.t-display-2{font-size:clamp(36px,3.8vw,52px);line-height:1.04;letter-spacing:-.02em;font-variation-settings:"opsz" 72}
h2,.t-headline-1{font-size:clamp(28px,2.6vw,36px);line-height:1.12;letter-spacing:-.018em;font-variation-settings:"opsz" 48;max-width:22ch}
h3,.t-headline-2{font-size:clamp(21px,1.8vw,26px);line-height:1.2;letter-spacing:-.012em;font-variation-settings:"opsz" 32}
h1 em,h2 em{font-style:italic;font-weight:300;color:var(--signal)}
.t-paragraph-l{font-size:clamp(16px,1.3vw,19px);line-height:1.5;letter-spacing:-.006em;color:var(--ink-2);max-width:56ch}
.t-paragraph-m{font-size:16px;line-height:1.6;color:var(--ink-2)}
.t-tag-s{font-family:var(--mono);font-size:12px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.t-tag-xs{font-family:var(--mono);font-size:11px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.mono{font-family:var(--mono);font-feature-settings:"tnum";letter-spacing:.01em}
.dim{color:var(--ink-3)}

.eyebrow{display:flex;align-items:center;gap:var(--sp-8);color:var(--ink);margin:0 0 var(--sp-20)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:var(--r-xs);background:currentColor;flex:none}
.eyebrow.sig::before{background:var(--signal)}

/* ---- cells (gapped) and cards (merged hairlines) ---- */
.cell{border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-30);background:rgba(255,255,255,.3);min-width:0}
.cell.tint{background:var(--tint);border-color:transparent}
.cells{display:grid;gap:var(--gap)}
.cells-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cells-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cells-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.cards>*{background:var(--paper);padding:var(--sp-30);min-width:0}
.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ---- buttons ---- */
.cellbtn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 var(--sp-20);border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,color .15s,border-radius .25s var(--ease)}
.cellbtn:hover{border-color:var(--ink);background:#fff}
.btn-pair{display:inline-flex;align-items:stretch;height:44px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:transform .15s ease;border:0;background:none;padding:0}
.btn-pair:active{transform:scale(.98)}
.btn-pair .lbl{display:flex;align-items:center;padding:0 var(--sp-20);border:1px solid var(--line);border-radius:var(--r-m) 0 0 var(--r-m);background:var(--paper);transition:background .15s,border-color .15s,color .15s}
.btn-pair .ico{display:flex;align-items:center;justify-content:center;width:44px;margin-left:-1px;border:1px solid var(--line);border-radius:0 var(--r-m) var(--r-m) 0;background:var(--paper);transition:background .15s,border-color .15s}
.btn-pair .ico svg{width:14px;height:14px;transition:transform .2s var(--ease)}
.btn-pair:hover .lbl,.btn-pair:hover .ico{border-color:var(--ink)}
.btn-pair:hover .ico svg{transform:translateX(2px)}
.btn-pair.fill .lbl{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-pair.fill .ico{border-color:var(--ink)}
.btn-pair.fill:hover .lbl{background:#26323b;border-color:#26323b}
.actions{display:flex;flex-wrap:wrap;gap:var(--sp-12);margin-top:var(--sp-30)}
.link{border-bottom:1px solid var(--ink-4);transition:border-color .15s}
.link:hover{border-color:var(--ink)}

/* ---- header ---- */
.top{position:fixed;inset:0 0 auto 0;z-index:30;height:var(--nav-h)}
.top::before{content:"";position:absolute;inset:0 0 -24px 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(to bottom,rgba(246,245,240,.86),rgba(246,245,240,0));-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent);mask-image:linear-gradient(to bottom,#000 55%,transparent);opacity:0;transition:opacity .25s;pointer-events:none}
.top.scrolled::before{opacity:1}
.top .wrap{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16)}
.logo{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px 0 12px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:20px;font-variation-settings:"opsz" 24;transition:border-radius .25s var(--ease),border-color .15s}
.logo:hover{border-radius:10px;border-color:var(--ink)}
.logo svg{width:20px;height:20px}
.top-right{display:flex;align-items:center;gap:var(--sp-8)}
.nav{display:flex;gap:var(--sp-8)}
.nav a,.navbtn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--sp-16);min-width:112px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-radius .25s var(--ease),border-color .15s,background .15s}
.nav a:hover,.nav a[aria-current="page"],.navbtn:hover{border-radius:10px;border-color:var(--ink)}
.navbtn.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.navbtn.primary:hover{background:#26323b}
.menu-btn{display:none}

/* ---- sections ---- */
main{display:block}
.sec{padding:var(--sp-80) 0}
#scale{padding-bottom:var(--sp-20)}
.sec.first{padding-top:calc(var(--nav-h) + var(--sp-60))}
.sec.tinted{background:var(--tint);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--sp-30) var(--sp-60);align-items:end;margin-bottom:var(--sp-40)}
.sec-head .eyebrow{grid-column:1/-1;margin:0}
.sec-head.stack{grid-template-columns:1fr}
.tnote{font-family:var(--mono);font-size:11.5px;line-height:1.6;color:var(--ink-2);margin-top:var(--sp-16);max-width:96ch}
.tnote sup,.ev sup{font-family:var(--mono);color:var(--signal);font-size:10px;margin-left:1px}
.caveat-line{display:flex;gap:var(--sp-12);align-items:flex-start;margin-top:var(--sp-16);padding:var(--sp-12) var(--sp-16);border-left:2px solid var(--signal);background:var(--paper-2);font-size:14px;color:var(--ink-2);max-width:90ch}

/* ---- home hero ---- */
.hero{height:320vh;position:relative}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#deck{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}
.labels{position:absolute;inset:0;z-index:2;pointer-events:none}
.lab{position:absolute;left:0;top:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .35s;white-space:nowrap;display:flex;flex-direction:column;gap:2px}
.lab .t{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.lab .s{font-family:var(--mono);font-size:11px;color:var(--ink-2)}
.lab::before{content:"";position:absolute;left:-14px;top:8px;width:7px;height:7px;border-radius:var(--r-xs);background:var(--signal)}
.lab[data-key="now"]::before{background:var(--ink)}
.lab.on{opacity:1}.lab.hid{opacity:0}
.hero-grid{position:absolute;inset:0;z-index:3;padding:calc(var(--nav-h) + var(--sp-12)) var(--pad-x) var(--sp-20);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);gap:var(--gap);pointer-events:none;max-width:calc(var(--wrap) + 2 * var(--pad-x));margin:0 auto}
.hero-grid .cell{background:transparent;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:auto}
.cell-title{grid-column:1;grid-row:1;padding:var(--sp-30) var(--sp-30) var(--sp-30)}
.cell-lede{grid-column:1;grid-row:2;justify-content:space-between!important}
.cell-object{grid-column:2;grid-row:1/3;position:relative;pointer-events:none!important;background:rgba(235,240,234,.45)!important}

/* ---- stat band ---- */
.stat{display:flex;flex-direction:column;gap:var(--sp-8)}
.stat .n{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3vw,44px);line-height:1;letter-spacing:-.012em;font-variation-settings:"opsz" 48}
.stat .l{font-size:13px;color:var(--ink-2)}

/* ---- evidence table ---- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:15px}
.ev th{text-align:left;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:var(--sp-16) var(--sp-12) var(--sp-12) 0;border-bottom:1px solid var(--line);white-space:nowrap}
.ev td{padding:14px var(--sp-12) 14px 0;border-bottom:1px solid var(--line-2);vertical-align:top}
.ev td.num,.ev th.num{text-align:right;padding-right:var(--sp-20);font-family:var(--mono);font-feature-settings:"tnum"}
.ev tbody tr:last-child td{border-bottom:1px solid var(--line)}
.ev tbody td:first-child{font-weight:500}
.ev tfoot td{border:0;color:var(--ink-2);padding-top:var(--sp-12)}
.ev .sub{color:var(--ink-3);font-weight:400}

/* ---- charts ---- */
.chart{display:flex;flex-direction:column;gap:var(--sp-16)}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-16);flex-wrap:wrap}
.chart-head h3{max-width:30ch}
.chart-key{display:flex;gap:var(--sp-16);flex-wrap:wrap;color:var(--ink-2)}
.chart-key span{display:inline-flex;align-items:center;gap:6px}
.chart-key i{width:8px;height:8px;border-radius:50%;background:var(--ink-3)}
.chart-key i.z{background:var(--signal)}
.chart svg{width:100%;height:auto;overflow:visible}
.chart svg text{font-family:var(--mono);font-size:11px;fill:var(--ink-2);letter-spacing:.02em}
.chart svg .v{font-family:var(--serif);font-size:15px;fill:var(--ink);font-variation-settings:"opsz" 20}
.chart svg .lbl{font-family:var(--sans);font-size:13px;fill:var(--ink)}
.chart svg .axis{stroke:var(--line);stroke-width:1}
.chart svg .grid{stroke:var(--line-2);stroke-width:1}
.chart svg .stem{stroke:var(--ink-4);stroke-width:1.5}
.chart svg .stem.z{stroke:var(--signal)}
.chart svg .dot{fill:var(--ink-2)}
.chart svg .dot.z{fill:var(--signal)}
.chart svg .band{fill:var(--tint-2)}
.chart svg .diag{stroke:var(--ink-4);stroke-width:1;stroke-dasharray:3 4}
.chart svg .warn{fill:none;stroke:var(--ink);stroke-width:1}
.chart [data-anim]{transition:transform .9s var(--ease),opacity .6s var(--ease)}
.chart:not(.drawn) [data-anim="grow"]{transform:scaleX(0)}
.chart:not(.drawn) [data-anim="fade"]{opacity:0}
.chart:not(.drawn) [data-anim="pop"]{opacity:0;transform:scale(.4)}

/* ---- external / small cards ---- */
.kv{display:flex;flex-direction:column;gap:6px}
.kv .k{color:var(--ink-2)}
.kv .v{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3vw,44px);line-height:1;margin-top:var(--sp-8);font-variation-settings:"opsz" 48}
.kv .d{font-size:13px;color:var(--ink-2)}

/* ---- not-claimed icon row ---- */
.iconrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.iconrow>div{display:flex;flex-direction:column;gap:var(--sp-16)}
.iconrow svg{width:28px;height:28px;stroke:var(--ink);fill:none;stroke-width:1.2}
.iconrow h3{font-size:19px}
.iconrow p{font-size:14px;color:var(--ink-2)}

/* ---- faq / accordion ---- */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-20);padding:var(--sp-20) 0;font-size:17px;font-weight:450}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;background:linear-gradient(var(--ink),var(--ink)) center/12px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 12px no-repeat;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 var(--sp-30);color:var(--ink-2);max-width:78ch;font-size:15px}
.faq .ans p+p{margin-top:var(--sp-12)}
.faq .ans ol{margin:0;padding-left:1.2em}.faq .ans li{margin:6px 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--sp-60)}

/* ---- page hero ---- */
.page-hero{padding-top:calc(var(--nav-h) + var(--sp-12))}
.page-hero .cells{min-height:min(78vh,720px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.page-hero .ph-title{display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-40);background:transparent}
.page-hero .ph-title .t-paragraph-l{margin-top:var(--sp-20)}
.page-hero .ph-media{position:relative;padding:0;overflow:hidden;background:var(--tint);border-color:transparent;display:flex;align-items:center;justify-content:center}
.page-hero .ph-media picture,.page-hero .ph-media img{width:100%;height:100%;object-fit:cover}
.drift{animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{from{transform:rotate(-1deg) scale(1.02)}to{transform:rotate(1deg) scale(1.04)}}

/* ---- text block ---- */
.textblock{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--sp-30) var(--sp-60);padding:var(--sp-40) 0;border-top:1px solid var(--line)}
.textblock .body{display:flex;flex-direction:column;gap:var(--sp-16);font-size:17px;color:var(--ink-2);max-width:62ch}
.textblock .body strong{color:var(--ink);font-weight:500}

/* ---- people ---- */
.person{display:flex;flex-direction:column;gap:var(--sp-12)}
.person .ph{aspect-ratio:1;border-radius:var(--r-s);background:var(--tint);overflow:hidden}
.person .nm{font-family:var(--serif);font-size:22px}
.person .rl{color:var(--ink-2)}

/* ---- latest / post cards ---- */
.post-card{display:flex;flex-direction:column;gap:var(--sp-16);height:100%;transition:background .2s}
.post-card:hover{background:var(--paper-2)}
.post-card .thumb{aspect-ratio:4/3;border-radius:var(--r-s);background:var(--tint);overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.post-card:hover .thumb img{transform:scale(1.03)}
.post-card .meta{display:flex;gap:var(--sp-12);color:var(--ink-2)}
.post-card h3{font-size:22px}
.post-card p{font-size:15px;color:var(--ink-2)}
.post-card.lead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--sp-30);align-items:end}
.post-card.lead h3{font-size:clamp(26px,2.4vw,34px)}
.tabs{display:flex;gap:var(--sp-8);flex-wrap:wrap;margin-bottom:var(--sp-30)}
.tabs button{height:36px;padding:0 var(--sp-16);border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:border-radius .25s var(--ease),border-color .15s}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tabs button:hover{border-radius:10px;border-color:var(--ink)}
.post-list{border-top:1px solid var(--line)}
.post-list a{display:grid;grid-template-columns:130px 130px minmax(0,1fr) 24px;gap:var(--sp-20);align-items:baseline;padding:var(--sp-20) 0;border-bottom:1px solid var(--line);transition:padding .25s var(--ease)}
.post-list a:hover{padding-left:var(--sp-8)}
.post-list .t{font-family:var(--serif);font-size:20px}
[hidden]{display:none!important}

/* ---- article ---- */
.article-head{padding-top:calc(var(--nav-h) + var(--sp-60));max-width:900px}
.article-meta{display:flex;gap:var(--sp-16);flex-wrap:wrap;color:var(--ink-2);margin-top:var(--sp-30)}
.article-hero{margin-top:var(--sp-40);border-radius:var(--r-l);overflow:hidden;background:var(--tint);aspect-ratio:21/9}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-body{max-width:68ch;margin:var(--sp-60) auto 0;font-size:18px;line-height:1.65;color:#2A343C}
.article-body>*+*{margin-top:1.1em}
.article-body h2{font-size:28px;margin-top:1.8em}
.article-body .standfirst{font-family:var(--serif);font-size:24px;line-height:1.4;color:var(--ink);font-variation-settings:"opsz" 32;font-weight:320}
.article-body ul,.article-body ol{padding-left:1.2em}
.pullstat{margin:2em 0;padding:var(--sp-30);border:1px solid var(--line);border-radius:var(--r-l);display:grid;grid-template-columns:auto 1fr;gap:var(--sp-30);align-items:center}
.pullstat .n{font-family:var(--serif);font-size:56px;line-height:1;font-weight:300;color:var(--signal)}
.pullstat p{font-size:15px;color:var(--ink-2)}
.figure{margin:2em 0}
.figure figcaption{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);margin-top:var(--sp-12);line-height:1.6}
.boxnote{padding:var(--sp-20) var(--sp-30);background:var(--tint);border-radius:var(--r-l);font-size:15px;color:var(--ink-2)}
.boxnote strong{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:400;margin-bottom:6px}

/* ---- CTA band ---- */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-l);background:var(--tint);padding:var(--sp-80) var(--sp-60);display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:var(--sp-30);align-items:end}
.cta-band .bg{position:absolute;inset:0;opacity:.55;pointer-events:none}
.cta-band .bg img{width:100%;height:100%;object-fit:cover}
.cta-band>*:not(.bg){position:relative}

/* ---- unit board ---- */
.board{padding:0;background:#fff;overflow:hidden}
.board-top{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-16) var(--sp-20);border-bottom:1px solid var(--line)}
.board-title{font-weight:500}
.board-tag{color:var(--signal);background:var(--signal-soft);padding:6px 10px;border-radius:var(--r-s)}
.bb{font-size:14px}
.bb th{text-align:left;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:var(--sp-12) var(--sp-20);border-bottom:1px solid var(--line)}
.bb td{padding:14px var(--sp-20);border-bottom:1px solid var(--line-2)}
.bb tr:last-child td{border-bottom:0}
.bb svg{width:60px;height:16px;fill:none;stroke:var(--ink-2);stroke-width:1.4}
.pill{display:inline-block;padding:4px 10px;border-radius:var(--r-s)}
.pill.review{background:var(--signal);color:#fff}.pill.watch{background:var(--signal-soft);color:var(--signal)}.pill.stable{background:var(--tint);color:var(--ink-2)}
.board-foot{padding:var(--sp-12) var(--sp-20);color:var(--ink-3);border-top:1px solid var(--line)}

/* ---- pilot ---- */
.steps{list-style:none;margin:var(--sp-30) 0 0;padding:0;counter-reset:s}
.steps li{display:grid;grid-template-columns:40px 1fr;gap:var(--sp-12);padding:14px 0;border-top:1px solid var(--line);font-size:15px}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps .mono{color:var(--signal);font-size:12px;padding-top:3px}
.form{display:flex;flex-direction:column;gap:var(--sp-16)}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2)}
.form .hint{color:var(--ink-3);font-size:12px}
.form input,.form textarea{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:11px 12px;transition:border-color .15s}
.form input:focus-visible,.form textarea:focus-visible{outline:2px solid var(--signal);outline-offset:1px}
.form [aria-invalid="true"]{border-color:var(--ink)}
.form input:focus,.form textarea:focus{border-color:var(--ink)}
.form-note{color:var(--ink-3)}

/* ---- legal ---- */
.legal-page{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--sp-60);padding-bottom:var(--sp-80)}
.legal-toc{position:sticky;top:calc(var(--nav-h) + 24px);align-self:start;display:flex;flex-direction:column;gap:var(--sp-8);color:var(--ink-2)}
.legal-body{max-width:70ch;font-size:16px;color:var(--ink-2)}
.legal-body h2{font-size:24px;margin:var(--sp-40) 0 var(--sp-12);color:var(--ink)}
.legal-body p+p{margin-top:var(--sp-12)}

/* ---- footer ---- */
.footer{padding:var(--sp-40) 0 var(--sp-30)}
.footer .cards{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr))}
.footer .cards>*{padding:var(--sp-30)}
.footer h4{margin:0 0 var(--sp-16);color:var(--ink-2)}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-8);font-size:14px}
.footer ul a:hover{color:var(--signal)}
.footer .foot-legal{grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--sp-20);flex-wrap:wrap;color:var(--ink-3);padding:var(--sp-20) var(--sp-30)}
.footer .blurb{font-size:14px;color:var(--ink-2);margin-top:var(--sp-16);max-width:34ch}

/* ---- reveals ---- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
.no-webgl #deck,.no-webgl .labels{display:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .lab,.chart [data-anim]{transition:none}
  .drift{animation:none}
  .chart:not(.drawn) [data-anim]{transform:none;opacity:1}
}

/* ---- responsive ---- */
@media (max-width:1100px){
  .cells-4,.cards-4,.iconrow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cells-3,.cards-3{grid-template-columns:1fr}
  .sec-head,.textblock,.faq-grid,.post-card.lead{grid-template-columns:1fr}
  .footer .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal-page{grid-template-columns:1fr}.legal-toc{position:static}
}
@media (max-width:768px){
  :root{--nav-h:56px}
  .nav{display:none}
  .navbtn{min-width:0;height:36px;padding:0 12px;font-size:11.5px}
  .menu-btn{display:inline-flex}
  .top.open::before{opacity:1;inset:0 0 -100vh 0;background:var(--paper);-webkit-mask-image:none;mask-image:none}
  .top.open .nav{display:flex;position:absolute;top:calc(var(--nav-h) + 4px);left:var(--pad-x);right:var(--pad-x);flex-direction:column;gap:6px}
  .top.open .nav a{justify-content:flex-start;height:52px;font-size:13px}
  .logo{height:36px}
  .cellbtn,.btn-pair{height:40px}.btn-pair .ico{width:40px}
  .cell,.cards>*{padding:var(--sp-20)}
  .cells-2,.cards-2{grid-template-columns:1fr}
  .sec{padding:var(--sp-60) 0}
  .hero{height:300vh}
  .hero-grid{padding:calc(var(--nav-h) + 8px) 12px 12px;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto}
  .cell-object{grid-column:1;grid-row:1}
  .cell-title{grid-column:1;grid-row:2;padding:var(--sp-20)}
  .cell-lede{grid-column:1;grid-row:3;gap:var(--sp-12)}
  .cell-meta{display:none}
  h1{font-size:clamp(30px,8vw,38px)}
  .lab .s{display:none}
  .page-hero .cells{grid-template-columns:1fr;min-height:0}
  .page-hero .ph-media{aspect-ratio:1}
  .bb th,.bb td{padding:12px}
  .ev{min-width:600px}
  .iconrow{grid-template-columns:1fr}
  .post-list a{grid-template-columns:1fr;gap:4px}
  .cta-band{grid-template-columns:1fr;padding:var(--sp-40) var(--sp-20)}
  .pullstat{grid-template-columns:1fr}
  .footer .cards{grid-template-columns:1fr}
  .article-body{font-size:17px}
}
.notdo-i{padding:var(--sp-12) 0;border-bottom:1px solid var(--line);font-size:15px}
.cell-meta{margin:0}
.footer .logo{display:inline-flex}

/* ================= review wave 1 ================= */
h1,h2,h3{text-wrap:balance}
.t-paragraph-l,.t-paragraph-m,.article-body p{text-wrap:pretty}
.cell{border-color:rgba(18,25,31,.2)}
/* colour: atmosphere in media cells and tinted sections */
.cell-object{background:transparent!important;border-color:transparent!important}
.atmos{position:absolute;z-index:0;border-radius:var(--r-l);background:var(--atmos);pointer-events:none}
.page-hero .ph-media{background:var(--atmos)}
.sec.tinted{background:linear-gradient(180deg,var(--mist),#E9F0EC 60%,#E6EDF2)}
.post-card .thumb,.article-hero{background:var(--atmos)}
.cta-band{background:var(--atmos)}
.cta-band .bg{opacity:1}
.cta-band .bg img{object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 25%,#000 70%);mask-image:linear-gradient(90deg,transparent 25%,#000 70%)}
/* shared borders in hero grids */
.hero-grid{gap:0}
.hero-grid .cell-lede{margin-top:-1px}
.hero-grid .cell-object{margin-left:12px}
.page-hero .cells{gap:12px}
/* unboxed tables and figure rows */
.tablock{border-top:1px solid var(--ink);padding-top:var(--sp-8)}
.rule-row{display:grid;border-top:1px solid var(--ink)}
.rule-row.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rule-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rule-row>*{padding:var(--sp-30) var(--sp-30) var(--sp-20) 0}
.rule-row>*+*{border-left:1px solid var(--line);padding-left:var(--sp-30)}
.stat .n{font-size:clamp(40px,4vw,58px)}
.stat .l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
/* footnotes in sans; numerals lining tabular */
.tnote{font-family:var(--sans);font-size:13px;line-height:1.55;color:var(--ink-3);max-width:80ch;letter-spacing:0}
.ev td.num,.ev td.mono{font-family:var(--sans);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
/* section head alignment + rhythm */
.sec-head{align-items:start}
.sec-head>p.t-paragraph-l{padding-top:.4em}
.sec{padding:var(--sp-120) 0}
#scale{padding:var(--sp-60) 0 0}
.sec.first{padding-top:calc(var(--nav-h) + var(--sp-80))}
.cells-2.align-top{align-items:start}
.cells-2.align-top>.cell:first-child{position:sticky;top:calc(var(--nav-h) + 24px)}
.textblock{align-items:start}
.textblock .eyebrow{padding-top:7px}
/* lead-time numeral */
.bignum{font-family:var(--serif);font-weight:300;font-size:clamp(72px,8vw,120px);line-height:.9;letter-spacing:-.03em;font-variation-settings:"opsz" 72;margin:0 0 var(--sp-8);color:var(--signal)}
.bignum span{color:var(--ink)}
/* icon row numerals */
.iconrow .idx{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--signal)}
/* cobalt discipline */
.steps .mono{color:var(--ink-3)}
.board-tag{background:none;border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.pill.watch{background:transparent;box-shadow:inset 0 0 0 1px var(--signal);color:var(--signal)}
/* nav */
.nav a,.navbtn{border-color:rgba(18,25,31,.28)}
.nav a[aria-current="page"]::before{content:"";width:6px;height:6px;border-radius:1px;background:var(--signal);margin-right:8px}
.logo svg{flex:none}
/* articles */
.article-head{max-width:68ch;margin-inline:auto}
.article-hero{aspect-ratio:16/7}
.article-body ul{list-style:none;padding-left:0}
.article-body ul li{position:relative;padding-left:22px}
.article-body ul li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--ink-3)}
/* accordions */
.faq summary{font-size:16px;font-weight:400}
/* drift: scale only */
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.045)}}
/* charts */
.chart{position:relative}
.chart-key i{background:var(--ink-2)}
.chart svg .stem{stroke:#7C868D}
/* footer */
.footer{padding:var(--sp-80) 0 var(--sp-30)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:var(--sp-40);border-top:1px solid var(--ink);padding-top:var(--sp-30)}
.footer h2{margin:0 0 var(--sp-16);color:var(--ink-2)}
.footer .blurb{margin:0;font-size:15px}
.wordmark{font-family:var(--serif);font-weight:300;font-size:clamp(88px,17vw,260px);line-height:.8;letter-spacing:-.04em;font-variation-settings:"opsz" 72;color:var(--ink);margin:var(--sp-60) 0 var(--sp-20);white-space:nowrap}
.footer .foot-legal{display:flex;justify-content:space-between;gap:var(--sp-20);flex-wrap:wrap;color:var(--ink-3);padding:var(--sp-16) 0 0;border-top:1px solid var(--line)}
/* updates lead card */
.post-card.lead .thumb{aspect-ratio:16/9}
/* hero sizing on short or mid viewports */
@media (min-width:769px){.hero-grid{grid-template-rows:minmax(0,1fr) auto}.cell-lede{gap:var(--sp-30)}}
@media (min-width:769px) and (max-height:800px){h1{font-size:clamp(36px,min(4.8vw,7vh),68px)}.cell-meta{display:none}}
@media (prefers-reduced-motion:reduce){.hero{height:auto}.stage{position:relative;height:100svh}}
@media (max-width:1100px){.rule-row.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-row.cols-4>*:nth-child(3){border-left:0;padding-left:0}.rule-row.cols-4>*:nth-child(n+3){border-top:1px solid var(--line)}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>*:first-child{grid-column:1/-1}.cells-2.align-top>.cell:first-child{position:static}}
@media (max-width:768px){
  .sec{padding:var(--sp-80) 0}
  .navbtn,.menu-btn,.tabs button,.cellbtn,.btn-pair{height:44px}.btn-pair .ico{width:44px}
  .legal-toc a,.article-head>.link{padding:6px 0;display:inline-block}
  .rule-row.cols-3{grid-template-columns:1fr}.rule-row.cols-3>*+*{border-left:0;padding-left:0;border-top:1px solid var(--line)}
  .rule-row>*{padding:var(--sp-20) var(--sp-12) var(--sp-16) 0}
  .hero-grid .cell-object{margin-left:0}
  .board-top{flex-wrap:wrap;gap:8px}.bb td{white-space:nowrap}
  .bb th:nth-child(5),.bb td:nth-child(5){display:none}
  /* stacked evidence tables */
  .ev{min-width:0}.ev thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ev tr{display:block;padding:12px 0;border-bottom:1px solid var(--line-2)}
  .ev td{display:flex;justify-content:space-between;gap:16px;border:0!important;padding:3px 0!important;text-align:right}
  .ev td:first-child{display:block;text-align:left;padding-bottom:6px!important}
  .ev td:empty{display:none}
  .ev td[data-label]:not(:first-child)::before{content:attr(data-label);font:11px/1.9 var(--mono);letter-spacing:.06em;color:var(--ink-2);text-transform:uppercase;text-align:left}
  .ev tfoot tr{border:0}
  .wordmark{margin-top:var(--sp-40)}
}
@media (max-width:768px) and (max-height:700px){.hero-grid{grid-template-rows:minmax(140px,1fr) auto auto}.cell-title .eyebrow{display:none}.cell-lede .t-paragraph-l{font-size:15px}}
@media (max-width:360px){.top .navbtn.primary{display:none}}
.chart svg .subt{font-family:var(--mono);font-size:10px;fill:var(--ink-3)}

/* ================= review wave 2 (Isomorphic comparison) ================= */
:root{--r-l:16px}
/* hero: full-width colour field, joined ink-bordered frame */
.hero .stage{background:linear-gradient(180deg,rgba(246,245,240,0) 70%,var(--paper)),var(--atmos)}
.atmos{display:none}
.hero-grid{padding-top:calc(var(--nav-h) + var(--sp-40))}
.hero-grid .cell{border-color:var(--ink)!important;background:rgba(246,245,240,.35)}
.hero-grid .cell-object{margin-left:-1px!important;border:1px solid var(--ink)!important;background:transparent!important}
.page-hero{padding:calc(var(--nav-h) + var(--sp-60)) 0 var(--sp-60);background:linear-gradient(180deg,rgba(246,245,240,0) 75%,var(--paper)),var(--atmos)}
.page-hero .cells{gap:0}
.page-hero .cell{border-color:var(--ink);background:rgba(246,245,240,.35)}
.page-hero .ph-media{margin-left:-1px;border:1px solid var(--ink)!important}
/* ink for structural borders; 48px controls */
.cellbtn,.btn-pair .lbl,.btn-pair .ico,.nav a,.navbtn,.logo{border-color:var(--ink)}
.cellbtn,.btn-pair{height:48px;font-size:12.5px}.btn-pair .ico{width:48px}
/* rhythm */
.sec{padding:var(--sp-60) 0}
.sec.tinted{padding:var(--sp-120) 0;margin:var(--sp-60) 0}
#scale{padding:var(--sp-60) 0 0}
/* type */
h2,.t-headline-1{font-size:clamp(30px,3.3vw,46px);line-height:1.08}
.t-paragraph-l{font-size:clamp(17px,1.4vw,20px);line-height:1.45;color:#2A343C}
/* cobalt reserved for model output */
h1 em,h2 em{color:inherit}
.eyebrow.sig::before{background:currentColor}
.nav a[aria-current="page"]::before{background:var(--ink)}
/* padding */
@media(min-width:769px){.cell,.cards>*{padding:var(--sp-40)}.hero-grid .cell,.page-hero .cell{padding:50px}.page-hero .ph-media{padding:0}.board{padding:0!important}}
/* post cards: image carries the radius, no double frame */
.post-card .thumb{border-radius:var(--r-l)}
.cells-2>.post-card:not(.lead){border:0;padding:0;background:none}
.cells-2>.post-card:not(.lead):hover{background:none}
/* footer wordmark smaller */
.wordmark{font-size:clamp(72px,11vw,170px)}
/* motion: press feedback */
.navbtn,.nav a,.cellbtn,.tabs button,.logo{transition-property:border-radius,border-color,background,transform}
.navbtn:active,.nav a:active,.cellbtn:active,.tabs button:active{transform:scale(.98)}
/* motion: load choreography, staggers, settle, page transitions */
@keyframes enter{from{opacity:0;transform:translateY(24px)}}
@keyframes fadein{from{opacity:0}}
@keyframes settle{from{transform:scale(1.06)}to{transform:scale(1)}}
.drift{animation:none}
@media (prefers-reduced-motion:no-preference){
  html:not(.jump) .hero-grid .cell,html:not(.jump) .page-hero .cell{animation:enter .7s var(--ease) both}
  .cell-title,.page-hero .ph-title{animation-delay:.05s!important}.cell-object,.page-hero .ph-media{animation-delay:.12s!important}.cell-lede{animation-delay:.2s!important}
  html:not(.jump) #deck{animation:fadein .9s .15s var(--ease) both}
  .rv.stagger>*{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
  .rv.stagger.in>*{opacity:1;transform:none}
  .rv .eyebrow{clip-path:inset(0 100% 0 0)}
  .rv.in .eyebrow{clip-path:inset(0 0 0 0);transition:clip-path .45s steps(18) .1s}
  .top.open .nav a{animation:enter .35s var(--ease) both;animation-delay:calc(var(--i,0)*40ms)}
  @supports (animation-timeline:view()){.drift{animation:settle linear both;animation-timeline:view();animation-range:entry 0% cover 60%}}
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:var(--ease)}
.top{view-transition-name:header}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}:active{transform:none!important}}
@media(max-width:768px){.hero-grid{padding-left:var(--pad-x);padding-right:var(--pad-x)}.sec{padding:var(--sp-40) 0}.sec.tinted{padding:var(--sp-60) 0;margin:var(--sp-40) 0}}
.notdo-list{list-style:none;margin:var(--sp-30) 0 0;padding:0}
.latest .post-card{border:0;padding:0;background:none}
.latest .post-card:hover{background:none}
.rv.stagger>*{--i:0}

/* ===== wave 3: de-template type. No mono caps labels, no grey small print ===== */
.t-tag-s,.t-tag-xs,.cellbtn,.btn-pair,.nav a,.navbtn,.tabs button,.ev th,.bb th,.lab .t,.stat .l,.boxnote strong,.iconrow .idx,.tnote,.figure figcaption,.foot-legal,.form-note,.board-foot,.post-card .meta,.article-meta,.kv .k{font-family:var(--sans);text-transform:none;letter-spacing:-.005em}
.t-tag-s{font-size:14px;font-weight:500}
.t-tag-xs{font-size:13px;font-weight:450}
.t-tag-xs.dim,.post-card .meta,.article-meta{color:var(--ink-2)}
.cellbtn,.btn-pair{font-size:15px;font-weight:500}
.nav a,.navbtn{font-size:15px;font-weight:450;min-width:0}
.tabs button{font-size:14px;font-weight:450}
.ev th,.bb th{font-size:13px;font-weight:500;color:var(--ink)}
.stat .l,.kv .k{font-size:14px;font-weight:500;color:var(--ink)}
.tnote,.figure figcaption,.form-note,.board-foot{font-size:14px;line-height:1.55;color:var(--ink-2)}
.foot h2.t-tag-xs,footer h2.t-tag-xs{font-size:14px;font-weight:500;color:var(--ink)}
.sec-head{margin-bottom:var(--sp-30)}
.nav a[aria-current="page"]::before{content:none}
.nav a[aria-current="page"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-30) var(--sp-20)}
.person p{margin:0}
.person .ph{aspect-ratio:4/5;border-radius:var(--r-m)}
.person .nm{font-family:var(--serif);font-size:24px;font-weight:350;letter-spacing:-.02em;margin-top:var(--sp-4)}
.person .cr{color:var(--ink-2);font-size:15px}
.advisors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--sp-20);margin-top:var(--sp-60);padding-top:var(--sp-20);border-top:1px solid var(--ink)}
.adv-list{list-style:none;margin:0;padding:0}
.adv-list li{display:flex;justify-content:space-between;gap:var(--sp-20);padding:var(--sp-16) 0;border-bottom:1px solid var(--line)}
.adv-list .rl{color:var(--ink-2)}
.todo .ph{background:repeating-linear-gradient(135deg,var(--tint) 0 12px,var(--paper) 12px 24px);outline:1px dashed var(--ink-3);outline-offset:-1px}
.todo .nm,.todo .rl,.todo .cr,li.todo span{color:var(--ink-3)}
@media (max-width:768px){.people{grid-template-columns:1fr 1fr}.advisors{grid-template-columns:1fr}}
.people{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-40) var(--sp-20)}
.person{gap:var(--sp-4)}
.person .ph{aspect-ratio:1;margin-bottom:var(--sp-12)}

/* ===== wave 4: bone, petrol, cobalt. Fewer boxes, two night bands per page ===== */
:root{
  --paper:#F4F3EE; --paper-2:#FAF9F6; --stone:#E7E5DD; --stone-2:#DCD9CF;
  --night:#0E1B21; --night-2:#15252C;
  --ink:#0F1720; --ink-2:#46515C; --ink-3:#66707A; --ink-4:#B4B8B6;
  --line:#D9D6CC; --line-2:#E6E3DA; --rule:#0F1720;
  --on-night:#EDEBE4; --on-night-2:#A9B3B6; --line-night:rgba(237,235,228,.14);
  --signal:#1F4FD1; --signal-ink:#173FA8; --signal-wash:#E3E9FA; --signal-night:#8AA4FF;
  --tint:var(--stone); --tint-2:var(--stone-2); --mist:var(--paper); --mint:var(--stone); --sky:var(--stone); --atmos:var(--paper); --signal-soft:var(--signal-wash);
  --r-xs:2px; --r-s:3px; --r-m:4px; --r-l:6px;
  --serif:"Switzer",system-ui,sans-serif; --sans:"Switzer",system-ui,sans-serif; --mono:"Fragment Mono",ui-monospace,monospace;
}
html{background:var(--paper)}
body{font-feature-settings:normal;letter-spacing:-.003em;font-variation-settings:normal}
/* type: one grotesk, light display, tight tracking */
h1,h2,h3,.t-display-1,.t-display-2,.t-headline-1,.t-headline-2{font-weight:300;font-variation-settings:normal}
h1,.t-display-1{letter-spacing:-.042em;line-height:.96}
h2,.t-headline-1{letter-spacing:-.03em}
h3,.t-headline-2{letter-spacing:-.02em;font-weight:380}
h1 em,h2 em{font-style:normal;font-weight:300;color:var(--signal)}
.stat .n,.kv .v,.bignum,.pullstat .n{font-weight:250;letter-spacing:-.045em;font-variation-settings:normal}
.logo,.person .nm,.post-list .t,.article-body .standfirst,.chart svg .v{font-variation-settings:normal}
/* leftover mono */
.ev th.num,.ev td.num,.ev td.mono,.lab .s,.bb td.mono,.ev td[data-label]::before{font-family:var(--sans);text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}
.chart svg text,.chart svg .subt{font-family:var(--mono);text-transform:none;letter-spacing:0;font-size:11px}
.chart svg .v{font-family:var(--sans);font-weight:500}
/* surfaces: no gradients */
.hero .stage,.page-hero,.page-hero .ph-media,.post-card .thumb,.article-hero,.cta-band{background:var(--paper)!important}
.page-hero .ph-media{background:var(--stone)!important}
.sec.tinted{background:var(--stone);border:0;margin:0}
.cta-band .bg{display:none}
/* boxes off: hero and page hero sit on the grid */
.hero-grid .cell,.page-hero .cell{border:0!important;background:transparent!important;border-radius:0}
.hero-grid .cell-lede,.page-hero .ph-title .t-paragraph-l{border-top:1px solid var(--rule)!important;margin-top:0}
.hero-grid .cell-title{padding-bottom:var(--sp-30)!important}
.hero-grid .cell-lede{padding-top:var(--sp-30)!important}
.hero-grid .cell-title,.hero-grid .cell-lede{padding-left:0!important;padding-right:var(--sp-40)!important}
.page-hero .ph-title{padding-left:0!important}
.page-hero .ph-media{border-radius:var(--r-l)}
h1{font-size:clamp(44px,6vw,92px)}
.cell{border-radius:var(--r-l)}
.chart.cell,figure.cell.chart{border:0;border-top:1px solid var(--rule);border-radius:0;background:transparent!important;padding:var(--sp-20) 0 0}
.cards{border-radius:var(--r-l)}
/* nav: text links, one filled CTA */
.logo{border:0!important;background:transparent;padding-left:0}
.nav a{border:0!important;background:transparent;min-width:0;padding:0 var(--sp-12);border-radius:0}
.nav a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.nav a[aria-current="page"]{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.nav a.navcta,.nav .navcta,.top .cta{border-radius:var(--r-m)}
.logo:hover,.nav a:hover,.navbtn:hover,.tabs button:hover{border-radius:var(--r-s)}
.top.scrolled::before{background:rgba(244,243,238,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
/* buttons: one piece, arrow inline; secondary is a text link */
.btn-pair .lbl{border-radius:var(--r-m) 0 0 var(--r-m);padding-right:var(--sp-8)}
.btn-pair .ico{border-radius:0 var(--r-m) var(--r-m) 0;width:40px!important;border-left:0!important;margin-left:0}
.btn-pair.fill .ico{background:var(--ink);color:var(--paper)}
.btn-pair:not(.fill) .lbl,.btn-pair:not(.fill) .ico{border-color:var(--ink)}
.btn-pair.fill:hover .lbl,.btn-pair.fill:hover .ico{background:#26323b;border-color:#26323b}
.cellbtn:not(.fill){border:0!important;background:transparent!important;padding:0 var(--sp-8);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;border-radius:0}
.cellbtn:not(.fill):hover{text-decoration-color:var(--signal);color:var(--signal)}
/* night band */
.sec.night,.footer{background:var(--night);color:var(--on-night)}
.sec.night :is(h1,h2,h3,.stat .n,.kv .v,.stat .l,.kv .k,.bignum){color:var(--on-night)}
.sec.night :is(.t-paragraph-l,.t-paragraph-m,.tnote,figcaption,p,.d,.sub){color:var(--on-night-2)}
.sec.night :is(.rule-row,.tablock){border-top-color:var(--on-night)}
.sec.night :is(.rule-row>*+*,.ev th,.ev td){border-color:var(--line-night)}
.sec.night .chart.cell{border-top-color:var(--on-night)}
.sec.night .chart svg text{fill:var(--on-night-2)}
.sec.night .chart svg .lbl,.sec.night .chart svg .v{fill:var(--on-night)}
.sec.night .chart svg :is(.axis,.grid){stroke:var(--line-night)}
.sec.night .chart svg .stem{stroke:var(--on-night-2)}
.sec.night .chart svg .dot{fill:var(--on-night-2)}
.sec.night .chart svg .stem.z{stroke:var(--signal-night)}
.sec.night .chart svg .dot.z{fill:var(--signal-night)}
.sec.night .faq details,.sec.night .faq summary{border-color:var(--line-night);color:var(--on-night)}
.sec.night .link{border-color:var(--on-night-2);color:var(--on-night)}
.sec.night sup{color:var(--signal-night)}
.sec.night{padding:var(--sp-120) 0}
/* closing band flows into the footer */
.sec.night.close{padding:var(--sp-120) 0 var(--sp-60)}
.sec.night .cta-band{background:transparent!important;padding:0;border-radius:0}
.sec.night .btn-pair.fill .lbl,.sec.night .btn-pair.fill .ico{background:var(--on-night);border-color:var(--on-night);color:var(--night)}
.sec.night .btn-pair.fill:hover .lbl,.sec.night .btn-pair.fill:hover .ico{background:#fff;border-color:#fff}
.sec.night .cellbtn:not(.fill){color:var(--on-night)}
.footer{padding-top:var(--sp-40)}
.footer a,.footer .blurb{color:var(--on-night)}
.footer h2,.footer h2.t-tag-xs,.footer .blurb{color:var(--on-night-2)!important}
.footer ul a:hover{color:var(--signal-night)}
.foot-grid{border-top-color:var(--line-night)!important}
.footer .foot-legal{border-top-color:var(--line-night);color:var(--on-night-2)}
.footer .wordmark{color:var(--on-night);opacity:.08;margin-bottom:-.12em;line-height:.8;font-weight:300;letter-spacing:-.05em;font-size:clamp(96px,22vw,340px)}
.footer .foot-legal{position:relative}
/* board on stone */
.board{border:0;border-radius:var(--r-l);box-shadow:none}
.pill.stable{background:var(--stone-2);color:var(--ink-2)}
/* charts */
.chart svg .band{fill:var(--stone)}
.chart svg .stem{stroke:var(--ink-3)}
/* rhythm */
.sec{padding:var(--sp-120) 0}
.sec.tinted{padding:var(--sp-120) 0}
@media(max-width:768px){.sec,.sec.tinted,.sec.night{padding:var(--sp-80) 0}.sec.night.close{padding:var(--sp-80) 0 var(--sp-40)}}
/* textblock: lead sentence left, body right */
.textblock .lead-h{margin:0;font-size:clamp(21px,1.8vw,26px);max-width:18ch}
.chart svg .gt{font-family:var(--sans);font-size:13px;font-weight:500;fill:var(--ink)}.sec.night .chart svg .gt{fill:var(--on-night)}
.page-hero .ph-title .t-paragraph-l{padding-top:var(--sp-30)}

/* ===== wave 5: review fixes (type, design, motion) + new motion ===== */
/* one family: Fragment Mono retired */
.chart svg text,.chart svg .subt{font-family:var(--sans);font-size:11.5px;font-variant-numeric:tabular-nums}
.chart svg .subt{font-size:12px}
/* type */
.ev td[data-label]:not(:first-child)::before{font:400 13px/1.9 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-2)}
.page-hero h1{font-size:clamp(40px,4.8vw,72px);padding-bottom:var(--sp-12)}
.article-head h1{font-size:clamp(38px,4.2vw,62px);line-height:1.02}
.article-body h2,.legal-body h2{max-width:none;text-wrap:balance}
.hero h1{text-wrap:wrap}
.ev th,.bb th,.stat .l,.kv .k,.t-tag-xs{font-weight:400;font-size:13px;letter-spacing:.005em}
.ev th,.bb th,.stat .l,.kv .k{color:var(--ink-2)}
.ev tbody td:first-child{font-weight:450}
.ev td.num,.ev th.num{text-align:right}
.stat .n,.kv .v,.bignum{font-weight:300;letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums}
.caveat-lead{margin:0;font-size:clamp(20px,1.6vw,23px);line-height:1.35;font-weight:350;letter-spacing:-.012em;max-width:34ch;color:var(--ink)}
.logo span{font-weight:450;letter-spacing:-.03em}
/* design: proof band, footer */
#scale{padding:var(--sp-120) 0}
html{background:var(--night)}
body{background:var(--paper)}
.footer{overflow:hidden}
.footer .wordmark{opacity:1;color:var(--night-2);margin:var(--sp-40) 0 -.26em;line-height:.8}
/* design: boxes become rules */
.sec .cells-2>.cell:not(.ph-media):not(.form):not(.board){background:transparent!important;border:0;border-top:1px solid var(--rule);border-radius:0;padding:var(--sp-30) 0 0!important}
.sec .cells-2{gap:var(--sp-60)}
.boxnote{background:none;border-top:1px solid var(--rule);border-radius:0;padding:var(--sp-16) 0 0}
.cards{border:0;background:none;gap:0 var(--sp-40);border-radius:0;overflow:visible}
.cards>*{background:none!important;padding:var(--sp-20) 0 0!important;border-top:1px solid var(--rule)}
.iconrow .idx{color:var(--ink-3)}
.caveat-line{border-left:0;background:none;padding:0;display:block;color:var(--ink-2)}
.post-card.lead{border:0;padding:0;background:none}
.post-card .thumb{border-radius:0}
/* page-hero stills sit on the paper, no plate */
.page-hero .ph-media{background:transparent!important;border-radius:0;overflow:visible}
.page-hero .ph-media img{object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}
/* hero composition */
.hero-grid{padding-top:calc(var(--nav-h) + var(--sp-60))}
.hero-grid .cell-lede{border-top:0!important}
.hero-grid .cell-lede>div>p:first-child{border-top:1px solid var(--rule);padding-top:var(--sp-30);max-width:46ch}
/* rhythm */
.sec-head .link,.sec-head>a{justify-self:end}
.sec+.sec:not(.tinted):not(.night){padding-top:var(--sp-40)}
/* leadership placeholders: calm, no hatching */
.people{grid-template-columns:repeat(3,minmax(0,1fr))}
.todo .ph{background:var(--stone);outline:0}
.person .ph{aspect-ratio:4/5}
.person .rl,.person .cr{font-size:14px}
/* mobile controls */
.menu-btn{border:0!important;background:transparent!important;padding:0 var(--sp-8)}
.cellbtn:not(.fill){padding:0}
.article-head,.article-body{max-width:720px;margin-inline:auto}
/* motion: focus, header, labels, nav */
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.sec.night :focus-visible,.footer :focus-visible,.dw :focus-visible{outline-color:var(--on-night)}
.cellbtn:not(.fill):hover{color:var(--ink);text-decoration-color:var(--ink)}
.footer ul a:hover{color:#fff}
.top.scrolled::before{inset:0;-webkit-mask-image:none;mask-image:none;background:rgba(244,243,238,.94);box-shadow:0 1px 0 var(--line);transition:background .25s}
.top.on-night::before{background:rgba(14,27,33,.9);box-shadow:0 1px 0 var(--line-night);opacity:1}
.top.on-night :is(.logo,.nav a,.menu-btn){color:var(--on-night)}
.top.on-night .navbtn.primary{background:var(--on-night);color:var(--night);border-color:var(--on-night)}
.lab::before,.lab[data-key="now"]::before{display:none}
.lab .t{font-size:13px;font-weight:450;background:var(--paper);padding:2px 6px;border-radius:4px}
.lab .s{font-size:12px;background:rgba(244,243,238,.85);padding:0 6px;border-radius:4px}
.nav a:hover,.nav a[aria-current="page"]{text-decoration:none}
.nav a{background:linear-gradient(currentColor,currentColor) var(--sp-12) calc(100% - 8px)/0 1px no-repeat!important;transition:background-size .35s var(--ease)}
.nav a:hover,.nav a[aria-current="page"]{background-size:calc(100% - 2 * var(--sp-12)) 1px!important}
@media (max-width:768px){
  #scale .rule-row.cols-4>*:nth-child(even){padding-left:var(--sp-16)}
  .people{grid-template-columns:1fr 1fr}
  .top.open .nav{gap:0}
  .top.open .nav a{font-size:32px;font-weight:300;letter-spacing:-.02em;height:64px;border-bottom:1px solid var(--line)!important;background:none!important;padding:0}
  .top.open::before{transition:opacity .25s}
}
@media (prefers-reduced-motion:reduce){.btn-pair:active,.navbtn:active,.cellbtn:active{transform:none}}
/* hero pin: shorter, the horizons reveal in turn */
.hero{height:220vh}
@media (max-width:768px){.hero{height:160vh}}
@media (prefers-reduced-motion:reduce){.hero{height:auto}}
/* reveals: lighter block fade; headlines by line mask */
.rv{transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
h1.split .ln,h2.split .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
h1.split .li,h2.split .li{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--l) * 70ms)}
h1.split.lines-in .li,h2.split.lines-in .li{transform:none}
/* chart hover readout */
.chart-plot{position:relative}
.chart svg .hit{fill:transparent}
.chart-plot.hov svg .row{opacity:.35;transition:opacity .2s}
.chart-plot.hov svg .row.on{opacity:1}
.chart-tip{position:absolute;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .15s;background:var(--ink);color:var(--paper);font-size:13px;line-height:1.3;padding:6px 10px;border-radius:var(--r-m);white-space:nowrap;font-variant-numeric:tabular-nums;z-index:2}
.chart-plot.hov .chart-tip{opacity:1}
.sec.night .chart-tip{background:var(--on-night);color:var(--night)}
/* static grain on the dark surfaces */
.sec.night,.footer,.dw{position:relative;isolation:isolate}
.sec.night::after,.footer::after,.dw::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.5;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sec.night>*,.footer>*{position:relative}
/* detection window */
.dw{height:320vh;background:var(--night);color:var(--on-night)}
.dw-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.dw-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:var(--sp-60);align-items:center;width:100%}
.dw h2{color:var(--on-night);font-size:clamp(30px,3vw,44px);max-width:14ch}
.dw-intro{color:var(--on-night-2);font-size:17px;line-height:1.5;margin:var(--sp-20) 0 var(--sp-30);max-width:40ch}
.dw-read{margin:0;display:grid;gap:0;border-top:1px solid var(--line-night)}
.dw-read div{display:flex;justify-content:space-between;gap:var(--sp-20);padding:var(--sp-12) 0;border-bottom:1px solid var(--line-night)}
.dw-read dt{color:var(--on-night-2);font-size:14px}
.dw-read dd{margin:0;font-size:17px;font-variant-numeric:tabular-nums;color:var(--on-night);transition:color .3s}
.dw.is-flagged [data-r="state"],.dw.is-flagged [data-r="lead"]{color:var(--signal-night)}
.dw-note{margin:var(--sp-20) 0 0;color:var(--on-night-2);font-size:13px;line-height:1.55;max-width:46ch}
.dw-fig{position:relative;margin:0;aspect-ratio:2/1;width:100%}
.dw-fig svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dw-base{stroke:var(--line-night);stroke-width:1}
.dw-thr{stroke:var(--on-night-2);stroke-width:1;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.dw-onset{stroke:var(--on-night);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.6}
.dw-ghost{fill:none;stroke:var(--on-night);stroke-opacity:.12;stroke-width:1.5;vector-effect:non-scaling-stroke}
.dw-trace{fill:none;stroke:var(--on-night);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.dw-cursor{stroke:var(--on-night);stroke-opacity:.35;stroke-width:1;vector-effect:non-scaling-stroke}
.dw-dot{fill:var(--on-night)}
.dw-tick{stroke:var(--on-night);stroke-opacity:.18;stroke-width:1;vector-effect:non-scaling-stroke}
.dw-tick.past{stroke-opacity:.6}
.dw-span{fill:var(--signal-night);opacity:.9}
.dw-flagline{stroke:var(--signal-night);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .3s}
.dw-flag,.dw-flag-ring{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .3s,transform .5s cubic-bezier(.16,1,.3,1)}
.dw-flag{fill:var(--signal-night)}
.dw-flag-ring{fill:none;stroke:var(--signal-night);stroke-opacity:.45;stroke-width:1.5}
.dw.is-flagged :is(.dw-flag,.dw-flag-ring){opacity:1;transform:none}
.dw.is-flagged .dw-flagline{opacity:.6}
.dw-lab{position:absolute;transform:translateY(-50%);font-size:12.5px;color:var(--on-night-2);white-space:nowrap;pointer-events:none}
.dw-lab-thr{transform:translateY(-140%)}
.dw-lab-onset{transform:translate(-50%,-150%);color:var(--on-night)}
.dw-lab-flag{transform:translate(-50%,-260%);color:var(--signal-night);opacity:0;transition:opacity .3s}
.dw.is-flagged .dw-lab-flag{opacity:1}
.dw-lab-ax{transform:none}
.dw-end{transform:translateX(-100%)}
.dw-lab-span{transform:translate(-50%,-50%);color:var(--signal-night);font-size:15px;font-variant-numeric:tabular-nums}
.dw.static{height:auto}
.dw.static .dw-pin{position:relative;height:auto;padding:var(--sp-120) 0}
@media (max-width:900px){
  .dw{height:260vh}
  .dw-grid{grid-template-columns:1fr;gap:var(--sp-20)}
  .dw h2{font-size:26px;max-width:none}
  .dw-intro{font-size:15px;margin:var(--sp-12) 0 var(--sp-16)}
  .dw-read div{padding:8px 0}
  .dw-read dd{font-size:15px}
  .dw-note{font-size:12px;margin-top:var(--sp-12)}

  .dw-lab{font-size:11px}
}
:root{--mono:"Switzer",system-ui,sans-serif}

/* ===== wave 6: plainness, claims, polish ===== */
/* content never waits on script: without .js everything is shown */
html:not(.js) .rv,html:not(.js) .rv.stagger>*{opacity:1!important;transform:none!important}
/* line reveal: room for descenders; words keep hyphen breaks */
h1.split .ln,h2.split .ln{padding:.06em 0 .24em;margin:-.06em 0 -.24em}
h1.split .w,h2.split .w{white-space:nowrap}
/* type floors: notes and labels readable, one label style */
:root{--label:400 14px/1.4 var(--sans)}
.tnote,figcaption.tnote,.figure figcaption,.board-foot,.form-note{font-size:15px;line-height:1.5}
.boxnote strong{font:500 15px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.chart svg text,.chart svg .subt{font-size:12.5px}
.stat .l{font-size:15px}
.kv .k{font:450 17px/1.3 var(--sans);color:var(--ink);letter-spacing:-.005em}
.kv .d{font-size:15px;line-height:1.5}
.iconrow p,.cards p{font-size:15px;line-height:1.5}
.t-tag-xs,.post-card .meta,.article-meta,.ev th,.bb th{font:var(--label);letter-spacing:0}
.stat .n,.kv .v,.bignum,.ep-v{font-variant-numeric:lining-nums proportional-nums}
p,li,dd,figcaption,.tnote,.blurb{text-wrap:pretty}
.textblock .lead-h{font-size:clamp(24px,2.3vw,34px);font-weight:350;letter-spacing:-.02em;line-height:1.1}
.steps .idx{color:var(--ink-2);font-size:13px;padding-top:3px;font-variant-numeric:tabular-nums}
/* one interior H1 size */
.page-hero h1,.sec.first h1{font-size:clamp(40px,4.8vw,72px)}
/* articles: comfortable measure */
.article-body>:is(p,ul,ol,h2,.boxnote,.tnote){max-width:34em}
.article-body .figure{max-width:none}
.post-card .thumb img[src$=".svg"],.article-hero img[src$=".svg"]{object-fit:cover}
.article-hero{background:var(--stone)!important}
/* footer: breathing room, taller targets */
.foot-grid{padding-bottom:var(--sp-40)}
.footer ul{font-size:15px;gap:0}
.footer ul a{display:inline-block;padding:7px 0}
.footer .wordmark{margin-left:-.06em}
/* section heads: a lone link sits right */
.sec-head>p:has(>.link:only-child){justify-self:end;align-self:end}

/* home: proof band at poster scale, flowing into the detection window */
.scale-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-30) var(--sp-20);border-top:1px solid var(--line-night);padding-top:var(--sp-30)}
.stat.big{gap:var(--sp-12)}
.stat.big .n{font-size:clamp(72px,10vw,152px);font-weight:250;letter-spacing:-.05em;line-height:.86}
.stat.big .l{max-width:26ch}
.scale-grid>.stat:first-child{grid-column:1/7}
.scale-grid>.stat:last-child{grid-column:6/13;margin-top:var(--sp-80)}
#scale{padding:var(--sp-120) 0 var(--sp-40)}
#scale .tnote{margin-top:var(--sp-40)}
/* the detection window: scroll track, flag moment, hourly points */
.dw{height:auto}
.dw-track{height:320vh}
.dw-pin{padding-top:var(--nav-h)}
.dw-after{padding-bottom:var(--sp-80)}
.dw-after .dw-note{margin:0;font-size:15px;max-width:72ch}
.dw-after .link{border-color:var(--on-night-2);color:var(--on-night)}
.dw-pt{fill:var(--on-night)}
.dw-ping{fill:none;stroke:var(--signal-night);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.dw.pinged .dw-ping{animation:dw-ping .9s cubic-bezier(.16,1,.3,1)}
@keyframes dw-ping{from{transform:scale(1);opacity:.7}to{transform:scale(3);opacity:0}}
.dw-lab{font-size:13px}
.dw.static .dw-track{height:auto}
.dw.static .dw-hint{display:none}
.dw.static .dw-pin{padding:var(--sp-120) 0 var(--sp-40)}
@media (max-width:900px){
  .dw-track{height:340vh}
  .dw-pin{align-items:flex-start;padding-top:calc(var(--nav-h) + var(--sp-16))}
  .dw-fig{order:-1;aspect-ratio:1.4/1}
  .dw-grid{gap:var(--sp-16)}
  .dw h2{font-size:24px}
  .dw-intro{display:none}
  .dw-lab{font-size:12px}
  .dw-lab-thr{display:none}
  .dw-after .dw-note{font-size:14px}
}

/* board: composite as a bar; a suppressed stay reads as not scored */
.cs{display:inline-flex;align-items:center;gap:10px}
.cs i{width:56px;height:4px;background:var(--stone-2);position:relative;border-radius:2px;overflow:hidden}
.cs i::after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--v) * 100%);background:var(--signal)}
.pill.sup{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}
.bb tr.sup td{color:var(--ink-3)}
.bb tr.sup svg{stroke:var(--ink-4)}
@media (max-width:768px){
  .bb thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .bb,.bb tbody{display:block}
  .bb tr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:4px 12px;padding:12px 16px;border-bottom:1px solid var(--line-2);align-items:center}
  .bb td{display:block;padding:0!important;border:0!important;white-space:normal}
  .bb td:nth-child(1){grid-row:1/3}
  .bb td:nth-child(2){grid-column:2;grid-row:1}
  .bb td:nth-child(3){grid-column:3;grid-row:1;justify-self:end}
  .bb td:nth-child(4){grid-column:2/4;grid-row:2;font-size:14px;color:var(--ink-2)}
  .bb td:nth-child(n+5){display:none!important}
  .bb tr:last-child{border-bottom:0}
}

/* timeline: before, the silent months, after */
.tl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) minmax(0,1fr);gap:var(--sp-20)}
.tl-seg{display:flex;flex-direction:column;gap:var(--sp-12);border-top:1px solid var(--rule);padding-top:var(--sp-16)}
.tl-k{font-size:15px;font-weight:500}
.tl-seg p{font-size:15px;line-height:1.5;color:var(--ink-2);max-width:34ch}
.tl-ticks{height:72px;background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 7px) left center/100% 50% no-repeat,repeating-linear-gradient(90deg,var(--ink) 0 1.5px,transparent 1.5px 49px) left center/100% 100% no-repeat;opacity:.55}
.tl-hero{align-self:center;width:100%}
.tl-hero .tl-ticks{height:160px}
.ph-plate{display:flex;align-items:flex-end;padding:0!important;background:transparent!important}
@media (max-width:768px){.tl{grid-template-columns:1fr}.tl-hero .tl-ticks,.tl-ticks{height:56px}}

/* home results: five endpoints as a row of figures */
.ep-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--rule)}
.ep{display:flex;flex-direction:column;gap:var(--sp-8);padding:var(--sp-20) var(--sp-20) var(--sp-20) 0}
.ep+.ep{border-left:1px solid var(--line);padding-left:var(--sp-20)}
.ep-n{font-size:15px;font-weight:450}
.ep-v{font-size:clamp(44px,4.6vw,68px);font-weight:250;letter-spacing:-.045em;line-height:1;margin:var(--sp-12) 0 var(--sp-4)}
.ep-d{font-size:14px;color:var(--ink-2);line-height:1.5}
.ep-c{font-size:14px;color:var(--ink-2);margin-top:auto;padding-top:var(--sp-12);border-top:1px solid var(--line-2)}
.ep-c sup{color:var(--signal)}
@media (max-width:1100px){.ep-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ep:nth-child(odd){border-left:0;padding-left:0}.ep:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.ep-row{grid-template-columns:1fr}.ep+.ep{border-left:0;padding-left:0;border-top:1px solid var(--line)}}
.caveat .cell:first-child{border-top:1px solid var(--rule)}
.caveat .faq{border-top:0}

/* closing band at display scale */
.cta-band.big{display:block}
.cta-band.big h2{font-size:clamp(48px,6.4vw,104px);line-height:.98;letter-spacing:-.045em;max-width:16ch}
.cta-band.big .t-paragraph-l{margin-top:var(--sp-30)}
.cta-band.big .actions{margin-top:var(--sp-40)}

/* type-only heroes */
.type-hero{padding:calc(var(--nav-h) + var(--sp-80)) 0 var(--sp-60)}
.type-hero h1{font-size:clamp(48px,7vw,112px);max-width:14ch;line-height:.96}
.type-hero .t-paragraph-l{margin-top:var(--sp-40);padding-top:var(--sp-30);border-top:1px solid var(--rule);max-width:52ch}
.type-hero .actions{margin-top:var(--sp-30)}
/* company: stage strip */
.stages{list-style:none;margin:var(--sp-80) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-20)}
.stages li{display:flex;flex-direction:column;gap:var(--sp-12);padding-top:var(--sp-20);border-top:3px solid var(--ink)}
.stages li.next{border-top:3px double var(--ink)}
.stages li.later{border-top:1px dashed var(--ink-3)}
.st-k{font-size:14px;color:var(--ink-2)}
.st-t{font-size:clamp(26px,2.6vw,38px);font-weight:300;letter-spacing:-.03em;max-width:none}
.stages p{font-size:15px;color:var(--ink-2);max-width:36ch}
.stages li.later .st-t{color:var(--ink-3)}
.commit{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.commit li{padding:var(--sp-12) 0;border-bottom:1px solid var(--line);color:var(--ink)}
@media (max-width:900px){.stages{grid-template-columns:1fr;margin-top:var(--sp-40)}}
/* leadership placeholders: frames, not slabs */
.people{grid-template-columns:repeat(3,minmax(0,240px));gap:var(--sp-40)}
.person .ph{aspect-ratio:1}
.person.todo .ph{background:transparent;border:1px solid var(--line)}
@media (max-width:768px){.people{grid-template-columns:1fr;gap:0}.person.todo{display:grid;grid-template-columns:64px 1fr;gap:2px 16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.person.todo .ph{grid-row:1/4;margin:0}}

/* evidence: hero index of figures */
.ph-index{display:flex;flex-direction:column;justify-content:flex-end;padding:0!important;background:transparent!important;border:0!important;border-top:1px solid var(--rule)!important;border-radius:0!important;align-self:end}
.ph-index a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:var(--sp-20);padding:var(--sp-12) 0;border-bottom:1px solid var(--line);transition:padding .25s var(--ease)}
.ph-index a:hover{padding-left:var(--sp-8)}
.ph-index span{font-size:16px;grid-row:1/3;align-self:center}
.ph-index b{font-weight:300;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;line-height:1;text-align:right;font-variant-numeric:lining-nums}
.ph-index i{font-style:normal;font-size:13px;color:var(--ink-2);text-align:right}
@media (min-width:769px){.page-hero .ph-index{margin-left:var(--sp-40)}}
/* evidence: pull number opening the lead-time section */
.pull{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-40);align-items:end;border-top:1px solid var(--rule);padding-top:var(--sp-20);margin-bottom:var(--sp-60)}
.pull-n{font-size:clamp(120px,17vw,260px);font-weight:250;letter-spacing:-.06em;line-height:.8;margin:0}
.pull-l{font-size:17px;line-height:1.5;color:var(--ink-2);max-width:40ch;padding-bottom:var(--sp-12)}
@media (max-width:768px){.pull{grid-template-columns:1fr;gap:var(--sp-16)}.pull-n{font-size:34vw}}
/* evidence: limits as ruled rows */
.limits{border-top:1px solid var(--rule)}
.limits>div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-30);padding:var(--sp-20) 0;border-bottom:1px solid var(--line);align-items:baseline}
.limits h3{font-size:clamp(20px,1.8vw,24px);font-weight:380}
.limits p{font-size:16px;color:var(--ink-2);max-width:56ch}
@media (max-width:768px){.limits>div{grid-template-columns:1fr;gap:var(--sp-8)}}
/* evidence: calibration chart wide, text holds */
.calib-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important}
.calib-grid>.cell:last-child{position:sticky;top:calc(var(--nav-h) + 40px)}
@media (max-width:768px){.calib-grid{grid-template-columns:1fr!important}.calib-grid>.cell:last-child{position:static}}

/* pilot: example report */
.report{background:#fff;border-radius:var(--r-l);box-shadow:0 1px 0 var(--line),0 24px 60px -30px rgba(15,23,32,.28);padding:var(--sp-40)}
.rp-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-20);flex-wrap:wrap;padding-bottom:var(--sp-20);border-bottom:2px solid var(--ink)}
.rp-t{font-size:clamp(22px,2vw,28px);font-weight:350;letter-spacing:-.02em}
.rp-s{font-size:14px;color:var(--ink-2)}
.rp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-40) var(--sp-60);padding:var(--sp-30) 0}
.rp-sec h3{font-size:17px;font-weight:500;letter-spacing:-.01em;margin-bottom:var(--sp-12)}
.rp-tb{font-size:15px}
.rp-tb th{text-align:left;font:var(--label);color:var(--ink-2);padding:0 0 8px;border-bottom:1px solid var(--line)}
.rp-tb td{padding:8px 0;border-bottom:1px solid var(--line-2)}
.rp-tb .num{text-align:right;font-variant-numeric:tabular-nums;padding-left:var(--sp-16)}
.rp-cal{display:flex;flex-direction:column;gap:10px}
.rp-cal div{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:6px 6px;column-gap:var(--sp-16);row-gap:3px;align-items:center;font-size:15px}
.rp-cal span{grid-row:1/3}
.rp-cal i,.rp-key i{display:block;height:6px;border-radius:1px}
.rp-cal i{width:calc(var(--v) * 100%)}
.rp-cal i.p,.rp-key i.p{background:var(--signal)}
.rp-cal i.o,.rp-key i.o{background:var(--ink-3)}
.rp-key{display:flex;align-items:center;gap:8px;margin-top:var(--sp-16);font-size:14px;color:var(--ink-2)}
.rp-key i{width:18px}.rp-key i.o{margin-left:var(--sp-12)}
.rp-list{list-style:none;margin:0;padding:0}
.rp-list li{display:flex;justify-content:space-between;gap:var(--sp-16);padding:10px 0;border-bottom:1px solid var(--line-2);font-size:15px}
.rp-list b{font-weight:400;color:var(--ink-2);white-space:nowrap}
.rp-foot{padding-top:var(--sp-16);border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
@media (max-width:900px){.report{padding:var(--sp-20)}.rp-grid{grid-template-columns:1fr}.rp-cal div{grid-template-columns:120px minmax(0,1fr)}.rp-list li{flex-direction:column;gap:2px}}
@media (max-width:768px){.scale-grid>.stat:first-child,.scale-grid>.stat:last-child{grid-column:1/-1;margin-top:0}.stat.big .n{font-size:clamp(64px,20vw,96px)}}
/* hero prototype v2, dark tone (?hero=v2&tone=night) */
.hero.night .stage{background:var(--night)!important}
.hero.night :is(h1,.t-paragraph-l){color:var(--on-night)}
.hero.night .t-paragraph-l{color:var(--on-night-2)}
.hero.night h1 em{color:var(--signal-night)}
.hero.night .cell-lede>div>p:first-child{border-top-color:var(--line-night)}
.hero.night .btn-pair.fill .lbl,.hero.night .btn-pair.fill .ico{background:var(--on-night);border-color:var(--on-night);color:var(--night)}
.hero.night .cellbtn:not(.fill){color:var(--on-night)}
.hero.night .lab .t{background:var(--night-2);color:var(--on-night)}
.hero.night .lab .s{background:rgba(14,27,33,.85);color:var(--on-night-2)}
.hero.night .stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;opacity:.5;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero.night{background:var(--night)}
@media (min-width:769px){.hero h1{font-size:clamp(44px,5.1vw,78px)}}
/* home hero: "The lead" (lead.js). Not pinned; the WebGL prototypes (?hero=v1..v4) drop .lead. */
.hero.lead{height:auto}
.hero.lead .stage{position:relative;height:auto;min-height:100svh;overflow:visible;background:var(--paper)!important}
.hero.lead .hero-grid{position:relative;inset:auto;min-height:100svh}
.hero.lead #deck,.hero.lead .labels{display:none}
.hero.lead .cell-object{display:flex;align-items:center;justify-content:center;padding:var(--sp-40) 0 var(--sp-40) var(--sp-40)!important}
.ld{margin:0;width:100%;display:flex;flex-direction:column;gap:var(--sp-16)}
.ld-plot{position:relative;width:100%;aspect-ratio:3/2}
.ld-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ld-h{stroke:var(--ink);stroke-opacity:.1;stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke-opacity .5s}
.ld-h.maj{stroke-opacity:.2}
.ld-h.past{stroke-opacity:.2}.ld-h.maj.past{stroke-opacity:.32}
.ld-f{fill:none;stroke:var(--ink);stroke-opacity:.09;stroke-width:1;vector-effect:non-scaling-stroke}
.ld-thr{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.ld-onset{stroke:var(--ink);stroke-width:1.25;vector-effect:non-scaling-stroke}
.ld-main{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ld-p{fill:var(--ink)}
.ld-head{fill:var(--ink)}
.ld-lit{stroke:var(--signal);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .4s}
.ld-flag{fill:var(--signal);opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:opacity .3s,transform .6s cubic-bezier(.16,1,.3,1)}
.ld-ping{fill:none;stroke:var(--signal);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.ld-br line{stroke:var(--signal);stroke-width:1.5;vector-effect:non-scaling-stroke}
.ld-br{opacity:0;transition:opacity .3s}
.ld-bre{opacity:0;transition:opacity .3s}
.ld.flagged .ld-lit,.ld.flagged .ld-br{opacity:1}
.ld.flagged .ld-flag{opacity:1;transform:none}
.ld.done .ld-bre{opacity:1}
.ld.ping .ld-ping{animation:ld-ping 1s cubic-bezier(.16,1,.3,1)}
@keyframes ld-ping{from{transform:scale(1);opacity:.8}to{transform:scale(3.2);opacity:0}}
.ld .ld-main,.ld .ld-p,.ld .ld-head,.ld .ld-lit,.ld .ld-flag,.ld .ld-br{transition:opacity .6s}
.ld:not(.shown) :is(.ld-main,.ld-p,.ld-head,.ld-lit,.ld-flag,.ld-br,.ld-l-flag,.ld-l-lead){opacity:0!important}
.ld-lab{position:absolute;transform:translateY(-50%);font-size:13px;color:var(--ink-2);white-space:nowrap;pointer-events:none}
.ld-l-thr{transform:translateY(-150%)}
.ld-l-onset{transform:translate(-50%,-130%);color:var(--ink)}
.ld-l-flag{transform:translate(calc(-100% - 10px),-160%);color:var(--signal);font-weight:500;opacity:0;transition:opacity .3s}
.ld.flagged .ld-l-flag{opacity:1}
.ld-l-lead{transform:translate(-50%,-150%);color:var(--signal);font-weight:500;opacity:0;transition:opacity .3s}
.ld.done .ld-l-lead{opacity:1}
.ld-l-ax{transform:none}
.ld-cap{font-size:13px;line-height:1.5;color:var(--ink-2);max-width:52ch}
@media (max-width:768px){
  .hero.lead .stage{min-height:0}
  .hero.lead .hero-grid{min-height:0;grid-template-rows:auto auto auto}
  .hero.lead .cell-object{padding:var(--sp-16) 0 0!important}
  .ld-lab{font-size:11.5px}.ld-l-thr{display:none}
}
@media (max-width:768px){.hero.lead .cell-title{grid-row:1}.hero.lead .cell-lede{grid-row:2}.hero.lead .cell-object{grid-row:3;padding-top:var(--sp-40)!important}}

/* ===== wave 7: brighter base, cobalt as the brand colour ===== */
:root{
  --paper:#FAFAF8; --paper-2:#FFFFFF; --stone:#EFEFEA; --stone-2:#E4E4DE;
  --line:#E0E0D9; --line-2:#ECECE6; --ink-4:#B8BCBD;
  --tint:var(--stone); --tint-2:var(--stone-2); --atmos:var(--paper);
  --signal:#1F4FD1; --signal-hover:#173FA8;
}
.top.scrolled::before{background:rgba(250,250,248,.94)}
/* primary actions in cobalt */
.btn-pair.fill .lbl,.btn-pair.fill .ico,.navbtn.primary{background:var(--signal)!important;border-color:var(--signal)!important;color:#fff!important}
.btn-pair.fill:hover .lbl,.btn-pair.fill:hover .ico,.navbtn.primary:hover{background:var(--signal-hover)!important;border-color:var(--signal-hover)!important}
.sec.night .btn-pair.fill .lbl,.sec.night .btn-pair.fill .ico,.top.on-night .navbtn.primary{background:var(--signal)!important;border-color:var(--signal)!important;color:#fff!important}
.link:hover,.cellbtn:not(.fill):hover{color:var(--signal);border-color:var(--signal);text-decoration-color:var(--signal)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--signal)}
.top.on-night .nav a:hover,.top.on-night .nav a[aria-current="page"]{color:var(--signal-night)}
:focus-visible{outline-color:var(--signal)}
/* the hourly comb: 48 hairlines, the brand motif, opening each section head */
.sec-head::before,.cta-band.big::before{content:"";display:block;grid-column:1/-1;width:min(240px,40vw);height:12px;background:repeating-linear-gradient(90deg,var(--signal) 0 1px,transparent 1px 5px);margin-bottom:var(--sp-8)}
.sec.night .cta-band.big::before{background:repeating-linear-gradient(90deg,var(--signal-night) 0 1px,transparent 1px 5px)}
.sec-head.stack::before{display:none}
/* home hero: the dial (hero-dial.js) on light paper, lightly pinned so scrolling opens it */
.hero.dial{height:170vh}
.hero.dial .stage{background:var(--paper)!important}
.hero.dial .labels{display:none}
.hero.dial .cell-object{display:flex;align-items:flex-end;justify-content:flex-end}
.dl-labels{position:absolute;inset:0;z-index:4;pointer-events:none}
.dl-lab{position:absolute;left:0;top:0;font-size:13px;line-height:1.3;color:var(--ink-2);white-space:nowrap;opacity:0;transition:opacity .5s;margin:0}
.dl-lab.on{opacity:1}
.dl-thr{margin:-22px 0 0 8px}
.dl-flag{color:var(--signal);font-weight:500;margin:-8px 0 0 -16px;translate:-100% -50%}
.dl-onset{color:var(--ink);margin:-26px 0 0 -12px;translate:-100% 0}
.dl-start{margin:-26px 0 0 12px}
.dl-cap{margin:0;max-width:40ch;font-size:13px;line-height:1.5;color:var(--ink-2);text-align:right;pointer-events:none}
@media (max-width:768px){
  .hero.dial{height:130vh}
  .hero.dial .hero-grid{grid-template-rows:auto auto minmax(300px,1fr)}
  .hero.dial .cell-title{grid-row:1}.hero.dial .cell-lede{grid-row:2}.hero.dial .cell-object{grid-row:3}
  .dl-lab{font-size:11.5px}.dl-thr{display:none}
  .dl-cap{text-align:left;font-size:12px}
}
@media (prefers-reduced-motion:reduce){.hero.dial{height:auto}}
.dl-lab.flip{translate:0 -50%;margin-left:16px}
.dl-onset.flip{translate:0 0}
@media (max-width:768px){
  .hero.dial{height:auto}
  .hero.dial .stage{position:relative;height:auto;min-height:0}
  .hero.dial .hero-grid{position:relative;inset:auto;grid-template-rows:auto auto 400px}
  .hero.dial .cell-object{align-items:flex-start;justify-content:flex-end;padding-bottom:var(--sp-16)!important}
}

/* ===== wave 8: specialist pass (design system, layout, motion) ===== */
:root{
  --stone:#EEF1F4; --stone-2:#E2E7EC; --tint:var(--stone); --tint-2:var(--stone-2);
  --e-out:cubic-bezier(.16,1,.3,1); --e-move:cubic-bezier(.65,0,.35,1);
  --t-1:120ms; --t-2:240ms; --t-3:480ms; --t-4:900ms;
}
/* header over dark and cobalt bands: the scrolled rule must not win */
.top.scrolled.on-night::before,.top.on-night::before{background:rgba(14,27,33,.92);box-shadow:0 1px 0 var(--line-night)}
.top :is(.logo,.nav a,.menu-btn){transition:color var(--t-2) var(--e-out)}
/* cobalt closing band: the one large brand surface on every page */
.sec.cobalt{background:var(--signal);color:#fff;padding:var(--sp-120) 0}
.sec.cobalt h2{color:#fff}
.sec.cobalt :is(.t-paragraph-l,p){color:rgba(255,255,255,.84)}
.sec.cobalt .btn-pair.fill :is(.lbl,.ico){background:#fff!important;border-color:#fff!important;color:var(--signal)!important}
.sec.cobalt .btn-pair.fill:hover :is(.lbl,.ico){background:#E8EEFC!important;border-color:#E8EEFC!important}
.sec.cobalt .cellbtn:not(.fill),.sec.cobalt .link{color:#fff;text-decoration-color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.55)}
.sec.cobalt .cellbtn:not(.fill):hover{color:#fff;text-decoration-color:#fff}
.sec.cobalt :focus-visible{outline-color:#fff}
.sec.cobalt.close{padding-bottom:var(--sp-120)}
.sec.cobalt .cta-band{background:transparent!important;padding:0}
/* the comb: a 48-hour scale in miniature, majors every 12 h, the flag at -16 h in cobalt */
.sec-head::before,.cta-band.big::before{width:240px;height:14px;margin-bottom:var(--sp-16);
  background:linear-gradient(var(--signal),var(--signal)) 160px 0/2px 100% no-repeat,
    repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 60px) 0 0/100% 100% no-repeat,
    repeating-linear-gradient(90deg,var(--ink-4) 0 1px,transparent 1px 5px) 0 100%/100% 8px no-repeat}
.sec.cobalt .cta-band.big::before,.sec.night .cta-band.big::before{background:linear-gradient(#fff,#fff) 160px 0/2px 100% no-repeat,
    repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 1px,transparent 1px 60px) 0 0/100% 100% no-repeat,
    repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 1px,transparent 1px 5px) 0 100%/100% 8px no-repeat}
/* motion: the comb ticks in, one hour at a time; section heads animate once, not twice */
@media (prefers-reduced-motion:no-preference){
  .js .sec-head.rv,.js .cta-band.big.rv{opacity:1;transform:none}
  .js .rv.sec-head::before,.js .rv.cta-band.big::before{clip-path:inset(0 100% 0 0)}
  .js .rv.in.sec-head::before,.js .rv.in.cta-band.big::before{clip-path:inset(0 0 0 0);transition:clip-path var(--t-3) steps(48,jump-end)}
  .js .sec-head.rv>p,.js .cta-band.big.rv>:is(p,.actions){opacity:0;transform:translateY(8px);transition:opacity var(--t-3) var(--e-out) 240ms,transform var(--t-3) var(--e-out) 240ms}
  .js .sec-head.rv.in>p,.js .cta-band.big.rv.in>:is(p,.actions){opacity:1;transform:none}
}
/* home: the two patient counts side by side */
.scale-grid>.stat:first-child,.scale-grid>.stat:last-child{grid-column:span 6;margin-top:0}
.scale-grid{border-top:0;padding-top:0}
.scale-grid .stat{border-top:2px solid var(--signal-night);padding-top:var(--sp-20)}
.stat.big .n{font-size:clamp(88px,11vw,168px)}
.stat.big .l{font-size:19px;color:var(--on-night-2);max-width:24ch}
#scale{padding:var(--sp-120) 0 var(--sp-80)}
.hero-status{margin-top:var(--sp-12);color:var(--ink-2);max-width:46ch}
/* tables: larger, AUROC leads */
.ev{font-size:16px}
.ev thead th{border-bottom:1px solid var(--ink)}
.ev td{padding:16px var(--sp-12) 16px 0}
#discrimination .ev td.num:nth-child(3){font-weight:500;color:var(--ink)}
.ev tbody tr{transition:background var(--t-2)}
.ev tbody tr:hover{background:#F2F5FE}
/* footer */
.footer .wordmark{color:#16303B;font-size:clamp(120px,22vw,340px);letter-spacing:-.06em;font-weight:300}
.footer .blurb{font-size:17px;color:var(--on-night)!important;max-width:30ch}
.foot-legal{font-size:14px}
/* update cards */
.post-card .thumb{background:var(--stone)!important;transition:background .3s var(--e-out)}
.post-card:hover .thumb{background:#E4EBFB!important}
.post-card:hover .thumb img{transform:scale(1.02);transition:transform .6s var(--e-out)}
.post-card h3,.post-card h2{transition:color var(--t-2)}
.post-card:hover :is(h3,h2){color:var(--signal)}
/* buttons: depth, a divider, the arrow loops through on hover */
.btn-pair.fill :is(.lbl,.ico){box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.btn-pair.fill .ico{border-left:1px solid rgba(255,255,255,.22)!important;overflow:hidden}
.btn-pair .ico{overflow:hidden}
.btn-pair:hover .ico svg{transform:none;animation:arrowLoop var(--t-3) var(--e-out)}
@keyframes arrowLoop{45%{transform:translateX(12px);opacity:0}46%{transform:translateX(-12px);opacity:0}to{transform:none;opacity:1}}
.btn-pair:active{transform:scale(.97);transition-duration:var(--t-1)}
.navbtn.primary{font-weight:500}
/* hover nudges move with transforms, not padding */
.post-list a:hover,.ph-index a:hover{padding-left:0}
.post-list a>*,.ph-index a>*{transition:transform var(--t-2) var(--e-out)}
.post-list a:hover>*,.ph-index a:hover>*{transform:translateX(8px)}
/* article pull stat */
.pullstat{border:0;border-left:3px solid var(--signal);background:#F2F5FE;padding:var(--sp-20) var(--sp-30);border-radius:0}
.pullstat .n{font-size:72px}
/* evidence: scope note sits under the hero */
#scope{padding:0 0 var(--sp-80)}
/* pilot: report opens the page; IT as a grid; the request form on the closing dark band */
.sec.receive{padding-top:var(--sp-40)}
.it-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-40) var(--sp-40)}
.it-grid>div{border-top:1px solid var(--ink);padding-top:var(--sp-16)}
.it-grid h3{font-size:22px;font-weight:380;margin-bottom:var(--sp-12)}
.it-grid p{font-size:15px;line-height:1.55;color:var(--ink-2)}
@media (max-width:900px){.it-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.it-grid{grid-template-columns:1fr}}
#request.sec.night .cell{border-top-color:var(--on-night)!important}
#request.sec.night .form label{color:var(--on-night-2)}
#request.sec.night .form .hint{color:var(--on-night-2);opacity:.8}
#request.sec.night .form-note,#request.sec.night .form-note .link{color:var(--on-night-2)}
/* phones: five endpoints as compact rows */
@media (max-width:640px){
  .ep-row{grid-template-columns:1fr!important}
  .ep{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 16px;padding:16px 0!important;border-left:0!important;border-top:1px solid var(--line)}
  .ep-v{font-size:40px;margin:0;text-align:right;grid-row:1}
  .ep-n{grid-row:1}
  .ep-d,.ep-c{grid-column:1/-1;font-size:13px}
  .ep-c{border-top:0;padding-top:0;margin-top:0}
}
/* page transitions */
::view-transition-old(root){animation:vtOut 160ms var(--e-out) both}
::view-transition-new(root){animation:vtIn 360ms 60ms var(--e-out) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(12px)}}
/* reduced motion: fades of 150ms or less, colour and focus only; everything else lands in its final state */
@media (prefers-reduced-motion:reduce){
  .sec-head::before,.cta-band.big::before{clip-path:none!important;transition:none!important}
  .btn-pair:hover .ico svg{animation:none}
  ::view-transition-new(root),::view-transition-old(root){animation-duration:120ms;transform:none}
  .post-list a:hover>*,.ph-index a:hover>*{transform:none}
}
#request.sec.night .form{background:transparent!important;border:0;border-top:1px solid var(--on-night);border-radius:0;padding:var(--sp-30) 0 0!important}
#request.sec.night .form input,#request.sec.night .form textarea{background:rgba(255,255,255,.06);border-color:var(--line-night);color:var(--on-night)}
#request.sec.night .form input:focus,#request.sec.night .form textarea:focus{border-color:var(--on-night)}

/* ===== wave 9: review fixes (regressions, one type scale, trust elements) ===== */
/* regressions from wave 8 */
@media (max-width:768px){
  .scale-grid>.stat:first-child,.scale-grid>.stat:last-child{grid-column:1/-1}
  .scale-grid{row-gap:var(--sp-40)}
  .stat.big .n{font-size:clamp(64px,20vw,96px)!important}
  .stat.big .l{font-size:17px}
}
.top.on-cobalt::before{background:rgba(31,79,209,.94)!important;box-shadow:0 1px 0 rgba(255,255,255,.2)!important;opacity:1}
.top.on-cobalt :is(.logo,.nav a,.menu-btn){color:#fff}
.top.on-cobalt .navbtn.primary{background:#fff!important;border-color:#fff!important;color:var(--signal)!important}
.top.on-cobalt .nav a:hover,.top.on-cobalt .nav a[aria-current="page"]{color:#fff}
/* one type scale */
:root{--fs-h1:clamp(44px,5.2vw,80px);--fs-h1-art:clamp(34px,3.8vw,56px);--fs-cta:clamp(36px,4.6vw,68px);--fs-h2:clamp(28px,2.9vw,42px);--fs-h3:clamp(20px,1.6vw,24px);--fs-body:17px;--fs-small:15px;--fs-label:14px;--fs-fig:clamp(72px,9vw,136px)}
h1,.hero h1,.page-hero h1,.type-hero h1,.sec.first h1{font-size:var(--fs-h1)!important;line-height:.98;letter-spacing:-.04em;font-weight:300}
.type-hero h1{max-width:16ch}
.article-head h1{font-size:var(--fs-h1-art)!important;line-height:1.04;letter-spacing:-.03em;margin-top:var(--sp-30)!important}
.cta-band.big h2{font-size:var(--fs-cta);line-height:1.02;letter-spacing:-.035em;max-width:18ch}
h2,.t-headline-1{font-size:var(--fs-h2);line-height:1.12;letter-spacing:-.025em;max-width:26ch}
h3,.t-headline-2,.limits h3,.it-grid h3,.post-card h3,.chart-head h3{font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.015em;font-weight:400}
.rp-sec h3{font-size:17px;font-weight:500}
.t-paragraph-m,.legal-body p,.faq .ans p,ol.steps li,.steps li,.notdo-i,.commit li{font-size:var(--fs-body);line-height:1.6}
@media (max-width:768px){.t-paragraph-m,.legal-body p,.faq .ans p,.steps li,.notdo-i,.commit li{font-size:16px}}
.tnote,figcaption.tnote,.figure figcaption,.caveat-line,.rp-foot,.board-foot{font-size:var(--fs-small);line-height:1.5;max-width:68ch}
.stat.big .n,.pull-n{font-size:var(--fs-fig);line-height:.88;letter-spacing:-.05em;font-weight:250}
.ev td,.bb td,.rp-tb td{font-size:15px}
.ev th,.bb th,.rp-tb th{font-size:var(--fs-label);font-weight:450}
.ev td:first-child{color:var(--ink)}
.article-body .standfirst{font-size:clamp(19px,1.9vw,24px);line-height:1.45}
.legal-body h2{font-size:22px;line-height:1.25;font-weight:400;letter-spacing:-.015em}
/* reading text never below 14px; chart labels never below 12.5px */
.form label{font-size:15px}.form .hint{font-size:14px}
.dl-cap,.ep-d,.ep-c,.steps .idx,.ph-index i{font-size:14px}
@media (max-width:768px){.dl-cap,.ep-d,.ep-c{font-size:14px}.dl-lab,.dw-lab{font-size:12.5px}}
/* home hero: a larger dial, the status as a ledger */
@media (min-width:769px){.hero.dial .hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
.dl-cap{text-align:left;max-width:46ch;align-self:flex-start}
.hero.dial .cell-object{justify-content:flex-end;align-items:flex-start}
.hero-ledger{list-style:none;margin:var(--sp-20) 0 0;padding:0;max-width:46ch;border-top:1px solid var(--line)}
.hero-ledger li{display:flex;justify-content:space-between;gap:var(--sp-16);padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4;color:var(--ink-2)}
.hero-ledger b{font-weight:500;color:var(--ink);text-align:right}
.dl-flag{margin:0 0 0 -34px}
.dl-onset{margin:-26px 0 0 12px;translate:0 0}
.dl-start{margin:-26px 0 0 -12px;translate:-100% 0}
/* evidence: dated, with a model facts label */
.asof{margin-top:var(--sp-16);font-size:14px;color:var(--ink-2)}
.facts{margin:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-60)}
.facts>div{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:var(--sp-20);padding:var(--sp-16) 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:14px;font-weight:500;color:var(--ink)}
.facts dd{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2)}
@media (max-width:900px){.facts{grid-template-columns:1fr}.facts>div{grid-template-columns:1fr;gap:4px}}
/* pilot hero: the whole engagement at a glance */
@media (min-width:1000px){.type-hero:has(.glance) .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:var(--sp-80);align-items:end}.type-hero:has(.glance) .wrap>:not(.glance){grid-column:1}.type-hero .glance{grid-column:2;grid-row:1/5}}
.glance{margin:var(--sp-40) 0 0;border-top:1px solid var(--ink)}
.glance>div{display:grid;grid-template-columns:minmax(0,10em) minmax(0,1fr);gap:var(--sp-16);padding:12px 0;border-bottom:1px solid var(--line)}
.glance dt{font-size:14px;color:var(--ink-2)}
.glance dd{margin:0;font-size:16px;color:var(--ink)}
/* footer: the 48-hour scale in place of the stock wordmark */
.foot-scale{height:28px;margin:var(--sp-60) 0 var(--sp-30);background:linear-gradient(var(--signal-night),var(--signal-night)) 66.67% 0/2px 100% no-repeat,repeating-linear-gradient(90deg,rgba(237,235,228,.55) 0 1px,transparent 1px 25%) 0 0/100% 100% no-repeat,repeating-linear-gradient(90deg,rgba(237,235,228,.2) 0 1px,transparent 1px calc(100% / 48)) 0 100%/100% 10px no-repeat}
.footer .wordmark{display:none}
/* stats band: neutral rules, larger labels */
.scale-grid .stat{border-top:1px solid rgba(237,235,228,.4)}
.stat.big .l{font-size:21px;line-height:1.35}
/* motion */
@media (prefers-reduced-motion:no-preference){
  .js .rv.in.sec-head::before,.js .rv.in.cta-band.big::before{transition:clip-path 960ms steps(48,jump-end)}
  .js .sec-head.rv>p,.js .cta-band.big.rv>:is(p,.actions){transition-delay:400ms}
}
@keyframes vtIn{from{opacity:0}}
::view-transition-new(root){animation:vtIn 280ms 40ms var(--e-out) both}
@media (max-width:640px){.dw-pin{height:auto;min-height:0;padding-bottom:var(--sp-30)}.dw-track{height:300vh}}
.top.open .nav a{border-radius:0}
.footer ul a{min-height:36px;display:inline-flex;align-items:center}
/* charts: focusable for keyboard readouts */
.chart-plot:focus-visible{outline:2px solid var(--signal);outline-offset:6px;border-radius:2px}
.sec.night .chart-plot:focus-visible{outline-color:var(--on-night)}
/* the dial's still: painted with the page, cross-faded to the live dial when it starts */
.hero.dial .cell-object{flex-direction:column;align-items:stretch!important;justify-content:flex-start!important;gap:16px}
.dial-poster{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;transition:opacity .6s var(--e-out)}
.dial-poster img{height:100%;width:auto;max-width:100%;aspect-ratio:1;object-fit:contain}
.hero.dial #deck{opacity:0;transition:opacity .6s var(--e-out)}
.hero.dial.dial-live #deck{opacity:1}
.hero.dial.dial-live .dial-poster{opacity:0}
.hero.dial .dl-cap{flex:none}
.dial-poster picture{display:contents}
@media (max-width:768px){
  .hero.dial .hero-grid{grid-template-rows:auto auto calc(min(92vw,520px) + 150px)}
  .dl-flag{translate:0 -50%!important;margin:0 0 0 16px!important}
}
/* shorter hero copy: keep the text block optically centred, not sunk to the bottom */
@media (min-width:769px){.hero.dial .hero-grid{grid-template-rows:minmax(0,1fr) auto minmax(0,.45fr)}.hero.dial .cell-object{grid-row:1/4}}
/* phones and low-power devices: the still, revealed clockwise like the trace being drawn */
@property --sweep{syntax:'<angle>';inherits:false;initial-value:360deg}
@media (prefers-reduced-motion:no-preference){
  .hero.dial-lite .dial-poster img{--sweep:0deg;-webkit-mask-image:conic-gradient(from 0deg,#000 var(--sweep),transparent calc(var(--sweep) + 2deg));mask-image:conic-gradient(from 0deg,#000 var(--sweep),transparent calc(var(--sweep) + 2deg));animation:dialSweep 2.4s .3s cubic-bezier(.65,0,.35,1) forwards}
}
@keyframes dialSweep{to{--sweep:362deg}}
/* hero positions: the dial is a square box sized to the cell, caption directly under it, the pair centred */
@media (min-width:769px){
  .hero.dial .cell-object{justify-content:center!important;gap:12px}
  .dial-poster{flex:0 1 auto;width:100%;aspect-ratio:1;max-height:calc(100% - 64px)}
  .dial-poster img{height:100%;width:100%}
  .hero.dial .dl-cap{align-self:center;text-align:center;max-width:52ch}
}
/* wide screens: let the hero breathe past the 1280 content width */
@media (min-width:769px){.hero.dial .dl-cap{margin-top:-56px;position:relative}}
/* home hero: the Blender render ("Foresight") as a full-bleed studio band */
.hero-render{display:none}
.hero.render{height:auto;background:#DCDCDC}
.hero.render .stage{position:relative;height:auto;min-height:100svh;overflow:hidden;background:#DCDCDC!important}
.hero.render .hero-render{display:block;position:absolute;inset:0;z-index:0}
.hero.render .hero-render img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero.render #deck,.hero.render .labels,.hero.render .cell-object>*{display:none!important}
.hero.render .hero-grid{position:relative;min-height:100svh;z-index:2}
.render-cap{display:none}
.hero.render .render-cap{display:block;position:absolute;right:var(--pad-x);bottom:var(--sp-30);z-index:3;margin:0;max-width:44ch;font-size:13px;line-height:1.5;color:var(--ink-2);text-align:right}
@media (max-width:768px){
  /* phones: text first, then the render as its own block, then the caption */
  .hero.render .stage{display:flex;flex-direction:column;min-height:0}
  .hero.render .hero-grid{order:1;min-height:0;grid-template-rows:auto auto}
  .hero.render .cell-object{display:none}
  .hero.render .hero-render{order:2;position:relative;inset:auto;height:auto;aspect-ratio:4/5}
  .hero.render .hero-render img{object-position:50% 50%}
  .hero.render .render-cap{order:3;position:static;margin:0 var(--pad-x) var(--sp-30);text-align:left;font-size:12.5px}
}
/* studio tones taken from the render's edges, so band and image meet without a seam */
.hero.render,.hero.render .stage{background:#E3E3E3!important}
@media (max-width:768px){
  .hero.render .stage{background:linear-gradient(#E3E3E3,#E3E3E3)!important}
  .hero.render .hero-render{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);margin:-40px 0 -30px}
}
.top:not(.scrolled):not(.on-night) .navbtn{box-shadow:none}
/* scroll film over the hero render (desktop, motion allowed) */
.seq-beat{display:none}
.hero.render.seq-mode{height:280vh}
.hero.render.seq-mode .stage{position:sticky;top:0;height:100svh;min-height:0}
.hero.render.seq-mode .hero-grid{min-height:100svh;will-change:opacity,transform}
.hero.render .seq{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .4s}
.hero.render.seq-live .seq{opacity:1}
.hero.render.seq-mode .seq-beat{display:block;position:absolute;left:var(--pad-x);top:50%;z-index:3;max-width:30ch;opacity:0;pointer-events:none;translate:0 -50%}
.seq-k{margin:0;font-size:clamp(40px,4.4vw,68px);font-weight:300;line-height:1;letter-spacing:-.035em;color:var(--ink)}
.seq-d{margin:var(--sp-20) 0 0;font-size:clamp(17px,1.3vw,20px);line-height:1.45;color:var(--ink-2);max-width:36ch}
.hero.render.seq-mode .seq-beat{left:auto;right:var(--pad-x);max-width:min(440px,34vw)}
.seq-k{font-size:clamp(40px,4vw,60px);line-height:1.02}
/* hero prototype "Forty-eight" (?hero=48): glossy hour bars on a dark card */
.hero.h48{height:200vh}
.hero.h48 .stage{background:var(--paper)!important}
.hero.h48 :is(.hero-render,.render-cap,.seq-beat,#deck,.labels,.dial-poster,.dl-cap){display:none!important}
.hero.h48 .cell-object{display:flex;flex-direction:column;gap:12px;justify-content:center;padding:var(--sp-40) 0 var(--sp-40) var(--sp-40)!important}
.h48-card{position:relative;width:100%;aspect-ratio:1.15;max-height:calc(100svh - var(--nav-h) - 140px);border-radius:24px;overflow:hidden;background:#0E1B21;box-shadow:0 40px 80px -40px rgba(14,27,33,.55);touch-action:pan-y}
.h48-card canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.h48-labs{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s}
.h48-labs.on{opacity:1}
.h48-lab{position:absolute;left:0;top:0;white-space:nowrap;font-size:13px;color:#A9B3B6;translate:-50% -100%}
.h48-start{translate:0 -100%}.h48-onset{translate:-100% -100%}
.h48-flag{color:#8AA4FF;font-weight:500;opacity:0;transition:opacity .5s;translate:-100% 0}
.h48-flag.on{opacity:1}
.h48-cap{margin:0;font-size:13px;line-height:1.5;color:var(--ink-2);max-width:56ch}
.hero.h48-nogl .h48-card{display:none}
@media (max-width:768px){
  .hero.h48{height:auto}
  .hero.h48 .stage{position:relative;height:auto}
  .hero.h48 .hero-grid{position:relative;inset:auto}
  .hero.h48 .hero-grid{grid-template-rows:auto auto auto}
  .hero.h48 .cell-title{grid-row:1}.hero.h48 .cell-lede{grid-row:2}
  .hero.h48 .cell-object{grid-row:3;grid-column:1;padding:var(--sp-20) 0 var(--sp-30)!important}
  .h48-card{aspect-ratio:4/5;max-height:60svh}
  .h48-lab{font-size:11.5px}
}
@media (prefers-reduced-motion:reduce){.hero.h48{height:auto}}
/* manifold hero: full bleed */
.hero.hmf .cell-object>*{display:none}
.hmf-stage{position:absolute;inset:0;z-index:1}
.hmf-stage canvas{width:100%;height:100%;display:block}
.hero.hmf .stage{background:#0E1B21!important}
.hero.hmf .hero-grid{z-index:2;pointer-events:none}
.hero.hmf .hero-grid :is(a,button){pointer-events:auto}
.hero.hmf:not(.hmf-light) :is(h1,.t-paragraph-l,.hero-ledger b){color:#EDEBE4}
.hero.hmf:not(.hmf-light) :is(.hero-ledger span){color:#A9B3B6}
.hero.hmf:not(.hmf-light) .hero-ledger li{border-color:rgba(237,235,228,.14)}
.hero.hmf:not(.hmf-light) .hero-grid .cell-lede>div>p:first-child{border-top-color:rgba(237,235,228,.35)}
.hero.hmf:not(.hmf-light) .cellbtn:not(.fill){color:#EDEBE4}
.hero.hmf:not(.hmf-light) .hero-grid .cell-title h1{text-shadow:0 2px 30px rgba(14,27,33,.8)}
.hero.hmf.hmf-light .stage{background:#FAFAF8!important}
.hmf-cap{position:absolute;right:var(--pad-x);bottom:var(--sp-30);z-index:3;margin:0;max-width:40ch;font-size:13px;line-height:1.5;color:#A9B3B6;text-align:right}
.hero.hmf-light .hmf-cap{color:var(--ink-2)}
@media (max-width:768px){
  .hero.hmf{height:auto}
  .hero.hmf .stage{min-height:100svh}
  .hero.hmf .hero-grid{position:relative;grid-template-rows:auto auto 1fr}
  .hmf-cap{left:var(--pad-x);text-align:left;font-size:12px}
}
@media (max-width:768px){.hero.hmf .stage{min-height:0;padding-bottom:92vw}.hero.hmf .hero-grid{grid-template-rows:auto auto}}
@media (max-width:768px){.hero.hmf .stage{padding-bottom:104vw}.hero.hmf .hmf-cap{bottom:14px}}
@media (max-width:768px){.hero.hmf .stage{padding-bottom:128vw}}
@media (max-width:768px){.hero.hmf .stage{padding-bottom:110vw}.hero.hmf .hmf-cap{background:rgba(14,27,33,.82);padding:8px 10px;border-radius:6px;right:auto}}
/* hero copy: fewer words, more weight */
.hero h1 .hl{color:inherit}
.hero.hmf:not(.hmf-light) h1{font-size:clamp(48px,6.4vw,104px)!important;line-height:.95;letter-spacing:-.04em}
.hero.hmf:not(.hmf-light) h1 .hl{background:linear-gradient(100deg,#8AA4FF 0%,#C9D6FF 55%,#FFFFFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero.hmf:not(.hmf-light) .cell-lede .t-paragraph-l{font-size:clamp(19px,1.5vw,23px);line-height:1.45;color:#EDEBE4;max-width:30ch}
.hero.hmf:not(.hmf-light) .hero-grid .cell-lede>div>p:first-child::before{content:none}
.hero.hmf:not(.hmf-light) .hero-grid .cell-lede>div>p:first-child{border-top:0;padding-top:0}
.hero.hmf .actions{margin-top:var(--sp-40)}
.hero.hmf .btn-pair.fill{box-shadow:0 12px 34px -10px rgba(31,79,209,.7)}
.hero.hmf.hmf-light h1 .hl{color:#1F4FD1}
@media (max-width:768px){.hero.hmf:not(.hmf-light) h1{font-size:clamp(44px,12vw,56px)!important}}
@media (min-width:769px){.hero.hmf:not(.hmf-light) h1{font-size:clamp(56px,6.2vw,100px)!important;width:max-content;max-width:none;position:relative;z-index:3}}
.hero.hmf h1 .hl{display:block}
/* headline stays inside its column, clear of the manifold */
@media (min-width:769px){.hero.hmf:not(.hmf-light) h1{width:auto;max-width:none;font-size:clamp(52px,5.2vw,84px)!important}.hero.hmf .cell-title h1{white-space:nowrap}}
/* manifold hero backgrounds (compare with &bg=): glow (default), navy, petrol, black */
.hero.hmf[data-bg] .stage{background:#0E1B21!important}
.hero.hmf[data-bg="glow"] .stage{background:radial-gradient(60% 75% at 72% 48%,#13305F 0%,#0B1A33 45%,#070E1C 100%)!important}
.hero.hmf[data-bg="paint"] .stage{background:#070E1C url(/assets/art/field-home.webp) 50% 50%/cover no-repeat!important;background-image:image-set(url(/assets/art/field-home.avif) type("image/avif"),url(/assets/art/field-home.webp) type("image/webp"))!important}
.hero.hmf[data-bg="navy"] .stage{background:#081230!important}
.hero.hmf[data-bg="petrol"] .stage{background:#0E1B21!important}
.hero.hmf[data-bg="black"] .stage{background:#05070A!important}
.hero.hmf[data-bg="light"] .stage{background:#FAFAF8!important}
/* bigger, heavier headline, still clear of the form */
@media (min-width:769px){
  .hero.hmf:not(.hmf-light) h1{font-size:clamp(60px,6.4vw,112px)!important;font-weight:400;letter-spacing:-.045em;line-height:.93}
  .hero.hmf:not(.hmf-light) h1 .hl{font-weight:400}
}
@media (max-width:768px){.hero.hmf:not(.hmf-light) h1{font-size:clamp(48px,13.5vw,62px)!important;font-weight:400}}
.top.on-night::before,.top.scrolled.on-night::before{background:rgba(7,14,28,.88)}
@media (max-width:768px){.hero.hmf:not(.hmf-light) h1{font-size:clamp(40px,11vw,56px)!important}}
/* "prediction." lit like the form: electric blue to ice, with a faint glow */
.hero.hmf:not(.hmf-light) h1 .hl{background:linear-gradient(95deg,#5E8BFF 0%,#86B6FF 45%,#CDEBFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(94,139,255,.35))}
/* text block vertically centred against the form; glow follows the form */
@media (min-width:769px){
  .hero.hmf .hero-grid{grid-template-rows:1fr auto auto 1fr;align-content:center}
  .hero.hmf .cell-title{grid-row:2;justify-content:flex-end}
  .hero.hmf .cell-lede{grid-row:3}
}
.hero.hmf[data-bg="glow"] .stage{background:radial-gradient(55% 80% at 70% 53%,#163670 0%,#0C1D3A 42%,#070E1C 100%)!important}
.hero.hmf:not(.hmf-light) h1 .hl{background:linear-gradient(95deg,#7EA3FF 0%,#AFCBFF 50%,#E4F2FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* "prediction.": ice blue to white, crisp, at least as bright as the rest of the headline */
.hero.hmf:not(.hmf-light) h1 .hl{background:linear-gradient(95deg,#B9D0FF 0%,#DCE8FF 50%,#FFFFFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:none}
.hero.hmf:not(.hmf-light) h1{color:#EDEBE4}
.hero.hmf:not(.hmf-light) h1 .hl{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#C6D8FF;-webkit-text-fill-color:#C6D8FF}
/* hero emphasis by brightness, not colour: the category dimmed, "prediction." solid white */
.hero.hmf:not(.hmf-light) h1{color:rgba(237,235,228,.6)!important}
.hero.hmf:not(.hmf-light) h1 .hl{background:none!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;filter:none!important}
.hero.hmf:not(.hmf-light) h1{color:rgba(237,235,228,.68)!important}
.hero.hmf:not(.hmf-light) h1{color:#E4E8F2!important}
/* hero headline: words rise from a mask on load; a light passes across "prediction." when the manifold flags */
.hero-h .m{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.04em 0 .14em;margin:-.04em 0 -.14em}
.hero-h .hl{display:block}
@media (prefers-reduced-motion:no-preference){
  .hero-h .wi{display:inline-block;animation:wordUp 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.15s + var(--d) * .12s)}
  @keyframes wordUp{from{transform:translateY(108%)}}
  .hero-h.sheen .ch{animation:sheen 2.2s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i) * 70ms)}
  @keyframes sheen{0%,100%{color:var(--pc,#FFFFFF)}18%{color:#7FA2FF;text-shadow:0 0 28px rgba(79,125,255,.75),0 0 2px rgba(160,190,255,.9)}55%{color:#A9C2FF;text-shadow:0 0 18px rgba(79,125,255,.45)}}
}
/* hero colour: white headline, cool-blue lede with the key phrase lit, brighter cobalt action */
.hero.hmf:not(.hmf-light) .cell-lede .t-paragraph-l{color:#AEBEDC!important}
.hero.hmf:not(.hmf-light) .cell-lede .t-paragraph-l b{color:#EAF0FF;font-weight:500}
.hero.hmf .btn-pair.fill .lbl,.hero.hmf .btn-pair.fill .ico{background:#2E5BFF!important;border-color:#2E5BFF!important}
.hero.hmf .btn-pair.fill:hover .lbl,.hero.hmf .btn-pair.fill:hover .ico{background:#4A71FF!important;border-color:#4A71FF!important}
.hero.hmf .btn-pair.fill{box-shadow:0 14px 40px -12px rgba(46,91,255,.8)}
.hero.hmf:not(.hmf-light) .cellbtn:not(.fill){color:#C6D8FF!important;text-decoration-color:rgba(198,216,255,.5)}
.top.on-night .navbtn.primary{background:#2E5BFF!important;border-color:#2E5BFF!important}
/* Headline: 'ICU deterioration' pure white; 'prediction.' ice to electric blue (per letter, --pc in the markup), lit like the manifold. */
.hero.hmf:not(.hmf-light) h1{color:#FFFFFF!important}
.hero.hmf:not(.hmf-light) h1 .hl{color:#DCE8FF!important;-webkit-text-fill-color:currentColor!important;filter:drop-shadow(0 0 18px rgba(108,147,255,.4))!important}
.hero.hmf:not(.hmf-light) h1 .hl .ch{color:var(--pc);-webkit-text-fill-color:currentColor}
@media (min-width:769px){.hero.hmf{height:200vh}}
/* External validation as "1,000 pairs" (pairs.js): a dark panel, one dot field per database. */
.pairs{margin-top:var(--sp-60);background:radial-gradient(90% 120% at 80% 0%,#12295A 0%,#0A1630 55%,#070E1C 100%);border-radius:14px;padding:clamp(28px,4vw,56px);color:#EDEBE4}
.pairs-h{font-size:clamp(26px,2.6vw,40px);font-weight:400;letter-spacing:-.025em;line-height:1.1;margin:0 0 clamp(28px,3.5vw,48px);max-width:22ch;color:#FFFFFF}
.pairs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.pf{margin:0;display:flex;flex-direction:column;gap:var(--sp-16)}
.pf canvas{display:block;width:100%}
.pf figcaption{display:flex;flex-direction:column;gap:6px}
.pf-v{font-size:clamp(17px,1.4vw,21px);color:#C9D2E4}
.pf-v b{font-weight:500;color:#A9C2FF;font-variant-numeric:tabular-nums;font-size:1.5em;letter-spacing:-.02em;margin-right:.15em}
.pf-n{font-size:15px;color:#FFFFFF}
.pf-n span{color:#8E9BB5;margin-left:.4em}
.pairs-note{margin:clamp(28px,3.5vw,44px) 0 0;font-size:14px;line-height:1.55;color:#8E9BB5;max-width:78ch}
@media (max-width:768px){.pairs-grid{grid-template-columns:1fr}.pairs{border-radius:10px}}
/* Home pilot: two lanes, one silent (pilot-tl.js scrubs --p from 0 to 1 as the panel scrolls through). */
.pl{--p:0;margin-top:var(--sp-40);background:radial-gradient(90% 120% at 80% 0%,#12295A 0%,#0A1630 55%,#070E1C 100%);border-radius:14px;padding:clamp(28px,4vw,56px);color:#EDEBE4;display:grid;grid-template-columns:110px 20fr 54fr 26fr;grid-template-rows:auto auto auto;column-gap:clamp(16px,2vw,28px)}
.pl-lab{font-size:14px;color:#8E9BB5;align-self:center}
.pl-lab-top{grid-row:1;grid-column:1;color:#FFFFFF}
.pl-lab-bed{grid-row:2;grid-column:1}
.pl-cell{position:relative;min-height:112px}
.pl-checks{grid-row:1;grid-column:2;display:flex;flex-direction:column;justify-content:center;gap:12px;font-style:normal}
.pl-checks i{font-style:normal;font-size:14px;color:#8E9BB5;display:flex;align-items:center;gap:10px;transition:color .4s}
.pl-checks i::before{content:"";width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(169,194,255,.45);flex:none;transition:background .4s,border-color .4s,box-shadow .4s}
.pl-checks i.on{color:#FFFFFF}
.pl-checks i.on::before{background:#A9C2FF;border-color:#A9C2FF;box-shadow:0 0 12px rgba(108,147,255,.8)}
.pl-checks i.lock::before{border-radius:2px}
.pl-log{grid-row:1;grid-column:3;border-left:1px solid rgba(237,235,228,.12);border-right:1px solid rgba(237,235,228,.12)}
.pl-log canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pl-rep{grid-row:1;grid-column:4;display:flex;align-items:center}
.pl-card{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px 16px;border-radius:10px;background:rgba(169,194,255,.08);border:1px solid rgba(169,194,255,.28);opacity:0;transform:translateY(10px) scale(.97);transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1)}
.pl.done .pl-card{opacity:1;transform:none}
.pl-card b{font-weight:500;font-size:16px;color:#FFFFFF;grid-column:2}
.pl-card>span:last-child{grid-column:2;font-size:13px;color:#A9B8D6}
.pl-doc{grid-row:1/3;width:26px;height:32px;border-radius:3px;border:1.5px solid #A9C2FF;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 5px}
.pl-doc i{display:block;height:1.5px;background:#A9C2FF;border-radius:1px}
.pl-doc i:nth-child(2){width:70%}
.pl-bed{grid-row:2;grid-column:2/5;min-height:64px;border-top:1px dashed rgba(237,235,228,.1)}
.pl-flat{--gap:72px;position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(237,235,228,.28);-webkit-mask:linear-gradient(90deg,#000 calc(50% - var(--gap)),transparent calc(50% - var(--gap)),transparent calc(50% + var(--gap)),#000 calc(50% + var(--gap)));mask:linear-gradient(90deg,#000 calc(50% - var(--gap)),transparent calc(50% - var(--gap)),transparent calc(50% + var(--gap)),#000 calc(50% + var(--gap)))}
.pl-dot{position:absolute;top:50%;left:calc(var(--h,0) * 100%);width:7px;height:7px;margin:-3px 0 0 -3px;border-radius:50%;background:rgba(237,235,228,.55);opacity:var(--hv,0);transition:opacity .25s}
.pl-none{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;color:#A9B8D6;letter-spacing:.01em;white-space:nowrap}
.pl-txt{grid-row:3;margin-top:clamp(20px,2.5vw,32px)}
.pl-t1{grid-column:2}
.pl-t2{grid-column:3}
.pl-t3{grid-column:4}
.pl-k{display:block;font-size:16px;font-weight:500;color:#FFFFFF;margin-bottom:6px}
.pl-txt p{margin:0;font-size:14px;line-height:1.55;color:#A9B8D6;max-width:34ch}
@media (max-width:768px){
  .pl{grid-template-columns:62px 1fr 2.2fr 1.1fr;column-gap:10px;border-radius:10px}
  .pl-lab{font-size:12px}
  .pl-cell{min-height:84px}
  .pl-checks{gap:9px}.pl-checks i{font-size:0;gap:0}
  .pl-card{padding:8px;grid-template-columns:auto}.pl-card b,.pl-card>span:last-child{display:none}.pl-doc{grid-row:auto}
  .pl-bed{min-height:48px}
  .pl-none{font-size:12px}.pl-flat{--gap:50px}
  .pl-txt{grid-column:1/-1!important;grid-row:auto}
  .pl-txt+.pl-txt{margin-top:var(--sp-16)}
}
/* Footer: the name, very large and faint, behind the footer text and cropped by the bottom edge. */
.footer{position:relative;overflow:hidden}
.footer>.wrap{position:relative;z-index:1}
.foot-mark{position:absolute;left:50%;bottom:-0.2em;transform:translateX(-50%);font-size:clamp(140px,25vw,440px);font-weight:400;letter-spacing:-.06em;line-height:1;color:rgba(237,235,228,.06);white-space:nowrap;user-select:none;pointer-events:none}
/* Header: 'Zentus Health' and the pilot button stay on one line on phones. */
.logo span,.top .navbtn{white-space:nowrap}
@media (max-width:420px){.logo{font-size:17px;gap:8px;padding:0 10px 0 8px}.top .navbtn.primary{font-size:13px;padding-left:10px;padding-right:10px}}
/* Home, replay board (replay.js): a dark app window; scroll replays a simulated 12 hours. */
#unit.rb-on .board{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0!important;margin:-1px;border:0}
#unit.rb-pinned .rb-pin{height:210vh}
#unit.rb-pinned .rb-stick{position:sticky;top:76px}
@media (max-width:768px){
}
/* Hero polish (review): no boxed glows, a cleaner primary button, grain and vignette, a soft exit. */
.hero.hmf:not(.hmf-light) h1 .hl{filter:none!important}
.hero.hmf:not(.hmf-light) .hero-grid .cell-title h1{text-shadow:none}
@media (min-width:769px){.hero.hmf:not(.hmf-light) h1{letter-spacing:-.035em;line-height:.96}}
.hero.hmf:not(.hmf-light) .cell-lede .t-paragraph-l{text-wrap:balance;max-width:34ch}
.hero.hmf .btn-pair.fill :is(.lbl,.ico){box-shadow:none}
.hero.hmf .btn-pair.fill{box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 8px 24px -12px rgba(46,91,255,.45)}
.hero.hmf .btn-pair .lbl{border-radius:8px 0 0 8px}
.hero.hmf .btn-pair .ico{border-radius:0 8px 8px 0}
@media (min-width:769px){.hero.hmf .cellbtn{margin-left:8px}}
.top .navbtn.primary{border-radius:8px}
/* Over the hero, the header button steps back so the hero's own button leads. */
.top.on-night:not(.scrolled) .navbtn.primary{background:transparent!important;border:1px solid rgba(255,255,255,.26)!important;color:#FFFFFF!important}
.hero.hmf .stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 60%,rgba(3,6,14,.5)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:auto,160px 160px}
/* The band after the hero starts in the hero's navy and settles into the night colour, so there is no seam. */
#scale.sec.night{background:linear-gradient(180deg,#070E1C 0,#0E1B21 260px)}
.hero.hmf .hero-grid{z-index:2}
@media (max-width:768px){.hero.hmf[data-bg="glow"] .stage{background:radial-gradient(90% 50% at 50% 70%,#163670 0%,#0C1D3A 45%,#070E1C 100%)!important}}
/* Audit fixes (home). */
/* Phone menu: a solid, full-height backdrop wherever the page is scrolled. */
html.menu-open .top::before{inset:0 0 -100vh 0!important;background:#070E1C!important;opacity:1!important;-webkit-mask-image:none!important;mask-image:none!important;backdrop-filter:none!important}
html.menu-open .top .nav a,html.menu-open .top .logo,html.menu-open .top .menu-btn{color:#EDEBE4}
/* Reduced motion: no pin height on the manifold hero. */
@media (prefers-reduced-motion:reduce){.hero.hmf{height:auto}}
/* Tablets keep three columns for notes and dot fields. */
@media (min-width:700px){.cells-3.latest{grid-template-columns:repeat(3,minmax(0,1fr))}.pairs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* The cobalt band keeps its full top padding after a light section. */
.sec+.sec.cobalt{padding-top:var(--sp-120)}
#unit.sec.tinted{padding-top:var(--sp-80)}
/* One primary button everywhere: 8px corners, no inset lip. */
.btn-pair.fill :is(.lbl,.ico){box-shadow:none}
.btn-pair .lbl{border-radius:8px 0 0 8px}
.btn-pair .ico{border-radius:0 8px 8px 0}
/* The hero's glow fades into the band below: no seam. */
.hero.hmf .stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(transparent,#070E1C);z-index:1;pointer-events:none}
#scale.sec.night{background:linear-gradient(180deg,#070E1C 0,#0E1B21 320px)}
.stat .l{text-wrap:balance}
/* Standalone text links: a comfortable tap target. */
.sec-head .link,.tnote .link,p>.link:only-child{display:inline-block;padding-block:4px}
/* Replay on phones: nothing truncated. */
@media (max-width:768px){
}

/* Evidence "Full tables": model facts sit in one column inside the disclosure. */
.ans .facts{grid-template-columns:minmax(0,1fr);border-top:0}
#steps .steps li{grid-template-columns:7.5em minmax(0,1fr)}

/* ===== Investor review fixes (2026-09-26) ===== */
/* Header: fully opaque once scrolled, so nothing reads through the nav. */
.top.scrolled::before{background:#FAFAF8!important;backdrop-filter:none;-webkit-backdrop-filter:none}
.top.on-night::before,.top.scrolled.on-night::before{background:#0E1B21!important}
.top.on-cobalt::before{background:var(--signal)!important}
/* One button style: no divider between label and arrow. */
.btn-pair.fill .ico{border-left:0!important}
.btn-pair:not(.fill) .lbl{border-right:0!important}
/* The comb opens the closing band only, not every section head. */
.sec-head::before{display:none!important}
/* Evidence hero: the index sits level with the headline, not in the lower corner. */
.page-hero .ph-index{align-self:start;padding-top:var(--sp-20)}
/* Closing band: status ledger fills the right half. */
.cta-status{list-style:none;margin:0;padding:0;color:#fff}
.cta-status li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-20);padding:var(--sp-16) 0;border-top:1px solid rgba(255,255,255,.28);font-size:17px}
.cta-status li:last-child{border-bottom:1px solid rgba(255,255,255,.28)}
.cta-status span{font-size:14px;color:rgba(255,255,255,.72);white-space:nowrap}
.cta-status .done span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;margin-right:8px;vertical-align:1px}
.cta-status .later{color:rgba(255,255,255,.6)}
@media (min-width:901px){
  .sec.cobalt .cta-band.big{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:var(--sp-80);align-items:end}
  .sec.cobalt .cta-band.big>*{grid-column:1}
  .sec.cobalt .cta-band.big::before{grid-column:1}
  .sec.cobalt .cta-band.big>.cta-status{grid-column:2;grid-row:1/span 4;align-self:end}
}
@media (max-width:900px){.cta-status{margin-top:var(--sp-40)}}
/* Updates: the lead card's image clears the rule below it. */
.post-card.lead{padding-bottom:var(--sp-30)}
/* Phones: separation between stacked cards and contact blocks. */
@media (max-width:900px){
  .cards.cards-2{row-gap:var(--sp-40)}
  .cards.cards-2>*+*{padding-top:var(--sp-30)}
  .latest{row-gap:var(--sp-40)}
}
/* Phones: the detection window centres in the screen instead of leaving a dark void below. */
@media (max-width:640px){.dw-pin{height:100svh;align-items:center}}
@media (max-width:640px){.dw-fig{aspect-ratio:1/1}}
/* Evidence hero: no forced height, so the index and headline share one block with no empty band. */
.page-hero .cells:has(.ph-index){min-height:0;align-items:end}
.page-hero .ph-index{align-self:end;padding-top:0}
@media (max-width:640px){.dw-intro{display:block;margin:var(--sp-8) 0 var(--sp-12)}.dw .dw-hint{display:none}}

/* ===== Pilot: one week in a 16-bed unit (week.js) ===== */
.wk{background:radial-gradient(90% 120% at 80% 0%,#12295A 0%,#0A1630 55%,#070E1C 100%);border-radius:14px;padding:clamp(28px,4vw,56px);color:#EDEBE4}
.wk-top{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-30);flex-wrap:wrap;margin-bottom:clamp(24px,3vw,36px)}
.wk .pairs-h{margin:0}
.wk-read{text-align:right}
.wk-n{margin:0;font-size:clamp(17px,1.4vw,21px);color:#C9D2E4}
.wk-n b{font-weight:500;color:#A9C2FF;font-variant-numeric:tabular-nums;font-size:2.2em;letter-spacing:-.03em;margin-right:.12em}
.wk-sub{margin:4px 0 0;font-size:14px;color:#8E9BB5;font-variant-numeric:tabular-nums}
.wk-ctrl{display:flex;justify-content:space-between;gap:var(--sp-20);flex-wrap:wrap;margin-bottom:var(--sp-30)}
.wk-mode{display:inline-flex;border:1px solid rgba(237,235,228,.22);border-radius:999px;padding:3px}
.wk-mode button{border:0;background:none;color:#C9D2E4;font:inherit;font-size:14px;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background var(--t-2,.2s),color var(--t-2,.2s)}
.wk-mode button[aria-pressed="true"]{background:#EDEBE4;color:#0A1630}
.wk-eps{display:flex;flex-wrap:wrap;gap:8px}
.wk-chip{border:1px solid rgba(169,194,255,.45);background:rgba(169,194,255,.12);color:#DCE6FF;font:inherit;font-size:13.5px;padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.wk-chip[aria-pressed="false"]{background:none;border-color:rgba(237,235,228,.18);color:#8E9BB5;text-decoration:line-through;text-decoration-color:rgba(142,155,181,.6)}
.wk-mode button:focus-visible,.wk-chip:focus-visible{outline:2px solid #A9C2FF;outline-offset:2px}
.wk-fig{position:relative;padding-left:28px}
.wk-fig canvas{display:block;width:100%}
.wk-y{position:absolute;left:0;top:0;bottom:24px;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:12.5px;color:#8E9BB5}
.wk-x{display:grid;grid-template-columns:repeat(7,1fr);margin-top:10px;font-size:12.5px;color:#8E9BB5}
.wk-split .wk-x{display:none}
.wk-lo-note{display:none}
.wk-lo .wk-lo-note{display:inline}
@media (max-width:768px){.wk{border-radius:10px}.wk-read{text-align:left}.wk-fig{padding-left:0}.wk-y{display:none}}

/* ===== Packet article: fifteen 100-pair fields ===== */
.article-body .pairs.pp{margin:var(--sp-40) 0}
.pp .pairs-h{font-size:clamp(22px,2vw,28px);margin-bottom:var(--sp-30)}
.pp-row+.pp-row{margin-top:var(--sp-30)}
.pp-db{margin:0 0 var(--sp-12);font-size:15px;color:#fff}
.pp-db span{color:#8E9BB5;margin-left:.4em}
.pp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.pp .pf{gap:8px}
.pp .pf figcaption{gap:2px}
.pp-v{font-size:17px;color:#A9C2FF;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.pp-e{font-size:12.5px;color:#8E9BB5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp .pairs-note{margin-top:var(--sp-30)}
@media (max-width:560px){.pp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pp-v{font-size:13px}.pp-e{font-size:10.5px}}

/* ===== Company: the patients behind each result (split.js) ===== */
.pairs.sp{margin-top:var(--sp-40)}
.sp-heads{display:flex;justify-content:space-between;font-size:14px;color:#8E9BB5;margin-bottom:var(--sp-12)}
.sp-row{display:flex;align-items:flex-end;gap:14px}
.sp-b{margin:0;flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:10px}
.sp-b canvas{display:block}
.sp-b figcaption{font-size:13px;line-height:1.35;color:#8E9BB5}
.sp-b figcaption b{display:block;font-weight:500;font-size:17px;color:#A9C2FF;font-variant-numeric:tabular-nums}
.sp-seam{align-self:stretch;flex:0 0 auto;width:1px;margin:0 18px;background:rgba(237,235,228,.45);position:relative}
.sp-seam span{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;font-size:12.5px;color:#EDEBE4;background:#0B1733;padding:6px 8px;border:1px solid rgba(237,235,228,.35);border-radius:999px}
.sp-phone .sp-row{flex-direction:column;align-items:stretch;gap:22px}
.sp-phone .sp-b{flex:none}
.sp-phone .sp-seam{width:auto;height:1px;margin:6px 0}
.sp-phone .sp-seam span{top:50%}
.sp-phone .sp-heads{display:none}
.sp-heads{justify-content:flex-start}.sp-heads span:first-child{position:absolute}.sp-heads{position:relative}
/* Company figure on paper, so the navy dot panel stays reserved for ranked pairs. */
.sp{margin-top:var(--sp-40);padding:clamp(28px,4vw,48px) 0 0;border-top:1px solid var(--ink)}
.sp-h{font-size:clamp(22px,2.2vw,30px);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0 0 var(--sp-30);color:var(--ink)}
.sp .sp-heads{color:var(--ink-2)}
.sp-b figcaption{color:var(--ink-2)}
.sp-b figcaption b{color:var(--ink)}
.sp-seam{background:var(--signal)}
.sp-seam span{background:var(--paper);color:var(--signal);border-color:var(--signal);font-weight:500}
.sp-note{margin:var(--sp-30) 0 0;font-size:14px;line-height:1.55;color:var(--ink-2);max-width:78ch}

/* ===== Page-hero art: one object, a state per page (tools/render: pilot-sealed, company-stages) ===== */
.hero-art{margin:0}
.hero-art img{display:block;width:100%;height:auto}
@media (min-width:1000px){
  .type-hero:has(.hero-art) .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:var(--sp-60);align-items:center}
  .type-hero:has(.hero-art) .wrap>*{grid-column:1}
  .type-hero:has(.hero-art) .wrap>.hero-art{grid-column:2;grid-row:1/3;align-self:center;margin:calc(-1 * var(--sp-60)) 0 calc(-1 * var(--sp-30))}
  .type-hero:has(.hero-art) .glance,.type-hero:has(.hero-art) .stages{grid-column:1/-1;grid-row:auto}
  .type-hero:has(.hero-art) .glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--sp-40)}
  .type-hero:has(.hero-art) .glance>div{grid-template-columns:1fr;gap:4px}
}
@media (max-width:999px){.hero-art{max-width:420px;margin:var(--sp-30) auto 0}}
/* Leadership portraits: one crop, one ink tone. */
.person .ph img{display:block;width:100%;height:100%;object-fit:cover}
.person .todo-t{color:var(--ink-3)}
@media (max-width:768px){.people{grid-template-columns:1fr 1fr!important}}
@media (max-width:768px){.people{column-gap:12px!important}}
@media (min-width:1000px){.type-hero .hero-art img{max-height:min(62vh,560px);width:auto;max-width:100%;margin:0 auto}}

/* ===== Company: founders ===== */
.founders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-40) var(--sp-60)}
.founder{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:var(--sp-30);align-items:end;padding-top:var(--sp-30);border-top:1px solid var(--ink)}
.f-ph{aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--stone)}
.f-ph img{display:block;width:100%;height:100%;object-fit:cover}
.f-txt{display:flex;flex-direction:column;gap:8px;padding-bottom:var(--sp-8)}
.f-rl{margin:0;font-size:14px;color:var(--ink-2)}
.f-nm{margin:0;font-size:clamp(26px,2.4vw,34px);font-weight:350;letter-spacing:-.025em;line-height:1.05;color:var(--ink)}
.f-cr{margin:var(--sp-8) 0 0;font-size:15px;line-height:1.45;color:var(--ink-2);max-width:32ch}
@media (max-width:900px){.founders{grid-template-columns:1fr}.founder{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:var(--sp-20)}}

/* ===== Page-hero colour fields, made from each page's render (tools/render/fields.py) ===== */
.type-hero.field{position:relative;min-height:min(80vh,780px);display:flex;align-items:center;background-color:#F4F6FB;background-size:cover;background-position:70% 50%}
.page-hero.field-pilot{background:#F4F6FB url(/assets/art/field-pilot.webp) 70% 50%/cover no-repeat!important;background-image:image-set(url(/assets/art/field-pilot.avif) type("image/avif"),url(/assets/art/field-pilot.webp) type("image/webp"))!important}
.page-hero.field-company{background:#F4F6FB url(/assets/art/field-company.webp) 70% 50%/cover no-repeat!important;background-image:image-set(url(/assets/art/field-company.avif) type("image/avif"),url(/assets/art/field-company.webp) type("image/webp"))!important}
.type-hero.field .wrap{width:100%}
.type-hero.field::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(transparent,var(--paper));pointer-events:none}
.type-hero.field .t-paragraph-l{border-top-color:rgba(18,26,34,.3)}
.glance-sec,.stages-sec{padding-top:var(--sp-30)!important}
.glance-sec .glance{margin-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--sp-40)}
.glance-sec .glance>div{grid-template-columns:1fr;gap:4px}
.stages-sec .stages{margin-top:0}
@media (max-width:900px){.type-hero.field{min-height:0;background-position:85% 50%}.glance-sec .glance{grid-template-columns:1fr}.glance-sec .glance>div{grid-template-columns:minmax(0,9em) minmax(0,1fr)}}
@media (max-width:900px){.page-hero.field{background-position:88% 50%!important}}
@media (max-width:900px){
  .type-hero.field::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,250,248,.92) 0%,rgba(250,250,248,.78) 55%,rgba(250,250,248,.2) 100%);pointer-events:none}
  .type-hero.field .wrap{position:relative;z-index:1}
}
.page-hero.field-evidence{background:#F4F6FB url(/assets/art/field-evidence.webp) 70% 50%/cover no-repeat!important;background-image:image-set(url(/assets/art/field-evidence.avif) type("image/avif"),url(/assets/art/field-evidence.webp) type("image/webp"))!important}
.page-hero.field-updates{background:#F4F6FB url(/assets/art/field-updates.webp) 70% 50%/cover no-repeat!important;background-image:image-set(url(/assets/art/field-updates.avif) type("image/avif"),url(/assets/art/field-updates.webp) type("image/webp"))!important}
/* Evidence key figures, now a row under the painted opening. */
.kf-sec{padding-top:var(--sp-30)!important}
.ph-index.kf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);padding:0;background:none}
.ph-index.kf a{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--sp-20) var(--sp-20) var(--sp-20) 0;border-bottom:0}
.ph-index.kf a+a{padding-left:var(--sp-20);border-left:1px solid var(--line)}
.ph-index.kf span{order:3;font-size:14px;color:var(--ink-2)}
.ph-index.kf b{order:1;font-size:clamp(26px,2.4vw,34px);font-weight:300;letter-spacing:-.02em}
.ph-index.kf i{order:2;font-style:normal;font-size:13px;color:var(--ink-3)}
@media (max-width:900px){.ph-index.kf{grid-template-columns:1fr 1fr}.ph-index.kf a+a{border-left:0;padding-left:0}.ph-index.kf a{border-top:1px solid var(--line)}}
/* Painted openings: a paper wash under the header so the nav always reads. */
.type-hero.field::before{content:"";position:absolute;left:0;right:0;top:0;height:140px;background:linear-gradient(rgba(250,250,248,.85),rgba(250,250,248,0));pointer-events:none}
@media (max-width:900px){.type-hero.field::before{height:auto;inset:0;background:linear-gradient(180deg,rgba(250,250,248,.92) 0%,rgba(250,250,248,.78) 55%,rgba(250,250,248,.2) 100%)}}
.type-hero.field .wrap{position:relative;z-index:1}
ul.f-cr{list-style:none;padding:0;margin:var(--sp-12) 0 0;max-width:40ch}
ul.f-cr li{padding:8px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.4;color:var(--ink-2)}
@media (max-width:900px){.founder{align-items:start}}
/* Painted covers: each note gets a detail of the painting family, not a chart. */
.post-card .thumb picture,.article-hero picture{display:block;width:100%;height:100%}
/* Labels: one monospace face for eyebrows and small metadata; buttons and tables keep Switzer. */
@font-face{font-family:"Fragment Mono";src:url(/fonts/FragmentMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--label:"Fragment Mono",ui-monospace,monospace}
.eyebrow{display:flex;align-items:center;gap:10px;grid-column:1/-1;margin:0 0 var(--sp-16);font:400 12px/1.3 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.eyebrow::before{content:"";flex:none;width:7px;height:7px;background:var(--signal)}
.pairs .eyebrow,.sec.night .eyebrow{color:rgba(237,235,228,.66)}
.pairs .eyebrow::before,.sec.night .eyebrow::before{background:#A0BEFF}
.st-k,.glance dt,.sp-heads,.f-rl,.ph-index.kf i,.post-card .meta,.footer h2.t-tag-xs,.rp-t{font-family:var(--label)!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.faq .ans ul:not(.notdo-list){margin:0;padding-left:1.2em}
/* ===== Home replay: the product window (replay.js) ===== */
.ap{--rh:58px;--c:#6C93FF;--ink:#EEF2FB;--mut:#8C98B3;--dim:#5B6680;--hair:rgba(214,224,255,.08);
  position:relative;margin-top:var(--sp-30);color:var(--ink);border-radius:16px;overflow:hidden;font-size:14px;font-variant-numeric:tabular-nums;
  background:radial-gradient(120% 80% at 70% -10%,rgba(46,91,255,.16),transparent 60%),linear-gradient(180deg,#0F1A33,#0A1226);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(169,194,255,.12),0 40px 80px -30px rgba(10,20,50,.55),0 18px 30px -18px rgba(10,20,50,.4)}
.ap-dim{color:var(--dim)}
.ap-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;height:52px;padding:0 20px;border-bottom:1px solid var(--hair);background:rgba(255,255,255,.015)}
.ap-where{display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--mut);font-size:13px}
.ap-where b{color:var(--ink);font-weight:500}
.ap-logo{width:18px;height:18px;color:var(--ink)}
.ap-sep{width:1px;height:16px;background:var(--hair);margin:0 4px}
.ap-time{display:flex;align-items:center;gap:20px;height:46px;padding:0 20px;border-bottom:1px solid var(--hair)}
.ap-now{font-size:13px;color:var(--mut);white-space:nowrap;min-width:92px}
.ap-now b{color:var(--ink);font-weight:500}
.ap-track{position:relative;flex:1;height:14px}
.ap-track::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;border-radius:2px;background:rgba(214,224,255,.1)}
.ap-track>i:not(.ap-fill):not(.ap-head){position:absolute;top:3px;width:1px;height:8px;background:rgba(214,224,255,.16)}
.ap-fill{position:absolute;left:0;right:0;top:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(108,147,255,.4),var(--c));transform-origin:0 50%;transform:scaleX(0)}
.ap-head{position:absolute;top:7px;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#E6EEFF;box-shadow:0 0 0 4px rgba(108,147,255,.22),0 0 16px rgba(108,147,255,.7)}
.ap-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.ap-list{border-right:1px solid var(--hair)}
.ap-row{display:grid;grid-template-columns:44px 96px minmax(0,1fr) 64px 112px;align-items:center;column-gap:12px;padding:0 20px;height:var(--rh)}
.ap-hd{height:38px;font:400 10.5px/1 var(--label);letter-spacing:.09em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--hair)}
.ap-rows{position:relative;height:calc(7 * var(--rh))}
.ap-rows .ap-row{position:absolute;left:0;right:0;top:0;transform:translateY(calc(var(--r,0) * var(--rh)));transition:transform .8s cubic-bezier(.65,0,.35,1),background .5s;border-bottom:1px solid rgba(214,224,255,.05)}
.ap-rows .ap-row::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;background:transparent;transition:background .4s}
.ap-row[data-b=review]::before{background:var(--c)!important}
.ap-row[data-b=watch]::before{background:rgba(169,188,242,.45)!important}
.ap-bed{font-size:15px;font-weight:500;color:var(--ink)}
.ap-risk{display:flex;align-items:baseline;gap:8px}
.ap-risk b{font-size:22px;font-weight:350;letter-spacing:-.02em;color:var(--ink);min-width:28px}
.ap-risk em{font:400 10px/1 var(--label);letter-spacing:.09em;text-transform:uppercase;font-style:normal;color:var(--dim)}
.ap-row[data-b=review] .ap-risk em{color:#A9C2FF}
.ap-row[data-b=watch] .ap-risk em{color:#8FA3D6}
.ap-ep{display:flex;flex-direction:column;gap:3px;min-width:0}
.ap-ep>span,.ap-ep{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-ep em{font-style:normal;font-size:12px;color:var(--dim)}
.ap-quiet .ap-ep,.ap-quiet .ap-risk b{color:var(--mut)}
.ap-x{color:var(--mut)}
.ap-row[data-b=review] .ap-x{color:var(--ink)}
.ap-spark{position:relative;display:block}
.ap-spark svg{width:96px;height:28px;display:block;overflow:visible}
.ap-spark line{stroke:rgba(214,224,255,.14);stroke-dasharray:2 3;stroke-width:1}
.ap-spark .l{fill:none;stroke:#7D89A6;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.ap-spark .a{fill:rgba(125,137,166,.1)}
.ap-spark circle{fill:#7D89A6}
.ap-row[data-b=review] .ap-spark .l,.ap-row[data-b=review] .ap-spark circle{stroke:var(--c);fill:var(--c)}
.ap-row[data-b=review] .ap-spark .l{fill:none}
.ap-row[data-b=review] .ap-spark .a{fill:rgba(108,147,255,.16)}
.ap-key{background:linear-gradient(90deg,rgba(46,91,255,.14),rgba(46,91,255,0) 75%)}
.ap-up{position:absolute;right:-6px;top:-4px;white-space:nowrap;font-size:10px;color:#A9C2FF;opacity:0;transform:translateY(3px);transition:opacity .4s,transform .4s}
.ap-up.on{opacity:1;transform:none}
/* Detail pane */
.ap-detail{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,rgba(46,91,255,.05),transparent 40%)}
.ad-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ad-k{margin:0;font:400 10.5px/1 var(--label);letter-spacing:.09em;text-transform:uppercase;color:var(--mut)}
.ad-ep{margin:8px 0 0;font-size:17px;color:var(--ink)}
.ad-ep span{font-size:12.5px;color:var(--dim);margin-left:8px}
.ap-pill{font-style:normal;font:400 10.5px/1 var(--label);letter-spacing:.09em;text-transform:uppercase;padding:7px 10px;border-radius:6px;white-space:nowrap;color:var(--mut);box-shadow:inset 0 0 0 1px var(--hair);transition:background .4s,color .4s}
.ap-pill.review{background:var(--c);color:#fff;box-shadow:0 0 18px rgba(108,147,255,.45)}
.ap-pill.watch{color:#C6D4F2;box-shadow:inset 0 0 0 1px rgba(169,188,242,.4)}
.ad-num{display:flex;align-items:baseline;gap:12px}
.ad-num b{font-size:56px;line-height:1;font-weight:250;letter-spacing:-.04em;color:#fff}
.ad-delta{font-size:13px;color:#A9C2FF}
.ad-chart{position:relative;height:150px;margin:4px 56px 18px 0}
.ad-chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ad-l{stroke-width:1;stroke-dasharray:3 4}
.rv70{stroke:rgba(108,147,255,.55)}
.wt35{stroke:rgba(214,224,255,.16)}
.ad-line{fill:none;stroke:var(--c);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ad-lab{position:absolute;left:calc(100% + 10px);transform:translateY(-50%);font:400 10px/1 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.ad-lab:first-of-type{color:#8FA3D6}
.ad-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(108,147,255,.35),0 0 14px rgba(108,147,255,.8)}
.ad-flag{position:absolute;width:0;height:0;opacity:0;transition:opacity .4s}
.ad-flag.on{opacity:1}
.ad-flag i{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#0F1A33;box-shadow:inset 0 0 0 1.5px #A9C2FF}
.ad-flag em{position:absolute;left:10px;top:-22px;font:400 10px/1 var(--label);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:#A9C2FF;white-space:nowrap}
.ad-ax{position:absolute;left:0;right:0;top:calc(100% + 8px);display:flex;justify-content:space-between;font-size:11px;color:var(--dim)}
.ad-eps{border-top:1px solid var(--hair);padding-top:12px;display:grid;gap:8px}
.ad-h{margin:0 0 2px;font:400 10.5px/1 var(--label);letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}
.ad-e{display:grid;grid-template-columns:minmax(0,1fr) 34% 28px;align-items:center;gap:12px;font-size:13px;color:var(--mut)}
.ad-e span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-e em{font-style:normal;color:var(--dim);font-size:11.5px;margin-left:6px}
.ad-e i{position:relative;height:4px;border-radius:2px;background:rgba(214,224,255,.08);overflow:hidden}
.ad-e b{position:absolute;inset:0;border-radius:2px;background:#56627E;transform-origin:0 50%}
.ad-e.lead{color:var(--ink)}
.ad-e[data-b=review] b{background:var(--c)}
.ad-e[data-b=watch] b{background:#8FA3D6}
.ad-v{text-align:right;color:var(--ink)}
@media (max-width:1100px){
  .ap-row{grid-template-columns:36px 86px minmax(0,1fr) 96px}
  .ap-row>.ap-x{display:none}
}
@media (max-width:900px){
  .ap{--rh:54px;border-radius:12px}
  .ap-body{grid-template-columns:1fr}
  .ap-list{border-right:0;border-bottom:1px solid var(--hair)}
  .ap-dim{display:none}
  .ap-bar,.ap-time{padding:0 14px}
  .ap-row{padding:0 14px}
}
@media (max-width:560px){
    .ap-where>span:not(.ap-sep){display:none}
  .ap-sep{display:none}
  .ap-row{grid-template-columns:28px 64px minmax(0,1fr) 64px;column-gap:8px}
  .ap-risk{flex-direction:column;gap:4px}
  .ap-risk b{font-size:19px}
  .ap-spark svg{width:64px}
  .ap-up{right:-2px}
  .ap-detail{padding:16px 14px}
  .ad-num b{font-size:44px}
  .ad-chart{height:120px;margin-right:50px}
}
.ap{--rh:64px}
.ad-chart{height:128px}
.ap-risk em{white-space:nowrap}
.ap-detail{gap:12px}
@media (max-width:900px){.ap{--rh:54px}.ad-chart{height:140px}}
.ap-hd>span{white-space:nowrap}
@media (max-width:560px){.ap-hd{letter-spacing:.05em}.ap-up{right:auto;left:0;top:-12px}}
.pf-s{display:block;margin-top:6px;font:400 10.5px/1.3 var(--label);letter-spacing:.09em;text-transform:uppercase;color:#8E9BB5}
/* Footer: the scale is the divider above the legal line, not a separate band at the bottom. */
.foot-scale{height:22px!important;margin:var(--sp-40) 0 0!important}
.footer .foot-legal{border-top:0!important;padding-top:var(--sp-16)!important}
.stages li.then{border-top:1px solid var(--ink)}
.f-own{margin:2px 0 6px;font-size:16px;line-height:1.45;color:var(--ink);max-width:34ch}
.founder{align-items:start!important}
@media (max-width:600px){.founder{grid-template-columns:1fr!important;gap:var(--sp-16)!important}.founder .f-ph{max-width:220px}}
/* Founders: photo and credentials start and end together; both cards share one height. */
@media (min-width:601px){
  .founders{align-items:stretch}
  .founder{align-items:stretch!important}
  .founder .f-ph{aspect-ratio:auto;height:100%;min-height:320px}
  .founder .f-ph img{object-position:50% 28%}
  .founder .f-txt{padding-bottom:0}
}
ul.f-cr li{padding:7px 0}
ul.f-cr li:last-child{padding-bottom:0}

/* ===== Layout pass, 27 Sep 2026 ===== */
/* Evidence key figures: captions left-aligned under their numbers (the base .ph-index centred them). */
.ph-index.kf span{align-self:flex-start;text-align:left}
/* Page heroes between tablet and wide desktop: the painting reaches under the copy, so fade it from the left. */
@media (min-width:901px) and (max-width:1279px){
  .type-hero.field::before{inset:0;height:auto;background:linear-gradient(90deg,rgba(250,250,248,.94) 0%,rgba(250,250,248,.86) 42%,rgba(250,250,248,0) 64%),linear-gradient(rgba(250,250,248,.85),rgba(250,250,248,0) 140px)}
}
/* Company stages: "Next" as a solid accent rule (the double rule read as a glitch), titles on one line. */
.stages li.next{border-top:3px solid var(--signal)}
.stages .st-t{font-size:clamp(24px,2.3vw,34px);text-wrap:balance}
/* Updates: the lead card shares the column edges of the two cards below it. */
@media (min-width:769px){.post-card.lead{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px}}
.post-card .t-headline-2{max-width:none;text-wrap:balance}
/* Pilot glance: values sit at the top of their row; the fifth item fills the row's last two columns. */
.glance-sec .glance>div{align-content:start}
@media (min-width:901px){.glance-sec .glance>div:last-child:nth-child(3n+2){grid-column:span 2}}
/* Packet article on phones: endpoint names break at a soft hyphen instead of being cut off. */
@media (max-width:560px){.pp-e{white-space:normal;overflow:visible;text-overflow:clip;hyphens:manual;line-height:1.25}}
/* Replay: the rise badge sits above the sparkline, clear of the pane border. */
.ap-up{right:0;top:-12px}
/* Footer legal line breaks between clauses, never inside one. */
.foot-legal .lg>span{white-space:nowrap}
/* "Latest notes" and "All updates" stay on one line on phones. */
@media (max-width:768px){.sec-head.latest-head{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.sec-head.latest-head>p{padding-top:0}}
