:root{
  --paper:#f5f3ed;
  --paper-line:#d8d2c2;
  --navy:#1d3357;
  --navy-soft:#5b6b84;
  --navy-surface:#141c2b;
  --ink-dark:#0c0f13;
  --ink-raise:#10141a;
  --line:#232a33;
  --gold:#b9974a;
  --gold-bright:#d4af5c;
  --red:#a5342a;
  --cream:#f2f0e9;
  --muted:#8d96a1;
  --maxw:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{font-family:'Public Sans',system-ui,sans-serif;background:var(--ink-dark);color:var(--cream);line-height:1.6;font-size:16.5px}
a{color:var(--cream);text-decoration:none}
a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.mono{font-family:'IBM Plex Mono',monospace}

/* ===== dark disclaimer strip ===== */
.notice{background:#080a0d;color:var(--muted);font-size:12.5px;text-align:center;padding:8px 14px;letter-spacing:.02em}
.notice .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px;vertical-align:1px}

/* ===== paper header band ===== */
.nav-toggle{display:none}
.nav-burger{display:none;cursor:pointer;padding:10px 2px;margin-left:auto}
.nav-burger span{display:block;width:26px;height:3px;background:var(--navy);margin:5px 0;border-radius:2px}
.band{background:var(--paper);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:60}
.band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 28px}
.band .lockup{height:64px;width:auto;display:block}
.nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.nav a{color:var(--navy);font-weight:700;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;padding-bottom:4px;border-bottom:2.5px solid transparent}
.nav a:hover{border-bottom-color:var(--navy)}
.nav a.on{border-bottom-color:var(--red)}

/* ===== page head ===== */
.page-head{padding:54px 0 40px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(30px,4.4vw,46px);font-weight:800;letter-spacing:-.015em}
.page-head h1 .hl{color:var(--gold-bright)}
.page-head .lede{margin-top:14px;color:var(--muted);font-size:17.5px;max-width:46em;font-weight:300}
.src-line{margin-top:16px;font-size:12.5px;color:var(--muted)}
.src-line .mono{color:var(--cream)}
.src-line a{color:var(--gold-bright)}

/* ===== counters ===== */
.counters{border-bottom:1px solid var(--line);background:var(--ink-raise)}
.counter-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.counter-grid.four{grid-template-columns:repeat(4,1fr)}
.counter{display:block;padding:36px 28px;border-right:1px solid var(--line)}
.counter:last-child{border-right:0}
a.counter:hover{background:#151b23}
.c-label{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:12px}
.c-figure{display:block;font-family:'IBM Plex Mono',monospace;font-size:clamp(34px,4.2vw,52px);font-weight:600;color:var(--gold-bright);line-height:1}
.c-note{display:block;margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.5}

/* ===== sections ===== */
.sec{padding:58px 0;border-bottom:1px solid var(--line)}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:26px;gap:16px;flex-wrap:wrap}
h2{font-size:clamp(23px,2.8vw,32px);font-weight:700;letter-spacing:-.01em}
.more{color:var(--muted);font-size:14px;font-weight:600}
.more:hover{color:var(--gold-bright)}
.tbl-note{color:var(--muted);font-size:13.5px;margin-bottom:20px;max-width:52em}

/* ===== leaderboard ===== */
.lb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px}
.lb-row{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line)}
.lb-rank{width:30px;height:30px;border-radius:50%;background:var(--navy-surface);border:1px solid #29405f;color:var(--gold-bright);font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:13.5px;display:flex;align-items:center;justify-content:center;flex:0 0 30px}
.lb-agency{flex:1;font-weight:700;font-size:15px;color:var(--cream)}
.lb-agency small{display:block;color:var(--muted);font-weight:400;font-size:12.5px}
.lb-val{font-family:'IBM Plex Mono',monospace;color:var(--muted);font-size:13.5px;white-space:nowrap}

/* ===== tables ===== */
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 10px;border-bottom:1px solid var(--line);font-weight:700}
td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--cream)}
td.dim{color:var(--muted)}
td.num,th.num{text-align:right;white-space:nowrap}
td.num{font-family:'IBM Plex Mono',monospace;font-size:13px}
tr:hover td{background:#12171f}
.tbl-empty{color:var(--muted);padding:20px 10px;font-size:14px}

/* ===== bar chart (workforce style) ===== */
.chart{margin:18px 0 6px}
.chart-title{font-size:14px;font-weight:700;margin-bottom:6px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.bars{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:14px}
.bar{flex:1;background:var(--cream);min-width:6px}
.bar.gold{background:var(--gold-bright)}
.bar-x{display:flex;gap:6px;margin-top:8px}
.bar-x span{flex:1;text-align:center;font-size:11px;color:var(--muted);font-family:'IBM Plex Mono',monospace}
.chart-note{margin-top:12px;font-size:14px;color:var(--muted)}

/* ===== cards / findings ===== */
.finding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.finding{border:1px solid var(--line);background:var(--navy-surface);padding:24px 22px;display:flex;flex-direction:column;gap:11px}
.finding:hover{border-color:#3b4f6e}
.f-kind{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);font-weight:700}
.finding h3{font-size:17px;font-weight:700;line-height:1.35;color:var(--cream)}
.finding p{font-size:14px;color:var(--muted);flex:1}
.f-meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--muted)}

/* ===== ledger cases ===== */
.case{border:1px solid var(--line);border-left:3px solid var(--red);background:var(--navy-surface);padding:24px;margin-bottom:20px}
.case-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.case-country{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);font-weight:700}
.case-amount{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:17px;color:var(--cream)}
.case h3{font-size:17.5px;font-weight:700;margin-bottom:8px}
.case p{color:var(--muted);font-size:14.5px}
.case-src{margin-top:12px;font-size:12.5px;color:var(--muted)}
.case-src a{color:var(--gold-bright)}

/* ===== method / prose ===== */
.method-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.method-grid p{color:var(--muted);font-size:15px;margin-bottom:16px;max-width:42em}
.mono-strong{font-family:'IBM Plex Mono',monospace;color:var(--cream);font-size:12.5px;letter-spacing:.08em}
.method-grid a{color:var(--gold-bright)}
.article-col{max-width:740px}
.article-body p{margin-bottom:20px;font-size:16.5px;line-height:1.75;color:#dcdad3}

/* ===== paper footer ===== */
.footer{background:var(--paper);border-top:3px solid var(--gold);color:var(--navy);margin-top:0}
.foot-inner{display:grid;grid-template-columns:1.3fr .7fr .7fr .7fr;gap:36px;padding:42px 28px 32px;max-width:var(--maxw);margin:0 auto}
.foot-brand{display:flex;align-items:center}
.foot-lockup{height:78px;width:auto}
.fb-name{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:25px;letter-spacing:.04em;color:var(--navy)}
.fb-tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-soft);margin-top:4px;font-weight:700}
.fcol h4{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-soft);font-weight:700;margin-bottom:12px}
.fcol a{display:block;color:var(--navy);font-size:13.5px;font-weight:600;margin-bottom:8px}
.fcol a:hover{color:var(--red)}
.legal{border-top:1px solid var(--paper-line);padding:15px 28px 20px;font-size:11.5px;color:var(--navy-soft);line-height:1.6;max-width:var(--maxw);margin:0 auto}

/* ===== responsive ===== */
@media(max-width:980px){
  .band .lockup{height:50px}
  .nav-burger{display:block}
  .band-inner{flex-wrap:wrap}
  .nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 4px;border-top:1px solid var(--paper-line);margin-top:10px}
  .nav a{padding:13px 2px;border-bottom:1px solid var(--paper-line);font-size:14px}
  .nav a:last-child{border-bottom:0}
  .nav a.on{border-bottom:1px solid var(--paper-line);color:var(--red)}
  .nav-toggle:checked ~ .nav{display:flex}
  .counter-grid,.counter-grid.four{grid-template-columns:1fr}
  .counter{border-right:0;border-bottom:1px solid var(--line)}
  .finding-grid{grid-template-columns:1fr}
  .lb-grid{grid-template-columns:1fr}
  .method-grid{grid-template-columns:1fr;gap:20px}
  .foot-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .wrap{padding:0 18px}
  .band-inner{padding:10px 18px}
  .band .lockup{height:42px}
  .nav{gap:14px}
  .nav a{font-size:12px}
  .foot-lockup{height:58px}
  .page-head{padding:40px 0 32px}
  table{font-size:12px}
  td,th{padding:8px 6px}
  .foot-inner{grid-template-columns:1fr}
}
