.af-intro{max-width:850px;margin-bottom:38px}.af-intro h1,.af-intro h2{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.045em;margin:12px 0 20px}.af-intro>p:last-child{font-size:19px;line-height:1.65;color:var(--muted,#566681)}.af-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.af-input-panel,.af-output{border:1px solid var(--line,#d5deed);border-radius:24px;padding:30px;background:#fff}.af-output{background:linear-gradient(135deg,#f8faff,#edf2fd);position:sticky;top:110px}.af-step{display:flex;gap:12px;align-items:center;margin:30px 0 22px}.af-step:first-child{margin-top:0}.af-step>span{font-size:12px;letter-spacing:.03em;color:#3454da;border:1px solid #cbd5f4;background:#eff3ff;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none}.af-step h3{font-size:19px;line-height:1.4;margin:0}.affordability .field-grid{gap:20px}.affordability .field{font-size:15px;gap:10px}.affordability .field input,.affordability .field select{min-height:54px;padding:14px 15px;font-size:16px;width:100%;box-sizing:border-box}.affordability .hint{display:block;font-size:13px;line-height:1.6;color:#566681;font-weight:400}.af-details{margin-top:22px;border-top:1px solid #d6deed;padding-top:18px}.af-details summary{cursor:pointer;font-size:14px;font-weight:650;line-height:1.5;color:#2a466c}.af-details[open] summary{margin-bottom:20px}.af-details p{font-size:14px;line-height:1.7;color:#566681;margin:12px 0}.af-details a{color:#3454da;text-decoration:underline;text-underline-offset:3px}.af-financing{margin-top:22px}.af-rate-basis,.af-custom-rate{margin-top:18px}.af-rate-context{margin-top:14px}.af-calculate{width:100%;margin-top:25px}.af-privacy{font-size:12px;line-height:1.6;color:#64738a;margin:13px 0 0}.af-errors:empty{display:none}.af-errors{color:#8b3528;background:#fff2ed;border-radius:12px;padding:14px 18px;margin-top:20px;font-size:14px}.af-errors ul{padding-left:18px;margin-top:8px}.af-result-placeholder{padding:20px 2px}.af-result-icon{width:52px;height:52px;border:1px solid #cad6f7;border-radius:16px;display:grid;place-items:center;font-size:26px;background:#e7edff;color:#2b4bd6;margin-bottom:25px}.af-result-placeholder h3,.af-result-heading h3{font-size:23px;line-height:1.35;letter-spacing:-.025em;margin:0 0 16px}.af-result-placeholder p{font-size:16px;line-height:1.7;color:#566681}.af-result-placeholder ul{list-style:none;padding:10px 0;margin:18px 0 25px}.af-result-placeholder li{padding:11px 0;border-bottom:1px solid #dce3f1;font-size:14px}.af-result-placeholder li::before{content:'✓';color:#226c51;margin-right:10px}.af-budget{font-size:clamp(38px,4vw,54px);font-weight:650;letter-spacing:-.045em;line-height:1.2;margin:14px 0 5px;color:#192b46;font-variant-numeric:proportional-nums}.af-result-heading .eyebrow{font-size:12px;margin-bottom:12px}.af-brand-comparison{background:#fff;border-left:3px solid #628470;border-radius:10px;padding:16px 18px;margin:25px 0}.af-brand-comparison>strong,.af-brand-comparison>span{display:block;font-size:14px}.af-brand-comparison>span{margin-top:5px;font-size:18px;letter-spacing:-.025em}.af-brand-comparison p{font-size:13px;line-height:1.6;color:#566681;margin:10px 0 0}.af-fit-partial,.af-fit-above{border-left-color:#ad772d}.af-project-label{font-size:13px;color:#566681;margin:23px 0 12px;line-height:1.6}.af-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px;margin:24px 0}.af-result-grid div{border-bottom:1px solid #d5deed;padding-bottom:16px}.af-result-grid dt{font-size:12px;color:#566681;line-height:1.5;min-height:36px}.af-result-grid dd{font-size:27px;letter-spacing:-.035em;font-weight:600;margin:8px 0 0;line-height:1.2}.af-payment-note{font-size:13px;line-height:1.7;margin-bottom:8px;font-weight:600}.af-boundary,.af-shortfall{font-size:13px;line-height:1.65;padding:15px;border-radius:12px;background:#e4eaf5;color:#465872;margin:22px 0}.af-shortfall{background:#fff3e4;color:#785324}.af-result-actions{display:grid;gap:12px}.af-result-actions button{font-size:14px;white-space:normal;line-height:1.5;padding:16px 20px}.af-brand-fees{margin-top:35px}.af-method{margin-top:24px}.af-brand .af-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#modal:has(.affordability){width:min(1150px,calc(100vw - 32px));max-width:1150px;padding:40px}#modal .af-output{position:static}#modal .af-intro{padding-right:25px;margin-bottom:28px}#modal .af-intro h2{font-size:36px}#modal .af-input-panel,#modal .af-output{padding:24px}.af-directory-budget{border:1px solid #ccd7ef;background:#f1f5ff;border-radius:16px;padding:17px 20px;margin-bottom:24px;font-size:14px;line-height:1.6}.af-directory-budget a{color:#3454da;margin-left:10px}.af-fit-badge{display:block;font-size:12px;font-weight:600;line-height:1.5;color:#43634e;background:#eff5ef;padding:7px 10px;border-radius:8px;margin:10px 0}.af-fit-badge.partial{color:#806026;background:#fff5e6}.affordability [hidden]{display:none!important}
@media(max-width:1050px){.af-layout,.af-brand .af-layout{gap:20px}.af-input-panel,.af-output{padding:22px}.affordability .field-grid{grid-template-columns:1fr}.affordability .field.full{grid-column:auto}}
@media(max-width:900px){.af-layout,.af-brand .af-layout{grid-template-columns:1fr}.af-output{position:static;scroll-margin-top:100px}.af-result-placeholder{padding:0}.af-intro{margin-bottom:26px}.af-page{padding-top:35px}.af-intro>p:last-child{font-size:17px}.af-brand .af-intro h2{font-size:30px}#modal:has(.affordability){padding:27px 19px}#modal .af-input-panel,#modal .af-output{padding:21px}.af-result-grid dd{font-size:26px}}
@media(prefers-reduced-motion:reduce){.affordability *{scroll-behavior:auto!important}}
