:root{--ink:#243c32;--green:#315d48;--paper:#f7f6ef;--line:#dcded2;--muted:#5f6a61;--ochre:#91602a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit}button,input{font:inherit}button{cursor:pointer}.topbar,main{max-width:1200px;margin:auto;padding:0 40px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-top:25px;padding-bottom:25px;border-bottom:1px solid var(--line);font-size:13px}.brand{text-decoration:none;font-family:Georgia,serif;font-size:30px;font-weight:bold;line-height:1}.brand span{display:block;font-family:system-ui,sans-serif;font-size:10px;letter-spacing:1px;font-weight:400;margin-top:9px}section{padding:48px 0;border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;padding:65px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--green);margin:0 0 16px}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;margin:0 0 22px}h1{font-size:clamp(40px,4.5vw,60px);letter-spacing:-1.5px}h2{font-size:34px}h3{font-size:17px;margin:0 0 12px}p{margin:0 0 14px}.intro{font-size:17px;max-width:540px}.badge{display:inline-block;background:#eee7d4;color:#684c20;font-size:12px;padding:6px 12px;border-radius:4px;margin:10px 0 0}.offer{background:var(--green);color:#fff;padding:34px;border-radius:9px}.offer>strong{display:block;font-size:40px;letter-spacing:-1px;line-height:1.2;margin:14px 0 28px}.offer small{font-size:13px;letter-spacing:1px;font-weight:400}.offer-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff36;padding:14px 0;font-size:14px}.offer .note{color:#e1e9df;margin:16px 0 0}.note{font-size:12px;color:var(--muted);line-height:1.6}.three,.four,.two{display:grid;gap:18px}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr);gap:12px}.two{grid-template-columns:1fr 1fr;gap:42px}.panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:7px}.panel p{font-size:14px;margin:0}.flow-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.flow-section>div>p:not(.eyebrow){font-size:14px}.flow{background:#e9eddf;border-radius:8px;padding:24px}.flow>div:not(.split){display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #c9d3c0;font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.split p{font-size:12px;margin:0}.split strong{display:block;font-size:22px}.split small{display:block;color:var(--muted);font-size:11px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-head h2{margin-bottom:10px}.timeline{margin:26px 0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}label{font-weight:600}output{font-size:23px;font-family:Georgia,serif}input[type=range]{display:block;width:100%;margin:22px 0 4px;accent-color:var(--green);height:30px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:16px}.jumps{display:flex;flex-wrap:wrap;gap:8px}button{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:9px 12px;color:var(--ink);font-size:12px;min-height:40px}button:hover,button[aria-pressed=true]{background:var(--green);color:white}button:focus-visible,input:focus-visible,summary:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}.period-note{font-size:13px;color:var(--muted);min-height:42px}.metric{background:white;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:5px;padding:18px 16px}.metric .name{font-size:12px;font-weight:600;margin:0 0 8px}.amount{font-size:clamp(19px,2vw,25px);font-weight:650;letter-spacing:-.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.metric dl{font-size:11px;margin:15px 0 0}.metric dl div{display:flex;justify-content:space-between;gap:6px;margin-top:6px}.metric dt{color:var(--muted)}.metric dd{margin:0;white-space:nowrap}.metric .balance{padding-top:10px;border-top:1px solid var(--line);margin-top:12px}.metric small{display:block;font-size:11px;color:var(--muted);margin-top:10px}.subheading{margin-top:30px}.accumulated .metric{border-top:1px solid var(--line);background:#efefe6}.accumulated .amount{font-size:22px}.chart-panel{margin-top:30px;padding:24px;background:white;border:1px solid var(--line);border-radius:8px}.legend{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.loan-key{color:var(--green);font-weight:700}.purchase-key{color:var(--ochre);font-weight:700}svg{display:block;width:100%;height:auto}details{margin-top:20px;border:1px solid var(--line);border-radius:6px;padding:18px;background:white}summary{cursor:pointer;font-size:14px;font-weight:600}details[open] summary{margin-bottom:15px}.table-scroll{overflow-x:auto;max-height:520px}table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}caption{text-align:left;color:var(--muted);padding:10px 0}th,td{padding:12px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}thead th{position:sticky;top:0;background:#e9eddf}th:first-child{text-align:left}tbody tr.selected{background:#e7eedc;outline:2px solid var(--green);outline-offset:-2px}.historical{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.historical span{display:block;font-size:13px;color:var(--muted)}.historical strong{font-family:Georgia,serif;font-weight:400;font-size:29px}.calculation{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px;background:#e9eddf;border-radius:6px;margin-bottom:18px}.calculation p{font-size:12px;margin:0}.calculation b{display:block;font-size:21px}.conditions{padding:32px;background:#edeadf;border-radius:8px;margin:45px 0 0}.conditions h2{font-size:30px}.conditions h3{font-size:14px;margin-top:15px}.conditions p:not(.eyebrow){font-size:13px}.conditions .eyebrow{color:#735124}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0;font-size:11px;color:var(--muted)}
@media(max-width:900px){.hero{gap:30px}.offer{padding:24px}.offer>strong{font-size:32px}.four{grid-template-columns:repeat(2,1fr)}.flow-section{gap:25px}.three{gap:10px}.panel{padding:18px}.metric .amount{font-size:26px}}
@media(max-width:600px){main,.topbar{padding-left:20px;padding-right:20px}.topbar{font-size:11px}.brand{font-size:25px}.hero{grid-template-columns:1fr;padding:35px 0;gap:28px}h1{font-size:43px}h2{font-size:30px}.offer>strong{font-size:37px}.three,.flow-section,.two{grid-template-columns:1fr}.three{gap:12px}.flow-section{gap:15px}section{padding:34px 0}.four{gap:10px}.metric{padding:14px 10px}.metric .amount,.accumulated .amount{font-size:19px}.metric dl div{display:block;margin-top:9px}.metric dd{margin-top:2px;font-size:12px}.metric .name{font-size:11px}.timeline{padding:18px}.section-head{align-items:flex-start}.section-head>.note{max-width:90px;text-align:right}output{font-size:20px}.chart-panel{padding:16px 10px}.historical{gap:12px;grid-template-columns:1fr}.historical>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.historical strong{font-size:25px}.calculation{align-items:stretch;gap:10px;padding:16px;flex-direction:column}.calculation p{display:flex;justify-content:space-between;align-items:center;gap:20px}.calculation>span{display:none}.calculation b{font-size:19px}.conditions{padding:22px}.two{gap:0}footer{flex-direction:column;gap:4px}.period-note{min-height:0}.legend{gap:5px;flex-direction:column}}
@media print{.timeline{display:none}body{background:white}.topbar,main{max-width:none;padding:0 20px}section{break-inside:avoid}.metric{break-inside:avoid}.hero{padding:25px 0}.conditions{margin-top:20px}details{display:none}}
/* Comparison and diligence */
.controls{margin:26px 0}.controls label{display:block;font-size:13px}.controls select,.controls input[type=number]{display:block;width:100%;padding:11px;border:1px solid #9da99c;border-radius:5px;font:inherit;background:white;color:var(--ink);margin:8px 0 14px;min-height:44px}.controls input:disabled{background:#eee;background:#efefe6;color:#4f5e52}.controls #rate{max-width:210px}.controls select:focus-visible,.controls input:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}.cost-fields{margin:20px 0}.callout{padding:20px;background:#e9eddf;border-left:3px solid var(--green);border-radius:4px;font-size:14px;margin:20px 0;overflow-wrap:anywhere}.comparison-columns{gap:20px}.comparison-data{margin:0;font-size:13px}.comparison-data>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.comparison-data dt{max-width:65%}.comparison-data dd{margin:0;text-align:right;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.comparison-data>div:last-child{background:#e9eddf;padding:12px 8px;margin:10px -8px}.comparison-columns .note{margin:15px 0 0}.action-list li{margin:12px 0}#pending-title~.two{font-size:14px}#input-error{color:#992b20;font-weight:650}#comparison-verdict h3:not(:first-child){margin-top:25px}.controls .note{font-size:13px}a{text-underline-offset:3px}select{max-width:100%}
@media(max-width:600px){.comparison-columns{grid-template-columns:1fr}.comparison-data>div{gap:10px}.comparison-data dt{max-width:62%}.comparison-data dd{font-size:12px}.controls{padding:16px}.controls select{font-size:13px}.callout{padding:16px}.comparison-columns .panel{padding:18px}.cost-fields{grid-template-columns:1fr}.metric .amount,.accumulated .amount{font-size:clamp(15px,4.7vw,19px)}.metric .name{overflow-wrap:anywhere}.offer-row{flex-wrap:wrap}.split strong{font-size:20px}.brand span{font-size:9px}}
.note{overflow-wrap:anywhere}.comparison-data dt,.comparison-data dd{min-width:0}.three>*,.two>*,.four>*{min-width:0}
.purchase-math{border-top:1px solid #ffffff36;padding-top:18px;font-size:15px}.purchase-math p:last-child{margin-bottom:0}.price-equation{padding:14px;background:#ffffff12;border-radius:5px;font-size:13px}.price-equation b{font-size:18px}.tax-highlight{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:10px 0 16px}.tax-highlight strong{font-size:32px;letter-spacing:-.7px}.tax-highlight span{font-size:13px}.controls #tax-sales{max-width:320px}.controls details p{font-size:13px;margin-top:12px}.controls #tax-summary .note{font-size:12px}
