/* Mortgage Calculator Center */
.calc-hero .lede{max-width:40em}
.calc-tabs-wrap{position:sticky;top:78px;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.calc-tabs{display:flex;gap:6px;list-style:none;margin:0;padding:8px 0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.calc-tabs::-webkit-scrollbar{display:none}
.calc-tabs li{flex:0 0 auto;scroll-snap-align:start}
.calc-tabs [role=tab]{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13.5px;font-weight:700;color:var(--navy-800);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.calc-tabs [role=tab] .cn{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--powder-100);font-size:11px;font-weight:800}
.calc-tabs [role=tab][aria-selected=true],.calc-tabs [role=tab].active{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.calc-tabs [role=tab][aria-selected=true] .cn,.calc-tabs [role=tab].active .cn{background:var(--powder-400);color:var(--navy-800)}
.calc-tabs [role=tab]:focus-visible{outline:3px solid var(--powder-500);outline-offset:2px}

.calc-panel{padding-top:8px;min-width:0}
.calc-panel > .wrap{min-width:0}
.calc-kicker{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-600);margin:0 0 8px}
.tax-warn{background:#fff8e8;border:1px solid #f1dca8;border-radius:var(--r-md);padding:16px 18px 16px 18px;margin:18px 0 8px;color:#3d2a00;min-width:0}
.tax-warn h3{font-family:var(--serif);font-weight:500;font-size:20px;margin:0 0 8px;color:var(--navy-800)}
.tax-warn p{margin:0 0 8px;font-size:14.5px;line-height:1.55}
.tax-warn p:last-child{margin-bottom:0}
.tax-helper{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:end}
.tax-helper .dc-f{padding:0}
.tax-helper-out{grid-column:1/-1;font-size:13.5px;line-height:1.5;color:#33445c}
.tax-helper-out:empty{display:none}

.rate-note{display:block;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.4}
.rate-note b{color:var(--navy-700)}

.mi-note{font-size:12.5px;color:var(--navy-700);margin-top:6px;line-height:1.45}
.mi-note:empty{display:none}

.dc-unit[data-unit-active=month] .u-post,
.dc-unit[data-unit-active=annual] .u-pre,
.dc-unit[data-unit-active=pct] .u-pre,
.dc-unit[data-unit-active=amt] .u-post{display:none}

.pay-out .illus{font-size:12.5px;color:var(--powder-300);margin:8px 0 0;line-height:1.45}
.pay-out .illus strong{color:#fff}
.pay-legend{list-style:none;margin:14px 0 0;padding:0}
.pay-legend li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:5px 0;border-top:1px solid rgba(255,255,255,.1);font-size:14px}
.pay-legend li:first-child{border-top:0}
.pay-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;flex:0 0 auto}
.pay-legend .k-pi{background:#132B52;box-shadow:0 0 0 1px #fff}
.pay-legend .k-tax{background:#3d6ea8}
.pay-legend .k-ins{background:#AFD5EF}
.pay-legend .k-mi{background:#c4a36a}
.pay-legend .k-hoa{background:#8a9bb0}
.pay-visual{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;margin:8px 0 4px}
.pay-visual svg{width:88px;height:88px;display:block}
.pay-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12)}
.pay-bar i{display:block;height:100%;min-width:0}

.calc-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0 0}
.calc-cta .btn{margin:0}
.calc-internal{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 0}
.calc-internal a{font-size:14px}

.rvb-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.rvb-card{background:rgba(255,255,255,.08);border-radius:12px;padding:12px 14px}
.rvb-card h3{margin:0 0 8px;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--powder-300)}
.rvb-card p{margin:0;font-size:13.5px;color:rgba(255,255,255,.85)}
.rvb-edge{margin:12px 0 0;font-size:14px;line-height:1.5;color:#fff}
.rvb-chart-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 8px 8px;margin-top:18px;min-width:0}
.rvb-chart-wrap svg{width:100%;height:auto;display:block;max-width:100%}
.rvb-legend{display:flex;flex-wrap:wrap;gap:12px 20px;padding:4px 12px 8px;font-size:13px;color:#33445c}
.rvb-legend i{display:inline-block;width:18px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.rvb-legend .r{background:#3d6ea8}
.rvb-legend .b{background:#132B52}

.tbl-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.aff-table,.am-month,.bd-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.aff-table th,.am-month th,.bd-table th{text-align:left;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.aff-table td,.am-month td,.bd-table td{padding:8px 10px;border-bottom:1px solid var(--line);color:var(--navy-800);white-space:nowrap}
.aff-table tr.is-current td{background:var(--powder-100);font-weight:800}
.bd-table{color:inherit}
.dc-out .bd-table th{color:var(--powder-300);border-color:rgba(255,255,255,.15)}
.dc-out .bd-table td{color:#fff;border-color:rgba(255,255,255,.12)}

.am-year{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;margin:0 0 8px}
.am-year summary{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:10px;align-items:center;cursor:pointer;padding:12px 14px;font-size:13.5px;font-weight:700;color:var(--navy-800);list-style:none}
.am-year summary::-webkit-details-marker{display:none}
.am-year .tbl-scroll{padding:0 8px 10px}
.am-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}

.modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.modes label{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;cursor:pointer;background:#fff}
.modes input{accent-color:var(--navy-800)}
.modes label:has(input:checked){background:var(--navy-800);color:#fff;border-color:var(--navy-800)}

.cap-limits{margin-top:16px}
.cap-limits h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:0 0 8px}
.cap-limits ul{margin:0;padding-left:18px}
.cap-limits li{margin:0 0 6px;font-size:14.5px;line-height:1.5;color:#33445c}

.rf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rf-card{background:rgba(255,255,255,.08);border-radius:12px;padding:14px}
.rf-card h3{margin:0 0 10px;font-family:var(--serif);font-weight:500;font-size:20px}
.check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:8px 0 0}

.calc-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px}

/* print amortization */
@media print{
  .site-header,.calc-tabs-wrap,.calc-cta,.site-footer,.hero-actions,.skip,nav.stage-nav{display:none!important}
  .calc-panel{display:block!important}
  html.print-amort .calc-panel:not(#amortization),html.print-amort .tax-warn,html.print-amort #faq,html.print-amort #sources,html.print-amort #consult{display:none!important}
  .am-year{break-inside:avoid}
  .am-year{display:block}
}

@media (max-width:960px){
  .tax-helper,.rvb-compare,.rf-grid{grid-template-columns:1fr}
  .pay-visual{grid-template-columns:72px 1fr}
  .am-year summary{grid-template-columns:1fr 1fr;gap:6px 10px}
}
@media (max-width:600px){
  .calc-tabs-wrap{top:70px}
  .calc-tabs [role=tab]{font-size:13px;padding:8px 12px}
  .dc-out h3{padding-right:0}
}


/* keep long labels and tab rows from widening the page */
#calc-center,.calc-page,.calc-panel,.calc-panel .wrap,.dc-wrap,.dc-form,.dc-out{min-width:0;max-width:100%}
.calc-hero .wrap > *{min-width:0}
.calc-hero h1,.calc-hero .lede,.calc-hero .crumbs,.calc-hero .byline{max-width:100%;overflow-wrap:anywhere}
.calc-hero .hero-actions,.calc-cta,.cta .actions{min-width:0}
.calc-hero .hero-actions .btn,.calc-cta .btn,.cta .actions .btn{white-space:normal;max-width:100%}
.calc-tabs-wrap{max-width:100%;overflow-x:auto}

.calc-page,.calc-panel .wrap{overflow-x:clip}
.calc-links,.calc-links a,.link-arrow{min-width:0;overflow-wrap:anywhere;white-space:normal}
.dc-meta,.dc-totline,.illus,.est-note,.fine,.tax-warn,.cap-limits li,.cta .actions{overflow-wrap:anywhere}
