:root{--ink: #151f3d;--ink-mid: #24355f;--ink-soft: #35618e;--cream: #fbf8ef;--paper: #f3efe4;--surface: #fffdf8;--line: rgba(21, 31, 61, .14);--line-strong: rgba(21, 31, 61, .24);--muted: rgba(21, 31, 61, .68);--muted-light: rgba(251, 248, 239, .72);--accent: #748d72;--accent-deep: #496d63;--positive: #2f6f5e;--negative: #9a3f3f;--shadow: 0 24px 70px rgba(21, 31, 61, .08);color:var(--ink);background:var(--cream);font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f3efe4c2,#fbf8ef00 320px),var(--cream)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}h1,h2,h3{margin:0;font-family:Libre Baskerville,Georgia,serif;font-weight:400;letter-spacing:0}p{margin:0}svg{width:1rem;height:1rem;flex:0 0 auto}.app-shell{min-height:100vh}.site-header{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:0 2rem}.brand{font-family:Libre Baskerville,Georgia,serif;font-size:1.35rem;font-weight:700;text-decoration:none}.byline-link{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-decoration:none;text-transform:uppercase}.calculator-shell{width:min(100%,1360px);margin:0 auto;padding:1.25rem 1.5rem 4rem}.intro-band{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem;align-items:end;padding:3.75rem 0 2.25rem}.eyebrow{color:var(--ink-soft);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.intro-band h1{max-width:820px;margin-top:1rem;font-size:clamp(2.55rem,7vw,5rem);line-height:1.18}.italic{color:var(--ink-mid);font-style:italic}.intro-copy{max-width:720px;margin-top:1.5rem;color:var(--muted);font-size:1.04rem;line-height:1.7}.intro-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.intro-metrics .metric{border-color:#fbf8ef3d;background:linear-gradient(180deg,#35618efa,#151f3dfa);box-shadow:0 18px 42px #151f3d29}.intro-metrics .metric span,.intro-metrics .metric small{color:#fbf8efc2}.intro-metrics .metric strong{color:var(--cream)}.metric{display:grid;grid-template-rows:minmax(2.05rem,auto) auto auto;align-content:start;min-height:112px;border:1px solid var(--line);background:#fffdf8b8;padding:1rem}.metric span,.metric small{display:block}.metric span{color:var(--ink-soft);font-size:.68rem;font-weight:700;letter-spacing:.18em;line-height:1.35;min-height:2.05rem;text-transform:uppercase}.metric strong{display:block;margin-top:.35rem;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:400;line-height:1.1;overflow-wrap:anywhere}.metric small{margin-top:.5rem;color:var(--muted);font-size:.78rem}.dashboard-frame{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);margin-top:1.35rem;min-width:0}.panel-header{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;border-bottom:1px solid var(--line);padding:clamp(1.25rem,3vw,2.4rem)}.panel-header>div{max-width:760px}.panel-header h2{margin-top:.7rem;font-size:clamp(2rem,4vw,3.15rem);line-height:1.12}.panel-header p:not(.eyebrow){margin-top:.85rem;color:var(--muted);line-height:1.65}.model-grid{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.45fr);gap:1.5rem;align-items:start;padding:clamp(1rem,2.2vw,1.75rem)}.control-panel,.control-column,.results-column{min-width:0}.control-column{display:grid;gap:1rem}.control-grid{display:grid;align-items:stretch;grid-template-columns:1fr;gap:.8rem}.range-field{display:grid;grid-template-rows:1.25rem 1.1rem .85rem 3rem minmax(1.6rem,auto);gap:.34rem;min-width:0;border:1px solid var(--line);background:#fffdf8b8;padding:.85rem .95rem}.range-label-row,.range-limits{display:flex;justify-content:space-between;gap:.8rem;align-items:center;min-width:0}.range-label-row>span{color:#151f3dd6;font-size:.82rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.range-label-row strong{color:var(--ink);font-size:.95rem;text-align:right;white-space:nowrap}.range-field input[type=range]{align-self:center;width:100%;height:1.1rem;margin:0;min-width:0;accent-color:var(--ink-soft)}.range-limits{color:var(--muted);font-size:.72rem}.range-input{height:3rem;min-height:3rem}.range-field small,.field small{color:var(--muted);font-size:.8rem;line-height:1.4}.range-field>small{display:block;min-height:1.6rem;padding-top:.08rem}.range-notice{display:block;border:1px solid rgba(154,63,63,.24);background:#9a3f3f14;color:var(--negative);font-size:.82rem;line-height:1.45;padding:.7rem .8rem}.payment-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;align-items:start;margin-top:1rem}.payment-settings .field{gap:.42rem}.payment-settings .input-wrap,.payment-settings .select-wrap{min-height:3rem}.payment-settings .select-wrap select{min-height:2.95rem}.payment-settings .field small{font-size:.78rem;line-height:1.3}.payment-entry{display:grid;gap:.42rem;min-width:0}.payment-entry .button{width:100%;min-height:2.75rem;padding:.65rem .75rem;letter-spacing:.12em;white-space:nowrap}.prepayment-panel{display:grid;grid-column:1 / -1;gap:.65rem;border:1px solid var(--line);background:var(--paper);padding:.7rem .8rem}.prepayment-panel .toggle-field{border:0;background:transparent;padding:0}.prepayment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;align-items:start;border-top:1px solid var(--line);padding-top:.65rem}.prepayment-fields .field{grid-template-rows:auto 3rem auto}.payment-support{display:grid;grid-column:1 / -1;grid-template-columns:1fr;gap:0;align-items:start}.payment-support .toggle-field,.prepayment-panel .toggle-field{gap:.65rem;min-height:auto;padding:.7rem .8rem}.prepayment-panel .toggle-field{padding:0}.payment-support .toggle-field small,.prepayment-panel .toggle-field small{margin-top:.1rem;line-height:1.25}.payment-support .toggle-track,.prepayment-panel .toggle-track{width:2.65rem;height:1.45rem}.payment-support .toggle-track span,.prepayment-panel .toggle-track span{width:.95rem;height:.95rem}.payment-support .toggle-field input:checked+.toggle-track span,.prepayment-panel .toggle-field input:checked+.toggle-track span{transform:translate(1.15rem)}.results-column{display:grid;gap:1.1rem}.result-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:0}.result-tab{min-height:3.75rem;border:1px solid var(--line);background:#fbf8efbf;color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.result-tab:hover{border-color:var(--line-strong);color:var(--ink)}.result-tab.is-active{border-color:var(--ink);background:var(--ink);color:var(--cream)}.result-panel{padding:0}.chart-view,.summary-view{display:grid;gap:1.15rem}.chart-copy{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch}.chart-copy>div:first-child{border:1px solid var(--line);background:var(--paper);padding:clamp(1.15rem,2vw,1.45rem)}.chart-copy h3{margin-top:.4rem;font-size:clamp(1.65rem,2.8vw,2.35rem);line-height:1.12}.chart-copy p:not(.eyebrow){max-width:720px;margin-top:.8rem;color:var(--muted);line-height:1.6}.chart-stat-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.results-column .chart-stat-stack{display:none}.projection-chart{position:relative;border:1px solid var(--line);background:var(--surface);contain:layout paint;padding:clamp(1.1rem,2.1vw,1.55rem)}.projection-chart svg{display:block;width:100%;height:auto;min-height:0;cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;user-select:none}.projection-chart text{fill:var(--muted);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:.8rem}.chart-guide{stroke:#151f3d1f;stroke-width:1}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.smith-line{stroke:var(--ink)}.conventional-line{stroke:var(--accent-deep);stroke-dasharray:8 8}.smith-dot{fill:var(--ink)}.conventional-dot{fill:var(--accent-deep)}.chart-active-marker line{stroke:#151f3d47;stroke-width:1.5}.smith-payoff-marker line{stroke:var(--ink-soft);stroke-dasharray:5 5;stroke-width:1.5}.smith-payoff-marker text{fill:var(--ink-soft);font-size:.8rem;font-weight:700}.chart-tooltip{position:absolute;top:clamp(1rem,3vw,1.45rem);z-index:2;width:min(245px,calc(100% - 2rem));border:1px solid var(--line-strong);background:#fffdf8f5;box-shadow:0 14px 35px #151f3d1f;padding:.85rem;pointer-events:none;will-change:transform}.chart-tooltip>strong{display:block;color:var(--ink);font-size:.86rem;letter-spacing:.12em;text-transform:uppercase}.chart-tooltip dl{display:grid;gap:.45rem;margin:.7rem 0 0}.chart-tooltip div{display:flex;justify-content:space-between;gap:.8rem}.chart-tooltip dt,.chart-tooltip dd{margin:0;font-size:.82rem}.chart-tooltip dt{letter-spacing:0;text-transform:none}.chart-tooltip dd{font-weight:700;text-align:right}.chart-legend{display:flex;flex-wrap:wrap;gap:.8rem 1.25rem;align-items:center;border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem;color:var(--muted);font-size:.9rem}.chart-legend span{display:inline-flex;gap:.45rem;align-items:center}.chart-legend strong{margin-left:auto;color:var(--ink)}.legend-swatch{display:inline-block;width:1.5rem;height:.28rem}.smith-swatch{background:var(--ink)}.conventional-swatch{background:repeating-linear-gradient(90deg,var(--accent-deep) 0 6px,transparent 6px 10px)}.field{display:grid;gap:.55rem;min-width:0}.field>span:first-child,.toggle-field strong{color:#151f3dd6;font-size:.82rem;font-weight:600}.input-wrap,.select-wrap{display:flex;min-height:3.25rem;align-items:center;border:1px solid var(--line);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.input-wrap:focus-within,.select-wrap:focus-within{border-color:var(--ink-soft);box-shadow:0 0 0 3px #35618e1f}.input-wrap input,.select-wrap select{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);outline:none}.input-wrap input{padding:.85rem .8rem;font-size:1.03rem}.input-wrap.range-input{min-height:3rem}.input-wrap.range-input input{padding-block:.62rem}.select-wrap select{min-height:3.2rem;padding:0 .8rem;appearance:auto}.affix{color:var(--muted);padding:0 .85rem}.payment-settings .input-wrap,.payment-settings .select-wrap{height:3rem;min-height:3rem}.payment-settings .input-wrap input{padding-block:.7rem}.payment-settings .select-wrap select{height:calc(3rem - 2px);min-height:calc(3rem - 2px);padding-block:0}.toggle-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:center;min-height:5.2rem;border:1px solid var(--line);background:var(--paper);padding:1rem}.toggle-field input{position:absolute;opacity:0;pointer-events:none}.toggle-track{display:inline-flex;width:3rem;height:1.65rem;align-items:center;border:1px solid var(--line-strong);background:#fff;padding:.2rem;transition:background-color .18s ease,border-color .18s ease}.toggle-track span{width:1.1rem;height:1.1rem;background:var(--muted);transition:transform .18s ease,background-color .18s ease}.toggle-field input:checked+.toggle-track{border-color:var(--ink);background:var(--ink)}.toggle-field input:checked+.toggle-track span{background:var(--cream);transform:translate(1.3rem)}.toggle-field small{display:block;margin-top:.25rem;color:var(--muted);line-height:1.45}.share-panel{display:flex;gap:1rem;align-items:center;border:1px solid var(--line);background:var(--paper);padding:1.1rem}.table-panel{border:1px solid var(--line);background:var(--surface)}dt{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}dd{margin:.45rem 0 0;color:var(--ink);font-size:1.05rem;font-weight:700}.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.55rem;border:1px solid transparent;padding:.8rem 1.15rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.button-primary{background:var(--ink);color:var(--cream)}.button-primary:hover{background:var(--ink-mid)}.button-secondary{border-color:var(--line);background:transparent;color:var(--ink)}.button-secondary:hover{background:var(--paper);border-color:var(--line-strong)}.hero-stat-grid>*,.financial-summary-grid>*,.method-grid>*{min-width:0}.result-hero{display:grid;grid-template-columns:minmax(255px,.85fr) minmax(0,1fr);gap:clamp(1.2rem,2.5vw,1.6rem);align-items:start;background:var(--ink);color:var(--cream);padding:clamp(1.55rem,3vw,2rem)}.result-hero .eyebrow,.result-hero .metric span{color:var(--muted-light)}.result-hero h3{margin-top:.75rem;max-width:340px;font-size:clamp(2rem,3vw,3.05rem);line-height:1.08}.result-hero p{max-width:650px;margin-top:1.1rem;color:var(--muted-light);line-height:1.6}.result-hero .metric{background:#ffffff0f;border-color:#fbf8ef2e}.result-hero .metric small{color:var(--muted-light)}.hero-stat-grid,.financial-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}.result-hero .hero-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.financial-summary-panel,.insights-panel{border:1px solid var(--line);background:var(--surface);padding:clamp(1.35rem,3vw,1.85rem)}.financial-summary-panel h3,.insights-panel h3,.data-panel-header h3{margin-top:.45rem;font-size:clamp(1.8rem,3.2vw,2.45rem);line-height:1.12}.financial-summary-panel p:not(.eyebrow),.data-panel-header p{max-width:680px;margin-top:.65rem;color:var(--muted);line-height:1.55}.financial-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.15rem}.tax-refund-note{border-top:1px solid var(--line);max-width:none;padding-top:.9rem;font-size:.9rem}.insight-list{display:grid;margin-top:1.15rem;border-top:1px solid var(--line)}.insight-item{display:grid;grid-template-columns:minmax(132px,.32fr) minmax(0,1fr);gap:1rem;align-items:start;border-bottom:1px solid var(--line);padding:.9rem 0}.insight-item strong{color:var(--ink);font-size:.74rem;font-weight:700;letter-spacing:.14em;line-height:1.35;text-transform:uppercase}.insight-item p{margin:0;color:var(--muted);line-height:1.55}.table-panel{padding:clamp(1.25rem,2.6vw,1.6rem)}.table-scroll{overflow-x:auto}.data-panel .table-scroll{max-height:680px;overflow-x:visible;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line)}table{width:100%;min-width:760px;border-collapse:collapse}.data-panel table{min-width:0;table-layout:fixed}.data-panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.2rem}th,td{border-bottom:1px solid var(--line);padding:.9rem .7rem;text-align:right}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-size:.72rem;letter-spacing:.14em;line-height:1.35;text-transform:uppercase;vertical-align:bottom}.data-panel th{height:4.6rem;background:var(--surface);padding:1.05rem .55rem .95rem;position:sticky;top:0;text-wrap:balance;z-index:1}.data-panel th,.data-panel td{padding-inline:.55rem}.data-panel td{font-size:.98rem;white-space:nowrap}.data-panel th:nth-child(1){width:8%}.data-panel th:nth-child(2){width:27%}.data-panel th:nth-child(3){width:29%}.data-panel th:nth-child(4),.data-panel th:nth-child(5){width:18%}td{font-variant-numeric:tabular-nums}.positive-value{color:var(--positive)}.negative-value{color:var(--negative)}.share-panel{justify-content:space-between;margin-top:0}.share-panel h3{margin-top:.45rem;font-size:1.8rem}.share-panel p:not(.eyebrow){max-width:620px;margin-top:.55rem;color:var(--muted);line-height:1.55}.share-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.method-panel{display:grid;grid-template-columns:minmax(210px,.35fr) minmax(0,1fr);gap:1.25rem;align-items:start;border:1px solid var(--line);background:#fffdf8ad;margin-top:0;padding:clamp(1rem,2.2vw,1.35rem)}.method-panel h2{margin-top:.45rem;font-size:clamp(1.55rem,2.7vw,2.1rem);line-height:1.12}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.method-item{border:1px solid var(--line);background:#fffdf8b8;padding:.95rem}.method-icon{display:inline-flex;width:1.75rem;height:1.75rem;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--paper)}.method-item h3{margin-top:.8rem;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:.94rem;font-weight:700}.method-item p{margin-top:.45rem;color:var(--muted);font-size:.86rem;line-height:1.48}.app-footer{margin-top:1.35rem;border-top:1px solid var(--line);padding:1rem 0 0}.app-footer p{max-width:980px;color:var(--muted);font-size:.78rem;line-height:1.55}@media(max-width:920px){.intro-band,.result-hero,.model-grid,.chart-copy,.method-panel{grid-template-columns:1fr}.intro-metrics{max-width:520px}.results-column{position:static}.data-panel-header,.share-panel{align-items:stretch;flex-direction:column}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:921px)and (min-height:840px){.results-column{position:sticky;top:1rem}}@media(max-width:720px){.site-header{align-items:flex-start;flex-direction:column;justify-content:center;padding:1rem}.calculator-shell{padding:.8rem .8rem 3rem}.intro-band{padding-top:2rem}.intro-metrics,.control-grid,.chart-stat-stack,.hero-stat-grid,.result-hero .hero-stat-grid,.financial-summary-grid,.method-grid{grid-template-columns:1fr}.panel-header{flex-direction:column}.payment-settings,.prepayment-fields,.payment-support{grid-template-columns:1fr}.result-tabs{gap:.35rem}.result-tab{min-height:3.5rem;font-size:.72rem;letter-spacing:.1em}.chart-legend{align-items:flex-start;flex-direction:column}.chart-legend strong{margin-left:0}.button{width:100%}.insight-item{grid-template-columns:1fr;gap:.4rem}.data-panel .table-scroll{max-height:none;overflow-x:visible;overflow-y:visible;border:0}.data-panel table,.data-panel thead,.data-panel tbody,.data-panel tr,.data-panel td{display:block;width:100%}.data-panel thead{display:none}.data-panel tr{border:1px solid var(--line);background:#fffdf8b8;margin-bottom:.75rem}.data-panel td{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem .85rem;text-align:right;white-space:normal}.data-panel td:before{content:attr(data-label);color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.12em;line-height:1.35;text-align:left;text-transform:uppercase}.data-panel td:first-child{background:var(--paper);color:var(--ink);font-weight:700}.data-panel td:last-child{border-bottom:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
