/* Inherit Astra/site typography and palette; all calculator rules stay scoped. */
#primary.hsotv-mortgage{width:100%;max-width:1200px;margin:40px auto;padding:32px;background:var(--ast-global-color-5,#fff);border-radius:4px;color:var(--ast-global-color-3,#334155)}
.hsotv-mortgage *{box-sizing:border-box}
.hsotv-mortgage .mortgage-heading{margin-bottom:28px}
.hsotv-mortgage h1{font-family:inherit;font-size:clamp(28px,3vw,36px);font-weight:600;line-height:1.25;margin:0 0 12px;color:var(--ast-global-color-2,#1e293b)}
.hsotv-mortgage h2{font-family:inherit;font-size:24px;font-weight:600;margin:0 0 20px}
.hsotv-mortgage .intro{margin:0;line-height:1.6}
.hsotv-mortgage .calculator{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hsotv-mortgage .panel{min-width:0;border:1px solid #dbe2e8;background:#fff;border-radius:6px;padding:24px}
.hsotv-mortgage label{display:block;font-size:15px;font-weight:600;margin:18px 0 8px}
.hsotv-mortgage label span{float:right;font-weight:400;color:#526174}
.hsotv-mortgage input,.hsotv-mortgage textarea{width:100%;font:inherit;font-size:16px;color:inherit;border:1px solid #aebbc8;border-radius:3px;padding:12px;background:#fff;min-width:0}
.hsotv-mortgage input[aria-invalid=true]{border:2px solid #a02e28}
.hsotv-mortgage :is(input,button,a,summary,textarea):focus-visible{outline:3px solid var(--ast-global-color-0,#046bd2);outline-offset:3px}
.hsotv-mortgage .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hsotv-mortgage .hint{font-size:13px;line-height:1.65;color:#526174;margin:9px 0 12px}
.hsotv-mortgage button{font:inherit;font-size:15px;font-weight:600;cursor:pointer;border-radius:3px;padding:12px 18px;min-height:44px;line-height:1.4;white-space:normal}
.hsotv-mortgage button:disabled{opacity:.45;cursor:default}
.hsotv-mortgage .primary{background:var(--ast-global-color-0,#046bd2);color:#fff;border:1px solid var(--ast-global-color-0,#046bd2);width:100%;margin-top:20px}
.hsotv-mortgage .primary:hover{background:var(--ast-global-color-1,#045cb4)}
.hsotv-mortgage .secondary{background:#fff;color:var(--ast-global-color-0,#046bd2);border:1px solid #aebbc8}
.hsotv-mortgage .text-button{background:transparent;border:0;padding:0;text-decoration:underline;color:var(--ast-global-color-0,#046bd2)}
.hsotv-mortgage .results{background:var(--ast-global-color-4,#f0f5fa);display:flex;flex-direction:column}
.hsotv-mortgage .eyebrow{font-size:13px;font-weight:600;letter-spacing:.03em;color:#526174}
.hsotv-mortgage .monthly{font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.2;margin:18px 0 0;overflow-wrap:anywhere;color:var(--ast-global-color-2,#1e293b)}
.hsotv-mortgage dl{margin:20px 0}
.hsotv-mortgage dl>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #dbe2e8}
.hsotv-mortgage dt{font-size:15px;font-weight:400}
.hsotv-mortgage dd{font-weight:600;margin:0;text-align:right;overflow-wrap:anywhere}
.hsotv-mortgage #schedule-button{margin-top:auto}
.hsotv-mortgage #status{font-size:13px;min-height:20px}
.hsotv-mortgage #error{color:#942c27;background:#fff1ed;padding:12px;border-radius:3px;line-height:1.5}
.hsotv-mortgage .schedule{margin-top:28px}
.hsotv-mortgage .schedule-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hsotv-mortgage .actions{display:flex;gap:8px;flex-wrap:wrap}
.hsotv-mortgage .table-wrap{overflow:auto;max-height:600px;border:1px solid #dbe2e8;border-radius:3px}
.hsotv-mortgage table{width:100%;margin:0;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.hsotv-mortgage caption{padding:12px;text-align:left;font-weight:600}
.hsotv-mortgage th,.hsotv-mortgage td{padding:12px;text-align:right;border-bottom:1px solid #dbe2e8}
.hsotv-mortgage th{position:sticky;top:0;background:#e8f0f8;font-weight:600}
.hsotv-mortgage th:nth-child(-n+2),.hsotv-mortgage td:nth-child(-n+2){text-align:left}
.hsotv-mortgage tbody tr:nth-child(even){background:#f6f8fa}
.hsotv-mortgage .method{margin:28px 0 0;font-size:14px;line-height:1.7}
.hsotv-mortgage .method summary{cursor:pointer;font-weight:600;padding:10px 0}
.hsotv-mortgage code{font-size:12px}
.hsotv-mortgage #copy-fallback{margin-top:20px}
.hsotv-mortgage [hidden]{display:none!important}
@media(max-width:767px){#primary.hsotv-mortgage{margin:24px auto;padding:20px 16px}.hsotv-mortgage .calculator{grid-template-columns:1fr}.hsotv-mortgage .panel{padding:20px 16px}.hsotv-mortgage .results #schedule-button{margin-top:16px}}
@media print{#masthead,#colophon,.hsotv-footer-links,#hsotv-consent,.hsotv-mortgage form,.hsotv-mortgage button,.hsotv-mortgage .method,.hsotv-mortgage .mortgage-heading,.hsotv-mortgage #copy-fallback,.hsotv-mortgage .calculator>.panel:first-child{display:none!important}#primary.hsotv-mortgage{max-width:none;padding:0;margin:0}.hsotv-mortgage .calculator{display:block}.hsotv-mortgage .panel{padding:0;border:0}.hsotv-mortgage .results{background:white}.hsotv-mortgage .schedule[hidden]{display:block!important}.hsotv-mortgage .table-wrap{max-height:none;overflow:visible;border:0}.hsotv-mortgage th{position:static}.hsotv-mortgage thead{display:table-header-group}.hsotv-mortgage tr{break-inside:avoid}.hsotv-mortgage .monthly{font-size:25px}.hsotv-mortgage th,.hsotv-mortgage td{padding:5px}}
