.elf-budget{max-width:1040px;padding-top:2rem;padding-bottom:3rem;color:#223246}
.elf-budget h1{margin:1.2rem 0;font-size:clamp(1.8rem,4vw,2.6rem)}
.elf-budget h2{margin:1.5rem 0 1rem;font-size:1.5rem}
.elf-budget p,.elf-budget li{line-height:1.75}
.elf-budget section{padding:1rem 0;border-bottom:1px solid #d7dfe7;scroll-margin-top:2rem}
.elf-budget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.elf-budget-fields label{display:block;font-weight:700;margin-bottom:.4rem}
.elf-budget-fields input{width:100%;min-height:44px;border:1px solid #748495;border-radius:.4rem;padding:.7rem;font:inherit}
.elf-budget input[aria-invalid=true]{border:2px solid #a32929}
.elf-budget-errors{border:2px solid #a32929;padding:1rem;background:#fff5f5}
.elf-budget-summary{padding:1rem;background:#edf3f7;font-size:1.2rem}
.elf-budget a:focus-visible,.elf-budget input:focus-visible,.elf-budget button:focus-visible,.elf-budget [tabindex]:focus-visible{outline:3px solid #aa6015;outline-offset:3px}
@media(max-width:640px){.elf-budget-fields{grid-template-columns:1fr}.elf-budget{padding-left:1rem;padding-right:1rem}}
