:root{--bg:#fff;--surface:#f5f7f5;--text:#17201b;--muted:#55625a;--border:#dde3de;--accent:#14532d;--accent-soft:#dcfce7;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:17px/1.6 var(--font);margin:0}a{color:var(--accent)}.container{width:min(1080px,100% - 32px);margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{background:var(--bg);z-index:10;padding:8px 12px;top:16px;left:16px}.site-header{border-bottom:1px solid var(--border)}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.brand{color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}.nav-list{flex-wrap:wrap;gap:16px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}main{padding-block:40px 64px}h1{margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2}.lede{color:var(--muted);max-width:65ch;font-size:1.1rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:32px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px}.card h2{margin:0 0 8px;font-size:1.1rem}.card p{color:var(--muted);margin:0;font-size:.95rem}.badge{background:var(--accent-soft);color:var(--accent);border-radius:99px;margin-top:12px;padding:2px 8px;font-size:.75rem;display:inline-block}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding-block:24px;font-size:.9rem}.disclaimer{max-width:75ch}.page{max-width:880px}.breadcrumbs{color:var(--muted);margin-bottom:12px;font-size:.9rem}.meta{color:var(--muted);font-size:.9rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.prose{margin-top:48px}.prose h2{margin:40px 0 12px;font-size:1.45rem}.prose li{margin-bottom:6px}.formula{font-size:1.15rem;overflow-x:auto}.faq details{border-bottom:1px solid var(--border);padding:12px 0}.faq summary{cursor:pointer;font-weight:600}.sources{font-size:.95rem}.disclaimer-box{background:var(--surface);border-left:3px solid var(--accent);padding:12px 16px;font-size:.95rem}:root{--series-keep:#2a78d6;--series-recast:#eb6834;--series-prepay:#1baf7a;--chart-surface:#fcfcfb}.calc{border:1px solid var(--border);border-radius:var(--radius);background:var(--chart-surface);margin-top:24px;padding:24px}.calc__title{margin:0 0 16px;font-size:1.2rem}.calc__form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label,.field__label{font-size:.95rem;font-weight:600}.optional{color:var(--muted);font-weight:400}.hint{color:var(--muted);margin:0;font-size:.82rem}.pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.input-affix{background:#fff;border:1px solid #b9c3bc;border-radius:8px;align-items:center;display:flex}.input-affix:focus-within{outline:2px solid var(--accent);outline-offset:1px}.input-affix span{color:var(--muted);padding:0 10px}.input-affix input{min-width:0;font:inherit;background:0 0;border:0;flex:1;padding:10px}.input-affix:not(.input-affix--end) input{padding-left:0}.input-affix input:focus{outline:none}.form-error{color:#b42318;margin:16px 0 0;font-weight:600}.calc__results{margin-top:24px}.calc__results[data-stale]{opacity:.4}.hero-result{background:var(--accent-soft);border-radius:var(--radius);padding:16px 20px}.hero-result__label{margin:0;font-size:.95rem}.hero-result__value{margin:4px 0;font-size:clamp(2rem,6vw,2.6rem);font-weight:700;line-height:1.1}.hero-result__sub{color:var(--muted);margin:0}.insight{margin:16px 0 8px}.notes{color:#8a4b00;margin:0 0 8px;padding-left:20px;font-size:.95rem}.table-wrap{margin:16px 0;overflow-x:auto}.compare,.yearly{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.95rem}.compare th,.compare td,.yearly th,.yearly td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:8px 10px}.compare th[scope=row],.yearly th[scope=row]{text-align:left;color:var(--muted);font-weight:500}.compare thead th{vertical-align:bottom;font-size:.85rem}.key{vertical-align:middle;border-top:3px solid;border-radius:2px;width:14px;height:0;margin-right:6px;display:inline-block}.key--keep{border-color:var(--series-keep)}.key--recast{border-color:var(--series-recast)}.key--prepay{border-color:var(--series-prepay)}.key--dashed{border-top-style:dashed}.chart{margin:24px 0 8px}.chart__title{margin-bottom:4px;font-weight:600}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;padding:0;font-size:.88rem;list-style:none;display:flex}.chart__plot{position:relative}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:#e7e9e6;stroke-width:1px}.chart .axis{fill:var(--muted);font-size:11px}.chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .line--keep{stroke:var(--series-keep)}.chart .line--recast{stroke:var(--series-recast)}.chart .line--prepay{stroke:var(--series-prepay);stroke-dasharray:6 4}.chart .direct-label{fill:var(--text);font-size:11px}.chart .crosshair{stroke:#9aa39d;stroke-width:1px}.tooltip{border:1px solid var(--border);pointer-events:none;font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;padding:8px 10px;font-size:.85rem;position:absolute;top:8px;box-shadow:0 2px 8px #00000014}.tooltip__title{color:var(--muted);margin:0 0 4px}.tooltip__row{white-space:nowrap;margin:0}.tooltip__row span:last-child{color:var(--muted)}.schedule summary{cursor:pointer;margin-top:8px;font-weight:600}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:10px 16px;font-size:.95rem}.button--ghost{color:var(--accent);background:0 0}.action-status{color:var(--muted);font-size:.9rem}@media (width<=560px){.calc{padding:16px}}
