@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f7f7f0;--white:#fff;--ink:#213e32;--muted:#68746b;--green:#2e654d;--lime:#c9dc8e;--line:#dfe3d7;--sand:#c6aa79;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #72934e;outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}header{height:94px;max-width:1380px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:7px;align-items:center;font-size:20px;font-weight:700;letter-spacing:-.7px}.brand>span:last-child{font-weight:450;margin-left:-7px}.brand-icon{display:block;width:36px;height:36px;flex-shrink:0;margin-right:4px}nav{display:flex;gap:34px;font-size:13px}nav a:last-child span{margin-left:12px}main{max-width:1380px;margin:auto}.hero{padding:50px 48px 46px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:35px;align-items:center}.hero-copy{min-width:0}.hero h1{font-size:clamp(48px,5.1vw,74px)}.hero-bottom{flex-wrap:wrap;gap:20px 28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.65px}.dot{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%;margin-right:8px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.5px}h1{font-size:clamp(48px,5.3vw,74px);line-height:1.02;margin:22px 0 24px;position:relative;z-index:1}em{font-weight:400;color:#66825c}h1 em{white-space:nowrap}.hero-bottom{display:flex;align-items:center;gap:45px;position:relative;z-index:1}.hero-bottom p{font-size:14px;color:var(--muted);line-height:1.8}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;border-radius:7px;padding:13px 19px;font-size:12px;font-weight:600;border:1px solid transparent;line-height:1.5;text-decoration:none!important}.dark{background:var(--ink);color:var(--white)}.dark:hover{background:#35644b}.outline{border-color:var(--line);background:transparent;color:var(--ink)}.outline:hover{background:#edf0e4} .hero-art{margin:0;min-width:0;width:100%;max-width:440px;justify-self:end;align-self:center;text-align:center}.home-compass{display:block;width:100%;height:auto;overflow:visible}.hero-art figcaption{display:grid;gap:8px;padding:10px 0 0}.hero-art figcaption .eyebrow{font-size:8px;letter-spacing:1.7px;color:#738265}.hero-art figcaption b{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.3px}.compass-caption-note{font-size:10px;line-height:1.7;color:var(--muted)}.rule-strip{display:flex;justify-content:space-between;margin:0 48px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.section{padding:65px 48px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;gap:25px}.section-heading .eyebrow{margin-bottom:9px}h2{font-size:43px;line-height:1.12}h3{font-size:17px;font-weight:600;letter-spacing:-.3px}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted)}.pill{display:inline-flex;align-items:center;font-size:10px;border:1px solid var(--line);padding:6px 10px;border-radius:50px;white-space:nowrap;color:var(--muted)}.planner-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}.card{background:var(--white);border:1px solid var(--line);border-radius:12px}.controls{padding:22px}.segmented{display:flex;background:#eff1e9;border-radius:6px;padding:4px;gap:3px}.segmented button{flex:1;border:0;background:transparent;padding:9px 6px;font-size:11px;font-weight:550;border-radius:4px;white-space:nowrap;color:var(--muted)}.segmented button.active{background:white;box-shadow:0 2px 5px #213e3210;color:var(--ink)}.controls>.segmented{margin-bottom:22px}.field{margin:16px 0}.field label,.range-field label{font-size:11px;font-weight:600;display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.field label span{font-weight:400;color:var(--muted)}input[type=number],input[type=month]{width:100%;border:1px solid var(--line);background:#fcfcf9;border-radius:6px;padding:10px 12px;color:var(--ink);font-size:14px;min-width:0}input[type=range]{width:100%;accent-color:var(--green);cursor:pointer;margin:7px 0;height:16px}.range-field{margin:21px 0}.range-field output{font-size:12px;font-weight:600;color:var(--green)}.range-ends{display:flex;justify-content:space-between;color:#778175;font-size:9px}.loan-line{display:flex;justify-content:space-between;font-size:11px;padding:10px 0;border-bottom:1px solid var(--line)}.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.two-fields>.field{display:grid;grid-template-rows:1fr auto;min-width:0}.two-fields>.field label{align-items:flex-start;gap:8px}.two-fields>.field label span{flex-shrink:0;white-space:nowrap}.micro{font-size:10px!important;line-height:1.7!important;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.strategy-options{display:grid;gap:7px;margin:12px 0;font-size:12px}.strategy-options label{cursor:pointer;display:flex;gap:7px;align-items:center}.strategy-options input,input[type=checkbox]{accent-color:var(--green)}.control-actions{display:flex;align-items:center;justify-content:space-between;margin:20px 0 9px}.control-actions .button{font-size:10px;padding:10px 12px}.text-button{border:0;color:var(--green);background:transparent;padding:7px 0;font-size:11px;text-decoration:underline;text-underline-offset:3px}.results{min-width:0}.summary-banner{background:var(--ink);color:var(--paper);border-radius:12px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center}.summary-banner .eyebrow{color:#b8c99b}.big-number{font-family:var(--serif);font-size:61px;line-height:1.2;letter-spacing:-1px;margin:7px 0}.summary-banner p{font-size:11px;color:#d4ddca}.savings-mark{display:grid;place-items:center;width:76px;height:76px;border:1px solid #9cb77955;border-radius:50%;font-size:48px;color:var(--lime)}.metric-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:16px 0}.metric{border:1px solid var(--line);border-radius:9px;padding:17px;background:#fbfcf6;min-width:0}.metric span,.metric small{display:block;font-size:10px;color:var(--muted)}.metric strong{display:block;font-weight:550;font-size:23px;letter-spacing:-.7px;margin:4px 0}.metric small{font-size:9px}.chart-card{padding:24px}.chart-top{display:flex;justify-content:space-between;align-items:center;gap:18px}.small button{font-size:9px;padding:6px 9px}.legend{display:flex;gap:20px;font-size:10px;color:var(--muted);margin:16px 0 3px}.legend span{display:flex;align-items:center;gap:7px}i{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.baseline{background:#b5bda5}.planned{background:var(--green)}.interest-color{background:var(--sand)}#chart{width:100%;margin-top:5px}#chart svg{display:block;width:100%;height:auto;overflow:visible}.inspect{border-top:1px solid var(--line);padding-top:14px}.inspect label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.inspect b{color:var(--ink)}.timeline-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:10px}.timeline-stats span{display:block;font-size:9px;color:var(--muted)}.timeline-stats b{font-size:14px;font-weight:550}.goal-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 0 0}.goal-card .eyebrow{font-size:9px}.goal-card h3{font-family:var(--serif);font-size:26px;font-weight:400;margin:7px 0}.goal-card p{font-size:10px;color:var(--muted)}#goalYears{display:inline-block;width:51px;padding:0 3px;font:inherit;border:0;border-bottom:1px solid var(--green);background:transparent;border-radius:0;text-align:center}.goal-card .button{white-space:nowrap;font-size:10px;padding:11px 13px}.method{margin-top:26px;padding:17px 0;border-block:1px solid var(--line);font-size:11px;color:var(--muted)}summary{cursor:pointer}.method p{margin-top:12px;max-width:1050px}.light-section{background:#eef0e6;border-block:1px solid var(--line)}.money-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}.split-card{padding:26px}.split-card .pill{font-size:9px}.payment-track{height:40px;display:flex;overflow:hidden;border-radius:6px;margin:25px 0 17px;background:#e6ebdd}.payment-track>div{display:grid;place-items:center;font-size:10px;color:white;overflow:hidden;white-space:nowrap}.principal-block{background:var(--green)}.interest-block{background:var(--sand);color:#3e412e!important}.split-numbers{display:flex;gap:35px;margin-bottom:14px}.split-numbers>div{display:grid;grid-template-columns:9px auto;gap:0 7px;align-items:center}.split-numbers span{font-size:10px;color:var(--muted)}.split-numbers b{grid-column:2;font-size:22px;font-weight:500;letter-spacing:-.5px}.plain-card p{font-size:12px;color:var(--muted);margin-top:12px}.plain-card .callout{border-left:2px solid #92a769;padding-left:15px;color:var(--ink)}.compare-card{padding:27px;margin-top:28px}.compare-card h3{margin-top:5px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap;text-align:right;margin:22px 0 12px}th{font-size:9px;font-weight:500;color:var(--muted)}th,td{padding:12px 10px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}tr.selected{background:#edf3e4;color:var(--green);font-weight:600}.playbook-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:65px;align-items:start}.featured-principle{background:#e1e8d2;border-radius:11px;padding:30px;position:sticky;top:25px}.chapter{font-size:9px;letter-spacing:1.3px}.featured-principle h3{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.1;margin:26px 0 17px}.featured-principle p{font-size:12px;line-height:1.9;color:#53654d}.principle-bottom{font-size:10px;margin-top:40px;border-top:1px solid #c6d1b4;padding-top:18px}.principle-list details{border-bottom:1px solid var(--line);padding:19px 0}.principle-list details:first-child{padding-top:0}.principle-list summary{display:flex;align-items:center;gap:16px;list-style:none;font-size:15px;font-weight:500}.principle-list summary::-webkit-details-marker{display:none}.principle-list summary span{font-size:10px;color:#809174}.principle-list summary b{margin-left:auto;font-size:20px;font-weight:400;color:#809174}.principle-list details[open] summary b{transform:rotate(45deg)}.principle-list p{font-size:12px;line-height:1.9;color:var(--muted);margin:13px 26px}.principle-list p a{text-decoration:underline}.setup-section{border-top:1px solid var(--line)}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.setup-grid>div>p{font-size:12px;color:var(--muted);margin:11px 0}.script{font-family:var(--serif);font-size:23px;line-height:1.45;border-left:2px solid #aabc80;padding-left:20px;margin:24px 0}.checklist{background:#edf0e4;border-radius:10px;padding:12px 26px}.checklist label{display:flex;gap:13px;align-items:center;border-bottom:1px solid #d7dfcb;padding:15px 0;cursor:pointer}.checklist input{width:17px;height:17px;flex-shrink:0}.checklist b{display:block;font-weight:500;font-size:12px}.checklist small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.checklist label:has(input:checked) b{text-decoration:line-through;color:var(--muted)}footer{background:#e8ecde;margin:0 0;padding:36px 48px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.footer-top p{font-size:11px;color:var(--muted)}.sources{max-width:850px}.sources h4{font-size:12px;margin:0 0 6px}.sources p{font-size:10px;color:var(--muted);margin:7px 0 13px}.sources>a{font-size:10px;display:inline-block;margin-right:20px;text-decoration:underline;text-underline-offset:3px}.sources .micro{margin-top:20px}#error{padding:15px;background:#fff3dc;border:1px solid #c9a16d;border-radius:8px;margin-bottom:14px;font-size:12px;color:#6c4b24}.invalid .summary-banner,.invalid .metric-grid,.invalid .chart-card,.invalid .goal-card{opacity:.3;pointer-events:none}@media(max-width:1100px){.hero-bottom{gap:25px}.planner-grid{grid-template-columns:290px 1fr;gap:18px}.controls{padding:18px}.metric{padding:14px 12px}.metric strong{font-size:20px}.chart-card{padding:20px}.playbook-grid{gap:35px;grid-template-columns:280px 1fr}.chart-top{align-items:flex-start;flex-wrap:wrap}h2{font-size:37px}.goal-card{flex-wrap:wrap}}@media(max-width:800px){header{padding:0 24px;height:76px}nav{gap:20px}nav a:last-child{display:none}.hero{padding:44px 24px 35px}.hero h1{font-size:60px}.hero-bottom{align-items:flex-start;gap:20px}.hero-bottom p{font-size:12px}.rule-strip{margin:0 24px;font-size:9px}.section{padding:44px 24px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.planner-grid{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;padding:24px}.controls>.segmented,.controls>hr,.controls>.eyebrow,.control-actions,#saveStatus{grid-column:1/-1}.controls>.segmented{max-width:400px}.controls>hr{width:100%;margin:14px 0 22px}.controls>.strategy-options{grid-column:1}.controls>.range-field{grid-column:2;grid-row:span 2;align-self:center}.controls>.field:has(#lump){grid-column:1}.controls>#strategyNote{grid-column:2}.controls>.two-fields{margin-top:0}.controls>.micro{align-self:center}.controls>#actualField{grid-column:1/-1}.control-actions{justify-content:flex-start;gap:25px;margin-top:15px}.summary-banner{padding:25px}.big-number{font-size:60px}.metric strong{font-size:25px}.goal-card{flex-wrap:nowrap}.playbook-grid{grid-template-columns:1fr;gap:30px}.featured-principle{position:static}.featured-principle h3 br{display:none}.featured-principle h3{margin:14px 0}.principle-bottom{margin-top:20px}.money-grid{grid-template-columns:1fr;gap:25px}.setup-grid{gap:30px;grid-template-columns:1fr}footer{padding:30px 24px}}@media(max-width:520px){header{padding:0 20px;height:70px}.brand{font-size:17px}.brand-icon{width:32px;height:32px}nav{font-size:10px;gap:15px}.hero{padding:35px 20px 30px;min-height:0}.hero .eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:48px!important;letter-spacing:-1.6px;line-height:1.06;margin:20px 0}.hero-bottom{display:block}.hero-bottom .button{margin-top:23px}.hero-bottom p{font-size:13px}.rule-strip{margin:0 20px;gap:18px;font-size:8px}.section{padding:36px 20px}h2{font-size:35px}.section-heading{margin-bottom:23px}.section-heading>.pill{font-size:9px}.controls{display:block;padding:22px}.controls>.segmented{max-width:none}.summary-banner{margin-top:4px;padding:24px}.big-number{font-size:53px}.summary-banner .eyebrow{font-size:8px}.summary-banner p{font-size:10px;max-width:230px}.savings-mark{width:48px;height:48px;font-size:32px;flex-shrink:0}.metric-grid{gap:7px;margin:12px 0}.metric{padding:12px 9px}.metric span{font-size:8px}.metric strong{font-size:19px}.metric small{font-size:8px}.chart-card{padding:18px 14px}.chart-top{gap:12px}.chart-top h3{font-size:16px}.timeline-stats{gap:9px}.timeline-stats span{font-size:8px}.timeline-stats b{font-size:12px}.goal-card{display:block;padding-top:24px}.goal-card .button{margin-top:14px}.goal-card h3{font-size:24px}.split-card{padding:22px}.split-numbers{gap:30px}.split-card .chart-top{display:block}.split-card .pill{margin-top:8px}.compare-card{padding:20px 14px}.featured-principle{padding:26px}.principle-list summary{font-size:14px;gap:12px}.principle-list p{margin:12px 0 0 23px}.script{font-size:22px}.checklist{padding:10px 20px}.footer-top{display:block}.footer-top p{margin-top:15px}.sources>a{display:block;margin:9px 0}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,nav,.controls,.control-actions,.hero-art,.button,.text-button{display:none!important}body{font-size:12px}.section{padding:20px}.planner-grid{display:block}.hero{min-height:0;padding:20px}.playbook-grid{display:block}.featured-principle{position:static}.principle-list details{break-inside:avoid}.principle-list details p{display:block}.card{break-inside:avoid}.section-heading{margin-bottom:14px}footer{background:white}}
/* Connected payoff planning */
.field-caption{display:block;font-size:11px;font-weight:600;margin-bottom:7px}#derivedTerm{display:block;padding:10px 12px;background:#eff2e8;border:1px solid var(--line);border-radius:6px;font-size:14px}.extra-entry{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;background:#fcfcf9;padding-left:12px}.extra-entry>span{color:var(--muted)}.extra-entry input{border:0;background:transparent;font-size:22px;padding:8px 12px 8px 0;box-shadow:none;outline-offset:1px}.quick-amounts{display:flex;gap:6px;margin:12px 0}.quick-amounts button{flex:1;border:1px solid var(--line);border-radius:5px;background:white;padding:5px;font-size:10px;color:var(--green)}.quick-amounts button.active{background:#e7efd9;border-color:#9bb584}.connected-plan{margin-top:16px;padding:20px 23px}.connected-plan .pill{font-size:9px}.payment-equation{display:flex;align-items:center;gap:12px;margin:18px 0 12px;flex-wrap:wrap}.payment-equation small{display:block;font-size:9px;color:var(--muted)}.payment-equation b{display:block;font-size:19px;font-weight:550;letter-spacing:-.5px}.payment-equation>span{font-size:18px;color:#819270}.equation-total{background:#ecf2e4;padding:6px 12px;border-radius:6px}.impact-line{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.impact-line p{font-size:10px;color:var(--muted);flex:1}.impact-line button{white-space:nowrap;font-size:10px}.progress-card{padding:22px 24px;margin-top:17px}.progress-card .chart-top b{font-size:13px;font-weight:550;color:var(--green)}.progress-track{background:#e3e9d9;height:12px;border-radius:20px;overflow:hidden;margin:16px 0 8px}#progressFill{background:var(--green);height:100%;border-radius:20px}.progress-card>.micro:last-child{margin-top:12px}.goal-card{display:block;background:#ebf0df;border:1px solid #d7dfc8;border-radius:12px;padding:24px;margin-top:18px}.goal-card h3{font-size:30px;margin:14px 0 9px}.goal-card>.micro{font-size:10px}.goal-card .chart-top{align-items:center}.goal-card .eyebrow{font-size:9px}.goal-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:19px 0;margin-top:10px;border-block:1px solid #d0dcc1}.goal-numbers>div{display:grid;grid-template-rows:1fr auto;gap:6px;min-width:0}.goal-numbers span{display:block;font-size:9px;color:var(--muted)}.goal-numbers b{font-size:21px;font-weight:550;letter-spacing:-.6px;display:block;margin-top:0;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}#goalText{font-size:12px;margin:15px 0;color:var(--ink)}.goal-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:17px 0}.goal-options>div{background:#ffffff80;border:1px solid #d6e0cb;border-radius:8px;padding:16px}.goal-options>div>span{font-size:9px;letter-spacing:1px;font-weight:600;color:#58714c}.goal-options p{font-size:11px;line-height:1.7;min-height:57px;margin:8px 0 14px}.goal-options .button{font-size:10px;white-space:normal;padding:10px 12px}.extra-color,.extra-block{background:#96b468}.extra-block{color:#203e2d!important}.split-numbers{gap:20px;flex-wrap:wrap}.split-numbers b{font-size:20px}.table-strategy{padding:0;border:0;background:transparent;color:var(--green);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}.invalid .connected-plan,.invalid .progress-card{opacity:.3;pointer-events:none}.goal-card button:disabled{cursor:default}.goal-card .button{margin-top:0}
@media(max-width:1100px){.payment-equation{gap:9px}.payment-equation b{font-size:17px}.goal-numbers{gap:12px}.goal-numbers b{font-size:18px}.goal-options{grid-template-columns:1fr}.goal-options p{min-height:0}.goal-options>div{padding:14px}}
@media(max-width:800px){.goal-options{grid-template-columns:1fr 1fr}.goal-numbers b{font-size:23px}.goal-options p{min-height:57px}.payment-equation b{font-size:21px}}
@media(max-width:520px){.connected-plan{padding:18px}.payment-equation{gap:9px}.payment-equation b{font-size:17px}.payment-equation small{font-size:8px}.equation-total{padding:6px 9px}.impact-line{align-items:flex-start;flex-direction:column;gap:5px}.goal-card{padding:20px}.goal-card h3{font-size:26px}.goal-card .chart-top{gap:10px}.goal-numbers{grid-template-columns:1fr;gap:12px}.goal-numbers>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.goal-numbers span{max-width:160px;font-size:10px}.goal-numbers b{font-size:21px;white-space:nowrap}.goal-options{grid-template-columns:1fr}.goal-options p{min-height:0}.goal-card .button{margin-top:0}.progress-card{padding:20px 17px}.progress-card .chart-top{display:block}.progress-card .chart-top b{display:block;margin-top:7px}.split-numbers{gap:16px}.split-numbers b{font-size:18px}.split-numbers span{font-size:9px}.connected-plan .chart-top .eyebrow{font-size:8px}}
.strategy-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.strategy-heading .eyebrow{font-size:9px}.strategy-heading .text-button{font-size:9px;white-space:nowrap}.controls>.strategy-heading{grid-column:1/-1}
/* Housing costs, clearer principal labels, and payment-frequency comparison. */
select{appearance:none;-webkit-appearance:none;box-sizing:border-box;font:inherit;width:100%;min-width:0;min-height:44px;padding:10px 36px 10px 12px;color:var(--ink);border:1px solid var(--line);border-radius:6px;background-color:#fcfcf9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233d5c49' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;font-size:13px;line-height:1.5;cursor:pointer}select:hover{border-color:#8c9f8d}select:focus-visible{outline:2px solid var(--green);outline-offset:2px}select:disabled{cursor:default;opacity:.6}.payment-date-field{padding:0;border:0;min-width:0}.payment-date-field legend{padding:0;font-size:11px;font-weight:600;margin-bottom:9px}.payment-month-picker{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px}.payment-month-picker>div{min-width:0}.payment-month-picker label{font-size:10px;font-weight:400;color:var(--muted);margin-bottom:6px}.payment-month-picker select{padding-left:10px;padding-right:29px;background-position:right 9px center}.cost-inputs{border-top:1px solid var(--line);padding-top:17px;margin-top:22px;grid-column:1/-1}.cost-inputs>summary{font-size:12px;font-weight:600}.cost-inputs>.micro{margin:9px 0}.escrow-choice{display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.7}.escrow-choice input{margin-top:4px}.housing-budget{padding:23px;margin-top:16px}.housing-total{text-align:right;min-width:145px}.housing-total span{display:block;font-size:9px;color:var(--muted)}.housing-total b{font-size:27px;font-weight:550;letter-spacing:-.9px}.housing-budget .eyebrow{margin-bottom:5px}.housing-bar{height:16px;display:flex;overflow:hidden;border-radius:20px;margin:20px 0}.housing-bar>span{height:100%;min-width:0}.housing-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:0}.housing-breakdown>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}.housing-breakdown dt{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px}.housing-breakdown dd{font-size:12px;margin:0;font-weight:550;white-space:nowrap;font-variant-numeric:tabular-nums}.escrow-routing{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:19px 0 12px;padding:14px 16px;background:#eff3e8;border-radius:7px}.escrow-routing span{display:block;font-size:9px;color:var(--muted)}.escrow-routing b{display:block;font-size:18px;font-weight:500;margin-top:3px}.housing-budget>.micro{margin-top:9px}.included-topup{border-left:2px solid #a1b87c;background:#f0f4e9;padding:10px 13px;margin:0 0 14px}.included-topup>span{font-size:9px;color:var(--muted);display:block}.included-topup>b{font-size:13px;font-weight:550;display:block;margin:3px 0}.included-topup>p{font-size:10px;line-height:1.7;color:var(--muted)}.plain-card>.eyebrow{margin-bottom:10px}.topup-benefits{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px;padding:15px;background:#e5ecd8;border-radius:7px}.topup-benefits span{font-size:9px;display:block;color:var(--muted)}.topup-benefits b{font-size:21px;font-weight:500;display:block;margin-top:4px}.frequency-section{background:#eef2ec;border-block:1px solid var(--line)}.frequency-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.frequency-card{padding:23px;display:flex;flex-direction:column;min-width:0}.frequency-card .eyebrow{font-size:8px;min-height:26px}.frequency-card h3{font-size:20px;font-family:var(--serif);font-weight:400}.frequency-amount{font-size:23px;letter-spacing:-.6px;line-height:1.4;margin:14px 0 5px;display:block;font-weight:550}.frequency-card>p{font-size:10px;color:var(--muted);min-height:33px}.frequency-card dl{margin:16px 0 22px}.frequency-card dl>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0;font-size:10px}.frequency-card dt{color:var(--muted)}.frequency-card dd{margin:0;text-align:right;font-weight:550}.frequency-card .button{margin-top:auto;gap:9px;font-size:10px;padding:11px 9px}.frequency-card.is-selected{background:#e1eada;border-color:#668c4b;box-shadow:inset 0 0 0 1px #668c4b}.frequency-benefit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px 0;margin-top:3px}.frequency-benefit span{display:block;font-size:10px;color:var(--muted)}.frequency-benefit b{display:block;font-size:30px;line-height:1.3;letter-spacing:-.6px;font-weight:500;margin-top:5px;color:#365f43}.frequency-disclosure{max-width:1020px}.frequency-chart-card{padding:26px;margin-top:25px}.frequency-color{background:#477c8b}#frequencyChart svg{width:100%;height:auto;display:block;margin-top:8px}.frequency-chart-card .timeline-stats{padding:10px 0}.frequency-chart-card>.micro{margin-top:16px}.frequency-chart-card a{text-decoration:underline}.invalid .housing-budget{opacity:.3;pointer-events:none}.invalid-data .frequency-cards,.invalid-data .frequency-benefit,.invalid-data .frequency-chart-card{opacity:.3;pointer-events:none}
@media(max-width:1100px){.housing-breakdown{grid-template-columns:1fr}.housing-budget .chart-top{align-items:center}.housing-total{text-align:left}.frequency-card{padding:19px}.frequency-amount{font-size:20px}.frequency-card dl>div{flex-direction:column;gap:5px}.frequency-card dd{text-align:left}}
@media(max-width:800px){.housing-breakdown{grid-template-columns:1fr 1fr}.housing-total{text-align:right}.frequency-cards{gap:12px}.frequency-card{padding:17px}.frequency-amount{font-size:18px}.frequency-benefit b{font-size:26px}}
@media(max-width:600px){.frequency-cards{grid-template-columns:1fr}.frequency-card{padding:23px}.frequency-card .eyebrow{min-height:0}.frequency-card h3{margin-top:9px;font-size:25px}.frequency-amount{font-size:26px;margin-top:12px}.frequency-card>p{min-height:0}.frequency-card dl>div{flex-direction:row}.frequency-card dd{text-align:right}.frequency-card .button{align-self:flex-start;padding-inline:17px}.frequency-benefit{grid-template-columns:1fr;gap:14px}.frequency-benefit>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}.frequency-benefit span{max-width:200px}.frequency-benefit b{white-space:nowrap;font-size:24px}.frequency-chart-card{padding:20px 14px}}
@media(max-width:520px){.housing-budget{padding:20px 17px}.housing-budget .chart-top{display:block}.housing-total{margin-top:14px;text-align:left}.housing-breakdown{grid-template-columns:1fr}.escrow-routing{grid-template-columns:1fr;gap:13px}.split-numbers{gap:22px}.topup-benefits b{font-size:20px}.topup-benefits span{font-size:9px}}
.frequency-benefit>div{display:grid;grid-template-rows:1fr auto;min-width:0}.frequency-benefit b{font-variant-numeric:tabular-nums}@media(max-width:600px){.frequency-benefit>div{display:flex}}@media(max-width:800px){nav>a[href="#principles"]{display:none}}
@media(max-width:520px){nav>a[href="#frequency"]{display:none}}

.strategy-choice{display:flex;align-items:center;gap:7px}.info-link{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;flex-shrink:0;color:var(--green);text-decoration:none!important;font-size:15px;border-radius:50%}.info-link:hover,.info-link:focus{background:#e4ecd9}.info-tooltip{display:none;position:absolute;right:0;top:calc(100% + 6px);width:255px;max-width:70vw;background:var(--ink);color:#fff;padding:12px 14px;border-radius:7px;box-shadow:0 8px 25px #1f39292b;font-size:11px;line-height:1.7;z-index:25;letter-spacing:0;text-align:left}.info-link:hover .info-tooltip,.info-link:focus .info-tooltip{display:block}.frequency-explanation{scroll-margin-top:30px;margin-top:5px;padding:18px 0 0;border-top:1px solid #d5dfcf}.frequency-explanation h3{margin-bottom:8px;font-size:16px}.frequency-explanation:target{background:#e1eada;outline:2px solid #a2b890;outline-offset:10px;border-radius:3px}.frequency-selection-status{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.frequency-selection-status p{font-size:12px;font-weight:550;color:var(--green)}.frequency-selection-status a{font-size:10px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.frequency-selection{display:block;visibility:hidden;font-size:10px;line-height:18px;font-weight:650;color:var(--green);min-height:18px;margin-bottom:9px}.frequency-card.is-selected .frequency-selection{visibility:visible}.frequency-card.is-selected .button{background:var(--ink);border-color:var(--ink);color:white}@media(max-width:600px){.frequency-selection-status{align-items:flex-start;flex-direction:column;gap:8px}.frequency-selection{margin-bottom:10px}}

.escrow-options{border:0;padding:0;margin:19px 0 0;min-width:0}.escrow-options legend{padding:0;font-size:12px;font-weight:650;line-height:1.5}.escrow-options>p{margin:9px 0 12px}.escrow-option{display:flex;align-items:flex-start;gap:9px;padding:12px 11px;border:1px solid var(--line);background:#fcfcf9;border-radius:7px;margin:9px 0;cursor:pointer;line-height:1.6}.escrow-option input{margin:3px 0 0;flex-shrink:0;accent-color:var(--green);width:14px;height:14px}.escrow-option b{display:block;font-size:11px;font-weight:600}.escrow-option small{display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:4px}.escrow-option:has(input:checked){background:#edf3e4;border-color:#8ca96b}.escrow-choice-impact{border-top:1px solid var(--line);margin-top:14px;padding-top:13px}.escrow-choice-impact>div{display:flex;flex-direction:column;gap:3px}.escrow-choice-impact span{font-size:10px;color:var(--muted)}.escrow-choice-impact b{font-size:18px;font-weight:550;letter-spacing:-.3px}.escrow-choice-impact p{font-size:10px;line-height:1.75;margin-top:9px;color:var(--muted)}.escrow-choice-impact #escrowUnchanged{color:var(--ink)}.escrow-options a{text-decoration:underline;text-underline-offset:3px}

.strategy-comparison-intro{max-width:970px;font-size:12px;line-height:1.85;color:var(--muted);margin:-7px 0 23px}.strategy-comparison-intro b{font-weight:600;color:var(--ink)}.projection-results{scroll-margin-top:24px;margin-top:24px}.projection-results:focus{outline:0}.projection-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}.projection-heading h3{font-size:19px}.projection-heading .pill{white-space:normal;text-align:right}.strategy-applied-notice{padding:18px 20px;border:1px solid #a0b786;border-radius:9px;background:#edf3e3;margin:14px 0 18px}.strategy-applied-notice>b{display:block;font-size:13px;font-weight:600;color:var(--green)}.strategy-applied-notice>p{font-size:10px;color:var(--muted);line-height:1.75;margin-top:7px}.strategy-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:14px 0;padding-bottom:13px;border-bottom:1px solid #d4dfc7}.strategy-change-grid>div{display:grid;grid-template-rows:1fr auto auto;min-width:0}.strategy-change-grid span{font-size:9px;color:var(--muted)}.strategy-change-grid small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.strategy-change-grid strong{display:block;font-size:18px;line-height:1.4;font-weight:550;letter-spacing:-.4px;font-variant-numeric:tabular-nums}@media(max-width:520px){.projection-heading{align-items:flex-start;flex-direction:column;gap:8px}.projection-heading .pill{text-align:left}.strategy-applied-notice{padding:16px 14px}.strategy-change-grid{gap:9px}.strategy-change-grid strong{font-size:15px}.strategy-change-grid small{font-size:9px}.strategy-change-grid span{font-size:8px}.strategy-comparison-intro{font-size:11px}}

.results-back-link{display:inline-block;font-size:10px;text-decoration:underline;text-underline-offset:3px;margin-top:6px;color:var(--green)}
.reference-panel{padding:24px;margin:0 0 26px;background:#f0f4e7}.reference-panel .chart-top h3{margin-top:5px}.reference-panel>.micro{margin-top:11px;max-width:880px}.reference-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reference-settings .field{margin-bottom:3px}.reference-provenance{font-size:11px;border-top:1px solid #d5dfc7;padding-top:13px;margin-top:13px}.reference-provenance p{font-size:10px;line-height:1.85;color:var(--muted);margin:11px 0}.reference-provenance a{text-decoration:underline;text-underline-offset:3px}.reference-field-status{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin-top:9px}.reference-field-status span{font-size:9px;line-height:1.7;color:var(--muted);flex:1}.reference-field-status button{border:0;background:transparent;color:var(--green);font-size:9px;text-decoration:underline;text-underline-offset:3px;padding:0;white-space:nowrap}.reference-field-status button[aria-pressed=true]{font-weight:650}.reference-settings .field label{gap:10px}.reference-panel .button{font-size:10px;padding:10px 14px}@media(max-width:800px){.reference-settings{grid-template-columns:1fr 1fr;gap:15px}.reference-panel{padding:21px}}@media(max-width:520px){.reference-settings{grid-template-columns:1fr;gap:0}.reference-panel .chart-top{display:block}.reference-panel .button{margin-top:14px}.reference-field-status{gap:8px}.reference-settings .field label{font-size:10px}}

/* Keep the illustration in document flow at every screen size. */
.hero-bottom{flex-wrap:wrap;gap:20px 28px}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px}.hero-art figcaption b{font-size:22px}.compass-caption-note{max-width:250px;justify-self:center}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:26px}.hero-art{justify-self:center;max-width:340px}.hero-art figcaption{padding-top:6px}.hero h1{font-size:clamp(46px,7.5vw,60px)}.hero-bottom{gap:22px}.hero-bottom p{font-size:13px}}
@media(max-width:520px){.hero{gap:28px}.hero-art{width:min(100%,320px)}.hero-art figcaption b{font-size:24px}.hero h1{font-size:clamp(39px,10.6vw,48px)!important}.hero h1 em{white-space:normal}.hero .hero-bottom .button{margin-top:20px}.compass-caption-note{max-width:none;font-size:9px}.hero-art figcaption .eyebrow{font-size:8px;letter-spacing:1.5px}}
