.capitals-page{overflow-x:hidden;background-color:var(--paper);background-image:radial-gradient(#1719180d .55px,transparent .7px);background-size:4px 4px}
.capitals-page .site-header{background:rgba(241,237,227,.94)}
.capitals-hero{min-height:620px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);border-bottom:1px solid var(--line)}
.capitals-hero-copy{padding:90px 5vw 80px}.capitals-hero h1{margin:34px 0 26px;font:500 clamp(64px,7.7vw,118px)/.85 Georgia,serif;letter-spacing:-.07em}.capitals-hero h1 em{color:var(--coral);font-weight:400}.capitals-hero-copy>p{max-width:690px;margin:0;color:var(--muted);font-size:16px;line-height:1.6}.capitals-hero .primary-button{margin-top:32px}.capitals-hero .primary-button b{color:var(--acid);font-size:17px}
.capitals-ledger{padding:64px 4vw 44px;background-color:var(--ink);background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:28px 28px;color:#fff}.ledger-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid #ffffff35;color:#aaa9a1;font:700 9px/1 monospace;text-transform:uppercase}.ledger-head strong{color:var(--acid);font-size:12px}.capitals-ledger dl{margin:42px 0 30px}.capitals-ledger dl div{min-height:76px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff22}.capitals-ledger dt{color:#aaa9a1;font:700 9px/1.2 monospace;text-transform:uppercase}.capitals-ledger dd{margin:0;font:500 38px/1 Georgia,serif}.capitals-ledger p{max-width:360px;color:#aaa9a1;font:9px/1.6 monospace}
.capitals-note{padding:22px 5vw;display:grid;grid-template-columns:150px 1fr;gap:30px;background:var(--acid);border-bottom:1px solid var(--line)}.capitals-note strong{font:700 10px/1.5 monospace;text-transform:uppercase}.capitals-note p{max-width:1000px;margin:0;color:#4c4f2a;font-size:11px;line-height:1.55}
.capitals-atlas,.capitals-method{padding:86px 4vw 96px;border-bottom:1px solid var(--line)}.capitals-atlas{background:var(--white)}
.capital-controls{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(210px,.85fr) minmax(190px,.8fr) minmax(150px,.55fr);background:var(--ink);color:#fff}.capital-controls>label,.capital-controls>fieldset{min-width:0;min-height:70px;margin:0;padding:12px 15px;display:flex;flex-direction:column;gap:9px;border:0;border-right:1px solid #ffffff28}.capital-controls>label:last-child{border-right:0}.capital-controls span,.capital-controls legend{padding:0;color:#aaa9a1;font:700 7px/1 monospace;text-transform:uppercase;letter-spacing:.07em}.capital-controls input,.capital-controls select{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#fff;font-size:11px;font-weight:700}.capital-controls input::placeholder{color:#ffffff70}.capital-controls option{color:var(--ink)}.capital-controls fieldset{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:0}.capital-controls fieldset legend{grid-column:1/-1;margin-bottom:8px}.capital-controls fieldset button{padding:7px 8px;border:1px solid #ffffff42;background:transparent;color:#fff;font-size:9px;font-weight:800}.capital-controls fieldset button+button{border-left:0}.capital-controls fieldset button.active{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.capital-result-line{min-height:42px;padding:0 4px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font:700 8px/1 monospace;text-transform:uppercase}.capital-table-wrap{overflow-x:auto;border:1px solid var(--line);box-shadow:7px 7px 0 #d7d0c4}.capital-table{width:100%;min-width:940px;border-collapse:collapse;background:var(--paper)}.capital-table th{height:43px;padding:0 14px;background:#e7e1d6;color:var(--muted);text-align:right;font:700 8px/1 monospace;text-transform:uppercase}.capital-table th:first-child{text-align:left}.capital-table th:last-child{width:36px}.capital-table td{height:73px;padding:9px 14px;border-bottom:1px solid var(--line);text-align:right;font:10px/1.25 monospace;vertical-align:middle}.capital-table tr:last-child td{border-bottom:0}.capital-table tbody tr{cursor:pointer}.capital-table tbody tr:hover,.capital-table tbody tr.active{background:#f0efc9}.capital-table tbody tr.active{box-shadow:inset 4px 0 0 var(--coral)}
.capital-city-cell{text-align:left!important}.capital-city{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px}.capital-city-code{grid-row:1/-1;align-self:center;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font:700 8px/1 monospace}.capital-city strong{font:700 12px/1.3 Arial,sans-serif}.capital-city small,.capital-table td>small{color:var(--muted);font:7px/1.3 monospace;text-transform:uppercase}.capital-value{display:block;font:700 12px/1.2 Arial,sans-serif}.capital-period{display:block;margin-top:4px}.capital-table .row-arrow{color:var(--coral);font-size:15px}.capital-table .data-warning{color:var(--coral)}
.capital-empty{padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;border:1px solid var(--line);background:var(--paper)}.capital-empty[hidden]{display:none}.capital-empty strong{font:500 28px/1 Georgia,serif}.capital-empty span{color:var(--muted);font-size:11px}
.capital-detail-section{min-height:420px;padding:86px 4vw;scroll-margin-top:72px;background-color:var(--ink);background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:28px 28px;color:#fff;border-bottom:1px solid #ffffff20}.detail-empty{min-height:250px;display:grid;place-content:center;text-align:center}.detail-empty .kicker{color:var(--acid)}.detail-empty h2{margin:18px 0 0;color:#aaa9a1;font:500 clamp(38px,5vw,66px)/.95 Georgia,serif}
.capital-detail-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start;padding-bottom:30px;border-bottom:1px solid #ffffff2b}.capital-detail-head .kicker{color:var(--acid)}.capital-detail-head h2{margin:16px 0 10px;font:500 clamp(52px,7vw,96px)/.86 Georgia,serif;letter-spacing:-.06em}.capital-detail-head p{margin:0;color:#aaa9a1;font:10px/1.5 monospace}.capital-detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.capital-detail-actions a{padding:13px 16px;border:1px solid #ffffff55;color:#fff;text-decoration:none;font-size:10px;font-weight:800}.capital-detail-actions a:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.capital-detail-label{min-height:54px;padding:18px 0 12px;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #ffffff2b}.capital-detail-label span{color:#fff;font:500 19px/1 Georgia,serif}.capital-detail-label small{color:#aaa9a1;font:700 8px/1 monospace;text-transform:uppercase}
.capital-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #ffffff2b}.capital-detail-grid article{min-height:145px;padding:22px;border-right:1px solid #ffffff2b;display:flex;flex-direction:column}.capital-detail-grid article:last-child{border:0}.capital-detail-grid span{color:#aaa9a1;font:700 8px/1 monospace;text-transform:uppercase}.capital-detail-grid strong{margin:auto 0 8px;font:500 clamp(22px,2.4vw,34px)/1 Georgia,serif}.capital-detail-grid small{color:#aaa9a1;font:8px/1.35 monospace}
.capital-detail-section .positive{color:var(--acid)!important}.capital-detail-section .negative{color:#ff6569!important}
.capital-balance-story{min-height:74px;padding:17px 22px;display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;border-bottom:1px solid #ffffff2b;background:#ffffff08}.capital-balance-story span{font:700 9px/1 monospace;text-transform:uppercase}.capital-balance-story p{max-width:900px;margin:0;color:#ddd8cf;font-size:10px;line-height:1.55}.capital-balance-story.positive{box-shadow:inset 4px 0 0 var(--acid)}.capital-balance-story.negative{box-shadow:inset 4px 0 0 var(--coral)}.capital-balance-story.unavailable{box-shadow:inset 4px 0 0 #777d78}.capital-balance-story.unavailable span{color:#aaa9a1}
.capital-history{padding:0 0 28px;border-bottom:1px solid #ffffff2b}.capital-history-copy{max-width:930px;margin:18px 0;color:#aaa9a1;font-size:10px;line-height:1.6}.capital-history-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ffffff2b}.capital-history-stats article{min-height:100px;padding:16px 20px;display:flex;flex-direction:column;border-right:1px solid #ffffff2b}.capital-history-stats article:last-child{border:0}.capital-history-stats span,.capital-history-stats small{color:#aaa9a1;font:700 7px/1 monospace;text-transform:uppercase}.capital-history-stats strong{margin:auto 0 6px;font:500 27px/1 Georgia,serif}.capital-history-legend{min-height:40px;display:flex;align-items:center;gap:18px;color:#ddd8cf;font:700 8px/1 monospace;text-transform:uppercase}.capital-history-legend span:before{content:"";width:9px;height:9px;margin-right:7px;display:inline-block;vertical-align:-1px}.capital-history-legend .revenue:before{background:var(--acid)}.capital-history-legend .expense:before{background:var(--coral)}.capital-history-legend small{margin-left:auto;color:#7f837d;font:700 7px/1 monospace}.capital-history-chart{border:1px solid #ffffff2b;background:#111413}.capital-history-chart svg{display:block;width:100%;height:auto}.capital-history-chart line{stroke:#ffffff1d;stroke-width:1}.capital-history-chart text{fill:#8f938d;font:9px/1 monospace}.capital-history-chart .history-year{fill:#c5c6bf}.capital-history-chart .history-revenue{fill:var(--acid)}.capital-history-chart .history-expense{fill:var(--coral)}.capital-history-table-wrap{margin-top:14px;overflow-x:auto;border:1px solid #ffffff2b}.capital-history-table{width:100%;min-width:650px;border-collapse:collapse}.capital-history-table th,.capital-history-table td{padding:10px 13px;border-bottom:1px solid #ffffff1f;text-align:right;font:9px/1.2 monospace}.capital-history-table thead th{color:#8f938d;text-transform:uppercase;font-size:7px}.capital-history-table th:first-child{text-align:left}.capital-history-table tbody th{color:#ddd8cf}.capital-history-table tbody tr:last-child>*{border-bottom:0}.capital-history-source{margin:12px 0 0;color:#7f837d;font:8px/1.4 monospace}
.capital-mix-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ffffff2b}.capital-mix-panel{min-height:250px;padding:23px;border-right:1px solid #ffffff2b}.capital-mix-panel:last-child{border-right:0}.capital-mix-panel h4{margin:0 0 24px;color:#aaa9a1;font:700 8px/1 monospace;text-transform:uppercase}.capital-mix-list{display:grid;gap:17px}.capital-mix-row>div{display:flex;justify-content:space-between;gap:18px;align-items:end}.capital-mix-row span{color:#ddd8cf;font-size:10px}.capital-mix-row strong{font:700 10px/1 monospace;white-space:nowrap}.capital-mix-row>i{height:5px;margin-top:7px;display:block;background:#ffffff13}.capital-mix-row>i b{height:100%;display:block;background:var(--acid)}.capital-mix-row[data-kind="capital"]>i b{background:var(--coral)}.capital-mix-row[data-kind="financing"]>i b{background:#86b6ff}.capital-mix-row[data-kind="revenue"]>i b{background:#fff}.capital-mix-row small{display:block;margin-top:5px;color:#7f837d;font:7px/1 monospace;text-transform:uppercase}.empty-mix{display:flex;flex-direction:column}.empty-mix p{max-width:360px;margin:auto 0;color:#7f837d;font-size:10px;line-height:1.6}
.capital-lineage{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;padding-top:28px}.capital-lineage h3{margin:0;color:#aaa9a1;font:700 8px/1 monospace;text-transform:uppercase}.capital-lineage p{margin:0;color:#ddd8cf;font-size:11px;line-height:1.65}.capital-lineage p+hr{margin:18px 0;border:0;border-top:1px solid #ffffff22}.capital-lineage code{color:var(--acid);font-size:9px}
.capital-method-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line)}.capital-method-grid article{min-height:260px;padding:25px;background:var(--paper)}.capital-method-grid b{color:var(--coral);font:700 9px/1 monospace}.capital-method-grid h3{margin:45px 0 15px;font:500 24px/1 Georgia,serif}.capital-method-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.capitals-hero{grid-template-columns:1fr 360px}.capital-controls{grid-template-columns:1fr 1fr}.capital-controls>*:nth-child(2){border-right:0}.capital-controls>*:nth-child(-n+2){border-bottom:1px solid #ffffff28}.capital-method-grid{grid-template-columns:1fr 1fr}.capital-detail-grid{grid-template-columns:1fr 1fr}.capital-detail-grid article:nth-child(2){border-right:0}.capital-detail-grid article:nth-child(-n+2){border-bottom:1px solid #ffffff2b}}
@media(max-width:760px){.capitals-hero{grid-template-columns:1fr}.capitals-hero-copy{padding:64px 5vw}.capitals-hero h1{font-size:16.5vw}.capitals-ledger{padding:44px 5vw}.capitals-note{grid-template-columns:1fr;gap:6px}.capitals-atlas,.capitals-method,.capital-detail-section{padding:66px 5vw 74px}.capital-controls{grid-template-columns:1fr}.capital-controls>*{border-right:0!important;border-bottom:1px solid #ffffff28}.capital-controls>*:last-child{border-bottom:0}.capital-result-line{align-items:flex-start;flex-direction:column;justify-content:center;gap:5px}.capital-detail-head{grid-template-columns:1fr}.capital-detail-actions{justify-content:flex-start}.capital-detail-label{align-items:flex-start;flex-direction:column;gap:7px}.capital-detail-grid,.capital-method-grid,.capital-mix-grid{grid-template-columns:1fr}.capital-detail-grid article,.capital-method-grid article,.capital-mix-panel{border-right:0}.capital-detail-grid article,.capital-mix-panel{border-bottom:1px solid #ffffff2b}.capital-balance-story{grid-template-columns:1fr;gap:9px}.capital-history-stats{grid-template-columns:1fr}.capital-history-stats article{min-height:82px;border-right:0;border-bottom:1px solid #ffffff2b}.capital-history-stats article:last-child{border-bottom:0}.capital-history-chart{overflow-x:auto}.capital-history-chart svg{min-width:720px}.capital-lineage{grid-template-columns:1fr}}

/* City consolidation and extracted sub-budget comparison. */
.capital-consolidation-overview{padding:34px 4vw;display:grid;grid-template-columns:1fr 1.15fr;gap:5vw;align-items:center;border-bottom:1px solid var(--line);background:#f8f5ee}.capital-consolidation-overview h2{margin:10px 0 7px;font:500 clamp(29px,3.2vw,46px)/.95 Georgia,serif}.capital-consolidation-overview p{max-width:620px;margin:0;color:var(--muted);font-size:10px;line-height:1.55}.consolidation-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.consolidation-cards article{min-height:112px;padding:15px;display:flex;flex-direction:column;border:1px solid var(--line);border-left-width:7px;background:#fff}.consolidation-cards span,.consolidation-cards small{color:var(--muted);font:700 7px/1.3 monospace;text-transform:uppercase}.consolidation-cards strong{margin:auto 0 5px;font:500 30px/1 Georgia,serif}.scope-consolidated{--scope-color:#d2674d}.scope-city-state{--scope-color:#315ba6}.scope-municipality{--scope-color:#47735c}.consolidation-cards .scope-consolidated,.consolidation-cards .scope-city-state,.consolidation-cards .scope-municipality{border-left-color:var(--scope-color)}.capital-table tbody tr.scope-consolidated,.capital-table tbody tr.scope-city-state,.capital-table tbody tr.scope-municipality{box-shadow:inset 5px 0 0 var(--scope-color)}.capital-table tbody tr.active{box-shadow:inset 8px 0 0 var(--coral)}
.capital-spending-comparison{padding:86px 4vw 96px;border-bottom:1px solid var(--line);background:#e9e5dc}.spending-comparison-table{min-width:920px}.spending-comparison-table th:first-child,.spending-comparison-table th:nth-child(2),.spending-comparison-table td:first-child,.spending-comparison-table td:nth-child(2){text-align:left}.spending-comparison-table td{height:62px}.spending-comparison-table td strong,.spending-comparison-table td small{display:block}.spending-comparison-table td small{margin-top:4px;color:var(--muted);font:7px/1.2 monospace;text-transform:uppercase}
@media(max-width:760px){.capital-consolidation-overview{grid-template-columns:1fr}.consolidation-cards{grid-template-columns:1fr}.capital-spending-comparison{padding:66px 5vw 74px}}
