/* Lodestake, "Survey Stake" direction (Rebrand Review 2026-10-08): surveyor's field book, topo lines, stake flags.
   Palette #8E6339 ochre, #4D5823 olive, #C2553A flag, #6F8FA0 slate; Archivo (display, width axis) + Spectral (body) + DM Mono.
   Text colours are the darker variants (all >= 4.5:1 on paper, measured 2026-10-09). Single deliberate light look. */
:root{
  --paper:#F3EEE3;--card:#FBF8F1;--rule:#D9CFBD;--rule2:#C8BBA3;
  --ink:#1F1B16;--muted:#5A5148;
  --ochre:#8E6339;--ochre-t:#7A5330;--olive:#4D5823;--flag:#C2553A;--flag-t:#9A3B25;--slate:#6F8FA0;--slate-t:#3E5868;
  --deep:#1F2A1A;--on-deep:#F3EEE3;--gold:#E9C46A;--flag-l:#E8A87C;--olive-l:#A9C08A;--slate-l:#B9CAD6;
  --display:'Archivo',system-ui,sans-serif;--body:'Spectral',Georgia,serif;--mono:'DM Mono',ui-monospace,monospace;
  --gut:clamp(16px,4vw,40px);--max:1180px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.06rem/1.68 var(--body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--olive);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--flag-t)}
:focus-visible{outline:3px solid var(--flag);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-stretch:112%;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.6vw,4.4rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:750}
h3{font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:700}
p{margin:0 0 1em;max-width:68ch}
.mono,code,kbd,pre{font-family:var(--mono)}
code{font-size:.9em;background:#EBE3D4;padding:.08em .35em;border-radius:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* preview banner */
.pv{background:var(--ink);color:var(--paper);font:500 .78rem/1.4 var(--mono);text-align:center;padding:.5rem var(--gut)}
.pv a{color:var(--gold)}

/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(243,238,227,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;gap:1rem;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font:800 1.32rem/1 var(--display);font-stretch:118%;letter-spacing:-.01em}
.brand svg{flex:none}
.nav{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;justify-content:flex-end}
.nav .tabs{display:flex;flex-wrap:nowrap;margin:0;gap:1.1rem;min-width:0;overflow:hidden;white-space:nowrap;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font:600 .92rem/1 var(--display);padding:.45rem 0;border-bottom:2px solid transparent;display:inline-flex;align-items:center;min-height:40px}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--flag)}
.more{position:relative;flex:none}
.more button{font:700 .86rem var(--display);background:none;color:var(--ink);border:2px solid var(--ink);border-radius:2px;padding:.4rem .7rem;min-height:40px;min-width:40px;cursor:pointer;white-space:nowrap}
.more button[aria-expanded=true]{background:var(--ink);color:var(--paper)}
.more ul{position:absolute;right:0;top:calc(100% + 6px);background:var(--paper);border:2px solid var(--ink);margin:0;padding:.3rem;list-style:none;min-width:12rem;z-index:50}
.more ul a{display:flex;padding:.5rem .8rem;border-bottom:0;white-space:nowrap}
.more ul a:hover,.more ul a[aria-current=page]{background:var(--rule)}
[hidden]{display:none!important}
.btn{display:inline-flex;align-items:center;gap:.45rem;font:700 .95rem/1 var(--display);font-stretch:108%;text-decoration:none;border-radius:2px;padding:.82rem 1.15rem;border:2px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.solid{background:var(--olive);border-color:var(--olive);color:var(--paper)}
.btn.solid:hover{background:var(--ink);border-color:var(--ink)}
.top .btn{padding:.6rem .9rem;font-size:.86rem}
@media(max-width:700px){.top .app-link{display:none}}
}

/* stake flag section marker */
.stake{display:inline-flex;align-items:center;gap:.5rem;font:500 .74rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--flag-t);margin-bottom:1rem}
.stake::before{content:"";width:12px;height:22px;flex:none;background:linear-gradient(var(--flag),var(--flag)) 0 0/12px 9px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 0/2px 22px no-repeat;clip-path:polygon(0 0,100% 20%,15% 42%,15% 100%,0 100%)}
.on-deep .stake{color:var(--flag-l)}
.on-deep .stake::before{background:linear-gradient(var(--flag-l),var(--flag-l)) 0 0/12px 9px no-repeat,linear-gradient(var(--on-deep),var(--on-deep)) 0 0/2px 22px no-repeat}

/* sections */
section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.ruled{border-top:1px solid var(--rule)}
.on-deep{background:var(--deep);color:var(--on-deep)}
.on-deep a{color:var(--gold)}
.on-deep p{color:#E4DCCB}
.lede{font-size:clamp(1.12rem,1.6vw,1.3rem);color:var(--muted)}
.on-deep .lede{color:#DCD3C1}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(3rem,7vw,5.5rem) clamp(3rem,6vw,5rem)}
.hero .topo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.55}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1,.hero h2.h1x em{font-style:normal;color:var(--flag-t);font-stretch:100%}
.hero .cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.hero .fine{font:400 .8rem/1.5 var(--mono);color:var(--muted);margin-top:1rem;max-width:56ch}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* core sample (hero widget) */
.core{background:var(--card);border:1px solid var(--rule2);padding:1.25rem;position:relative}
.core-head{display:flex;justify-content:space-between;gap:1rem;font:500 .72rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px dashed var(--rule2);padding-bottom:.6rem;margin-bottom:1rem}
.core-body{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1.1rem;align-items:start}
.core-layers{display:flex;flex-direction:column;gap:3px}
.core-layers button{all:unset;cursor:pointer;display:block;height:58px;border-radius:2px;position:relative;outline-offset:3px}
.core-layers button:focus-visible{outline:3px solid var(--flag)}
.core-layers button[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--ink)}
.core-layers .l1{background:repeating-linear-gradient(135deg,#B89A6E 0 6px,#A88A5E 6px 12px)}
.core-layers .l2{background:repeating-linear-gradient(90deg,#8E6339 0 4px,#7E5631 4px 8px)}
.core-layers .l3{background:#4D5823}
.core-layers .l4{background:repeating-linear-gradient(45deg,#C9D2D8 0 5px,#6F8FA0 5px 7px)}
.core-layers span{position:absolute;left:5px;bottom:5px;background:var(--card);color:var(--ink);font:500 .62rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:.2rem .3rem}
.core-panel h3{margin:.1rem 0 .4rem}
.core-panel .num{font:500 2.3rem/1 var(--display);font-stretch:118%;color:var(--olive);display:block;margin:.4rem 0 .2rem}
.core-panel .src{font:400 .74rem/1.45 var(--mono);color:var(--muted)}
.core-panel p{font-size:.98rem}

/* assay ledger (real benchmark numbers) */
.ledger{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--on-deep);border-bottom:1px solid rgba(243,238,227,.35)}
.ledger div{padding:1.4rem 1rem 1.2rem;border-right:1px solid rgba(243,238,227,.25)}
.ledger div:last-child{border-right:0}
.ledger b{display:block;font:700 clamp(2rem,4vw,3.2rem)/1 var(--display);font-stretch:120%;color:var(--gold);font-variant-numeric:tabular-nums}
.ledger span{display:block;margin-top:.6rem;font-size:.95rem;color:#E4DCCB;line-height:1.45}
.ledger-note{font:400 .78rem/1.5 var(--mono);color:#CFC6B4;margin-top:1rem;max-width:90ch}
@media(max-width:900px){.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger div{border-bottom:1px solid rgba(243,238,227,.2)}}
@media(max-width:480px){.ledger{grid-template-columns:1fr}.ledger div{border-right:0}}

/* strata (three stages) */
.strata{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.strata-list{list-style:none;margin:0;padding:0;border-left:3px solid var(--ink)}
.strata-list li{position:relative;padding:0 0 2.2rem 1.6rem}
.strata-list li::before{content:attr(data-n);position:absolute;left:-1.05rem;top:-.1rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--paper);border:3px solid var(--ink);font:700 .78rem/1.35rem var(--display);text-align:center}
.strata-list li.removed::before{border-color:var(--flag-t);color:var(--flag-t)}
.strata-list h3{margin-bottom:.3rem}
.strata-list p{color:var(--muted);margin:0}
@media(max-width:900px){.strata{grid-template-columns:1fr}}

/* verifier toy */
.toy{background:var(--card);border:2px solid var(--ink);padding:clamp(1rem,3vw,1.75rem)}
.toy label{display:block;font:700 .82rem/1.3 var(--display);margin:.2rem 0 .35rem}
.toy textarea{width:100%;min-height:84px;padding:.7rem .8rem;border:1.5px solid var(--muted);border-radius:2px;font:400 1rem/1.5 var(--body);background:#fff;color:var(--ink);resize:vertical}
.toy fieldset{border:0;margin:.9rem 0 0;padding:0}
.toy legend{font:700 .82rem/1.3 var(--display);margin-bottom:.35rem}
.ev{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .6rem;border:1px solid var(--rule2);margin-bottom:.4rem;background:#fff;font-size:.95rem;line-height:1.45}
.ev input{margin-top:.3rem;flex:none;width:18px;height:18px;accent-color:var(--olive)}
.ev .tag{font:500 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:.2rem .35rem;border:1px solid currentColor;color:var(--olive);flex:none;margin-top:.2rem}
.ev .tag.unm{color:var(--slate-t)}
.verdict{margin-top:1rem;padding:.9rem 1rem;border-left:6px solid var(--muted);background:#EFE8DA;min-height:3.4rem}
.verdict.kept{border-color:var(--olive)}
.verdict.removed{border-color:var(--flag-t)}
.verdict b{font-family:var(--display);font-stretch:110%}
.stamp{display:inline-block;font:700 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:.32rem .5rem;border:2px solid currentColor;transform:rotate(-2deg)}
.stamp.kept{color:var(--olive)}.stamp.removed{color:var(--flag-t)}.stamp.unknown{color:var(--slate-t)}.stamp.pilot{color:var(--ochre-t)}.stamp.soon{color:var(--slate-t)}.stamp.live{color:var(--olive)}

/* stake or walk board */
.board{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--ink);background:var(--card)}
.board>div{padding:1.4rem 1.5rem}
.board>div+div{border-left:2px dashed var(--ink)}
.board h3{display:flex;align-items:center;gap:.6rem}
.board ul{margin:0;padding-left:1.1rem}
.board li{margin:.45rem 0}
.board .walk h3{color:var(--flag-t)}
.board .stk h3{color:var(--olive)}
.illus{display:inline-block;font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ochre-t);border:1px dashed var(--ochre-t);padding:.28rem .45rem;margin-bottom:.8rem}
.on-deep .illus{color:var(--gold);border-color:var(--gold)}
@media(max-width:760px){.board{grid-template-columns:1fr}.board>div+div{border-left:0;border-top:2px dashed var(--ink)}}

/* live claim checker */
.claim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.claim form{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 .4rem}
.claim input[type=text]{flex:1 1 220px;min-width:0;padding:.85rem .9rem;border:2px solid var(--on-deep);background:transparent;color:var(--on-deep);font:500 1.05rem var(--mono);border-radius:2px}
.claim input::placeholder{color:#BDB3A0}
.claim .btn{border-color:var(--gold);color:var(--deep);background:var(--gold)}
.claim .btn:hover{background:var(--on-deep);border-color:var(--on-deep)}
.plot{list-style:none;margin:0;padding:0;border-top:1px solid rgba(243,238,227,.3)}
.plot li{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid rgba(243,238,227,.3);font:500 1rem/1.3 var(--mono)}
.plot .st{font:700 .74rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:.35rem .5rem;border:2px solid currentColor}
.plot .available{color:var(--olive-l)}.plot .taken{color:var(--flag-l)}.plot .unknown{color:var(--slate-l)}
.plot .empty{color:#CFC6B4;font-family:var(--body)}
.claim .msg{font:400 .8rem/1.5 var(--mono);color:#CFC6B4;min-height:1.2em}
.handles{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.handles span{font:500 .78rem/1 var(--mono);padding:.4rem .55rem;border:1px solid rgba(243,238,227,.45)}

/* survey line (capabilities) */
.survey{position:relative;margin-top:2rem}
.survey ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem 0}
.survey li{position:relative;padding:1.5rem 1.1rem 1.4rem 0;border-top:3px solid var(--ink)}
.survey li::before{content:"";position:absolute;top:-12px;left:0;width:3px;height:22px;background:var(--ink)}
.survey li::after{content:"";position:absolute;top:-12px;left:3px;width:14px;height:10px;background:var(--olive);clip-path:polygon(0 0,100% 50%,0 100%)}
.survey li.pilot::after{background:var(--ochre)}
.survey li.soon::after{background:var(--slate)}
.survey h3{font-size:1.05rem;margin:.6rem 0 .3rem}
.survey p{font-size:.95rem;color:var(--muted);margin:0}
@media(max-width:900px){.survey ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.survey ol{grid-template-columns:1fr}}

/* faq */
.faq details{border-top:1px solid var(--rule2);padding:1.05rem 0}
.faq details:last-child{border-bottom:1px solid var(--rule2)}
.faq summary{cursor:pointer;font:700 1.08rem/1.35 var(--display);font-stretch:106%;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.4rem/1 var(--mono);color:var(--flag-t)}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:.7rem 0 0;color:var(--muted)}

/* closing band */
.close{text-align:left}
.close .wrap{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:end;justify-content:space-between}
.close h2{max-width:20ch;margin:0}

/* footer */
footer.foot{background:var(--ink);color:#DCD3C1;padding-block:3rem 2rem;font-size:.94rem}
.foot a{color:var(--paper)}
.foot .cols{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:2rem}
.foot h2.fh{font:700 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:.35rem 0}
.foot .legal{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #3A342C;font:400 .76rem/1.6 var(--mono);color:#BDB3A0}
@media(max-width:820px){.foot .cols{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foot .cols{grid-template-columns:1fr}}

/* page head (inner pages) */
.phead{padding-block:clamp(2.6rem,6vw,4.5rem) clamp(1.5rem,4vw,2.5rem);border-bottom:2px solid var(--ink);position:relative;overflow:hidden}
.phead .topo{position:absolute;right:-60px;top:-40px;width:520px;height:340px;opacity:.5;pointer-events:none}
.phead .wrap{position:relative}
.crumbs{font:400 .78rem/1.4 var(--mono);color:var(--muted);margin-bottom:1rem}
.crumbs a{color:var(--muted)}

/* features page: rail + rows */
.feat{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem)}
.rail{position:sticky;top:84px;align-self:start;font:500 .86rem/1.3 var(--display)}
.rail ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--rule2)}
.rail a{display:block;padding:.45rem .8rem;min-height:40px;box-sizing:border-box;color:var(--muted);text-decoration:none;border-left:3px solid transparent;margin-left:-2px}
.rail a.on{color:var(--ink);border-left-color:var(--flag)}
.rail .st{font:500 .66rem/1 var(--mono);letter-spacing:.08em;margin-left:.3rem}
.frow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);padding-block:2.6rem;border-bottom:1px solid var(--rule2);scroll-margin-top:90px;align-items:start}
.frow:first-child{padding-top:0}
.frow.flip>.copy{order:2}
.frow .dont{border-left:3px solid var(--flag-t);padding:.4rem 0 .4rem .9rem;color:var(--muted);font-size:.95rem;margin-top:.8rem}
.frow .dont b{color:var(--flag-t);font-family:var(--display)}
.mock{background:var(--card);border:1px solid var(--rule2);padding:1rem;font-size:.95rem;min-width:0}
.mock .bar{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.8rem}
.chip{font:500 .76rem/1 var(--mono);padding:.42rem .55rem;border:1px solid var(--muted);background:#fff;color:var(--ink);cursor:pointer;border-radius:2px}
.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.idea-list{list-style:none;margin:0;padding:0}
.idea-list li{padding:.6rem 0;border-top:1px dashed var(--rule2);display:flex;justify-content:space-between;gap:.8rem}
.idea-list li[hidden]{display:none}
.idea-list small{font:500 .7rem/1.6 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex:none}
.sw{display:inline-flex;align-items:center;gap:.6rem;font:600 .86rem var(--display);cursor:pointer;margin-bottom:.8rem}
.sw input{width:40px;height:22px;accent-color:var(--olive)}
.editor{border:1px solid var(--rule2);background:#fff;padding:.9rem;min-height:7.5rem;font-size:.98rem;line-height:1.55}
.editor-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.7rem}
.editor-bar .count{font:400 .74rem var(--mono);color:var(--muted);margin-left:auto}
.mini{font:600 .82rem/1 var(--display);padding:.55rem .75rem;border:2px solid var(--ink);background:transparent;color:var(--ink);border-radius:2px;cursor:pointer}
.mini:hover{background:var(--ink);color:var(--paper)}
.mini[disabled]{opacity:.45;cursor:not-allowed}
.packet{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font:500 .8rem var(--mono)}
.packet span{padding:.55rem .65rem;border:1.5px solid var(--ink);background:#fff}
.packet i{font-style:normal;color:var(--flag-t)}
@media(max-width:900px){.feat{grid-template-columns:1fr}.rail{position:static}.rail ol{display:flex;flex-wrap:wrap;border-left:0;gap:.3rem}.rail a{border:1px solid var(--rule2);margin:0;padding:.55rem .7rem;min-height:40px;display:inline-flex;align-items:center}.rail a.on{border-color:var(--flag)}.frow,.frow.flip{grid-template-columns:1fr}.frow.flip>.copy{order:0}}

/* how it works: custody chain */
.custody{counter-reset:c;display:grid;gap:0}
.custody>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1.5rem;padding:2rem 0;border-top:1px solid var(--rule2)}
.custody .k{font:700 3.2rem/1 var(--display);font-stretch:122%;color:var(--ochre)}
.custody .k small{display:block;font:500 .72rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.4rem}
@media(max-width:640px){.custody>div{grid-template-columns:1fr;gap:.4rem}}
.edge{position:relative;margin-top:2rem;padding-top:2.4rem}
.edge .line{position:absolute;top:0;left:0;height:4px;background:var(--ink);width:0;transition:width 1.2s ease}
.edge.in .line{width:62%}
.edge .zones{display:grid;grid-template-columns:62% 38%}
.edge .zones>div{padding-right:1rem}
.edge .out{color:var(--muted);border-left:2px dashed var(--flag-t);padding-left:1rem}
.edge ul{margin:.3rem 0 0;padding-left:1.1rem}
@media(max-width:640px){.edge .zones{grid-template-columns:1fr}.edge .out{border-left:0;border-top:2px dashed var(--flag-t);padding:1rem 0 0;margin-top:1rem}.edge.in .line{width:100%}}

/* sample report (assay certificate) */
.cert{background:var(--card);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--rule2);padding:clamp(1.2rem,3.5vw,2.6rem)}
.cert-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;border-bottom:3px double var(--ink);padding-bottom:1rem;margin-bottom:1.4rem}
.cert-head .no{font:500 .76rem/1.5 var(--mono);text-align:right;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--rule2);margin:1rem 0 1.6rem}
.facts div{padding:.8rem;border-right:1px solid var(--rule2)}
.facts div:last-child{border-right:0}
.facts dt{font:500 .68rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.facts dd{margin:.3rem 0 0;font:700 1rem/1.3 var(--display)}
@media(max-width:760px){.facts{grid-template-columns:1fr 1fr}.facts div{border-bottom:1px solid var(--rule2)}}
.scores{display:grid;gap:.9rem;margin:1rem 0 1.8rem}
.score{display:grid;grid-template-columns:150px minmax(0,1fr) 3rem;gap:.8rem;align-items:center}
.score .track{height:12px;background:repeating-linear-gradient(90deg,var(--rule) 0 calc(10% - 2px),transparent calc(10% - 2px) 10%);border:1px solid var(--rule2);position:relative}
.score .track i{position:absolute;inset:0 auto 0 0;background:var(--olive)}
.score b{font:700 1.05rem var(--display);text-align:right;font-variant-numeric:tabular-nums}
.score small{grid-column:2/4;color:var(--muted);font-size:.9rem;margin-top:-.4rem}
@media(max-width:560px){.score{grid-template-columns:1fr 3rem}.score .track{grid-column:1/3;order:3}.score small{grid-column:1/3}}
.cert h3{margin-top:1.8rem;border-bottom:1px solid var(--rule2);padding-bottom:.35rem}
.cite{font:500 .72rem var(--mono);color:var(--olive);white-space:nowrap}
.unk{list-style:none;padding:0;margin:0}
.unk li{padding:.6rem 0 .6rem 2rem;border-bottom:1px dashed var(--rule2);position:relative}
.unk li::before{content:"?";position:absolute;left:0;top:.55rem;width:1.35rem;height:1.35rem;border:2px solid var(--slate-t);color:var(--slate-t);font:700 .8rem/1.1rem var(--mono);text-align:center}
.evtable{width:100%;border-collapse:collapse;font-size:.92rem}
.evtable th,.evtable td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--rule2);vertical-align:top}
.evtable th{font:500 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.tscroll{overflow-x:auto}
.removed-box{border:2px solid var(--flag-t);padding:1rem 1.1rem;margin-top:1.4rem;background:#F7EBE4}
.removed-box s{color:var(--muted)}

/* compare */
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0}
.tabs button{font:700 .9rem var(--display);padding:.65rem .9rem;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;border-radius:2px}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.tabpanel{border-left:4px solid var(--olive);padding:.6rem 0 .6rem 1.2rem;max-width:70ch}
.cmp{width:100%;border-collapse:collapse;min-width:720px;font-size:.95rem}
.cmp th,.cmp td{border-bottom:1px solid var(--rule2);padding:.75rem .6rem;text-align:center}
.cmp th:first-child,.cmp td:first-child{text-align:left}
.cmp thead th{font:700 .82rem/1.25 var(--display);border-bottom:2px solid var(--ink)}
.cmp .us{background:#EAE4CF}
.cmp .y{color:var(--olive);font-weight:700}
.cmp .n{color:var(--muted)}
.quiz{background:var(--card);border:2px solid var(--ink);padding:1.4rem}
.quiz .q{margin-bottom:1rem}
.quiz .q p{font-family:var(--display);font-weight:700;margin-bottom:.45rem}
.quiz .opts{display:flex;gap:.4rem;flex-wrap:wrap}
.quiz .out{margin-top:1rem;padding:1rem;border-left:6px solid var(--ochre);background:#EFE8DA;min-height:3rem}

/* use cases */
.cases{display:grid;gap:0}
.case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;padding:2.6rem 0;border-top:2px solid var(--ink)}
.case:nth-child(even) .case-art{order:-1}
@media(max-width:820px){.case{grid-template-columns:1fr}.case:nth-child(even) .case-art{order:0}}
.triage .row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:space-between;padding:.7rem 0;border-bottom:1px dashed var(--rule2)}
.triage .row p{margin:0;flex:1 1 220px}
.triage .row[data-v=keep] p{color:var(--olive)}
.triage .row[data-v=doubt] p{color:var(--ochre-t)}
.triage .row[data-v=drop] p{color:var(--flag-t);text-decoration:line-through}
.radial{width:100%;max-width:360px;display:block;margin:0 auto}

/* article / docs / legal prose */
.prose{max-width:74ch}
.prose h2{margin-top:2.6rem;font-size:clamp(1.45rem,2.6vw,1.95rem)}
.prose h3{margin-top:1.8rem}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin:.35rem 0}
.prose blockquote{margin:1.4rem 0;padding:.4rem 0 .4rem 1.2rem;border-left:4px solid var(--ochre);font-style:italic;color:var(--muted)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(2rem,5vw,4rem);align-items:start}
.aside{position:sticky;top:88px;border-top:3px solid var(--ink);padding-top:.8rem;font-size:.92rem}
.aside h2.ah{font:700 .74rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.aside ol{padding-left:1.1rem;margin:.4rem 0}
@media(max-width:900px){.layout{grid-template-columns:1fr}.aside{position:static}}
.draft{border:2px dashed var(--flag-t);background:#F7EBE4;padding:1rem 1.1rem;margin:0 0 2rem;font-size:.95rem}
.draft b{color:var(--flag-t);font-family:var(--display)}
.api{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px}
.api th,.api td{padding:.6rem .5rem;border-bottom:1px solid var(--rule2);text-align:left;vertical-align:top}
.api th{font:500 .7rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink)}
.api td:first-child{font:500 .82rem var(--mono);white-space:nowrap}
.api .m{font:700 .72rem var(--mono);padding:.15rem .35rem;border:1px solid currentColor}
.api .get{color:var(--olive)}.api .post{color:var(--ochre-t)}
pre.code{background:var(--ink);color:#EDE6D8;padding:1rem 1.1rem;overflow-x:auto;font-size:.85rem;line-height:1.55;border-radius:2px}
.copy-btn{font:600 .78rem var(--display);padding:.4rem .6rem;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;border-radius:2px;margin-bottom:.4rem}
.guide-list{list-style:none;margin:0;padding:0}
.guide-list li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1.2rem;padding:1.6rem 0;border-top:1px solid var(--rule2)}
.guide-list .n{font:800 2.6rem/1 var(--display);font-stretch:122%;color:var(--ochre)}
.guide-list h2{margin-bottom:.35rem}
.guide-list h2 a{color:var(--ink);text-decoration:none}
.guide-list h2 a:hover{color:var(--flag-t)}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:2px solid var(--ink)}
.tiers>div{padding:1.4rem;border-right:2px dashed var(--rule2);min-height:220px}
.tiers>div:last-child{border-right:0}
.tiers .slot{display:block;height:.9rem;background:repeating-linear-gradient(90deg,var(--rule) 0 8px,transparent 8px 12px);margin:.7rem 0}
@media(max-width:760px){.tiers{grid-template-columns:1fr}.tiers>div{border-right:0;border-bottom:2px dashed var(--rule2);min-height:0}}
.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
.docs-grid a{display:block;padding:1.4rem 1.2rem 1.4rem 0;border-bottom:1px solid var(--rule2);color:var(--ink);text-decoration:none}
.docs-grid a:nth-child(odd){border-right:1px solid var(--rule2)}
.docs-grid a:nth-child(even){padding-left:1.2rem}
.docs-grid a:hover h2{color:var(--flag-t)}
.docs-grid p{color:var(--muted);margin:0}
@media(max-width:640px){.docs-grid{grid-template-columns:1fr}.docs-grid a:nth-child(odd){border-right:0}.docs-grid a:nth-child(even){padding-left:0}}
.legal-index{list-style:none;margin:0;padding:0}
.legal-index li{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid var(--rule2)}
.reveal{transform:translateY(14px);transition:transform .6s ease}  /* never hidden: content is complete at rest */
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{transform:none}}
h2.h3{font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:700}
.aside h2.ah{margin:0 0 .5rem}
.foot h2.fh{margin:0 0 .9rem}
.docs-grid h2{margin-bottom:.35rem}
.tscroll:focus-visible,pre.code:focus-visible{outline:3px solid var(--flag)}
.toy label.ev{font:400 .95rem/1.45 var(--body);margin:0 0 .4rem}
@media(max-width:820px){.claim{grid-template-columns:1fr}}
.plot li{flex-wrap:wrap}.plot li>span:first-child{min-width:0;overflow-wrap:anywhere}


/* ---- dark theme (2026-10-10): tokens above; fixed-colour rules overridden here ---- */
.tg{font:16px/1 var(--display);width:40px;height:40px;display:inline-grid;place-items:center;background:none;color:var(--ink);border:2px solid var(--ink);border-radius:2px;cursor:pointer;flex:none;padding:0}
.tg:hover{background:var(--ink);color:var(--paper)}
@media(max-width:700px){.top .wrap{gap:.6rem}}
:root[data-theme=dark]{--paper:#15160F;--card:#1D1F15;--rule:#34362A;--rule2:#474A38;--ink:#F1ECDF;--muted:#B9B2A0;--ochre:#C99A66;--ochre-t:#DDB07F;--olive:#B5CB86;--flag:#E8795A;--flag-t:#F29A80;--slate:#8FB0C2;--slate-t:#A9C6D6;--deep:#0B0F08;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#15160F;--card:#1D1F15;--rule:#34362A;--rule2:#474A38;--ink:#F1ECDF;--muted:#B9B2A0;--ochre:#C99A66;--ochre-t:#DDB07F;--olive:#B5CB86;--flag:#E8795A;--flag-t:#F29A80;--slate:#8FB0C2;--slate-t:#A9C6D6;--deep:#0B0F08;color-scheme:dark}}
:root[data-theme=dark] .top{background:rgba(21,22,15,.94)}
:root[data-theme=dark] code{background:#2A2C1F}
:root[data-theme=dark] .toy textarea,:root[data-theme=dark] .ev,:root[data-theme=dark] .chip,:root[data-theme=dark] .editor,:root[data-theme=dark] .packet span{background:var(--card)}
:root[data-theme=dark] .chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
:root[data-theme=dark] .verdict,:root[data-theme=dark] .quiz .out{background:#26281C}
:root[data-theme=dark] .removed-box,:root[data-theme=dark] .draft{background:#2E1F1A}
:root[data-theme=dark] .cmp .us{background:#2B2C1D}
:root[data-theme=dark] footer.foot,:root[data-theme=dark] pre.code{background:#0B0F08}
:root[data-theme=dark] .foot a{color:#F3EEE3}
:root[data-theme=dark] .brand svg path[fill="#1F1B16"]{fill:#F1ECDF}
:root[data-theme=dark] .topo{opacity:.4}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .top{background:rgba(21,22,15,.94)}:root:not([data-theme=light]) code{background:#2A2C1F}:root:not([data-theme=light]) .toy textarea,:root:not([data-theme=light]) .ev,:root:not([data-theme=light]) .chip,:root:not([data-theme=light]) .editor,:root:not([data-theme=light]) .packet span{background:var(--card)}:root:not([data-theme=light]) .chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}:root:not([data-theme=light]) .verdict,:root:not([data-theme=light]) .quiz .out{background:#26281C}:root:not([data-theme=light]) .removed-box,:root:not([data-theme=light]) .draft{background:#2E1F1A}:root:not([data-theme=light]) .cmp .us{background:#2B2C1D}:root:not([data-theme=light]) footer.foot,:root:not([data-theme=light]) pre.code{background:#0B0F08}:root:not([data-theme=light]) .foot a{color:#F3EEE3}:root:not([data-theme=light]) .brand svg path[fill="#1F1B16"]{fill:#F1ECDF}:root:not([data-theme=light]) .topo{opacity:.4}}
