.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{top:16px}
.page-head{padding:48px 0 28px;max-width:850px}.breadcrumb{display:flex;gap:9px;align-items:center;color:var(--ink-soft);font:600 .76rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:28px}.breadcrumb a{color:var(--accent)}
.eyebrow{font:600 .75rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.page-head h1{font:600 clamp(2.55rem,7vw,4.7rem)/1 var(--font-display);letter-spacing:-.04em;max-width:14ch}.page-head .lede{max-width:72ch;color:var(--ink-soft);font-size:1.06rem;margin-top:18px}.page-head .lede+.lede{margin-top:10px}
.calculator-shell{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);border:2px solid var(--ink);border-radius:20px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);margin-bottom:44px}.calculator-inputs{padding:32px}.calculator-inputs h2{font:600 1.75rem/1.15 var(--font-display);margin-bottom:22px}.calc-body{display:grid;gap:17px}.field-row,.optional-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field label{font-weight:600;font-size:.87rem}.field label span{font-weight:400;color:var(--ink-soft)}.field input,.field select{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:9px;background:#fff;padding:10px 12px;color:var(--ink);font:500 1rem var(--font-body)}.field input:focus,.field select:focus{outline:3px solid rgba(232,87,28,.2);border-color:var(--accent)}
.optional-costs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.optional-costs summary{cursor:pointer;font-weight:600;color:var(--ink-soft)}.optional-grid{grid-template-columns:repeat(3,1fr);margin-top:15px}.btn-calc{border:0;border-radius:9px;background:var(--accent);color:#fff;padding:14px 20px;font:600 .9rem var(--font-mono);cursor:pointer;box-shadow:0 7px 18px -9px var(--accent-dark)}.btn-calc:hover{background:var(--accent-dark)}.btn-calc:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.calc-errors{border:1px solid #b63728;border-radius:8px;padding:12px 14px;background:#fff1ed;color:#7b251a;font-size:.88rem}.calc-errors ul{margin:5px 0 0 20px}
.mortgage-results{background:var(--ink);color:#fff;padding:35px;display:flex;flex-direction:column;justify-content:center}.result-kicker{color:#bfc7d3;font:500 .77rem var(--font-mono);text-transform:uppercase;letter-spacing:.13em}.result-total{font:600 clamp(2.7rem,6vw,4.3rem)/1 var(--font-display);color:#fff;margin:8px 0 26px}.payment-breakdown{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #3d4757;border-left:1px solid #3d4757}.payment-breakdown div{display:grid;padding:11px 12px;border-right:1px solid #3d4757;border-bottom:1px solid #3d4757}.payment-breakdown span,.result-stats .s-label{font-size:.72rem;color:#bfc7d3}.payment-breakdown strong{font-size:1rem}.mortgage-results .result-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.mortgage-results .stat{display:grid}.mortgage-results .s-value{color:#fff;font-size:.95rem}.mortgage-results .result-note{color:#bfc7d3;font-size:.78rem;margin-top:22px}
.article-layout{display:grid;grid-template-columns:240px minmax(0,700px);gap:64px;align-items:start;justify-content:center}.toc{position:sticky;top:90px;border-top:3px solid var(--ink);padding-top:16px}.toc ol{list-style:none;counter-reset:toc}.toc li{counter-increment:toc;border-bottom:1px solid var(--line)}.toc a{display:grid;grid-template-columns:25px 1fr;gap:7px;padding:9px 0;color:var(--ink-soft);text-decoration:none;font-size:.78rem;line-height:1.3}.toc a:before{content:counter(toc,decimal-leading-zero);font:500 .67rem var(--font-mono);color:var(--accent)}.toc a:hover{color:var(--ink)}
.calculator-article{min-width:0}.content-section{padding:34px 0;border-top:1px solid var(--line);scroll-margin-top:90px}.content-section:first-child{border-top:3px solid var(--ink)}.content-section h2,.faq-section h2,.sources h2,.related h2{font:600 clamp(1.75rem,4vw,2.25rem)/1.12 var(--font-display);letter-spacing:-.02em;margin-bottom:17px}.content-section p{color:var(--ink-soft);margin:12px 0}.content-section ul{margin:18px 0 4px 20px;color:var(--ink-soft)}.content-section li{margin-bottom:9px;padding-left:5px}.formula-section{background:var(--paper-deep);margin:18px -26px;padding:30px 26px;border:1px solid var(--line);border-radius:14px}.formula{background:var(--ink);color:#fff;border-radius:10px;padding:20px;text-align:center;font:600 clamp(1rem,3.3vw,1.35rem) var(--font-mono);overflow:auto}.variable-list{display:grid;gap:0;margin:18px 0}.variable-list div{display:grid;grid-template-columns:42px 1fr;padding:9px 0;border-bottom:1px solid var(--line)}.variable-list dt{font:600 1rem var(--font-mono);color:var(--accent)}.variable-list dd{color:var(--ink-soft)}.example-section{border:2px solid var(--ink);border-radius:14px;padding:28px;margin:22px 0;background:var(--card)}.example-equation{display:grid;grid-template-columns:1fr auto;margin-top:20px;border-top:1px solid var(--line)}.example-equation span,.example-equation strong{padding:10px 0;border-bottom:1px solid var(--line)}.example-equation span{color:var(--ink-soft)}.example-equation strong{font-family:var(--font-mono)}.fine-print{font-size:.8rem}
.faq-section{padding:45px 0;scroll-margin-top:90px}.faq-section details{border-top:1px solid var(--line)}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{cursor:pointer;padding:17px 36px 17px 0;font-weight:600;position:relative}.faq-section summary:after{content:"+";position:absolute;right:4px;color:var(--accent);font:600 1.2rem var(--font-mono)}.faq-section details[open] summary:after{content:"−"}.faq-section details p{color:var(--ink-soft);padding:0 35px 18px 0}.sources{background:var(--paper-deep);border-left:4px solid var(--accent);padding:24px;margin:20px 0 50px}.sources h2{font-size:1.3rem}.sources p,.sources li{font-size:.84rem;color:var(--ink-soft)}.sources ul{margin:12px 0 12px 18px}.sources a{color:var(--ink);text-underline-offset:3px}.related{padding-top:28px;border-top:3px solid var(--ink)}.related .calc-grid{padding-top:20px}
@media(max-width:860px){.calculator-shell{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr;gap:28px}.toc{position:static;columns:2;border-bottom:1px solid var(--line);padding-bottom:15px}.toc .eyebrow{column-span:all}.optional-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.page-head{padding-top:32px}.page-head h1{font-size:2.65rem}.calculator-inputs,.mortgage-results{padding:24px 19px}.field-row,.optional-grid{grid-template-columns:1fr}.result-total{font-size:2.65rem}.mortgage-results .result-stats{grid-template-columns:1fr 1fr}.toc{columns:1}.formula-section{margin:12px 0;padding:23px 17px}.example-section{padding:22px 17px}.article-layout{display:block}.content-section{scroll-margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
