.card.payment-featured{background:#f4ecd1;border-color:#d9c78f}.card.payment-featured:hover{background:#efe3bf;border-color:#c8b26a}.payment-featured .mini-tag{background:#e4d5a3;color:#1b3556}.payment-featured .route-link{color:#1b3556}
body:has([data-calculator="payment"]) .calculator-intro{padding-top:40px;padding-bottom:8px}body:has([data-calculator="payment"]) .calculator-intro h1{font-size:clamp(2.25rem,4vw,3.6rem);max-width:850px}body:has([data-calculator="payment"]) .calculator-intro .lead{max-width:800px}body:has([data-calculator="payment"]) .compact{padding-top:28px}
[data-calculator="payment"] .calculator-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:28px;align-items:start}[data-calculator="payment"] .card{padding:30px;min-width:0}[data-calculator="payment"] .field{min-width:0;gap:9px;font-size:1rem}[data-calculator="payment"] input,[data-calculator="payment"] select{max-width:100%;font-size:1rem}[data-calculator="payment"] .field small,.field-help{font-size:.875rem;line-height:1.6;color:#526174}[data-calculator="payment"] .field small{font-weight:400}[data-calculator="payment"] .form-grid{align-items:start;gap:22px}[data-calculator="payment"] select{width:100%;padding:15px 12px;border:1px solid #cbd3dc;border-radius:13px;background:#fff;color:#20334a;font:inherit;min-height:52px}[data-calculator="payment"] input[aria-invalid="true"]{border:2px solid #a12f28}[data-calculator="payment"] select:disabled{background:#edf0f2;color:#5a6673;cursor:not-allowed}
.payment-fields{border:0;padding:0;margin:0 0 30px;min-width:0}.payment-fields>legend{font-size:1.18rem;font-weight:800;color:#1b3556;margin:0 0 20px;padding:0;letter-spacing:-.025em}.payment-wide{grid-column:1/-1}.unit-choice{margin:0;padding:0;border:0;min-width:0}.segmented-control{display:flex;gap:4px;padding:4px;border:1px solid #d6dde3;background:#f0f3f5;border-radius:999px;min-width:0}.segmented-control label{flex:1;position:relative;min-width:0;cursor:pointer}.segmented-control input{position:absolute!important;opacity:0;width:1px!important;height:1px!important;margin:0;padding:0!important}.segmented-control span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:40px;padding:9px 12px;border-radius:999px;font-size:.875rem;font-weight:700;line-height:1.35;color:#475970}.segmented-control input:checked+span{background:#1b3556;color:#fff;box-shadow:0 2px 5px #10213712}.segmented-control input:focus-visible+span{outline:3px solid #887123;outline-offset:3px}.field-help{margin:15px 0 0}.fee-summary{background:#f6f2e6;border:1px solid #e6ddc1;border-radius:18px;padding:18px;margin-top:16px;font-size:.9375rem;line-height:1.6}.fee-summary>div{display:flex;justify-content:space-between;align-items:start;gap:16px}.fee-summary>div+div{border-top:1px solid #ded6be;margin-top:12px;padding-top:12px}.fee-summary strong{white-space:nowrap;color:#1b3556}.fee-summary p{font-size:.875rem;margin:12px 0 0;line-height:1.6}
.mi-control{border:1px solid #dce1e5;border-radius:20px;padding:18px;margin:26px 0 0;min-width:0}.mi-control>legend{font-size:1rem;font-weight:750;color:#1b3556;padding:0 7px}.mi-control.mi-disabled{background:#eff1f3;border-color:#d9dfe5}.mi-disabled .segmented-control{opacity:.65}.mi-disabled input[type="number"]{background:#e2e6ea!important;color:#677485!important;border-color:#cdd4da!important;cursor:not-allowed}.mi-disabled .segmented-control label{cursor:not-allowed}.automatic-mi{margin-top:26px;background:#f0f3f5;border:1px solid #dce1e5;border-radius:20px;padding:20px;display:grid;gap:9px}.automatic-mi>span{font-size:.9375rem;font-weight:650}.automatic-mi output{font-size:1.55rem;font-weight:800;color:#1b3556;line-height:1.4;overflow-wrap:anywhere}.automatic-mi p{font-size:.875rem;line-height:1.6;margin:0}
[data-calculator="payment"] .result-panel{position:sticky;top:24px;min-width:0}.payment-program-tag{color:#e5d6a7!important;font-size:.9375rem;line-height:1.5;margin:0 0 18px}.payment-composition{display:flex;height:9px;overflow:hidden;border-radius:999px;margin:0 0 24px;background:#435a77}.payment-composition .part-pi{background:#c8b26a}.payment-composition .part-tax{background:#aec9df}.payment-composition .part-insurance{background:#e4e9ef}.payment-composition .part-hoa{background:#ae9dcb}.payment-composition .part-mi{background:#8fc5bc}.loan-summary{margin-top:30px;padding-top:25px;border-top:1px solid #6b7d92}.loan-summary h2{font-size:1.2rem;letter-spacing:-.025em;margin-bottom:12px;color:#fff}.loan-summary .result-row:last-child{font-size:1rem;font-weight:750;border-bottom:0}.payment-empty-heading{font-size:2rem}.payment-sources{margin:32px 0 0;border:1px solid #dce1e5;border-radius:20px;background:#fff;padding:22px;font-size:.875rem;line-height:1.8}.payment-sources summary{font-size:1rem;font-weight:700;cursor:pointer;color:#1b3556}.payment-sources p{font-size:.875rem;line-height:1.8;margin:16px 0 0}.payment-sources a{text-decoration:underline;text-underline-offset:3px;color:#1b3556}.payment-sources .source-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:14px}
.expense-periods span{padding:9px 6px;font-size:.8125rem}
.mortgage-payment-heading{font-size:1.25rem;letter-spacing:-.025em;margin:0 0 12px}.result-panel .mortgage-includes{font-size:.875rem;line-height:1.65;margin:-10px 0 22px}.housing-payment{margin:26px 0 0;padding:24px;background:#f4ecd1;border:1px solid #e4d5a3;border-radius:22px;color:#1b3556}.result-panel .housing-payment h2{color:#1b3556;font-size:1.15rem;letter-spacing:-.025em;margin:0 0 20px;line-height:1.4}.housing-equation{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.housing-component{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:5px 14px;font-size:.875rem;line-height:1.5}.housing-component strong{font-size:1rem}.housing-component small{font-size:.75rem;font-weight:400;white-space:nowrap}.housing-plus{font-size:1.4rem;line-height:1;color:#7a6526}.result-panel .housing-payment .hoa-payment-note,.result-panel .housing-payment .housing-mi-note{font-size:.8125rem;line-height:1.6;margin:12px 0 0;color:#43516a}.housing-total{border-top:1px solid #d7c68f;margin-top:20px;padding-top:18px;font-size:2.4rem;font-weight:650;letter-spacing:-.045em;line-height:1.25;overflow-wrap:anywhere}.housing-total>span{font-size:.875rem;font-weight:400;letter-spacing:0;white-space:nowrap}
@media(max-width:640px){.housing-payment{padding:20px}.housing-total{font-size:2.1rem}}
@media print{.housing-payment{background:#fff;border-color:#d9c78f;break-inside:avoid;padding:15px}.housing-total{font-size:28px}.housing-component,.housing-component strong{font-size:11px}.housing-component small{font-size:9px}}
/* Paired labels and controls share rows even when one label wraps. */
[data-calculator="payment"] .form-grid>.field{display:grid;grid-template-rows:minmax(3rem,auto) 3.5rem auto;align-content:start;margin-bottom:12px}[data-calculator="payment"] .form-grid>.field>:first-child{align-self:end}[data-calculator="payment"] .form-grid>.field>input,[data-calculator="payment"] .form-grid>.field>select,[data-calculator="payment"] #mi{height:3.5rem;min-height:3.5rem;box-sizing:border-box;padding:14px 16px;line-height:1.5}.unit-extras{display:grid;align-content:start;gap:10px}.unit-extras small{display:block}.va-under-program{margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid #e4e8eb}.va-under-program>legend{font-size:1rem;margin-bottom:14px}
@supports(grid-template-rows:subgrid){[data-calculator="payment"] .form-grid{row-gap:10px}[data-calculator="payment"] .form-grid>.field{grid-row:span 3;grid-template-rows:subgrid;row-gap:10px}}
@media(max-width:1000px){[data-calculator="payment"] .calculator-layout{grid-template-columns:1fr}[data-calculator="payment"] .result-panel{position:static}}
@media(max-width:640px){[data-calculator="payment"] .card{padding:22px}[data-calculator="payment"] .form-grid{grid-template-columns:1fr}.payment-fields{margin-bottom:26px}.segmented-control span{padding:9px 8px;font-size:.875rem}.va-choice{border-radius:20px;flex-direction:column}.va-choice span{border-radius:16px}.fee-summary>div{flex-wrap:wrap;gap:5px 16px}.payment-sources{padding:20px}[data-calculator="payment"] .result-row{flex-wrap:wrap;gap:7px 18px}[data-calculator="payment"] .result-row strong{margin-left:auto}.mi-control{padding:15px}}
@media print{body:has([data-calculator="payment"]) .action-bar{display:none}[data-calculator="payment"] .calculator-layout{grid-template-columns:1fr 1fr;gap:20px}[data-calculator="payment"] .result-panel{position:static;background:white!important;color:#1b3556!important;border:1px solid #dce1e5;padding:20px!important}[data-calculator="payment"] .result-panel p,[data-calculator="payment"] .result-panel h2{color:#1b3556!important}[data-calculator="payment"] .result-row{border-color:#dce1e5;font-size:11px}[data-calculator="payment"] .result-total{font-size:28px}[data-calculator="payment"] .card{padding:15px}[data-calculator="payment"] input,[data-calculator="payment"] select,[data-calculator="payment"] .field{font-size:11px}[data-calculator="payment"] .field small,.payment-sources{font-size:10px}.segmented-control input:checked+span{outline:1px solid #1b3556}.payment-composition{print-color-adjust:exact}.result-notes{font-size:10px!important}.payment-fields{break-inside:avoid}}
