.budget-calculator { padding:1.4rem; margin:1.5rem 0; background:#eff0ff; border:1px solid #d1d1f7; border-radius:1rem; }
.budget-fields, .budget-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.budget-fields label { color:#1b224b; font-size:.96rem; font-weight:700; line-height:1.5; }
.budget-fields input { display:block; width:100%; min-width:0; min-height:48px; margin-top:.4rem; padding:.6rem .7rem; background:#fff; color:#1b224b; border:1px solid #8c91b9; border-radius:.45rem; font:inherit; }
.budget-fields input:focus-visible { outline:3px solid #565add; outline-offset:2px; }
.budget-fields input[aria-invalid="true"] { border:2px solid #a32929; }
.budget-results { margin-top:1.5rem; }
.budget-results > div { padding:1rem; border-radius:.65rem; background:#fff; color:#1b224b; }
.budget-results > div:first-child { background:#1b224b; color:#fff; }
.budget-results span { display:block; font-size:.88rem; line-height:1.4; }
.budget-results output { display:block; margin-top:.4rem; font-size:1.3rem; font-weight:800; overflow-wrap:anywhere; }
.loan-article .budget-note { font-size:.9rem; }
.budget-status { padding:1rem; margin:1rem 0; background:#fff; border-left:4px solid #565add; border-radius:.4rem; }
.budget-status[data-state="warning"] { background:#fff4de; border-color:#925811; }
.loan-article .loan-cta { grid-template-columns:1fr; }
.loan-article .loan-cta h3 { color:#fff; margin:0; }
.loan-article .loan-cta p { margin:0; }
.loan-article .loan-cta .loan-btn { justify-self:start; }
.loan-article .loan-cta small { color:#e7eaff; line-height:1.6; }
.loan-article .loan-source-box { padding:1.2rem; margin:2rem 0; border:1px solid #d1d1f7; border-radius:.7rem; background:#f6f6ff; }
.loan-article .loan-source-box h3 { margin-top:0; }
.loan-article .loan-source-box small { display:block; color:#40496e; line-height:1.6; }
.loan-article .loan-table-wrap { width:100%; }
.loan-article .loan-comparison-table caption { caption-side:top; width:100%; padding:.9rem; font-weight:700; color:#1b224b; line-height:1.5; }
@media(max-width:767px) { .budget-fields,.budget-results { grid-template-columns:1fr; } .budget-calculator { padding:1rem; } .loan-article .loan-comparison-table caption { display:block; } }
@media(max-width:575px) { .loan-article .loan-comparison-table td[data-label]::before { content:attr(data-label) ": "; font-weight:800; color:#1b224b; } }
