
@font-face { font-family:"Archivo V"; font-style:normal; font-display:swap; font-weight:100 900;
  src:url(/fonts/archivo-variable.woff2) format("woff2"); }
:root { --ink:#16304c; --steel:#2f6db0; --deep:#285c97; --bone:#f1efe9; --muted:#55677d;
  --paper:#fff; --line:#e3e6ea; }
* { box-sizing:border-box; margin:0; }
body { font-family:"Archivo V",-apple-system,"Segoe UI",Roboto,Arial,sans-serif; background:var(--paper);
  color:var(--muted); font-size:15.5px; line-height:1.55; -webkit-font-smoothing:antialiased; }
.wrap { max-width:1060px; margin:0 auto; padding:0 22px; }
h1,h2,h3 { color:var(--ink); line-height:1.12; letter-spacing:-0.015em; text-wrap:balance; }
a { color:var(--steel); text-underline-offset:.18em; text-decoration-thickness:1px; }
.eyebrow { font-size:12px; font-weight:560; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.rule { width:40px; height:2px; background:var(--steel); border:0; margin:12px 0 0; }
header.bar { display:flex; align-items:center; justify-content:space-between; gap:12px 16px;
  flex-wrap:wrap; padding:26px 0 0; }
.wordmark { font-weight:680; letter-spacing:.06em; color:var(--ink); font-size:13px; text-decoration:none; }
.wordmark small { display:block; font-weight:430; letter-spacing:.22em; font-size:8px; color:var(--steel); margin-top:2px; }
.badge { border:1px solid var(--line); border-radius:999px; padding:5px 13px; font-size:12px;
  font-weight:550; color:var(--deep); background:color-mix(in srgb,var(--steel) 5%,#fff); }
.hero { padding:30px 0 6px; }
.hero h1 { font-size:clamp(26px,4.4vw,38px); font-weight:640; margin-top:12px; }
.hero p { margin-top:10px; max-width:58rem; }
.kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(178px,1fr)); gap:12px; margin:22px 0 4px; }
.tile { border:1px solid var(--line); border-radius:12px; padding:14px 16px 12px;
  background:linear-gradient(170deg,color-mix(in srgb,var(--steel) 3%,#fff),#fff); }
.tile-v { font-size:24px; font-weight:660; color:var(--ink); font-variant-numeric:tabular-nums; }
.tile-v small { font-size:13px; font-weight:520; color:var(--muted); }
.tile-l { font-size:13px; font-weight:600; color:var(--ink); margin-top:5px; }
.tile-s { font-size:12px; margin-top:2px; }
section { padding:20px 0 4px; }
.card { border:1px solid var(--line); border-radius:14px; padding:20px 22px 14px; background:#fff; break-inside:avoid; }
.card h2 { font-size:18px; font-weight:630; }
.card .sub { font-size:13px; margin:3px 0 12px; }
.note { font-size:12.5px; margin-top:10px; padding:10px 12px; border-left:2px solid var(--steel);
  background:color-mix(in srgb,var(--steel) 4%,#fff); color:var(--ink); }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.grid2 > * { min-width:0; }
@media (max-width:840px) { .grid2 { grid-template-columns:1fr; } }
svg { width:100%; height:auto; display:block; }
.barlab { font:12px "Archivo V",sans-serif; fill:var(--ink); font-weight:530; }
.barval { font:600 12px "Archivo V",sans-serif; fill:var(--ink); }
table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.08em;
  color:var(--muted); font-weight:580; padding:7px 10px 7px 0; border-bottom:1px solid var(--line); }
td { padding:7px 10px 7px 0; border-bottom:1px solid color-mix(in srgb,var(--line) 55%,#fff); color:var(--ink); }
td:first-child { max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tablewrap { overflow-x:auto; }
.num { text-align:right; } th.num { text-align:right; }
tr.deficit td.bal { color:#8a3535; }
footer.site { margin:32px 0 38px; border-top:1px solid var(--line); padding-top:18px; font-size:12.5px; }
footer.site p { margin-bottom:8px; max-width:74rem; }
.cta { margin-top:14px; border:1px solid var(--line); border-radius:12px; padding:16px 18px;
  background:var(--bone); font-size:14px; color:var(--ink); }
.backlink { font-size:13px; font-weight:550; }
@media print { .cta,.backlink { display:none; } }
