.budget-page .page-main { padding-top:2rem; }
.budget-page .page-heading h1 { font-size:clamp(2.6rem,4.4vw,4.2rem); margin-block:1rem; }
.tool-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.tool-card { padding:2.5rem; border:1px solid #34382e; border-top:2px solid var(--orange); background:rgba(15,18,14,.8); text-decoration:none; transition:background-color .2s; }
.tool-card:hover { background:#1c2119; }
.tool-card h2 { font:800 clamp(2rem,4vw,3.5rem)/1 var(--display); text-transform:uppercase; margin:1.6rem 0; }
.tool-card p { color:#b8bbb6; line-height:1.7; }
.tools-guide-feature { width:min(1120px,calc(100% - 8vw)); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:end; margin:3rem auto 4rem; padding:2rem; border:1px solid #40443a; border-left:3px solid var(--orange); background:#10130f; }
.tools-guide-feature h2 { margin:.7rem 0 .8rem; color:#f1f2ed; font:900 clamp(1.7rem,3vw,2.7rem)/1 var(--display); }
.tools-guide-feature p:not(.eyebrow) { max-width:720px; margin:0; color:#aeb4a8; line-height:1.65; }
.tools-guide-feature .text-link { white-space:nowrap; }
.tool-intro { color:#b8bbb6; max-width:44rem; line-height:1.7; }
.budget-instrument { display:grid; grid-template-columns:1.1fr 1fr; border:1px solid #414437; border-top:3px solid var(--orange); background:#0e110d; }
.budget-inputs,.budget-result { min-width:0; padding:clamp(1.3rem,3.4vw,3rem); }
.budget-inputs { border-right:1px solid #414437; }
.instrument-label { display:block; color:#b8bfae; font:700 .7rem/1.5 var(--mono); letter-spacing:.12em; }
.money-input,.rate-input { display:flex; align-items:center; gap:.8rem; margin:1rem 0; background:#181d14; border:1px solid #59624b; padding:.7rem 1rem; }
.money-input { font:500 2rem/1.2 var(--mono); }
.budget-instrument input[type=number] { width:100%; min-width:0; color:var(--white); background:transparent; border:0; font:inherit; outline-offset:5px; }
.rate-input { max-width:14rem; font:500 1.2rem/1.5 var(--mono); }
.rate-input input::placeholder { font: .85rem var(--body); }
#project-slider { width:100%; margin:1rem 0 .2rem; height:32px; accent-color:var(--orange); cursor:ew-resize; }
.slider-labels { display:flex; justify-content:space-between; color:#b8bfae; font:.65rem var(--mono); }
.input-hint { color:#aeb5a3; font-size:.82rem; line-height:1.65; margin:.8rem 0 1.8rem; }
.budget-result { display:flex; flex-direction:column; justify-content:center; background:linear-gradient(135deg,rgba(254,149,39,.09),transparent); }
#survey-budget { color:var(--orange); font:500 clamp(1.6rem,2.5vw,2.5rem)/1.35 var(--mono); overflow-wrap:anywhere; margin:1rem 0; font-variant-numeric:tabular-nums; }
.custom-quote #survey-budget { font-family:var(--display); font-size:2.4rem; animation:quote-arrival .6s ease-out; }
@keyframes quote-arrival { from { opacity:.35; transform:translateY(5px); } to { opacity:1; transform:none; } }
#budget-equation { color:#c3c8bd; font:.85rem/1.6 var(--mono); }
.budget-badge { color:#b8bfae; font:.6rem/1.5 var(--mono); letter-spacing:.1em; margin:.5rem 0 2rem; }
.budget-result .concept-cta { font-size:.7rem; min-height:3.25rem; }
.budget-error { color:#ffb773; font-size:.85rem; }
.budget-reset { border:0; border-bottom:1px solid #69745e; color:#c3c8bd; background:transparent; padding:.7rem 0; cursor:pointer; font:.75rem var(--mono); }
.budget-context { display:grid; grid-template-columns:1fr 1.3fr; gap:3rem; margin-top:3rem; }
.budget-context h2 { font:800 2rem/1.1 var(--display); text-transform:uppercase; }
.budget-context p { color:#b8bbb6; line-height:1.8; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.budget-instrument :focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
@media(max-width:960px) { .tool-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .tool-cards,.budget-instrument,.budget-context { grid-template-columns:1fr; } .tool-card { padding:1.6rem; } .budget-inputs { border-right:0; border-bottom:1px solid #414437; } .budget-context { gap:0; } .money-input { font-size:1.5rem; } }
@media(max-width:700px) { .tools-guide-feature { width:calc(100% - 2rem); grid-template-columns:minmax(0,1fr); align-items:start; padding:1.3rem; } }
