:root{--paper:#F2F4F5;--ink:#1C2430;--cobalt:#1F4FD8;--marker:#F5C518;--mute:#6E7882;--rule:#D5DADF;--good:#1a7f37;--maxw:64rem;--prose:38rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--cobalt)}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--marker);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.prose{max-width:var(--prose)}
h1,h2,h3{font-variation-settings:"opsz" 96;line-height:1.05;margin:0 0 1rem;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,6vw,4.2rem);font-weight:700}
h2{font-size:clamp(1.5rem,3.8vw,2.3rem);font-weight:650}
h3{font-size:1.2rem;font-weight:600;margin-bottom:.35rem}
p{margin:0 0 1rem}
section{padding:3.5rem 0;border-top:1px solid var(--rule)}
.lede{font-size:1.2rem;line-height:1.45}
.mute{color:var(--mute)}.small{font-size:.9rem}
.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600;color:var(--cobalt);margin-bottom:.75rem}
header{padding:1.25rem 0}
header .wrap{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.brand{font-weight:700;text-decoration:none;color:var(--ink);font-size:1.1rem}
nav a{color:var(--ink);text-decoration:none;margin-left:1.1rem;font-size:.95rem;border-bottom:2px solid transparent}
nav a:hover{border-bottom-color:var(--marker)}
.btn{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;padding:.8rem 1.2rem;font-weight:600;border-radius:4px;margin:.25rem .4rem .25rem 0;border:0;cursor:pointer;font-family:inherit;font-size:1rem}
.btn.secondary{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn:hover{opacity:.9}
input,select,textarea{font:inherit;width:100%;padding:.7rem .8rem;border:2px solid var(--ink);background:#fff;border-radius:4px;color:var(--ink)}
label{display:block;font-weight:500;margin-bottom:.3rem}
/* status chips */
.tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.15rem .45rem;border-radius:3px;vertical-align:middle;white-space:nowrap}
.tag.verified{background:#0f5132;color:#fff}
.tag.calculated{background:var(--cobalt);color:#fff}
.tag.estimate{background:#8a6d00;color:#fff}
.tag.proposal{background:var(--marker);color:var(--ink)}
.tag.insufficient{background:var(--rule);color:var(--mute)}
/* search */
.search{display:flex;gap:.5rem;max-width:34rem;margin:1.5rem 0 .5rem}
.search input{font-size:1.15rem}
.results{max-width:34rem;margin-top:.5rem}
.results a,.results div.none{display:block;padding:.7rem .8rem;border:1px solid var(--rule);border-top:0;background:#fff;text-decoration:none;color:var(--ink)}
.results a:first-child{border-top:1px solid var(--rule)}
.results a:hover{background:#FFF9DC}
.results b{font-weight:600}
.results .r{float:right;font-weight:700}
/* big number */
.hero-num{font-size:clamp(4rem,18vw,11rem);font-weight:800;line-height:.85;letter-spacing:-.03em;font-variation-settings:"opsz" 96;margin:.5rem 0}
.hero-num small{font-size:.22em;font-weight:600;letter-spacing:0;color:var(--mute);display:block;margin-top:.6rem}
/* bars */
.ledger{display:grid;gap:.5rem;margin:1rem 0}
.row{display:grid;grid-template-columns:minmax(9rem,15rem) 1fr;align-items:center;gap:.75rem}
.row .who{font-weight:500;line-height:1.2}
.row .who small{display:block;color:var(--mute);font-weight:400;font-size:.85rem}
.row .track{position:relative;height:1.5rem}
.row .bar{position:absolute;left:0;top:0;height:100%;background:var(--ink);min-width:3px}
.row.top .bar{background:var(--marker)}
.row .val{position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.9rem}
.row.top .val{right:.5rem;font-weight:600}
@media (max-width:600px){.row{grid-template-columns:1fr;gap:.2rem}.row .track{height:1.2rem}}
.caption{font-size:.9rem;color:var(--mute);max-width:var(--prose)}
/* metric grid */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.25rem;margin:1.5rem 0}
.metric{border-top:3px solid var(--ink);padding-top:.7rem}
.metric.dim{border-top-color:var(--rule)}
.metric .v{font-size:2rem;font-weight:700;line-height:1;font-variation-settings:"opsz" 96}
.metric .k{font-weight:600;margin-top:.4rem}
.metric .n{font-size:.88rem;color:var(--mute)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1.25rem;margin-top:1.5rem}
.co{border-top:3px solid var(--ink);padding-top:.7rem;text-decoration:none;color:var(--ink);display:block}
.co:hover{border-top-color:var(--marker)}
.co .r{font-size:2.2rem;font-weight:700;line-height:1;font-variation-settings:"opsz" 96}
.co .r small{font-size:.9rem;font-weight:500;color:var(--mute);margin-left:.2rem}
.co .n{font-weight:600;margin-top:.3rem}
.co .d{font-size:.85rem;color:var(--mute)}
.co.low{border-top-color:var(--cobalt)}
table{border-collapse:collapse;width:100%;margin:1.25rem 0;font-size:.95rem}
th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-weight:600}
@media (max-width:600px){table{font-size:.85rem}th,td{padding:.5rem .3rem}}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media (max-width:760px){.cols{grid-template-columns:1fr}}
.cols ul{padding-left:1.1rem;margin:0}.cols li{margin-bottom:.5rem}
.pull{border-left:4px solid var(--marker);padding:.25rem 0 .25rem 1.25rem;margin:1.5rem 0;font-size:1.15rem;line-height:1.4;max-width:var(--prose)}
.band{background:var(--ink);color:var(--paper);padding:3rem 0}
.band p{font-size:clamp(1.3rem,3.2vw,2rem);line-height:1.25;font-weight:500;max-width:28ch;margin:0}
.band em{font-style:normal;color:var(--marker)}
.cta{background:var(--marker);color:var(--ink);padding:3rem 0}
details{margin:1rem 0;max-width:var(--prose)}
summary{cursor:pointer;font-weight:600}
.evidence{background:#fff;border:1px solid var(--rule);border-radius:4px;padding:1rem;margin-top:.75rem;font-size:.92rem}
.evidence dt{font-weight:600;margin-top:.5rem}
.evidence dd{margin:0 0 .1rem}
.flow{margin-top:1.25rem}
.layer{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--rule)}
.layer:first-child{border-top:0;padding-top:0}
.layer .n{font-size:1.9rem;font-weight:700;line-height:1;color:var(--cobalt);font-variation-settings:"opsz" 96}
.layer p{max-width:var(--prose)}
footer{padding:2.5rem 0 3rem;font-size:.9rem;color:var(--mute)}
footer p{max-width:var(--prose)}
.ok{color:var(--good);font-weight:600;margin-left:.5rem}
