@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.ttf) format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:"DM Serif Display";src:url(/fonts/dm-serif-display.ttf) format("truetype");font-weight:400;font-display:swap}:root{font-family:DM Sans,sans-serif;color:#203b43;background:#f6f5ef;font-synthesis:none;font-optical-sizing:auto;--ink:#203b43;--muted:#657278;--blue:#234f63;--line:#e1e5df;--green:#426953;--paper:#f6f5ef;--radius:14px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-underline-offset:4px}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a0bb69;outline-offset:4px}::selection{background:#c4dd98;color:#203b43}input{caret-color:var(--blue)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.icon{width:20px;height:20px;flex:none;vertical-align:middle}.muted{color:var(--muted);font-size:13px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;background:#fff;padding:12px;z-index:10;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);background:#fafaf6}.header-inner{max-width:1328px;margin:auto;padding:0 40px;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;display:flex;align-items:center;gap:11px;font-size:25px;font-weight:700;letter-spacing:-1.1px}.brand-light{font-weight:400}.brand-dot{color:#789360}.brand-mark{width:36px;height:40px;display:grid;place-items:center;color:var(--blue)}.brand-mark .icon{width:34px;height:34px}.header-actions{display:flex;align-items:center;gap:25px}.button{min-height:44px;padding:11px 18px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--blue);color:#fff;font-size:13px;font-weight:600;transition:background .16s}.button:hover{background:#173d4e}.text-button{border:0;background:transparent;font-size:13px;font-weight:500;min-height:44px;padding:8px 0;display:inline-flex;align-items:center;justify-content:center;gap:9px}.text-button:hover{color:var(--green);text-decoration:underline}.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;min-width:44px;min-height:44px;border-radius:8px;color:var(--muted)}.icon-button:hover{background:#eef0e9;color:var(--ink)}main{max-width:1328px;padding:0 40px;margin:auto}.intro{padding:47px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.intro h1{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:43px;line-height:1.2;letter-spacing:-.8px;text-wrap:balance}.intro h1 em{font-style:normal;color:#59734f}.intro p{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.6}.privacy-note{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);white-space:nowrap;margin-top:8px}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#6d8556}.workspace{display:grid;grid-template-columns:326px minmax(0,1fr);gap:28px;align-items:start;scroll-margin-top:20px}.loan-panel{background:#fff;padding:20px 24px 19px;border:1px solid var(--line);border-radius:var(--radius)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin:0 -9px 1px 0}.panel-heading h2{font-size:18px;font-weight:600;letter-spacing:-.3px}.panel-description{font-size:12px;line-height:1.6;color:var(--muted);max-width:230px;margin-bottom:24px}.field{margin-top:20px}label{font-size:12px;font-weight:600;display:block;margin-bottom:8px}.input-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d9ded8;border-radius:7px;min-height:47px;padding:0 13px;overflow:hidden;color:#657278;font-size:13px}.input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #234f6312}.input-wrap input{width:100%;min-width:0;border:0;background:transparent;outline:none!important;box-shadow:none;color:var(--ink);font-size:16px;font-weight:500;line-height:1.5;min-height:45px;font-variant-numeric:tabular-nums;padding:6px 0;appearance:textfield;-moz-appearance:textfield}.input-wrap input::-webkit-inner-spin-button,.input-wrap input::-webkit-outer-spin-button{appearance:none;margin:0}.input-wrap:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.input-wrap>span{flex:none}.input-note{font-size:11px}.label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.label-row label{margin:0}.unit-switch{display:flex;gap:2px;margin:-9px -6px -8px 0}.unit-switch button{width:36px;height:36px;border:0;background:transparent;border-radius:5px;font-size:12px;color:var(--muted)}.unit-switch button[aria-pressed=true]{color:var(--blue);background:#edf1ec;font-weight:700}.loan-amount{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding:13px 0 17px;border-bottom:1px solid var(--line)}.loan-amount strong{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.two-fields{display:grid;grid-template-columns:1fr 1.08fr;gap:14px}.two-fields .input-wrap{padding:0 11px;gap:5px}.two-fields .input-wrap>span{font-size:11px}.term-options{display:flex;gap:7px;margin:11px 0 24px}.term-options button{flex:1;background:#fff;border:1px solid #e2e5df;border-radius:6px;min-height:37px;font-size:11px;color:var(--muted)}.term-options button[aria-pressed=true]{background:#edf1ec;border-color:#a6b8a2;color:#3e6040;font-weight:600}.term-options button:hover{background:#f0f3ed}.extra-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:4px}.extra-heading h3{font-size:12px;font-weight:600;line-height:1.5}.extra-heading p{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.6}.switch{margin:0;position:relative;display:flex;align-items:center;width:42px;height:44px;flex:none;cursor:pointer}.switch input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.switch span{pointer-events:none;display:block;width:38px;height:22px;border-radius:20px;background:#dde3dc;transition:background .15s}.switch span:after{content:"";display:block;width:16px;height:16px;background:#fff;border-radius:100%;margin:3px;transition:transform .15s;box-shadow:0 1px 3px #233c4325}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(16px)}.switch input:focus-visible+span{outline:3px solid #a0bb69;outline-offset:4px}#extra-fields .field{margin-top:18px}summary{list-style:none;font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--green);margin-top:7px}summary::-webkit-details-marker{display:none}summary .icon{width:16px}details[open] summary .icon{transform:rotate(45deg)}.error{font-size:12px;line-height:1.6;color:#a13728;background:#fcf0e9;border-radius:6px;padding:10px;margin-top:14px}.invalid-input .results{opacity:.5}.compare-button{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ced8ce;background:#f8faf5;min-height:46px;padding:10px 12px;width:100%;border-radius:7px;font-size:11px;font-weight:500;margin-top:24px}.compare-button .icon{width:17px;height:17px}.compare-button span{margin-right:auto}.compare-button:hover,.compare-button[aria-pressed=true]{background:#e9efdf}.sample-note{font-size:10px;color:var(--muted);text-align:center;margin-top:13px}.scenario-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:14px;gap:8px}.scenario-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;flex:1;min-height:44px;font-size:13px}.scenario-tabs button[aria-pressed=true]{border-color:var(--blue);font-weight:600;color:var(--blue)}.results{min-width:0}.payment-card{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:156px;padding:3px 16px 19px 9px}.payment-label{font-size:14px;font-weight:500;margin-bottom:9px}.monthly-value{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}.monthly-value>span:first-child{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:54px;line-height:1.14;letter-spacing:-1px;font-variant-numeric:lining-nums tabular-nums}.monthly-value>span:last-child{font-size:13px;color:var(--muted)}.payment-card .muted{margin-top:9px;font-size:11px}.house-plan{width:155px;height:129px;color:#5d7c79;opacity:.8;margin-right:7px}.summary-stats{display:grid;grid-template-columns:1fr 1fr 1.3fr;padding:20px 9px 24px;border-top:1px solid #dce1d9;gap:15px}.summary-stats>div{display:flex;flex-direction:column;gap:7px}.summary-stats>div+div{border-left:1px solid #dce1d9;padding-left:25px}.summary-stats span{font-size:11px;color:var(--muted)}.summary-stats strong{font-size:19px;letter-spacing:-.4px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.5}.summary-stats>div:last-child strong{font-size:17px}.chart-panel{background:var(--blue);color:#fff;border-radius:var(--radius);padding:25px 26px 18px;overflow:hidden}.chart-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.chart-heading h2{font-size:17px;letter-spacing:-.2px;font-weight:500}.chart-heading p{font-size:11px;color:#c2d1d5;margin-top:6px}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;color:#d2dce0;max-width:210px}.chart-legend span{display:flex;gap:7px;align-items:center;white-space:nowrap}.chart-legend i{display:block;width:13px;height:3px;background:#c4dd98}.chart-legend .dashed{height:0;background:none;border-top:2px dashed #9ab2bb}.chart-readout{display:flex;align-items:baseline;gap:8px;font-size:10px;color:#c2d1d5;margin:28px 0 18px;min-height:19px}.chart-readout strong{color:#f4f7f2;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;margin-left:4px}#chart svg{width:100%;height:auto;display:block;overflow:visible}#chart text{font-family:DM Sans,sans-serif;font-size:10px;fill:#c2d1d5;font-variant-numeric:tabular-nums}.chart-grid{stroke:#486d7e;stroke-width:.7}.scrub-label{display:flex;justify-content:space-between;font-size:10px;font-weight:400;color:#c2d1d5;margin:10px 0 0}.scrubber{appearance:none;-webkit-appearance:none;display:block;background:transparent;min-height:32px;width:100%;margin:0;cursor:pointer}.scrubber::-webkit-slider-runnable-track{background:#62818b;height:2px;border-radius:2px}.scrubber::-moz-range-track{background:#62818b;height:2px}.scrubber::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#c4dd98;width:12px;height:12px;border-radius:50%;margin-top:-5px;border:0}.scrubber::-moz-range-thumb{background:#c4dd98;width:12px;height:12px;border-radius:50%;border:0}.chart-bottom{border-top:1px solid #486d7e;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#c2d1d5;padding-top:13px;margin-top:3px}.chart-bottom span:last-child{display:flex;align-items:center;gap:7px;color:#e5efde}.chart-bottom .icon{width:14px;height:14px}.insight{display:flex;align-items:flex-start;gap:12px;margin-top:17px;padding:17px 20px;background:#eaf0e2;border-radius:9px;color:#466047;font-size:12px;line-height:1.75}.insight>.icon{width:17px;height:17px;margin-top:2px}.insight strong{font-weight:600}.section-panel{margin-top:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 27px 23px}.section-heading h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-.3px}.section-heading p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:6px}.outline-button{background:transparent;color:var(--ink);border:1px solid #dce1d9;white-space:nowrap;font-size:11px;min-height:41px;padding:9px 14px}.outline-button:hover{background:#f4f6f0}.outline-button .icon{width:16px;height:16px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 27px 22px}.segmented{display:flex;background:#f0f2ed;padding:3px;border-radius:7px;gap:3px}.segmented button{min-height:36px;padding:7px 16px;border:0;background:transparent;color:var(--muted);font-size:11px;border-radius:5px}.segmented button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #203b4310;font-weight:600}#schedule-caption{font-size:11px;color:var(--muted)}.table-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#abbdb7 #f2f4ef}.table-scroll:focus-visible{outline-offset:-3px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}th,td{padding:15px 27px;border-bottom:1px solid #eef0eb;text-align:right}th:first-child{text-align:left}thead{background:#f5f7f2;color:#657278;font-size:10px}thead th{font-weight:500;padding-top:13px;padding-bottom:13px}thead th span{font-weight:400;display:inline-block;margin-left:3px}tbody th{font-weight:500}tbody td{font-weight:400}tbody td:last-child{font-weight:500;color:var(--blue)}tbody tr:hover{background:#fafbf7}.pagination{display:flex;justify-content:space-between;align-items:center;padding:9px 27px;gap:20px;color:var(--muted);font-size:11px;min-height:62px}.pagination>div{display:flex;gap:24px}.pagination .text-button{font-size:11px}.pagination .icon{width:14px}.empty-table{white-space:normal;text-align:center;padding:35px}.comparison-table td{width:30%}.comparison-table .better{color:#426953;font-weight:600;background:#f0f5e9}.comparison-note{font-size:12px;color:var(--muted);padding:19px 27px;line-height:1.7;white-space:normal}.comparison-note strong{color:var(--green)}.calculation-note{max-width:860px;font-size:11px;line-height:1.9;color:var(--muted);text-align:center;margin:25px auto 32px;padding:0 12px}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dce1d9;padding:16px 0 28px;font-size:10px;color:var(--muted)}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand .icon{width:16px;height:16px}footer .text-button{font-size:10px}dialog{border:0;border-radius:16px;background:var(--paper);color:var(--ink);padding:36px;max-width:480px;width:calc(100% - 36px);box-shadow:0 20px 80px #173d4e30}dialog::backdrop{background:#18333f77}dialog h2{font-family:"DM Serif Display",Georgia,serif;font-size:30px;font-weight:400;margin:8px 0 20px}dialog p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}.dialog-close{position:absolute;right:8px;top:8px}.about-house{color:var(--green)}.about-house .icon{width:32px;height:32px}.learn-link{font-size:11px;display:flex;align-items:center;gap:8px;line-height:1.6;margin-top:25px;color:var(--green)}.learn-link .icon{width:16px}#share-dialog label{margin-top:20px}#share-url{width:100%;min-height:44px;border:1px solid #cad4c9;border-radius:6px;padding:10px;font-size:12px;color:var(--blue);background:#fff}#copy-link{margin-top:16px;font-size:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#203b43;color:#fff;padding:14px 22px;font-size:12px;line-height:1.6;max-width:calc(100% - 32px);width:max-content;z-index:5;border-radius:9px;box-shadow:0 8px 28px #203b4320}.toast button{background:transparent;border:0;color:#c4dd98;text-decoration:underline;margin-left:10px;min-height:32px}@media(min-width:1450px){.intro{padding-top:54px;padding-bottom:40px}.workspace{grid-template-columns:340px minmax(0,1fr);gap:34px}.chart-panel{padding-top:28px;padding-bottom:22px}.payment-card{min-height:170px}.loan-panel{padding-top:24px;padding-bottom:24px}.field{margin-top:24px}}@media(max-width:1050px){.header-inner,main{padding-left:28px;padding-right:28px}.workspace{grid-template-columns:295px minmax(0,1fr);gap:22px}.loan-panel{padding:18px 20px}.privacy-note{display:none}.house-plan{width:110px;height:100px}.monthly-value>span:first-child{font-size:43px}.monthly-value{gap:7px}.summary-stats{gap:8px}.summary-stats>div+div{padding-left:13px}.summary-stats strong{font-size:17px}.summary-stats>div:last-child strong{font-size:15px}.summary-stats span{font-size:10px}.chart-heading{align-items:flex-start;flex-direction:column;gap:15px}.chart-legend{justify-content:flex-start}.chart-panel{padding:23px 20px 19px}.chart-readout{margin-top:23px}.intro h1{font-size:39px}.insight{font-size:11px}.footer-brand{max-width:210px}.section-heading .text-button{font-size:11px}}@media(max-width:760px){.header-inner{min-height:74px;padding:0 20px}.brand{font-size:23px;gap:6px}.brand-mark{width:30px}.brand-mark .icon{width:29px}.header-actions{gap:13px}.header-actions>.text-button{font-size:11px}.share-button{font-size:11px;padding:10px 12px;gap:6px}.share-button .icon{width:17px}main{padding:0 20px}.intro{padding:32px 0 27px}.intro h1{font-size:35px;max-width:500px}.intro p{font-size:12px;margin-top:10px;max-width:400px}.workspace{grid-template-columns:1fr;gap:28px}.loan-panel{padding:18px 23px 20px}.panel-description{max-width:none;margin-bottom:22px}.field{margin-top:20px}.two-fields{grid-template-columns:1fr 1fr;gap:16px}.term-options{margin-bottom:22px}.term-options button{min-height:44px;font-size:12px}.unit-switch button{height:40px;width:40px}.extra-heading h3{font-size:13px}.extra-heading p,.compare-button{font-size:12px}.payment-card{padding:0 4px 21px;min-height:140px}.monthly-value>span:first-child{font-size:49px}.house-plan{width:119px;height:110px;margin-right:0}.payment-label{font-size:13px}.summary-stats{padding:19px 3px 24px;grid-template-columns:1fr 1fr 1.1fr;gap:9px}.summary-stats>div+div{padding-left:12px}.summary-stats strong{font-size:18px}.summary-stats>div:last-child strong{font-size:16px}.summary-stats span{font-size:10px;line-height:1.5}.chart-heading{flex-direction:row;align-items:center}.chart-heading h2{font-size:16px}.chart-heading p{font-size:10px;line-height:1.7;max-width:190px}.chart-legend{font-size:9px;max-width:115px;gap:8px}.chart-panel{padding:22px 18px 18px}.chart-readout{margin-top:26px;margin-bottom:24px;gap:5px}.chart-readout strong{font-size:14px}#chart{margin-left:-8px;margin-right:-6px}#chart text{font-size:11px}.scrub-label{margin-top:15px}.scrubber{min-height:44px}.scrubber::-webkit-slider-thumb{width:16px;height:16px;margin-top:-7px}.scrubber::-moz-range-thumb{width:16px;height:16px}.insight{font-size:12px;padding:16px 17px}.section-panel{margin-top:28px}.section-heading{padding:23px 20px 19px;align-items:flex-start;flex-wrap:wrap;gap:14px}.section-heading h2{font-size:24px}.section-heading p{font-size:11px}.outline-button{min-height:44px}.schedule-toolbar{padding:0 20px 18px;gap:12px;flex-wrap:wrap}#schedule-caption{font-size:10px}.segmented button{min-height:40px;padding:6px 18px}.schedule-toolbar .segmented{flex:none}th,td{padding:15px 20px}.pagination{padding:10px 20px;font-size:10px}.pagination>div{gap:18px}.pagination .text-button{font-size:11px}.comparison-table td{width:auto}.comparison-note{padding:18px 20px}.calculation-note{font-size:10px;margin:22px auto 25px;padding:0 4px}footer{flex-wrap:wrap;justify-content:center;gap:2px 15px;padding:18px 0 25px}.footer-brand{max-width:none;width:100%;justify-content:center;margin-bottom:5px}footer .text-button{min-height:40px}#save-status{font-size:9px;text-align:center}.sample-note{font-size:10px}dialog{padding:28px}.chart-bottom{font-size:9px}.section-heading .text-button{font-size:11px;text-align:left}#comparison .section-heading{gap:7px}}@media(max-width:390px){.header-inner{padding:0 16px}.header-actions{gap:8px}.header-actions>.text-button{font-size:10px}.share-button{padding:9px 10px}.brand{font-size:21px}.brand-mark{width:27px}main{padding:0 16px}.intro h1{font-size:32px;max-width:325px}.intro p{max-width:310px}.loan-panel{padding:17px 20px}.payment-card{gap:6px}.monthly-value>span:first-child{font-size:44px}.monthly-value>span:last-child{font-size:11px}.house-plan{width:102px}.summary-stats strong{font-size:16px}.summary-stats>div:last-child strong{font-size:14px}.summary-stats>div+div{padding-left:10px}.chart-heading{gap:6px}.chart-heading h2{font-size:15px}.chart-legend{max-width:105px}.chart-panel{padding-left:16px;padding-right:16px}.section-heading h2{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.mobile-help,.mobile-table-hint{display:none}.header-actions button{white-space:nowrap}.unit-switch button{width:44px;height:44px}.term-options button,.scrubber{min-height:44px}@media(max-width:760px){.mobile-help{display:inline}.desktop-help{display:none}.mobile-table-hint{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}#chart{margin-left:0;margin-right:0}#chart text{font-size:10px}.comparison-table{table-layout:fixed;font-size:11px;white-space:normal}.comparison-table th,.comparison-table td{padding:12px 10px;overflow-wrap:anywhere}.comparison-table th:first-child{width:36%}.comparison-table td,.comparison-table th:not(:first-child){width:32%}}
