:root{--ink:#0a0a0a;--gray:#666;--line:#dedede;--paper:#f5f5f5;--font:'Inter Tight','Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #777;outline-offset:4px}button{color:inherit}h1,h2,h3,h4,p{margin:0;font-weight:400}h1{font-size:clamp(42px,6.3vw,78px);letter-spacing:-2.5px;line-height:1.02}h2{font-size:clamp(27px,3vw,40px);letter-spacing:-.9px;line-height:1.12}h3{font-size:23px;letter-spacing:-.5px;line-height:1.2}h4{font-size:17px;line-height:1.35}p{line-height:1.65}.shell{max-width:1392px;margin:auto;padding-left:48px;padding-right:48px}.site-header{position:sticky;top:0;z-index:30;background:#fffffff2;backdrop-filter:blur(12px);border-bottom:1px solid #ededed}.nav{display:flex;gap:24px;align-items:center;min-height:76px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:17px;font-weight:500;white-space:nowrap}.mark{width:30px;height:30px;border:1px solid #333;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.nav nav{display:flex;gap:28px;margin-left:auto;align-items:center}.nav nav a{font-size:14px;text-decoration:none;color:#666;white-space:nowrap}.nav nav a.active{color:#0a0a0a;text-decoration:underline;text-underline-offset:7px}.intro{padding-top:38px;padding-bottom:58px}.back{font-size:12px;text-decoration:none;color:#888}.eyebrow{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#737373}.intro>.eyebrow{margin-top:45px;margin-bottom:20px}.intro-line{display:flex;align-items:end;justify-content:space-between;gap:32px}.intro-line p{color:#777;font-size:17px;max-width:330px}.lead{font-size:19px;max-width:740px;color:#666;margin-top:26px}.intro-meta{display:flex;flex-wrap:wrap;gap:12px 30px;border-top:1px solid #e5e5e5;padding-top:24px;margin-top:38px;font-size:12px;color:#777}.section-line{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-line .eyebrow{margin-bottom:12px}.small,.help{font-size:12px;color:#777;line-height:1.6}.help{margin-top:9px}.calculator{scroll-margin-top:100px}.calculator-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:64px;align-items:start}.calculator-grid[hidden]{display:none}.step{padding:30px 0;border-top:1px solid #d8d8d8}.step:first-child{padding-top:24px}.step-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.step-number{font-size:11px;color:#aaa}.field{display:flex;flex-direction:column;gap:8px;margin:18px 0}.field>label,.field>span{font-size:13px;color:#555}.field input:not([type=range]):not([type=checkbox]),.field select{width:100%;min-width:0;background:#fff;border:1px solid #ccc;border-radius:2px;color:#111;padding:13px 14px;font-size:16px;min-height:48px}.field select{padding-right:30px;text-overflow:ellipsis}.field input[type=range],.chart-inspector input{width:100%;margin:8px 0;accent-color:#111}.field .help{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.check{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;margin:16px 0 0}.check input{accent-color:#111;width:16px;height:16px;margin:2px 0 0;flex:none}.house-check{font-size:16px;margin:24px 0 20px}.house-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.house-option{padding:0 0 12px;border:1px solid #ddd;background:#fff;text-align:left;overflow:hidden}.house-option[aria-pressed=true]{border-color:#111;box-shadow:inset 0 -3px #111}.house-option img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover}.house-option strong{display:block;font-weight:400;font-size:15px;margin:10px 10px 4px}.house-option span{display:block;font-size:12px;color:#777;margin:0 10px}.price-breakdown{margin:22px 0 0;border-top:1px solid #e4e4e4;padding-top:16px}.price-breakdown>div{display:flex;justify-content:space-between;gap:18px;font-size:14px;margin-bottom:12px}.price-breakdown dt{color:#777}.price-breakdown dd{margin:0;white-space:nowrap}.price-breakdown .total{font-size:17px;padding-top:14px;border-top:1px solid #e6e6e6}.price-breakdown .total dt{color:#111}.segmented{display:flex;flex-wrap:wrap;border:1px solid #ccc;border-radius:28px;padding:3px;gap:3px;width:fit-content;max-width:100%}.segmented button{border:0;background:transparent;padding:11px 19px;border-radius:24px;font-size:14px;white-space:nowrap}.segmented button[aria-pressed=true]{background:#111;color:#fff}.compact button{font-size:12px;padding:9px 14px}.programs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:25px}.programs button{background:#fff;border:1px solid #ddd;text-align:left;padding:16px 13px}.programs button span{display:block;font-size:13px;margin-bottom:13px}.programs button b{font-size:26px;letter-spacing:-.5px;font-weight:400;white-space:nowrap}.programs button[aria-pressed=true]{background:#111;border-color:#111;color:#fff}.program-copy{margin-top:22px;font-size:14px;color:#666;line-height:1.65}.program-copy h4{color:#111;margin-bottom:8px}.program-copy a{color:#111;text-underline-offset:3px}.program-copy p+p{margin-top:10px}.eligibility,.expenses{border-top:1px solid #ddd;margin-top:24px;padding-top:18px}.eligibility>summary,.expenses>summary{font-size:14px;cursor:pointer;line-height:1.4}.eligibility-results{padding:14px 0}.eligibility-results p{font-size:13px;padding:7px 0;border-bottom:1px solid #eee}.subheading{margin-top:28px;margin-bottom:9px}.bank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px}.bank-option{background:#fff;border:1px solid #ddd;padding:14px 11px;text-align:left;min-width:0}.bank-option[aria-pressed=true]{border-color:#111;box-shadow:inset 0 -3px #111}.bank-title{display:flex;align-items:center;gap:8px;font-size:12px;min-height:32px}.bank-title img{width:27px;height:27px;object-fit:contain;filter:none}.bank-payment{display:block;font-size:18px;margin-top:14px;white-space:nowrap;letter-spacing:-.5px}.bank-rate{display:block;font-size:11px;color:#777;margin-top:6px;line-height:1.5}.bank-details{font-size:12px;color:#777;line-height:1.65;margin-top:14px}.bank-details p{margin-bottom:7px}.bank-details a{color:#333;text-underline-offset:2px}.range-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#777}.text-button{background:none;border:0;padding:0;text-decoration:underline;font-size:11px;color:#555;text-align:right}.warnings{margin-top:18px}.warnings:empty{display:none}.warnings p{font-size:13px;line-height:1.55;border-left:2px solid #111;background:#f5f5f5;padding:13px 15px;margin-bottom:9px}.warnings button{border:0;background:none;text-decoration:underline;padding:6px 0 0;font-size:13px}.result{position:sticky;top:100px;background:#f5f5f5;padding:30px;min-width:0}.result-top h2{font-size:29px;margin:14px 0 10px}.result-top p{font-size:13px;color:#777}.main-number{margin:25px 0}.main-number>span{font-size:12px;color:#777;display:block}.main-number strong{font-size:clamp(30px,3vw,45px);letter-spacing:-1.5px;display:block;font-weight:400;margin-top:8px;white-space:nowrap}.main-number small{display:block;font-size:11px;line-height:1.5;color:#777;margin-top:7px}.result-list{margin:0}.result-list>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;margin-bottom:15px}.result-list dt{color:#777;max-width:60%}.result-list dd{margin:0;text-align:right;white-space:nowrap}.result-list .emphasis{border-top:1px solid #d5d5d5;padding-top:16px;font-size:15px}.result-list .emphasis dt{color:#111}.result-note,.result-validity{font-size:12px;line-height:1.6;margin-top:20px;color:#666}.result-validity{color:#111}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #111;border-radius:28px;padding:15px 24px;background:#fff;font:inherit;font-size:14px}.button.primary{background:#111;color:#fff}.button:hover{background:#333;color:#fff}.result>.button{width:100%;margin-top:24px}.result-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.result-actions button{border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:12px;padding:0}.chart-section{padding-top:80px;scroll-margin-top:100px}.chart-explanation{font-size:14px;color:#666;max-width:880px;margin-top:-8px;margin-bottom:20px}.chart-key{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:#666;margin-bottom:18px}.chart-key span{display:flex;align-items:center;gap:8px}.key-line{width:22px;border-top:2px solid #111}.key-marker{width:9px;height:9px;background:#fff;border:2px solid #111;border-radius:50%}.key-dash{width:22px;border-top:1px dashed #777}.chart-box{width:100%;position:relative;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.chart-box svg{display:block;width:100%;height:390px;overflow:visible;touch-action:pan-y}.chart-inspector{margin-top:20px}.chart-inspector label{font-size:12px;display:flex;justify-content:space-between;gap:16px}.chart-inspector output{color:#666}.chart-inspector #chart-detail{font-size:13px;line-height:1.6;padding-top:10px;min-height:55px;color:#555}.ownership-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px;margin:30px 0 0}.ownership-event{border-top:2px solid #111;padding-top:18px}.ownership-event small{font-size:11px;color:#777}.ownership-event h3{font-size:22px;margin:10px 0}.ownership-event p{font-size:13px;line-height:1.6;color:#666}.payment-table{margin-top:32px;border-top:1px solid #ddd;padding-top:20px}.payment-table>summary{cursor:pointer;font-size:15px}.table-scroll{overflow:auto;max-height:440px;margin-top:18px;border-bottom:1px solid #ddd}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th,td{padding:12px 10px;border-bottom:1px solid #e8e8e8;white-space:nowrap}th{font-weight:400;color:#777;position:sticky;top:0;background:#fff}td:not(:first-child),th:not(:first-child){text-align:right}.explainer{padding-top:90px}.explanation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.explanation-grid article{border-top:1px solid #ccc;padding-top:24px}.explanation-grid h3{font-size:25px;margin:15px 0}.explanation-grid p{font-size:14px;color:#666;margin-bottom:14px}.explanation-grid a{display:inline-block;font-size:12px;text-underline-offset:3px;margin-right:10px;line-height:1.8}.ownership-note{margin-top:48px;padding:28px 30px;background:#f5f5f5}.ownership-note h3{font-size:27px;margin-bottom:14px}.ownership-note p{font-size:14px;color:#666;margin-bottom:12px;max-width:1000px}.ownership-note a{font-size:12px}.faq{margin-top:50px;max-width:900px}.faq>h3{margin-bottom:20px}.faq details{border-top:1px solid #ddd;padding:20px 0}.faq summary{font-size:17px;cursor:pointer}.faq p{font-size:14px;color:#666;margin-top:15px}.sources{border-top:1px solid #ccc;padding-top:25px;margin-top:45px;color:#777}.sources h3{font-size:18px;color:#444;margin-bottom:14px}.sources p,.sources a{font-size:12px;line-height:1.7}.sources #source-links{display:flex;flex-wrap:wrap;gap:9px 24px;margin:16px 0}.footer{border-top:1px solid #ddd;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:30px;padding-bottom:40px;margin-top:60px;font-size:12px;color:#777}.footer .brand{font-size:15px;color:#444}dialog{border:0;max-width:480px;width:calc(100% - 32px);margin:auto;padding:34px;max-height:90dvh;overflow:auto;color:#111;background:#fff}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}dialog h2{font-size:31px;margin:18px 0 12px}dialog>p{font-size:13px;color:#666}dialog .close-dialog{position:absolute;top:10px;right:12px;background:none;border:0;font-size:27px;color:#777}.consent{font-size:12px}dialog .button{width:100%;margin:24px 0 12px}dialog #consultation-status{font-size:14px;line-height:1.6}.honeypot{position:absolute;left:-9999px;overflow:hidden;width:1px;height:1px}[hidden]{display:none!important}
@media(max-width:1100px){.shell{padding-left:30px;padding-right:30px}.calculator-grid{gap:30px;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr)}.result{padding:24px}.programs button b{font-size:24px}.bank-grid{grid-template-columns:1fr}.bank-option{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px}.bank-payment{margin:0;font-size:19px}.bank-rate{grid-column:1/-1;margin:0}.nav nav{gap:18px}.intro-line p{max-width:260px}.explanation-grid{gap:24px}}
@media(max-width:800px){.calculator-grid{grid-template-columns:1fr;gap:24px}.result{position:static}.intro-line{display:block}.intro-line p{margin-top:24px;max-width:none}.result .main-number strong{font-size:44px}.result-list>div{font-size:14px}.result-list .emphasis{font-size:17px}.explanation-grid{grid-template-columns:1fr;gap:30px}.ownership-timeline{gap:20px}.nav .nav-news,.nav .nav-arch{display:none}.chart-section{padding-top:60px}.explainer{padding-top:60px}.intro{padding-bottom:44px}.bank-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-option{display:block}.bank-payment{margin-top:13px;font-size:18px}.bank-rate{margin-top:8px}.section-line{align-items:start}}
@media(max-width:520px){.shell{padding-left:22px;padding-right:22px}.nav{min-height:68px;gap:10px}.brand{font-size:16px;gap:8px}.nav nav{gap:16px}.nav nav a{font-size:12px}.nav nav a:first-child{display:none}.intro{padding-top:24px}.intro>.eyebrow{margin-top:35px}h1{letter-spacing:-1.5px;font-size:46px}.lead{font-size:17px}.intro-line p{font-size:15px}.intro-meta{margin-top:28px;font-size:11px}.section-line{display:block}.section-line>.small{display:block;margin-top:14px}h2{font-size:29px}.calculator-grid{gap:20px}.step-heading{gap:12px}.step-heading h3{font-size:22px}.form-grid{grid-template-columns:1fr;gap:0}.segmented button{padding:10px 15px;font-size:13px}.programs button{padding:13px 9px}.programs button span{font-size:12px}.programs button b{font-size:24px}.house-grid{gap:7px}.house-option strong{font-size:13px;margin-left:8px;margin-right:8px}.house-option span{font-size:11px;margin-left:8px;margin-right:8px}.bank-grid{grid-template-columns:1fr;gap:8px}.bank-option{display:grid}.bank-payment{margin:0;font-size:20px}.bank-rate{margin:0}.result{padding:25px 22px}.result-list>div{font-size:12px}.result-list .emphasis{font-size:15px}.chart-section .segmented{margin-top:20px}.chart-key{gap:14px;font-size:11px}.chart-box svg{height:330px}.ownership-timeline{grid-template-columns:1fr;gap:22px}.ownership-event{padding-top:16px}.ownership-event h3{margin:9px 0}.ownership-note{padding:24px 22px}.ownership-note h3{font-size:25px}.footer{flex-wrap:wrap;gap:20px}.footer>a:last-child{width:100%}dialog{padding:30px 24px}.table-scroll{margin-left:-6px;margin-right:-6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.site-header,.configuration,.result>.button,.result-actions,.chart-inspector input,.segmented,.faq,.sources,dialog,.back{display:none!important}.shell{max-width:none;padding:0}.intro{padding:0 0 20px}.intro>.eyebrow{margin-top:15px}.calculator-grid{display:block}.result{position:static;background:#fff;padding:20px 0}.chart-section,.explainer{padding-top:30px}.chart-box svg{height:300px}.result-list>div{margin-bottom:8px}.footer{margin-top:20px}.intro-meta{margin-top:15px}}

/* Compact introduction and explanations directly on the payment chart. */
.intro-line{margin-top:30px}.intro h1{font-size:clamp(34px,4.4vw,54px);letter-spacing:-1.6px;line-height:1.08}.intro .lead{font-size:16px;max-width:650px;margin-top:18px}.intro{padding-bottom:40px}.intro-meta{margin-top:26px;padding-top:18px}.programs button:disabled{opacity:.45}.programs button:disabled b{font-size:24px}.bank-option:disabled .bank-payment{font-size:14px;white-space:normal}.chart-period-controls{display:flex;align-items:center;gap:18px;margin:-10px 0 22px}.chart-period-controls>span{font-size:12px;color:#777}.chart-context{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding-top:18px;color:#777}.chart-context>span:first-child{color:#111}.chart-box svg{height:420px}.chart-event-rail{display:flex;gap:9px;overflow-x:auto;padding:6px 0 20px;scrollbar-width:thin;scrollbar-color:#bbb #eee}.flow-event{display:flex;gap:10px;align-items:flex-start;min-width:210px;max-width:240px;flex:none;text-align:left;background:#fff;border:1px solid #ddd;padding:14px;font-size:12px}.flow-event-number{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex:none;background:#111;color:#fff;font-size:11px;border-radius:50%}.flow-event small{font-size:10px;line-height:1.5;color:#777;display:block}.flow-event strong{font-size:14px;font-weight:400;display:block;margin:7px 0 0}.flow-event em{font-size:12px;font-style:normal;display:block;margin-top:8px}.flow-event:hover,.flow-event.is-event-active,.project-stage:hover,.project-stage.is-event-active{border-color:#111;background:#f5f5f5}.flow-pin{cursor:pointer;outline:none}.flow-pin:hover circle,.flow-pin:focus-visible circle,.flow-pin.is-event-active circle{stroke-width:3;stroke:#777}.chart-project{padding:20px 0 24px;border-top:1px solid #ddd}.chart-project-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.chart-project-heading h3{font-size:20px}.chart-project-heading>span{font-size:12px;color:#777}.project-stages{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#bbb #eee}.project-stage{flex:1 0 190px;text-align:left;border:1px solid #ddd;border-top:4px solid #aaa;background:#f7f7f7;padding:16px}.project-stage[data-flow-event=foundation]{border-top-color:#222}.project-stage[data-flow-event=shell]{border-top-color:#555}.project-stage[data-flow-event=engineering]{border-top-color:#888}.project-stage[data-flow-event=finish]{border-top-style:dashed;border-top-color:#555}.project-stage span{display:block;font-size:11px;line-height:1.5;color:#777}.project-stage strong{display:block;font-size:17px;font-weight:400;line-height:1.3;margin:12px 0}.project-stage small{font-size:11px;color:#555}.chart-event-popover{position:absolute;z-index:10;padding:24px;background:#fff;border:1px solid #bbb;box-shadow:0 10px 40px #0002}.chart-event-popover>button{position:absolute;top:8px;right:10px;border:0;background:none;font-size:22px;color:#666}.chart-event-popover>span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#777;display:block;padding-right:14px}.chart-event-popover h3{font-size:22px;margin:13px 0 8px}.chart-event-popover #chart-event-date{font-size:12px;color:#777}.chart-event-popover strong{font-weight:400;font-size:24px;display:block;margin-top:14px}.chart-event-popover strong:empty{display:none}.chart-event-popover #chart-event-text{font-size:13px;line-height:1.6;color:#555;margin-top:14px}.chart-inspector{border-top:0}.ownership-timeline:empty{display:none}
@media(max-width:520px){.intro h1{font-size:35px;letter-spacing:-1px}.intro .lead{font-size:15px}.intro-line{margin-top:24px}.intro-meta{margin-top:24px}.chart-context{display:block;line-height:1.6}.chart-context>span{display:block}.chart-context>span+span{margin-top:5px}.chart-box svg{height:390px}.chart-period-controls{display:block}.chart-period-controls>span{display:block;margin-bottom:10px}.chart-period-controls .segmented{margin-top:0}.chart-project-heading{display:block}.chart-project-heading>span{display:block;margin-top:10px}.project-stage{flex-basis:185px}.flow-event{min-width:220px}.chart-event-popover{padding:22px}}
.flow-pin line,.flow-pin text{pointer-events:none}
@media print{.chart-event-popover,.chart-period-controls{display:none!important}.chart-event-rail,.project-stages{flex-wrap:wrap;overflow:visible}.flow-event,.project-stage{flex:1 0 25%}}
