/* ── tokens ───────────────────────────────────────────── */
:root{
  --paper:#F6F7F4;
  --paper-2:#EDEFEA;
  --ink:#14181F;
  --muted:#5F6977;
  --rule:#C7CDD2;
  --rule-soft:#DFE3E2;
  --carbon:#317A1F;          /* accent for TEXT — readable on paper */
  --accent:#38EA0B;         /* brand green — fills only */
  --on-carbon:#0A0A0A;      /* text sitting on the green fill */
  --carbon-soft:#E6F7DE;
  --stamp:#B03A26;
  --shadow:rgba(20,24,31,.07);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0D1014;
    --paper-2:#141920;
    --ink:#E7EAED;
    --muted:#8D97A5;
    --rule:#2A313A;
    --rule-soft:#1E242B;
    --carbon:#38EA0B;
    --accent:#38EA0B;
    --on-carbon:#0A0A0A;
    --carbon-soft:#16240F;
    --stamp:#E28068;
    --shadow:rgba(0,0,0,.4);
  }
}
:root[data-theme="dark"]{
  --paper:#0D1014;
  --paper-2:#141920;
  --ink:#E7EAED;
  --muted:#8D97A5;
  --rule:#2A313A;
  --rule-soft:#1E242B;
  --carbon:#38EA0B;
  --accent:#38EA0B;
  --on-carbon:#0A0A0A;
  --carbon-soft:#16240F;
  --stamp:#E28068;
  --shadow:rgba(0,0,0,.4);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;text-wrap:balance;margin:0}
.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
a{color:inherit}
:focus-visible{outline:2px solid var(--carbon);outline-offset:3px;border-radius:2px}

.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.col{max-width:34em}

/* ── document header ──────────────────────────────────── */
.sheet{border-bottom:1px solid var(--rule)}
.sheet-top{
  display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--rule-soft);
}
.docid{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);
}
.docid b{color:var(--ink);font-weight:600}
.sheet-top .spacer{flex:1}

.hero{padding:74px 0 60px}
.eyebrow{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--carbon);margin:0 0 26px;
}
h1{
  font-size:clamp(2.9rem,8.4vw,5.4rem);
  font-weight:800;line-height:.94;letter-spacing:-.033em;
  font-variation-settings:"opsz" 96;
  margin:0 0 30px;
}
.deck{font-size:clamp(1.1rem,2.3vw,1.34rem);line-height:1.5;color:var(--ink);max-width:26em;margin:0 0 34px;font-weight:300}
.deck em{font-style:italic}

.attest{
  border-left:3px solid var(--accent);
  padding:2px 0 2px 20px;max-width:30em;
  font-size:1rem;line-height:1.55;color:var(--muted);
}
.attest strong{color:var(--ink);font-weight:500}

/* ── field table ──────────────────────────────────────── */
.fields{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  border-top:1px solid var(--rule);
}
.field{
  padding:16px 20px 18px 0;border-bottom:1px solid var(--rule-soft);
}
.field dt{
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted);margin:0 0 7px;
}
.field dd{margin:0;font-size:.97rem;line-height:1.4}

/* ── sections ─────────────────────────────────────────── */
section{padding:66px 0;border-top:1px solid var(--rule-soft)}
.sec-label{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:0 0 26px;
  display:flex;align-items:baseline;gap:14px;
}
.sec-label::after{content:"";flex:1;height:1px;background:var(--rule-soft)}
h2{
  font-size:clamp(1.7rem,3.7vw,2.5rem);font-weight:600;letter-spacing:-.022em;
  line-height:1.08;margin:0 0 24px;font-variation-settings:"opsz" 48;
}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
.lede{font-size:1.1rem}

.note{
  background:var(--paper-2);border:1px solid var(--rule-soft);
  padding:22px 24px;margin:32px 0 0;max-width:34em;
}
.note .k{
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--stamp);display:block;margin-bottom:9px;
}
.note p{font-size:.97rem;line-height:1.55;color:var(--muted)}
.note strong{color:var(--ink);font-weight:500}

/* ── the line ─────────────────────────────────────────── */
.line{border-top:1px solid var(--rule);margin-top:8px}
.station{
  display:grid;grid-template-columns:64px minmax(0,1fr);
  gap:0 24px;padding:26px 0;border-bottom:1px solid var(--rule-soft);
  align-items:start;
}
.station .no{
  font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;
  letter-spacing:.06em;color:var(--carbon);padding-top:.42em;
  font-variant-numeric:tabular-nums;
}
.station h3{
  font-size:1.22rem;font-weight:600;letter-spacing:-.012em;margin:0 0 8px;
  font-variation-settings:"opsz" 24;
}
.station p{font-size:.99rem;line-height:1.55;color:var(--muted);max-width:38em}
.station p strong{color:var(--ink);font-weight:500}

/* ── credentials ──────────────────────────────────────── */
.creds{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:0;border-top:1px solid var(--rule);margin-top:34px;
}
.cred{padding:22px 24px 24px 0;border-bottom:1px solid var(--rule-soft)}
.cred .yr{
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;
  color:var(--muted);text-transform:uppercase;display:block;margin-bottom:8px;
}
.cred p{font-size:.97rem;line-height:1.5;margin:0}

/* ── cta ──────────────────────────────────────────────── */
.cta{background:var(--paper-2);border-top:1px solid var(--rule)}
.cta .inner{padding:70px 0 76px}
.cta h2{margin-bottom:20px}
.btn{
  display:inline-block;margin-top:26px;
  font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;text-decoration:none;
  background:var(--accent);color:var(--on-carbon);
  padding:16px 28px;border:1px solid var(--accent);
  transition:transform .16s ease,box-shadow .16s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px var(--shadow)}
.alt{
  margin-top:18px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;
  color:var(--muted);letter-spacing:.02em;
}
.alt a{color:var(--carbon);text-decoration:none;border-bottom:1px solid var(--carbon)}

/* ── footer ───────────────────────────────────────────── */
footer{
  border-top:1px solid var(--rule);padding:26px 0 40px;
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);
  display:flex;flex-wrap:wrap;gap:8px 26px;
}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--carbon)}

/* ── fill-me markers ──────────────────────────────────── */
.fill{
  background:repeating-linear-gradient(-45deg,var(--carbon-soft),var(--carbon-soft) 6px,transparent 6px,transparent 12px);
  border-bottom:1px dashed var(--carbon);color:var(--carbon);
  font-family:"IBM Plex Mono",monospace;font-size:.86em;padding:1px 5px;
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
@media (max-width:640px){
  body{font-size:18px}
  .hero{padding:52px 0 44px}
  section{padding:48px 0}
  .station{grid-template-columns:44px minmax(0,1fr);gap:0 16px}
  .cred{padding-right:0}
}

/* ── notes: list ──────────────────────────────────────── */
.notes-list{border-top:1px solid var(--rule);margin-top:8px}
.note-row{
  display:grid;grid-template-columns:132px minmax(0,1fr);
  gap:0 24px;padding:26px 0;border-bottom:1px solid var(--rule-soft);
  align-items:start;text-decoration:none;color:inherit;
}
.note-row time{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);padding-top:.6em;
  font-variant-numeric:tabular-nums;
}
.note-row h3{
  font-size:1.22rem;font-weight:600;letter-spacing:-.012em;margin:0 0 8px;
  font-variation-settings:"opsz" 24;transition:color .14s ease;
}
.note-row p{font-size:.99rem;line-height:1.55;color:var(--muted);max-width:38em;margin:0}
.note-row:hover h3{color:var(--carbon)}
.readmore{
  font-family:"IBM Plex Mono",monospace;font-size:12.5px;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;text-decoration:none;
  color:var(--carbon);border-bottom:1px solid var(--carbon);
  display:inline-block;margin-top:30px;
}

/* ── article ──────────────────────────────────────────── */
.backlink{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;
  display:inline-block;margin-bottom:34px;
}
.backlink:hover{color:var(--carbon)}
.article-head{padding:56px 0 0}
.article-head h1{
  font-size:clamp(2.1rem,5.4vw,3.5rem);line-height:1.02;margin:0 0 26px;
  font-variation-settings:"opsz" 60;
}
.byline{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin:34px 0 0;
  display:flex;flex-wrap:wrap;gap:6px 20px;
  padding-top:18px;border-top:1px solid var(--rule-soft);max-width:34em;
}
.prose{padding:52px 0 0}
.prose h2{
  font-size:clamp(1.35rem,2.8vw,1.8rem);font-weight:600;letter-spacing:-.018em;
  line-height:1.14;margin:2.3em 0 .75em;font-variation-settings:"opsz" 36;
}
.prose > .col > h2:first-child{margin-top:0}
.prose ul{margin:0 0 1.05em;padding-left:1.2em}
.prose li{margin:0 0 .65em;line-height:1.6}
.prose li::marker{color:var(--carbon)}
.prose strong{font-weight:500}
.prose em{font-style:italic}
.prose hr{border:0;border-top:1px solid var(--rule-soft);margin:2.8em 0}
.prose a{color:var(--carbon);text-decoration:none;border-bottom:1px solid var(--carbon)}
.signoff{
  border-left:3px solid var(--accent);padding:2px 0 2px 20px;
  font-size:1rem;line-height:1.55;color:var(--muted);margin:0;
}
.signoff strong{color:var(--ink);font-weight:500}
@media (max-width:640px){
  .note-row{grid-template-columns:minmax(0,1fr);gap:8px}
  .note-row time{padding-top:0}
  .article-head{padding:40px 0 0}
  .prose{padding:40px 0 0}
}
