.budget-page{background:var(--bg-base);color:var(--ink-primary)}
.budget-layout{width:min(1180px,100%);margin:0 auto;padding:88px 24px 72px}
.budget-hero{position:relative;overflow:hidden;margin-bottom:34px;padding:clamp(28px,5vw,64px);border:1px solid var(--border-subtle);border-radius:28px;background:linear-gradient(132deg,#072b43 0%,#0b3d58 58%,#124965 100%);box-shadow:var(--card-shadow)}
.budget-hero:after{content:"";position:absolute;width:260px;height:260px;right:-74px;top:-94px;border:1px solid rgba(252,76,2,.45);border-radius:50%;box-shadow:0 0 0 24px rgba(252,76,2,.07),0 0 0 52px rgba(252,76,2,.04);pointer-events:none}
.budget-hero .eyebrow,.card-kicker,.note-label{color:var(--brand-orange);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.budget-hero h1{position:relative;z-index:1;max-width:760px;margin:14px 0 16px;color:#f8fbfc;font-size:clamp(38px,6vw,76px);line-height:.98;letter-spacing:-.055em}
.budget-intro{position:relative;z-index:1;max-width:640px;margin:0;color:#c2d9e2;font-size:clamp(17px,2vw,21px);line-height:1.5}
.budget-thesis{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;font-size:13px;font-weight:800;background:rgba(255,255,255,.08)}
.thesis-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand-orange);font-size:17px}
.budget-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:20px;align-items:start}
.budget-card{border:1px solid var(--border-subtle);border-radius:22px;background:var(--bg-surface);box-shadow:var(--card-shadow)}
#budget-form{padding:30px}
#budget-form h2{margin:9px 0 8px;font-size:clamp(25px,3vw,34px);letter-spacing:-.035em}
.muted{color:var(--ink-secondary);line-height:1.5}
#budget-form>.muted{margin:0 0 26px;font-size:14px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px}
.field-grid label{display:flex;flex-direction:column;gap:7px;color:var(--ink-primary);font-size:13px;font-weight:800;line-height:1.3}
.field-grid input,.field-grid select{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-base);color:var(--ink-primary);font:inherit;font-weight:600;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.field-grid input:focus,.field-grid select:focus{border-color:var(--border-active);box-shadow:0 0 0 3px rgba(32,133,96,.14)}
.field-help{color:var(--ink-secondary);font-size:11px;font-weight:500}
fieldset{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 20px;padding:0;border:0}
legend{width:100%;margin-bottom:3px;color:var(--ink-primary);font-size:13px;font-weight:850}
.choice{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-secondary);font-size:13px;font-weight:750;cursor:pointer}
.choice:has(input:checked){border-color:var(--brand-orange);color:var(--ink-primary);background:color-mix(in srgb,var(--brand-orange) 9%,var(--bg-surface))}
.choice input{accent-color:var(--brand-orange)}
.form-error{margin:0 0 14px;padding:12px 14px;border-left:3px solid var(--brand-orange);color:var(--ink-primary);font-size:13px;line-height:1.45;background:color-mix(in srgb,var(--brand-orange) 8%,var(--bg-surface))}
.budget-submit{width:100%;min-height:50px;border:0;cursor:pointer;font-size:15px}
.budget-result{position:sticky;top:24px;min-height:420px;padding:30px;background:linear-gradient(160deg,var(--bg-surface),var(--bg-subtle))}
.empty-result{display:grid;place-items:center;min-height:355px;padding:24px;text-align:center}
.empty-result p{max-width:270px;margin:10px 0 0;font-weight:800}
.empty-result .muted{margin-top:0;font-size:13px;font-weight:500}
.result-orbit{position:relative;display:block;width:76px;height:76px;border:1px solid var(--border-active);border-radius:50%;box-shadow:0 0 0 10px rgba(32,133,96,.08),0 0 0 22px rgba(32,133,96,.04)}
.result-orbit:after{content:"";position:absolute;right:7px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--brand-orange);box-shadow:0 0 18px rgba(252,76,2,.7)}
.result-top h2{margin:10px 0 18px;font-size:clamp(25px,3vw,36px);line-height:1.05;letter-spacing:-.04em}
.result-number{padding:18px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);color:var(--brand-orange);font-size:clamp(34px,4.5vw,56px);font-weight:900;letter-spacing:-.06em;line-height:1;white-space:nowrap}
.result-number.is-unavailable{color:var(--ink-primary);font-size:clamp(30px,4vw,48px);letter-spacing:-.04em}
.result-number small{display:block;margin-top:8px;color:var(--ink-secondary);font-size:12px;font-weight:750;letter-spacing:0}
.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0}.metric-row div{display:grid;gap:5px}.metric-row strong{font-size:20px}.metric-row span{color:var(--ink-secondary);font-size:12px;line-height:1.35}
.budget-result h3{margin:4px 0 8px;font-size:15px}.result-list{margin:0;padding-left:19px;color:var(--ink-secondary);font-size:13px;line-height:1.6}.result-list strong{color:var(--ink-primary)}
.result-callout{margin-top:22px;padding:17px;border-left:3px solid var(--brand-orange);background:var(--bg-surface)}.result-callout strong{font-size:14px}.result-callout p{margin:6px 0 14px;color:var(--ink-secondary);font-size:13px;line-height:1.45}.result-callout .button{display:inline-flex;background:var(--brand-orange);border-color:var(--brand-orange);color:#fff}.result-callout .button:hover,.result-callout .button:focus-visible{background:var(--brand-orange-hover);border-color:var(--brand-orange-hover);color:#fff}
.result-footnote{margin:18px 0 0;font-size:11px}
.budget-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 0}.budget-notes article{padding:22px;border-top:2px solid var(--brand-orange);background:var(--bg-surface)}.budget-notes h2{margin:10px 0 7px;font-size:20px;letter-spacing:-.025em}.budget-notes p{margin:0;color:var(--ink-secondary);font-size:13px;line-height:1.5}
.budget-disclaimer{margin-top:22px;padding:18px 20px;border:1px solid var(--border-subtle);border-radius:14px;color:var(--ink-secondary);font-size:12px;line-height:1.55}.budget-disclaimer strong{color:var(--ink-primary)}
.budget-sources{margin-top:15px;color:var(--ink-secondary);font-size:12px}.budget-sources p{margin:0;line-height:1.55}.budget-sources a{color:var(--ink-primary)}
@media(max-width:820px){.budget-layout{padding:52px 16px 48px}.budget-grid{grid-template-columns:1fr}.budget-result{position:static}.budget-notes{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.budget-hero{padding:28px 22px;border-radius:20px}.budget-hero h1{font-size:42px}.budget-thesis{align-items:flex-start;border-radius:14px}.field-grid{grid-template-columns:1fr}#budget-form,.budget-result{padding:22px}.budget-notes{grid-template-columns:1fr}.metric-row{gap:10px}.choice{width:100%;border-radius:10px}}
@media(prefers-reduced-motion:reduce){.field-grid input,.field-grid select{transition:none}}
