/* finium.tech v7 · shares paper/ink/rules + Newsreader + IBM Plex Mono with @finium/tokens (finiumlegal).
   Lab accent: verdigris #2E6F62 (legal keeps #1B41FF). Fonts self-hosted (CSP self only). */
:root{
--paper:#F3F0E8;--paper2:#EAE6DB;--card:#FBFAF6;--ink:#131417;--ink2:#3B3D45;--mute:#6E6C64;--faint:#86837A;
--rule:rgba(19,20,23,.10);--rule2:rgba(19,20,23,.18);
--acc:#2E6F62;--acc2:#7CC2AE;--acc-t:rgba(46,111,98,.10);
--legal:#1B41FF;
--night:#121310;--night2:#1C1D1A;--on-night:#ECE8DD;--on-night2:#A9A598;--nrule:rgba(236,232,221,.12);
--serif:"Newsreader",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
--ease:cubic-bezier(.2,.8,.2,1);--pad:64px;--max:1312px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:400 15px/1.65 var(--mono);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:multiply;
background:url(art/grain.svg)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:calc(var(--max) + 2*var(--pad));margin:0 auto;padding:0 var(--pad)}
.serif{font-family:var(--serif)}
em,.it{font-style:italic}
.cap{font:500 11.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.cap.v{color:var(--acc)}
.dash{display:inline-flex;align-items:center;gap:14px}
.dash::before{content:"";width:40px;height:1px;background:currentColor;opacity:.6}
.dot{color:var(--acc)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 22px;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);transition:all .25s var(--ease);white-space:nowrap}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:var(--acc);border-color:var(--acc)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.onnight{border-color:rgba(236,232,221,.4);color:var(--on-night)}
.btn.onnight.solid{background:var(--on-night);color:var(--night);border-color:var(--on-night)}
.lnk{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}
/* chips */
.chip{display:inline-flex;align-items:center;gap:7px;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;border:1px solid var(--rule2);color:var(--ink2);white-space:nowrap}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.chip.ok{color:var(--ink);border-color:var(--rule2)}
.chip.prog{color:#8A5A00;border-color:rgba(138,90,0,.35)}
.chip.plan{color:var(--mute)}
.chip.dir{color:var(--acc);border-color:rgba(46,111,98,.35)}
.chip.dir::before{border-radius:0;transform:rotate(45deg);width:5px;height:5px}
/* nav */
.nav{position:absolute;top:0;left:0;right:0;z-index:20}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:96px}
.wm{display:flex;align-items:baseline;gap:14px}
.wm b{font:400 22px/1 var(--serif);letter-spacing:.28em}
.wm i{font:italic 300 16px/1 var(--serif);color:var(--mute)}
.navl{display:flex;gap:34px;justify-self:center}
.navl a,.navr a.t{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;position:relative;padding:6px 0}
.navl a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--acc);transition:right .3s var(--ease)}
.navl a:hover::after,.navl a.on::after{right:0}
.navr{justify-self:end;display:flex;align-items:center;gap:26px}
.navr a.t.legal{color:var(--legal)}
.navr .btn{height:40px;padding:0 16px;font-size:11px}
.nav.light{color:var(--ink)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--rule2);align-items:center;justify-content:center;background:transparent}
.burger span{display:block;width:16px;height:1px;background:var(--ink);box-shadow:0 5px 0 var(--ink)}
.sub{border-bottom:1px solid var(--rule2)}
.navl .mo{display:none}
/* HERO A · plate */
.heroA{position:relative;background:#cfd2cf;overflow:hidden}
.heroA .plate{position:relative;width:100%;aspect-ratio:16/9;min-height:760px}
.heroA .plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:drift 30s var(--ease) forwards}
@keyframes drift{to{transform:scale(1)}}
.heroA .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,240,232,.55) 0%,rgba(243,240,232,.15) 30%,rgba(243,240,232,0) 45%),linear-gradient(90deg,rgba(243,240,232,.35),rgba(243,240,232,0) 55%)}
.heroA .copy{position:absolute;left:0;right:0;top:150px}
.heroA h1{font:300 96px/.96 var(--serif);letter-spacing:-.025em;font-variation-settings:"opsz" 72;white-space:nowrap}
.heroA h1 em{font-weight:300}
.heroA .eyebrow{margin-bottom:30px;color:var(--ink2)}
.plate-cap{position:absolute;left:0;right:0;bottom:26px}
.plate-cap .wrap{display:flex;justify-content:space-between;color:rgba(243,240,232,.9)}
.plate-cap .cap{color:rgba(243,240,232,.85)}
.ledeA{background:var(--paper);border-bottom:1px solid var(--rule2)}
.ledeA .wrap{display:grid;grid-template-columns:5fr 4fr 3fr;gap:48px;padding-top:56px;padding-bottom:56px;align-items:start}
.ledeA p.big{font:400 26px/1.3 var(--serif);letter-spacing:-.005em}
.ledeA p.big em{color:var(--acc)}
.ledeA .acts{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
/* sections */
section{position:relative}
.sec{padding:152px 0}
.sec.tight{padding:112px 0}
.sh{display:grid;grid-template-columns:3fr 9fr;gap:48px;margin-bottom:72px;align-items:start}
.sh .cap{padding-top:14px}
.sh h2{font:300 64px/1.02 var(--serif);letter-spacing:-.02em;font-variation-settings:"opsz" 60}
.sh h2 em{font-style:italic}
.sh p{margin-top:24px;max-width:640px;color:var(--ink2)}
.statement{font:300 50px/1.16 var(--serif);letter-spacing:-.015em;max-width:1180px}
.statement .g{color:var(--faint)}
.statement em{font-style:italic}
.hr{height:1px;background:var(--rule2)}
.hr.ink{background:var(--ink)}
/* signature section */
.sig{display:grid;grid-template-columns:4fr 7fr;gap:72px;align-items:start}
.sig .side h2{font:300 54px/1.04 var(--serif);letter-spacing:-.02em}
.sig .side h2 em{color:var(--acc)}
.sig .side p{margin-top:24px;color:var(--ink2)}
/* claims */
.claims{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.claim{padding:36px 36px 40px 0;border-right:1px solid var(--rule2)}
.claim+.claim{padding-left:36px}
.claim:last-child{border-right:0;padding-right:0}
.claim .num{font:italic 300 56px/1 var(--serif);color:var(--acc)}
.claim h3{font:400 32px/1.1 var(--serif);margin:22px 0 16px;letter-spacing:-.01em}
.claim p{color:var(--ink2);font-size:14px}
.fig{margin-top:30px;border:1px solid var(--rule2);background:var(--card);font:400 11.5px/1.5 var(--mono)}
.fig .fh{display:flex;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--rule);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.fig table{width:100%;border-collapse:collapse}
.fig td{padding:9px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.fig tr:last-child td{border-bottom:0}
.fig td.t{text-align:right;white-space:nowrap}
.tag{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 6px;border:1px solid var(--rule2)}
.tag.r{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tag.m{color:var(--acc);border-color:rgba(46,111,98,.4)}
.tag.a{border-style:dashed}
.claim .tags{margin-top:22px;font:500 10.5px/1.6 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase}
/* night */
.night{background:var(--night);color:var(--on-night)}
.night .cap{color:var(--on-night2)}
.night .sh p,.night p{color:var(--on-night2)}
.night .hr{background:var(--nrule)}
.proofs{display:grid;grid-template-columns:7fr 5fr;gap:24px}
.pcard{position:relative;border:1px solid var(--nrule);background:var(--night2);display:flex;flex-direction:column}
.pcard .img{position:relative;overflow:hidden;aspect-ratio:16/10}
.pcard .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pcard:hover .img img{transform:scale(1.03)}
.pcard .body{padding:30px 32px 34px;display:flex;flex-direction:column;gap:16px;flex:1}
.pcard .lbl{display:flex;justify-content:space-between;align-items:center}
.pcard h3{font:300 40px/1.05 var(--serif);letter-spacing:-.015em;color:var(--on-night)}
.pcard h3 em{font-style:italic}
.pcard p{font-size:14px}
.pcard .chips{display:flex;gap:8px;flex-wrap:wrap}
.pcard .chips .chip{border-color:var(--nrule);color:var(--on-night)}
.pcard .chip.dir{color:var(--acc2);border-color:rgba(124,194,174,.4)}
.pcard .go{margin-top:auto;padding-top:18px;border-top:1px solid var(--nrule);display:flex;justify-content:space-between;align-items:center;font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.pcard .go .arr{transition:transform .3s var(--ease)}
.pcard:hover .go .arr{transform:translateX(6px)}
.pcard.legal .go{color:#8EA2FF}
.night .fine{margin-top:28px;font-size:12px;color:var(--on-night2)}
/* positions */
.pos{border-top:1px solid var(--ink)}
.pos li{list-style:none;display:grid;grid-template-columns:3fr 9fr;gap:48px;padding:30px 0;border-bottom:1px solid var(--rule2);align-items:baseline;transition:background .3s}
.pos li .n{font:500 11.5px/1 var(--mono);letter-spacing:.14em;color:var(--acc)}
.pos li h4{font:300 40px/1.12 var(--serif);letter-spacing:-.015em}
.pos li h4 em{font-style:italic}
.pos li p{grid-column:2;margin-top:-14px;color:var(--mute);font-size:13.5px;max-width:720px}
/* index list */
.idx{border-top:1px solid var(--ink)}
.idx a,.idx .it{display:grid;grid-template-columns:110px 5fr 4fr 170px 40px;gap:24px;padding:24px 0;border-bottom:1px solid var(--rule2);align-items:center;transition:padding .3s var(--ease),background .3s}
.idx a:hover{padding-left:14px;background:linear-gradient(90deg,var(--acc-t),transparent 60%)}
.idx .n{font:500 11px/1 var(--mono);letter-spacing:.14em;color:var(--mute)}
.idx .ti{font:400 27px/1.15 var(--serif);letter-spacing:-.01em}
.idx .ti em{font-style:italic}
.idx .d{font-size:13px;color:var(--ink2)}
.idx .ar{text-align:right;color:var(--acc)}
/* assurance strip */
.assure{display:grid;grid-template-columns:3fr 9fr;gap:48px;padding:40px 0;border-top:1px solid var(--rule2);border-bottom:1px solid var(--rule2)}
.assure ul{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none}
.assure li{display:flex;flex-direction:column;gap:12px;font-size:13px}
.assure li .chip{align-self:flex-start}
/* doors / contact */
.cta{padding:160px 0 120px}
.cta h2{font:300 92px/.98 var(--serif);letter-spacing:-.028em;max-width:1100px}
.cta h2 em{color:var(--acc)}
.doors{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid var(--ink)}
.door{padding:30px 32px 34px 0;border-right:1px solid var(--rule2);display:flex;flex-direction:column;gap:14px;transition:background .3s}
.door+.door{padding-left:32px}
.door:last-child{border-right:0}
.door h4{font:400 30px/1.1 var(--serif)}
.door p{font-size:13.5px;color:var(--ink2);flex:1}
.door .lnk{align-self:flex-start;margin-top:10px}
.door:hover .lnk{color:var(--acc)}
/* footer */
.foot{background:var(--night);color:var(--on-night);padding:88px 0 0;overflow:hidden}
.foot .cols{display:grid;grid-template-columns:4fr 2fr 2fr 2fr 2fr;gap:32px;padding-bottom:64px;border-bottom:1px solid var(--nrule)}
.foot .cols h5{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--on-night2);margin-bottom:20px}
.foot .cols a{display:block;font-size:13.5px;padding:5px 0;color:var(--on-night)}
.foot .cols a:hover{color:var(--acc2)}
.foot .cols p{font:300 26px/1.25 var(--serif);max-width:360px}
.foot .cols p em{color:var(--acc2)}
.foot .fine{display:flex;justify-content:space-between;gap:32px;padding:22px 0;font-size:11.5px;color:var(--on-night2)}
.giant{font:300 clamp(120px,24vw,360px)/.78 var(--serif);letter-spacing:-.045em;color:var(--on-night);white-space:nowrap;margin:40px 0 -0.16em -0.04em;opacity:.95}
.giant em{color:var(--acc)}
.gh{display:inline-flex;align-items:center;gap:8px}
.gh svg{width:15px;height:15px;fill:currentColor}
/* page hero (inner pages) */
.ph{padding:200px 0 96px;border-bottom:1px solid var(--rule2)}
.ph .wrap{display:grid;grid-template-columns:3fr 9fr;gap:48px}
.ph h1{font:300 96px/.95 var(--serif);letter-spacing:-.028em;font-variation-settings:"opsz" 72}
.ph h1 em{font-style:italic;color:var(--acc)}
.ph p{margin-top:36px;max-width:640px;color:var(--ink2);font-size:15.5px}
.ph .cap{padding-top:22px}
/* kernel */
.kernel{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center}
.stack{position:relative;height:600px}
.layer{position:absolute;left:50%;width:330px;height:330px;margin-left:-165px;transform:scaleY(.5) rotate(-45deg);transform-origin:50% 50%;border:1px solid var(--ink);background:var(--card);box-shadow:-10px 10px 0 -1px var(--paper2),-10px 10px 0 0 var(--ink2);transition:transform .5s var(--ease),background .3s}
.layer span{position:absolute;right:16px;bottom:14px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.layer.hot{background:var(--acc);border-color:var(--acc);box-shadow:-10px 10px 0 -1px #1E4A41,-10px 10px 0 0 #1E4A41}
.layer.hot span{color:var(--paper)}
.layer .ln{position:absolute;left:16%;right:16%;height:1px;background:var(--rule2)}
.klist{border-top:1px solid var(--ink)}
.klist div{display:grid;grid-template-columns:56px 1fr 2fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--rule2);align-items:baseline}
.klist .n{font:500 11px/1 var(--mono);color:var(--acc);letter-spacing:.14em}
.klist h4{font:400 28px/1.1 var(--serif)}
.klist p{font-size:13.5px;color:var(--ink2)}
/* tables */
.tbl{width:100%;border-collapse:collapse;border-top:1px solid var(--ink)}
.tbl th{font:500 10.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:left;padding:16px 16px 16px 0;border-bottom:1px solid var(--rule2)}
.tbl td{padding:20px 16px 20px 0;border-bottom:1px solid var(--rule2);vertical-align:top;font-size:13.5px;color:var(--ink2)}
.tbl td.s{font:400 22px/1.2 var(--serif);color:var(--ink)}
.tbl td.s em{font-style:italic}
.tblw{overflow-x:auto}
/* split w/ painting */
.split{display:grid;grid-template-columns:6fr 6fr;gap:72px;align-items:center}
.split .art{position:relative}
.split .art img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split .art figcaption{display:flex;justify-content:space-between;margin-top:12px;font:400 11px/1.4 var(--mono);color:var(--mute)}
.split h2{font:300 60px/1.02 var(--serif);letter-spacing:-.02em}
.split h2 em{font-style:italic;color:var(--acc)}
.split p{margin-top:22px;color:var(--ink2)}
.split .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.split .acts{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
/* ontology inspector */
.onto{position:relative;border:1px solid var(--rule2);background:var(--card);height:520px;overflow:hidden;background-image:radial-gradient(var(--rule2) 1px,transparent 1px);background-size:22px 22px}
.onto svg{position:absolute;inset:0;width:100%;height:100%}
.node{position:absolute;transform:translate(-50%,-50%);font:400 11.5px/1 var(--mono);padding:8px 11px;background:var(--card);border:1px solid var(--ink);white-space:nowrap}
.node small{position:absolute;left:0;top:-15px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.node.ent{border-radius:999px}
.node.pol{background:var(--acc);color:var(--paper);border-color:var(--acc)}
.node.rec{border-style:dashed}
.insp{position:absolute;right:20px;bottom:20px;width:330px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 20px 40px -20px rgba(0,0,0,.35)}
.insp .ih{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--rule2);font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.insp q{display:block;padding:14px;font:400 18px/1.3 var(--serif);border-bottom:1px solid var(--rule2)}
.insp dl{display:grid;grid-template-columns:auto 1fr;font-size:11.5px}
.insp dt,.insp dd{padding:8px 14px;border-bottom:1px solid var(--rule)}
.insp dd{text-align:right}
/* integrity lab */
.integ{display:grid;grid-template-columns:7fr 5fr;gap:0;border:1px solid var(--ink);background:var(--card)}
.integ .l{padding:28px;border-right:1px solid var(--rule2)}
.integ .r{padding:28px;background:var(--paper2);display:flex;flex-direction:column;gap:16px}
.integ textarea{width:100%;height:150px;border:1px solid var(--rule2);background:var(--paper);font:400 14px/1.6 var(--mono);padding:14px;resize:vertical;color:var(--ink)}
.integ .row2{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.integ .btn{height:40px;font-size:11px}
.integ code{display:block;font:400 12px/1.6 var(--mono);word-break:break-all;padding:12px;border:1px dashed var(--rule2);min-height:62px;color:var(--ink2)}
.integ .res{font:500 12px/1.5 var(--mono);letter-spacing:.06em;padding:12px;border:1px solid var(--rule2)}
.integ .res[data-s=match]{color:#2F6B3A;border-color:#2F6B3A}
.integ .res[data-s=changed]{color:var(--acc);border-color:var(--acc)}
/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.shot .rv{opacity:1;transform:none;transition:none}
.shot .frag .ln{transition:none}
.shot *{animation-duration:0s!important;animation-delay:0s!important}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}*{animation:none!important;transition:none!important}}
/* ---------- mobile ---------- */
@media (max-width:900px){
:root{--pad:22px}
body{font-size:14px}
.nav .wrap{height:72px;grid-template-columns:1fr auto}
.navl,.navr .t,.navr .btn{display:none}
.burger{display:inline-flex}
.nav.open .navl{display:flex;justify-self:stretch;flex-direction:column;gap:0;position:absolute;top:72px;left:0;right:0;background:var(--paper);color:var(--ink);border-top:1px solid var(--rule2);border-bottom:1px solid var(--rule2);padding:8px var(--pad) 18px;z-index:30}
.nav.open .navl a{padding:14px 0;border-bottom:1px solid var(--rule2)}
.nav.open .navl a:last-child{border-bottom:0}
.nav.open .navl a::after{display:none}
.nav.open .navl .mo{display:block}
.nav.open .navl .mo.legal{color:var(--legal)}
.burger{color:inherit}
.wm b{font-size:24px}.wm i{display:none}
.heroA .plate{aspect-ratio:auto;height:640px;min-height:0}
.heroA .plate img{object-position:58% 50%}
.heroA .copy{top:118px}
.heroA h1{font-size:56px;line-height:.95}
.heroA .shade{background:linear-gradient(180deg,rgba(243,240,232,.7) 0%,rgba(243,240,232,.2) 42%,rgba(243,240,232,0) 55%)}
.plate-cap .wrap{flex-direction:column;gap:4px}
.ledeA .wrap{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:40px}
.ledeA p.big{font-size:22px}
.sec{padding:88px 0}.sec.tight{padding:72px 0}
.sh{grid-template-columns:1fr;gap:16px;margin-bottom:44px}
.sh h2{font-size:40px}
.statement{font-size:30px}
.sig{grid-template-columns:1fr;gap:44px}
.sig .side h2{font-size:38px}
.claims{grid-template-columns:1fr}
.claim,.claim+.claim{padding:30px 0;border-right:0;border-bottom:1px solid var(--rule2)}
.claim h3{font-size:28px}
.proofs{grid-template-columns:1fr}
.pcard h3{font-size:30px}.pcard .body{padding:22px 20px 24px}
.pos li{grid-template-columns:1fr;gap:10px;padding:24px 0}
.pos li h4{font-size:27px}
.pos li p{grid-column:1;margin-top:0}
.idx a,.idx .it{grid-template-columns:1fr auto;gap:8px 16px;padding:20px 0}
.idx .n{grid-column:1/-1}
.idx .ti{font-size:22px;grid-column:1/-1}
.idx .d{grid-column:1/-1}
.idx .ar{display:none}
.assure{grid-template-columns:1fr;gap:20px}
.assure ul{grid-template-columns:1fr 1fr;gap:20px}
.cta{padding:96px 0 72px}
.cta h2{font-size:46px}
.doors{grid-template-columns:1fr;margin-top:48px}
.door,.door+.door{padding:26px 0;border-right:0;border-bottom:1px solid var(--rule2)}
.foot{padding-top:56px}
.foot .cols{grid-template-columns:1fr 1fr;gap:32px 20px}
.foot .cols>div:first-child{grid-column:1/-1}
.foot .fine{flex-direction:column;gap:8px}
.giant{font-size:31vw;margin-top:28px}
.ph{padding:128px 0 56px}
.ph .wrap{grid-template-columns:1fr;gap:18px}
.ph h1{font-size:52px}
.ph .cap{padding-top:0}
.kernel{grid-template-columns:1fr;gap:24px}
.stack{height:560px;overflow:hidden}.layer{width:240px;height:240px;margin-left:-120px}
.klist div{grid-template-columns:40px 1fr;gap:6px 14px}
.klist p{grid-column:2}
.klist h4{font-size:24px}
.split{grid-template-columns:1fr;gap:32px}
.split h2{font-size:38px}
.onto{height:auto;padding:16px;background-image:none}
.onto svg,.onto .node{display:none}
.insp{position:static;width:100%}
.integ{grid-template-columns:1fr}
.integ .l{border-right:0;border-bottom:1px solid var(--rule2);padding:20px}
.integ .r{padding:20px}
.tbl td.s{font-size:18px}
}
.mnav{display:none}
.shot body{position:relative}
.shot body::before{position:absolute}
@media (max-width:900px){
.heroA h1{white-space:normal;font-size:52px}
}
.night .split p,.night .side p{color:var(--on-night2)}
/* ===== v6 additions ===== */
/* wordmark: lowercase Newsreader, second i carries a lifted verdigris square */
.wm{display:flex;align-items:baseline;gap:12px}
.wm b{font:300 30px/1 var(--serif);letter-spacing:-.015em;font-variation-settings:"opsz" 48}
.tt{position:relative;display:inline-block}
.tt::after{content:"";position:absolute;left:50%;top:-.04em;width:.125em;height:.125em;background:var(--acc);transform:translateX(-50%)}
.night .tt::after,.foot .tt::after{background:var(--acc2)}
.wm i{font:italic 300 16px/1 var(--serif);color:var(--mute)}
.mk{display:inline-block;width:7px;height:7px;background:var(--acc);flex:none}
/* hero A, quieter */
.heroA .copy{top:168px}
.heroA h1{font-size:112px;line-height:.94}
.heroA h1 em{color:var(--ink2)}
.heroA .shade{background:linear-gradient(180deg,rgba(243,240,232,.6) 0%,rgba(243,240,232,.18) 32%,rgba(243,240,232,0) 48%),linear-gradient(90deg,rgba(243,240,232,.32),rgba(243,240,232,0) 55%)}
.heroA .plate::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(0deg,rgba(18,19,16,.45),rgba(18,19,16,0))}
.plate-cap{z-index:2}
.ledeA .wrap{grid-template-columns:6fr 3fr 3fr}
.ledeA p.big{font-size:30px;line-height:1.25}
.ledeA .pil{list-style:none;border-top:1px solid var(--ink)}
.ledeA .pil li{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--rule2);font-size:13px}
.mail{font:400 15px/1 var(--mono);border-bottom:1px solid currentColor;padding-bottom:5px}
.mail:hover{color:var(--acc)}
/* statement */
.statement{font-size:56px}
.statement em{color:var(--acc)}
/* fragment (restrained proof object) */
.frag-wrap{display:grid;grid-template-columns:5fr 6fr;gap:96px;align-items:center}
.frag-wrap h2{font:300 60px/1.02 var(--serif);letter-spacing:-.02em}
.frag-wrap h2 em{font-style:italic;color:var(--acc)}
.frag-wrap p{margin-top:24px;color:var(--ink2);max-width:460px}
.frag{position:relative;background:var(--card);border:1px solid var(--rule2);padding:26px 30px 54px;transform:rotate(-1.2deg);box-shadow:0 2px 4px rgba(19,20,23,.05),0 40px 70px -40px rgba(19,20,23,.45);
clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),96% 100%,91% calc(100% - 10px),85% 100%,78% calc(100% - 12px),71% 100%,63% calc(100% - 9px),56% 100%,48% calc(100% - 13px),40% 100%,33% calc(100% - 8px),25% 100%,17% calc(100% - 12px),9% 100%,4% calc(100% - 9px),0 100%)}
.frag .fh{display:flex;justify-content:space-between;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding-bottom:14px;border-bottom:1px solid var(--ink)}
.frag .ln{padding:15px 0;border-bottom:1px dashed var(--rule2);opacity:0;transform:translateY(6px);transition:all .9s var(--ease)}
.frag.in .ln{opacity:1;transform:none}
.frag .ln:nth-child(3){transition-delay:.25s}.frag .ln:nth-child(4){transition-delay:.5s}.frag .ln:nth-child(5){transition-delay:.75s}.frag .ln:nth-child(6){transition-delay:1s}.frag .ln:nth-child(7){transition-delay:1.25s}
.frag .m{font:400 11px/1.6 var(--mono);color:var(--mute)}
.frag .m b{color:var(--ink2);font-weight:500}
.frag q{display:block;font:400 22px/1.3 var(--serif);quotes:"\201C" "\201D";margin:6px 0 4px}
.frag q span{background:linear-gradient(transparent 62%,var(--acc-t) 62%)}
.frag .bar{display:inline-block;height:11px;background:var(--ink);vertical-align:middle;margin-right:8px;opacity:.88}
.frag .kept{position:absolute;right:30px;bottom:30px;font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc);padding:7px 9px;display:flex;gap:8px;align-items:center}
.frag-cap{margin-top:22px;font:400 11px/1.4 var(--mono);color:var(--mute);display:flex;justify-content:space-between}
/* pillars, no numerals */
.claim .mk{margin-top:6px}
.claim h3{margin-top:26px}
.claim .aside{margin-top:22px;font:italic 300 20px/1.3 var(--serif);color:var(--ink)}
/* stages list on night */
.night .idx{border-top-color:var(--on-night)}
.night .idx .it{border-color:var(--nrule)}
.night .idx .d{color:var(--on-night2)}
.night .idx .n{color:var(--on-night2)}
.night .chip{border-color:var(--nrule);color:var(--on-night2)}
.night .chip.dir{color:var(--acc2);border-color:rgba(124,194,174,.4)}
.night .chip.ok{color:var(--on-night)}
.pos li{grid-template-columns:3fr 9fr}
.pos li .mk{margin-top:16px}
/* contact */
.bigmail{display:inline-block;font:300 76px/1 var(--serif);letter-spacing:-.025em;border-bottom:1px solid currentColor;padding-bottom:10px;margin-top:48px}
.bigmail:hover{color:var(--acc)}
.night .bigmail{color:var(--on-night)}
.night .bigmail:hover{color:var(--acc2)}
.kv{margin-top:56px;border-top:1px solid var(--nrule);max-width:720px}
.kv div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--nrule);font-size:13.5px}
/* lab: plate with an inspector resting on it */
.onplate{position:relative}
.onplate img{width:100%;aspect-ratio:16/8;object-fit:cover}
.onplate .insp{right:40px;bottom:40px}
.factory{font:300 44px/1.15 var(--serif);letter-spacing:-.015em;max-width:1000px}
.factory em{color:var(--acc)}
.klist div{grid-template-columns:1fr 2fr}
.klist .mk{display:none}
.giant .tt::after{top:-.02em}
.foot .mail{font-size:13.5px;border:0;padding:5px 0}
@media (max-width:900px){
.wm b{font-size:24px}
.heroA .copy{top:120px}
.heroA h1{font-size:54px}
.heroA .plate{height:600px}
.ledeA .wrap{grid-template-columns:1fr}
.ledeA p.big{font-size:23px}
.statement{font-size:32px}
.frag-wrap{grid-template-columns:1fr;gap:44px}
.frag-wrap h2{font-size:38px}
.frag{padding:20px 18px 64px;transform:none}
.frag q{font-size:18px}
.frag .kept{right:18px;bottom:30px}
.frag .fh{flex-direction:column;gap:8px;line-height:1.3}
.frag-cap{flex-direction:column;gap:4px}
.bigmail{font-size:30px;margin-top:32px}
.onplate img{aspect-ratio:4/3}
.onplate .insp{position:relative;right:auto;bottom:auto;margin:-40px 12px 0;width:auto}
.factory{font-size:28px}
.klist div{grid-template-columns:1fr;gap:6px}
.klist p{grid-column:1}
.pos li .mk{display:none}
}
/* ===== v7 · real plates (SMK, public domain) + horizon headline ===== */
.heroA.hz .plate img{object-position:50% 62%}
.heroA.hz .shade{background:linear-gradient(0deg,rgba(18,19,16,.5) 0%,rgba(18,19,16,.1) 40%,rgba(18,19,16,0) 55%),linear-gradient(180deg,rgba(243,240,232,.42),rgba(243,240,232,0) 20%)}
.heroA.hz .copy{top:auto;bottom:88px}
.heroA.hz .eyebrow{color:rgba(243,240,232,.86);margin-bottom:22px}
.heroA.hz h1{font-size:clamp(44px,9.6vw,140px);line-height:.9;letter-spacing:-.04em;white-space:nowrap;color:var(--paper)}
.heroA.hz h1 em{color:#E4DCC8}
.plate-cap .cap{font-size:10.5px;letter-spacing:.12em}
.pcard .img img.p-legal{object-position:50% 72%}
.pcard .img img.p-supplier{object-position:78% 60%}
.pcard .plt{padding:12px 32px 0;font:400 10.5px/1.4 var(--mono);letter-spacing:.06em;color:var(--on-night2)}
.split .art img.p-legal{object-position:50% 70%}
.split .art.print img{aspect-ratio:auto;object-fit:contain}
.onplate img{aspect-ratio:auto}
.platecap{display:flex;justify-content:space-between;gap:24px;margin-top:12px;font:400 11px/1.4 var(--mono);color:var(--mute)}
@media (max-width:900px){
.heroA.hz .plate{height:640px}
.heroA.hz .plate img{object-position:60% 62%}
.heroA.hz .copy{top:auto;bottom:104px}
.heroA.hz h1{white-space:normal;font-size:62px;line-height:.9}
.pcard .plt{padding:10px 20px 0}
.platecap{flex-direction:column;gap:4px}
.onplate img{aspect-ratio:auto}
}
.onplate img{aspect-ratio:16/10;object-position:50% 72%}
.split .art figcaption{gap:16px}.split .art figcaption span:last-child{white-space:nowrap}
@media (max-width:900px){.onplate img{aspect-ratio:4/3;object-position:50% 70%}}
/* privacy */
.pv .pv-s{display:grid;grid-template-columns:3fr 9fr;gap:48px;padding:34px 0;border-top:1px solid var(--rule2)}
.pv .pv-s>div:last-child{max-width:720px}
.pv h2{font:300 32px/1.1 var(--serif);letter-spacing:-.012em;margin-bottom:14px}
.pv p,.pv li{color:var(--ink2);font-size:14px}
.pv p+p{margin-top:12px}
.pv b{font-weight:500;color:var(--ink)}
.pv ul{list-style:none}.pv li{position:relative;padding-left:20px;margin-top:8px}.pv li::before{content:"";position:absolute;left:0;top:.75em;width:7px;height:7px;background:var(--acc)}
.pv .lnk{border-bottom:1px solid currentColor;color:var(--acc)}
.pv-up{display:flex;gap:24px;align-items:baseline;padding-top:28px;border-top:1px solid var(--ink);font-size:14px}
@media (max-width:900px){.pv .pv-s{grid-template-columns:1fr;gap:10px;padding:26px 0}.pv h2{font-size:26px}}
.sec.pv{padding-top:40px}.pv .pv-s:first-child{border-top:0}

/* Reviewed v7 refinements: preserve the editorial system, improve access. */
:root{--space-section:112px;--space-chapter:128px}
::selection{background:var(--acc);color:var(--paper)}
:focus-visible{outline:2px solid var(--acc);outline-offset:5px}
.night :focus-visible,.foot :focus-visible{outline-color:var(--acc2)}
main:focus{outline:none}
.skip{position:fixed;top:12px;left:20px;z-index:120;padding:14px 20px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);transform:translateY(-180%)}
.skip:focus{transform:none}
html{scrollbar-color:var(--acc) var(--paper)}
input,textarea{caret-color:var(--acc)}
.sec{padding:var(--space-section) 0}
.sec.night{padding:var(--space-chapter) 0}
.sh{margin-bottom:48px}
.ph{padding-top:172px;padding-bottom:64px}
.ph h1{text-wrap:balance}
.ph p{margin-top:26px}
.cta{padding:112px 0 88px}
.ledeA .wrap{grid-template-columns:6fr 3fr 3fr;grid-template-areas:"intro pillars action"}
.ledeA .big{grid-area:intro}.ledeA .pil{grid-area:pillars}.ledeA .acts{grid-area:action}
.fragment-section{padding-top:88px}
.foot .cols .foot-title{font:500 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-night2);margin-bottom:16px}
.pos li h3{font:300 36px/1.15 var(--serif);letter-spacing:-.015em}
.klist h3{font:400 28px/1.1 var(--serif)}
.klist .kernel-title{font:500 12px/1.4 var(--mono)}
.kernel-key{font-size:13px;color:var(--mute);margin-bottom:18px;max-width:44ch}
.door h3{font:400 30px/1.1 var(--serif)}
.family{grid-template-columns:1fr 1fr}
.data-location{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;border-top:1px solid var(--rule2);padding-top:28px;margin-top:24px}
.data-location h3{font:400 26px/1.2 var(--serif);margin-bottom:12px}
.data-location p{max-width:70ch;color:var(--ink2)}
.integ .cap{color:var(--ink2);display:block;font-size:12px;letter-spacing:.08em}
.integ .input-help{color:var(--ink2);font-size:13px;margin-bottom:12px}
.integ textarea{font-size:16px;line-height:1.6;min-height:150px}
.integ .res{color:var(--ink2)}
.integ button:disabled{opacity:.6;cursor:wait}
.frag .fh,.frag .m,.frag-cap,.insp .ih,.insp dl{font-size:12px}
.insp .ih{line-height:1.4;gap:12px;flex-wrap:wrap}
.claim .tags{color:var(--mute)}
.statement .g{color:var(--mute)}
.cap{font-size:12px;letter-spacing:.1em}
.chip{font-size:11.5px;letter-spacing:.08em}
.pv p,.pv li{font-size:16px;line-height:1.7}
.pv .pv-s>div:last-child{max-width:68ch}
.pv .lnk{font-size:inherit;line-height:inherit;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.pv .pv-s{gap:32px}
.pv-up{flex-wrap:wrap;gap:12px 24px}
.ph .wrap>div,.pv .pv-s>div{min-width:0;overflow-wrap:anywhere}
.ph h1{overflow-wrap:anywhere}
@media(max-width:900px){.ph .wrap,.pv .pv-s{grid-template-columns:minmax(0,1fr)}.foot .cols{grid-template-columns:repeat(2,minmax(0,1fr))}.foot .cols>div{min-width:0}}
.rv,.frag .ln{opacity:1;transform:none}
.enhanced .rv:not(.in){transform:translateY(10px)}
.enhanced .frag:not(.in) .ln{transform:translateY(4px)}
.sh h2,.split h2,.cta h2{text-wrap:balance}
.tbl th{font-size:12px}.tbl td{font-size:14px}
.tbl .tag{display:inline-block;line-height:1.45;font-size:12px;white-space:normal}
.navl a,.navr a.t{min-height:44px;display:inline-flex;align-items:center}
.navl .mo{display:none}
.navr .btn{height:44px}
.foot .cols a{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
.foot .cols a.gh{gap:8px}
.foot .cols{padding-bottom:40px}
@media(max-width:1100px) and (min-width:901px){
 .navl{gap:18px}.navr{gap:16px}.navr a.t{font-size:10px}
 .ledeA .wrap{gap:24px}.ledeA .mail{font-size:12px}
}
@media(max-width:900px){
 :root{--space-section:64px;--space-chapter:80px}
 .ph{padding-top:120px;padding-bottom:42px}.ph h1{font-size:46px}
 .ph p{font-size:15.5px;line-height:1.65}
 .sh{margin-bottom:32px}.sh h2{font-size:36px}
 .cta{padding:72px 0 56px}.doors{margin-top:40px}
 .ledeA .wrap{grid-template-columns:1fr;grid-template-areas:"intro" "action" "pillars";gap:24px}
 .ledeA .acts{flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px}
 .fragment-section{padding-top:56px}
 .pos li{grid-template-columns:minmax(0,1fr);gap:12px}
 .pos li p{grid-column:1;margin-top:0;font-size:15px;max-width:60ch}
 .pos li h3{font-size:28px}.pos li .mk{display:none}
 .klist h3{font-size:25px}.klist p{font-size:14px}
 .family{grid-template-columns:1fr}.data-location{grid-template-columns:1fr;gap:12px}
 .claim p,.door p,.idx .d{font-size:15px;line-height:1.65}
 .navr a.t,.navr .btn{display:none}
 .nav.open{position:fixed;background:var(--paper)}
 .nav.open .navl{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .nav.open .navl a{min-height:48px;display:flex;align-items:center}
 .menu-open{overflow:hidden}
 .tblw{overflow:visible}.tbl,.tbl tbody{display:block}
 .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:22px 0;border-bottom:1px solid var(--nrule)}
 .tbl td{display:block;padding:0;border:0!important;min-width:0}
 .tbl td:first-child{font-size:22px}.tbl td:nth-child(2){max-width:145px}
 .tbl td:last-child{grid-column:1/-1;font-size:15px;line-height:1.65}
 .pv p,.pv li{font-size:15.5px}.pv .pv-s{gap:12px}
 .onplate .insp{margin-top:-20px}.platecap,.split .art figcaption{font-size:12px}
 .split .art figcaption{flex-direction:column;gap:4px}
 .kv div{flex-wrap:wrap}.kv a{overflow-wrap:anywhere}
 .foot{padding-top:44px}.foot .cols{gap:24px 20px}
 .foot .fine{font-size:12px}.bigmail{font-size:clamp(24px,7.4vw,34px);overflow-wrap:anywhere}
 .btn{white-space:normal;min-height:48px;height:auto;padding-top:14px;padding-bottom:14px;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){.enhanced .rv:not(.in),.enhanced .frag:not(.in) .ln{transform:none}}
@media(max-width:900px){
 html:not(.enhanced) .burger{display:none}
 html:not(.enhanced) .nav{position:static}
 html:not(.enhanced) .nav .wrap{height:auto;min-height:72px;display:block;padding-top:20px;padding-bottom:20px}
 html:not(.enhanced) .navl{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px}
 html:not(.enhanced) .navl .mo{display:inline-flex}
}
