/* Scope everything to this component. No external fonts or assets. */
.mortgage-tool{--mt-navy:#091644;--mt-ink:#091644;--mt-muted:#091644;--mt-line:#ebeef0;--mt-surface:#ebeef0;--mt-accent:#b7e1c2;color:var(--mt-ink);font-family:inherit;line-height:1.6;max-width:1160px;margin:0 auto;overflow-wrap:break-word}
.mortgage-tool *{box-sizing:border-box}
.mortgage-tool [hidden]{display:none!important}
.mortgage-tool p{margin:0 0 1.1rem}
.mortgage-tool h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;margin:0 0 1.1rem;letter-spacing:-.02em}
.mortgage-tool h3{font-size:1.15rem;line-height:1.4;margin:0 0 .75rem}
.mortgage-tool .mt-intro{max-width:78ch;margin-bottom:2rem}
.mortgage-tool .mt-intro>p:first-child{font-size:1.15rem}
.mortgage-tool .mt-disclaimer,.mortgage-tool .mt-privacy,.mortgage-tool .mt-sources,.mortgage-tool small{font-size:.875rem;color:var(--mt-muted)}
.mortgage-tool .mt-form{margin:0;padding:0;border:0;background:none}
.mortgage-tool .mt-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.mortgage-tool .mt-scenario{min-width:0;margin:0 0 1.25rem;padding:1.5rem;border:1px solid var(--mt-line);border-radius:16px;background:#fff}
.mortgage-tool .mt-scenario>legend{font-size:1.25rem;font-weight:700;padding:0 .5rem;color:var(--mt-navy)}
.mortgage-tool .mt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.mortgage-tool .mt-scenarios .mt-fields{grid-template-columns:1fr}
.mortgage-tool .mt-basis{border:0;margin:0;padding:0}
.mortgage-tool .mt-field{min-width:0;display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}
.mortgage-tool .mt-horizon{max-width:530px;margin-bottom:1.5rem}
.mortgage-tool label{font-weight:650;font-size:.95rem;line-height:1.4}
.mortgage-tool input,.mortgage-tool select{width:100%;min-width:0;min-height:48px;font:inherit;color:var(--mt-ink);background:#fff;border:1px solid #226bb5;border-radius:7px;padding:.7rem .8rem;line-height:1.25;box-shadow:none}
.mortgage-tool small{display:block;line-height:1.5}
.mortgage-tool input[aria-invalid=true]{border:2px solid #bd3d54;background:#ebeef0}
.mortgage-tool :is(input,select,button,a,summary,[tabindex]):focus-visible{outline:3px solid #226bb5;outline-offset:3px}
.mortgage-tool .mt-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0}
.mortgage-tool button{font:inherit;font-weight:700;line-height:1.3;min-height:48px;border-radius:8px;border:1px solid var(--mt-navy);padding:.9rem 1.25rem;cursor:pointer;background:var(--mt-navy);color:#fff;max-width:100%}
.mortgage-tool button:hover{background:#226bb5}
.mortgage-tool button.mt-reset{background:#fff;color:var(--mt-navy)}
.mortgage-tool button.mt-reset:hover{background:var(--mt-surface)}
.mortgage-tool .mt-error{border-left:5px solid #bd3d54;background:#ebeef0;padding:1rem;color:#bd3d54;font-weight:650;margin-bottom:1.5rem}
.mortgage-tool .mt-status{color:var(--mt-muted);font-size:.95rem;margin:1.5rem 0}
.mortgage-tool .mt-results{border-top:4px solid var(--mt-navy);padding:1.75rem 0 0;margin:1.75rem 0 2rem;scroll-margin-top:100px}
.mortgage-tool .mt-table-wrap{overflow-x:auto;border:1px solid var(--mt-line);border-radius:12px;margin:1.5rem 0}
.mortgage-tool table{border-collapse:collapse;width:100%;font-size:.95rem;text-align:left;font-variant-numeric:tabular-nums}
.mortgage-tool caption{text-align:left;padding:1rem;background:var(--mt-surface);font-weight:600}
.mortgage-tool th,.mortgage-tool td{padding:.9rem 1rem;border-bottom:1px solid #ebeef0;vertical-align:top}
.mortgage-tool thead th{background:var(--mt-navy);color:#fff;white-space:nowrap}
.mortgage-tool tbody th{font-weight:500;min-width:190px}
.mortgage-tool td{white-space:nowrap;font-weight:650}
.mortgage-tool tbody tr:nth-child(even){background:var(--mt-surface)}
.mortgage-tool .mt-result-note{padding:1.5rem;background:var(--mt-surface);border-radius:12px;margin:1.5rem 0}
.mortgage-tool .mt-result-note p:last-child{margin:0}
.mortgage-tool .mt-big-number{background:var(--mt-navy);color:#fff;padding:1.5rem;border-radius:12px}
.mortgage-tool .mt-big-number span{display:block;font-size:1rem}
.mortgage-tool .mt-big-number strong{display:block;font-size:clamp(2rem,6vw,3.4rem);line-height:1.2;margin-top:.5rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.mortgage-tool .mt-output-list{margin:1.5rem 0}
.mortgage-tool .mt-output-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--mt-line)}
.mortgage-tool dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.mortgage-tool .mt-notes{border:1px solid var(--mt-line);border-radius:12px;padding:1.25rem;margin:1.5rem 0;background:#fff}
.mortgage-tool summary{cursor:pointer;font-weight:700;min-height:30px}
.mortgage-tool details[open]>summary{margin-bottom:1.25rem}
.mortgage-tool .mt-sources{margin-top:1.75rem}
.mortgage-tool a{color:#226bb5;text-decoration:underline;text-underline-offset:3px}
.mortgage-tool .mt-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.mortgage-tool .mt-scenarios,.mortgage-tool .mt-fields{grid-template-columns:1fr}.mortgage-tool .mt-scenario{padding:1.15rem}.mortgage-tool .mt-output-list>div{grid-template-columns:1fr;gap:.25rem}.mortgage-tool dd{text-align:left}.mortgage-tool .mt-actions{flex-direction:column}.mortgage-tool button{width:100%}.mortgage-tool th,.mortgage-tool td{padding:.75rem}.mortgage-tool tbody th{min-width:160px}.mortgage-tool .mt-result-note{padding:1.1rem}}
@media(prefers-reduced-motion:reduce){.mortgage-tool *{scroll-behavior:auto!important}}
@media print{.mortgage-tool .mt-form,.mortgage-tool .mt-status{display:none}.mortgage-tool .mt-results{border:0}.mortgage-tool .mt-table-wrap{overflow:visible}.mortgage-tool thead th,.mortgage-tool .mt-big-number{background:#fff;color:#091644}.mortgage-tool .mt-notes{break-inside:avoid}}
.mortgage-tool button:disabled{opacity:.55;cursor:not-allowed}
