:root{
  --paper:#FBFAF7;        /* record card stock */
  --ink:#16181C;
  --ink-soft:#585B63;
  --rule:#CFCBC2;         /* hairline, as ruled on a card */
  --rule-strong:#16181C;
  --official:#1F4E8C;     /* established: determination blue, never red */
  --stamp:#8A5A1E;        /* date-stamp ochre, used once per page */
  --stamp-bg:#F6EFE3;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cond:"IBM Plex Sans Condensed",var(--sans);
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --measure:66ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.62 var(--sans);}
.wrap{max-width:940px;margin:0 auto;padding:0 24px}
a{color:var(--official);text-decoration-thickness:1px;text-underline-offset:2px}
a:focus-visible{outline:2px solid var(--official);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--cond);font-weight:700;letter-spacing:-.006em;line-height:1.16;margin:0}

/* ── record strip: the card's identifying header. Mono key/value, like a parcel card ── */
.strip{border-top:3px solid var(--rule-strong);border-bottom:1px solid var(--rule);background:var(--paper)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:0 34px;padding:11px 24px}
.kv{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.kv b{color:var(--ink);font-weight:500}
.mark{font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.01em;text-transform:none;margin-right:auto}
.mark span{color:var(--official)}

nav.site{border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:12.5px}
nav.site .wrap{display:flex;gap:26px;padding:10px 24px;flex-wrap:wrap}
nav.site a{color:var(--ink-soft);text-decoration:none}
nav.site a:hover{color:var(--official);text-decoration:underline}

/* ── hero: the thesis is a claim about sourcing, not a value proposition ── */
.hero{padding:56px 0 34px;border-bottom:1px solid var(--rule)}
.hero h1{font-size:clamp(30px,5.1vw,50px);max-width:22ch}
.hero .lede{margin:20px 0 0;max-width:var(--measure);font-size:19px}
.hero .lede em{font-style:normal;box-shadow:inset 0 -.42em 0 var(--stamp-bg)}
.juris{margin-top:26px;font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);border-left:3px solid var(--stamp);padding:8px 0 8px 13px;max-width:var(--measure)}
.juris b{color:var(--ink);font-weight:500}

/* ── SIGNATURE: the leader-dot ledger row ── */
.ledger{margin:0;padding:0;list-style:none}
.ledger li{border-bottom:1px solid var(--rule)}
.ledger a.row{display:flex;align-items:baseline;gap:10px;padding:15px 2px;text-decoration:none;color:var(--ink)}
.ledger a.row:hover .lbl{color:var(--official);text-decoration:underline}
.ledger .lbl{font-family:var(--cond);font-weight:600;font-size:19.5px;flex:0 1 auto}
.ledger .dots{flex:1 1 auto;border-bottom:1.5px dotted var(--rule);transform:translateY(-4px);min-width:22px}
.ledger .val{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);flex:0 0 auto;text-align:right}
.ledger .note{display:block;font-family:var(--sans);font-size:14.5px;color:var(--ink-soft);margin:-9px 0 14px;max-width:var(--measure);text-transform:none;letter-spacing:0}
.ledger .val.soon{color:var(--stamp)}

section.blk{padding:40px 0;border-bottom:1px solid var(--rule)}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px}
section.blk h2{font-size:25px;margin-bottom:16px}
section.blk p{max-width:var(--measure);margin:0 0 14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.two p{margin-bottom:10px}

.capture{border:1px solid var(--rule-strong);padding:22px;max-width:var(--measure)}
.capture h3{font-size:19px;margin-bottom:8px}
.capture p{font-size:15.5px;color:var(--ink-soft);margin-bottom:14px}
.field{display:flex;gap:9px;flex-wrap:wrap}
.field input{flex:1 1 210px;font:400 16px var(--sans);padding:11px 12px;border:1px solid var(--rule);background:#fff;color:var(--ink)}
.field input:focus-visible{outline:2px solid var(--official);outline-offset:1px}
.btn{font:600 15px var(--cond);letter-spacing:.02em;padding:11px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer}
.btn:hover{background:var(--official);border-color:var(--official)}
.fine{font-family:var(--mono);font-size:11px;color:var(--ink-soft);margin:11px 0 0;line-height:1.5}

footer{padding:34px 0 60px;font-size:14.5px;color:var(--ink-soft)}
footer .wrap>p{max-width:78ch;margin:0 0 12px}
footer nav{font-family:var(--mono);font-size:12.5px;display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.disclaim{border-top:1px solid var(--rule);padding-top:16px;font-style:italic}

/* ══ CONTENT PAGE TEMPLATE ══ */
.tpl{border-top:14px solid var(--ink);margin-top:70px}
.tplnote{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase}
.tplnote .wrap{padding:9px 24px}
article{padding:34px 0 0}
article h1{font-size:clamp(27px,4.4vw,40px);max-width:24ch}
.dateline{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin:16px 0 0;max-width:var(--measure)}
.season{margin:22px 0 0;background:var(--stamp-bg);border-left:4px solid var(--stamp);padding:15px 17px;max-width:var(--measure)}
.season .tag{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--stamp);display:block;margin-bottom:5px}
.season p{margin:0;font-size:15.5px}
.thirty{margin:30px 0 0;border-top:2px solid var(--rule-strong);border-bottom:2px solid var(--rule-strong);padding:18px 0}
.thirty .eyebrow{margin-bottom:11px}
.thirty ul{margin:0;padding-left:20px;max-width:var(--measure)}
.thirty li{margin-bottom:8px;font-size:16px}
.starthere{margin:26px 0 0;border:1px solid var(--rule-strong);border-left:5px solid var(--official);padding:18px 20px;max-width:var(--measure)}
.starthere h2{font-size:17px;font-family:var(--cond);margin-bottom:10px}
.starthere ol{margin:0;padding-left:20px;font-size:15.5px}
.starthere li{margin-bottom:6px}
article h2,
article h2.sec{font-size:24px;margin:40px 0 14px;max-width:30ch}
article h3{font-size:18px;margin:26px 0 10px}
article p{max-width:var(--measure);margin:0 0 15px}
.defn{margin:20px 0;border-left:3px solid var(--rule-strong);padding:2px 0 2px 15px;max-width:var(--measure)}
.defn p{margin:0;font-size:16px}
.defn b{font-family:var(--cond);font-weight:700}
details{max-width:var(--measure);border:1px solid var(--rule);margin:18px 0}
details summary{cursor:pointer;padding:11px 14px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;background:#F3F1EC}
details summary:focus-visible{outline:2px solid var(--official);outline-offset:-2px}
details .body{padding:4px 14px 14px;font-family:var(--mono);font-size:13px;line-height:1.62}
.tblwrap{max-width:100%;overflow-x:auto;margin:22px 0}
table{border-collapse:collapse;font-size:14.5px;min-width:640px;width:100%}
th,td{border-bottom:1px solid var(--rule);padding:11px 13px 11px 0;text-align:left;vertical-align:top}
thead th{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--rule-strong)}
tbody th{font-family:var(--cond);font-weight:600;font-size:15.5px}
caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);padding-bottom:8px}
.srcs{margin-top:40px;border-top:2px solid var(--rule-strong);padding-top:20px}
.srcs .ledger .lbl{font-family:var(--sans);font-weight:400;font-size:15.5px}
.srcs .ledger a.row{padding:10px 2px}
.st{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--rule);color:var(--ink-soft);white-space:nowrap}
.st.live{border-color:var(--official);color:var(--official)}
.st.draft{border-color:var(--stamp);color:var(--stamp);background:var(--stamp-bg)}
.st.plan{border-style:dashed}
.st.open{border-color:var(--rule-strong);color:var(--ink)}
.internal{background:#22242A;color:#EDEBE6}
.internal .wrap{padding:13px 24px;font-family:var(--mono);font-size:12px;line-height:1.6}
.internal b{color:#F0C177}
.internal a{color:#9DBFEA}
.ledger li.notlive a.row .lbl{color:var(--ink-soft)}
@media (max-width:720px){
  .st{font-size:9.5px}
  body{font-size:16.5px}
  .two{grid-template-columns:1fr;gap:0}
  .strip .wrap{gap:0 18px}
  .ledger .val{display:none}
  .ledger .dots{min-width:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* keyboard skip link — visible only on focus */
.skip{position:absolute;left:-9999px;top:0;background:var(--paper,#FBFAF7);color:var(--ink,#16181C);
  border:1px solid var(--rule,#CFCBC2);padding:.5rem .75rem;z-index:100;text-decoration:none}
.skip:focus{left:.5rem;top:.5rem;outline:2px solid #1F4E8C;outline-offset:2px}

/* ══ ON THIS PAGE — long-guide contents ══ */
.toc{max-width:var(--measure);margin:34px 0 6px;border-top:2px solid var(--rule-strong);
  border-bottom:1px solid var(--rule);padding:16px 0 14px}
.toc .eyebrow{margin:0 0 10px}
.toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:34px}
.toc li{break-inside:avoid;margin:0 0 7px;font-family:var(--cond);font-weight:600;
  font-size:15.5px;line-height:1.34}
.toc li a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.toc li a:hover{color:var(--official);border-bottom-color:var(--official)}

/* ══ START HERE — homepage triage ══ */
.triage{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}
.triage li{border-top:2px solid var(--rule-strong);padding:14px 0 4px}
.triage .when{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--stamp);margin:0 0 9px}
.triage h2{font-size:21px;margin:0 0 9px;max-width:none}
.triage h2 a{color:var(--ink);text-decoration:none}
.triage h2 a:hover{color:var(--official);text-decoration:underline}
.triage p{font-size:15.5px;color:var(--ink-soft);margin:0 0 11px;max-width:none}
.triage .then{font-family:var(--mono);font-size:12px;line-height:1.5;margin:0 0 4px}
.allguides{font-size:15px;color:var(--ink-soft);margin:26px 0 0}
@media (max-width:820px){
  .triage{grid-template-columns:1fr;gap:0}
  .triage li{margin-bottom:18px}
  .toc ol{columns:1}
}
