:root { color-scheme: light; --paper:#f7f7f4; --ink:#101010; --brand:#367588; --line:#d1d1cc; --accent:#FFC208; --accent-hover:#E6AF07; --muted:#666762; --tracking-readable:.01em; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.site-shell { min-height:100vh; }
.topbar { min-height:76px; padding:16px 3vw; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--brand); }
.brand { flex:0 1 480px; min-width:0; }
.brand-logo { display:block; width:240px; max-width:100%; height:auto; }
.topbar-right { display:flex; align-items:center; gap:32px; }
.prototype-label,.eyebrow-row,.kicker,.snapshot-index,.snapshot-footer,.footer { font-size:13px; font-weight:700; letter-spacing:.045em; }
.top-action { background:none; border:0; border-bottom:1px solid var(--brand); padding:6px 0; font-weight:700; }
.top-action span { margin-left:20px; }
.main-shell { padding:0 3vw 64px; max-width:1800px; margin:auto; }
.eyebrow-row { display:flex; justify-content:space-between; padding:20px 0; border-bottom:1px solid var(--line); }
.property-hero { display:grid; grid-template-columns:1.02fr .98fr; gap:3vw; padding:34px 0 36px; border-bottom:1px solid var(--brand); min-height:440px; }
.hero-copy { display:flex; flex-direction:column; align-items:flex-start; }
.kicker { margin:0 0 26px; }
h1,.hero-copy h2 { font-size:clamp(56px,6.7vw,108px); line-height:1.04; letter-spacing:var(--tracking-readable); font-weight:500; margin:0; }
h1 em,.hero-copy h2 em { font-style:normal; border-bottom:.045em solid var(--brand); }
.hero-desc { max-width:480px; font-size:19px; line-height:1.36; letter-spacing:var(--tracking-readable); margin:20px 0 auto; }
.hero-actions { display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }
.button { min-height:54px; border:1px solid var(--brand); padding:14px 18px; display:inline-flex; justify-content:space-between; align-items:center; gap:34px; font-size:15px; font-weight:700; text-align:left; text-decoration:none; }
.button-dark { color:#fff; background:var(--ink); }
.button-line { color:var(--ink); background:transparent; }
.button span { font-size:22px; line-height:1; }
.hero-image { margin:0; display:flex; flex-direction:column; min-width:0; }
.hero-image img { width:100%; height:100%; max-height:440px; min-height:320px; object-fit:cover; filter:saturate(.7); }
.hero-image figcaption { padding-top:9px; font-size:12px; font-weight:700; }
.decision-snapshot { margin-top:28px; border:1px solid var(--brand); }
.snapshot-index,.snapshot-footer { display:flex; justify-content:space-between; gap:20px; padding:18px 22px; }
.snapshot-index { border-bottom:1px solid var(--brand); }
.status { display:inline-flex; align-items:center; gap:10px; }
.status-square { width:10px; height:10px; display:inline-block; background:var(--accent); border:1px solid var(--brand); }
.snapshot-main { display:grid; grid-template-columns:1.25fr .75fr; gap:40px; padding:38px 22px 46px; }
.snapshot-main h1 { max-width:840px; font-size:clamp(38px,4.5vw,68px); line-height:1.02; letter-spacing:var(--tracking-readable); font-weight:500; margin:0; }
.snapshot-main p { align-self:end; font-size:20px; line-height:1.35; letter-spacing:var(--tracking-readable); max-width:420px; margin:0; }
.snapshot-footer { background:var(--accent); border-top:1px solid var(--brand); align-items:center; color:var(--ink); text-decoration:none; }
.snapshot-footer:hover { background:var(--accent-hover); }
.snapshot-footer strong { font-size:18px; font-weight:600; letter-spacing:var(--tracking-readable); }
.snapshot-arrow { font-size:25px; }
.footer { display:flex; justify-content:space-between; gap:20px; padding:24px 3vw; border-top:1px solid var(--brand); color:var(--muted); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #7a8d00; outline-offset:3px; }
h1[tabindex="-1"]:focus { outline:none; }
.subnav { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 3vw; border-bottom:1px solid var(--brand); background:var(--paper); position:sticky; top:0; z-index:5; min-height:56px; }
.subnav-left { display:flex; align-items:center; gap:30px; }
.subnav a { display:inline-flex; align-items:center; min-height:55px; color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; border-bottom:3px solid transparent; padding-top:3px; white-space:nowrap; }
.subnav a[aria-current="page"] { border-bottom-color:var(--brand); }
.subnav-caption { font-size:12px; color:var(--muted); font-weight:700; letter-spacing:.05em; white-space:nowrap; }
.owner-link span { margin-left:14px; font-size:19px; line-height:1; }
.screen[hidden],.intake-step[hidden],.toast[hidden] { display:none !important; }
.facts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-bottom:1px solid var(--brand); }
.fact { padding:38px 24px 44px 0; border-right:1px solid var(--line); min-height:230px; }
.fact + .fact { padding-left:24px; }
.fact:last-child { border-right:0; }
.section-num { font-size:13px; font-weight:700; letter-spacing:.045em; }
.fact strong { display:block; font-size:27px; font-weight:500; letter-spacing:var(--tracking-readable); line-height:1.08; margin:25px 0 12px; }
.fact p { color:var(--muted); font-size:15px; line-height:1.4; margin:0; max-width:360px; }
.section-end { display:flex; justify-content:space-between; gap:20px; padding:18px 0; font-size:12px; font-weight:700; letter-spacing:.025em; }
.section-end a,.source-note a { color:var(--ink); }
.page-intro { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:6vw; padding:48px 0 50px; border-bottom:1px solid var(--brand); }
.page-intro h1 { font-size:clamp(58px,7.6vw,110px); }
.page-intro > p { max-width:470px; font-size:23px; line-height:1.28; letter-spacing:var(--tracking-readable); margin:0 0 6px; }
.evidence-layout { display:grid; grid-template-columns:.35fr .65fr; border-bottom:1px solid var(--brand); }
.evidence-lead { padding:34px 28px 40px 0; border-right:1px solid var(--brand); display:flex; flex-direction:column; align-items:flex-start; }
.evidence-lead strong { display:block; font-size:43px; font-weight:500; letter-spacing:var(--tracking-readable); line-height:1.05; margin:42px 0 20px; }
.evidence-lead p { font-size:17px; line-height:1.36; margin:20px 0 28px; max-width:340px; }
.readiness-track { width:100%; max-width:310px; height:11px; border:1px solid var(--brand); }
.readiness-track span { display:block; background:var(--ink); height:100%; width:50%; }
.evidence-list { min-width:0; padding-left:28px; }
.evidence-item { display:grid; grid-template-columns:40px 1fr auto; gap:18px; align-items:start; padding:26px 0; border-bottom:1px solid var(--line); }
.evidence-item:last-child { border-bottom:0; }
.evidence-id { font-size:13px; font-weight:700; }
.evidence-item h2 { margin:0 0 7px; font-size:24px; font-weight:500; letter-spacing:var(--tracking-readable); }
.evidence-item p { margin:0; color:var(--muted); font-size:15px; line-height:1.35; }
.pill { border:1px solid var(--brand); padding:7px 9px; font-size:12px; font-weight:700; white-space:nowrap; }
.pill-ready { background:var(--accent); }
.pill-missing { background:transparent; }
.source-note { display:grid; grid-template-columns:.35fr .65fr; gap:30px; padding:30px 0 4px; }
.source-note p { font-size:16px; line-height:1.45; margin:0; max-width:760px; }
.comparison-alert { background:var(--accent); display:grid; grid-template-columns:220px 1fr auto; gap:24px; align-items:center; padding:22px 26px; border:1px solid var(--brand); margin:28px 0; }
.comparison-alert span:first-child { font-size:12px; font-weight:700; letter-spacing:.04em; }
.comparison-alert strong { font-size:24px; font-weight:500; letter-spacing:var(--tracking-readable); }
.comparison-alert span:last-child { font-size:28px; }
.quotes-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.quote-card { border:1px solid var(--brand); padding:22px 25px 28px; min-width:0; }
.quote-top { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid var(--brand); padding-bottom:18px; font-size:12px; font-weight:700; }
.quote-card h2 { font-size:34px; font-weight:500; letter-spacing:var(--tracking-readable); margin:22px 0 18px; }
.quote-price { display:block; font-size:clamp(52px,6vw,88px); font-weight:500; line-height:1; letter-spacing:var(--tracking-readable); }
.quote-card > p { margin:13px 0 32px; font-size:16px; }
.quote-card ul { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.quote-card li { padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; line-height:1.3; }
.quote-card li::before { content:"↗"; margin-right:12px; }
.comparison-details { border-bottom:1px solid var(--brand); }
.comparison-details summary { display:flex; justify-content:space-between; list-style:none; cursor:pointer; padding:25px 0; font-size:22px; font-weight:500; letter-spacing:var(--tracking-readable); }
.comparison-details summary::-webkit-details-marker { display:none; }
.comparison-details summary span { font-size:28px; }
.comparison-details[open] summary span { transform:rotate(45deg); }
.detail-body { max-width:800px; padding:0 0 28px; font-size:17px; line-height:1.45; }
.page-action { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:32px 0; }
.page-action p { font-size:18px; max-width:510px; line-height:1.35; }
.owner-intro { padding:48px 0 44px; display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:40px; }
.owner-intro .kicker { grid-column:1 / -1; margin:0; }
.owner-intro h1 { font-size:clamp(58px,7.2vw,106px); }
.owner-intro > p { max-width:475px; font-size:23px; line-height:1.28; letter-spacing:var(--tracking-readable); margin:0 0 4px; }
.owner-decision { background:var(--ink); color:#fff; }
.owner-number { padding:18px 24px; border-bottom:1px solid #626262; font-size:13px; font-weight:700; }
.owner-decision-main { display:grid; grid-template-columns:1.3fr .7fr; gap:45px; padding:34px 24px 40px; }
.owner-decision h2 { max-width:760px; font-size:clamp(36px,4.7vw,68px); line-height:1.02; letter-spacing:var(--tracking-readable); font-weight:500; margin:0; }
.owner-decision p { max-width:680px; font-size:17px; line-height:1.4; color:#d6d6d2; margin:24px 0 0; }
.owner-cta { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:13px; }
.owner-state { font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--accent); margin-bottom:5px; }
.owner-cta .button { background:var(--accent); color:var(--ink); min-width:250px; }
.text-button { color:inherit; border:0; border-bottom:1px solid var(--brand); background:none; padding:5px 0; font-size:15px; font-weight:700; }
.owner-explain { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--brand); }
.owner-explain > div { padding:38px 25px 42px 0; border-right:1px solid var(--line); }
.owner-explain > div + div { padding-left:25px; }
.owner-explain > div:last-child { border-right:0; }
.owner-explain h3 { font-size:27px; font-weight:500; line-height:1.14; letter-spacing:var(--tracking-readable); margin:32px 0 15px; }
.owner-explain p { color:var(--muted); font-size:15px; line-height:1.42; margin:0; }
.owner-disclaimer { font-size:13px; color:var(--muted); margin:19px 0 0; }
.intake-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:6vw; padding:48px 0 40px; }
.intake-heading { position:sticky; top:84px; align-self:start; }
.intake-heading h1 { font-size:clamp(56px,6.9vw,100px); }
.intake-heading > p:not(.kicker) { max-width:425px; font-size:20px; line-height:1.35; margin:30px 0; }
.intake-progress { display:flex; max-width:310px; gap:8px; margin:50px 0 17px; }
.intake-progress span { height:9px; flex:1; border:1px solid var(--brand); }
.intake-progress span.active { background:var(--ink); }
.intake-panel { border:1px solid var(--brand); padding:30px; min-height:540px; }
.intake-step { min-height:400px; }
.intake-step h2 { font-size:clamp(34px,3.5vw,54px); line-height:1.03; font-weight:500; letter-spacing:var(--tracking-readable); margin:37px 0 30px; }
.intake-step label:not(.upload-zone),.modal label { display:block; font-size:15px; font-weight:700; margin:26px 0 10px; }
.required { color:#aa3000; }
.intake-step input[type="text"],.intake-step select,.modal textarea { width:100%; border:1px solid var(--brand); border-radius:0; background:#fff; color:var(--ink); min-height:54px; padding:13px 14px; font-size:18px; }
.intake-step select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#111 50%),linear-gradient(135deg,#111 50%,transparent 50%); background-position:calc(100% - 20px) 24px,calc(100% - 15px) 24px; background-size:5px 5px; background-repeat:no-repeat; padding-right:45px; }
.input-help { color:var(--muted); font-size:14px; line-height:1.4; margin:9px 0 0; }
.form-intro { font-size:18px; line-height:1.4; margin:0 0 25px; }
.upload-zone { display:flex; flex-direction:column; align-items:center; text-align:center; justify-content:center; min-height:165px; border:1px dashed var(--brand); padding:24px; cursor:pointer; background:#fff; }
.upload-zone:hover { background:#f3f5e8; }
.upload-zone:focus-visible { outline:3px solid #7a8d00; outline-offset:3px; }
.upload-zone strong { font-size:18px; margin:5px 0 6px; }
.upload-zone span:last-child { font-size:14px; color:var(--muted); }
.upload-icon { font-size:32px; line-height:1; }
#evidence-files { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.upload-zone:focus-within { outline:3px solid #7a8d00; }
.chosen-files { padding-left:20px; margin:15px 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.draft-summary { margin:24px 0; border-top:1px solid var(--brand); }
.draft-summary > div { display:grid; grid-template-columns:130px 1fr; gap:15px; padding:12px 0; border-bottom:1px solid var(--line); }
.draft-summary dt { color:var(--muted); }
.draft-summary dd { margin:0; font-weight:700; }
.draft-next { padding:20px; background:var(--accent); border:1px solid var(--brand); }
.draft-next span { font-size:12px; font-weight:700; }
.draft-next p { margin:15px 0 0; font-size:16px; line-height:1.4; }
.form-error { color:#9b2700; font-size:15px; font-weight:700; }
.form-actions { display:flex; align-items:center; gap:12px; padding-top:22px; border-top:1px solid var(--line); flex-wrap:wrap; }
.form-actions .text-button { margin-left:auto; }
.modal { width:min(560px,calc(100vw - 32px)); border:1px solid var(--brand); border-radius:0; padding:0 24px 26px; background:var(--paper); color:var(--ink); box-shadow:12px 12px 0 rgba(0,0,0,.18); }
.modal::backdrop { background:rgba(0,0,0,.6); }
.modal-top { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--brand); padding:14px 0; font-size:12px; font-weight:700; }
.modal-close { border:0; background:none; font-size:28px; line-height:1; }
.modal h2 { font-size:46px; font-weight:500; line-height:1.05; letter-spacing:var(--tracking-readable); margin:25px 0 16px; }
.modal p { font-size:17px; line-height:1.4; }
.modal textarea { resize:vertical; }
.modal-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; }
.toast { position:fixed; z-index:30; bottom:25px; right:25px; max-width:340px; background:var(--ink); color:#fff; padding:16px 20px; border-left:6px solid var(--accent); font-size:15px; box-shadow:0 12px 35px rgba(0,0,0,.18); }
@media(max-width:900px) { .page-intro,.owner-intro { grid-template-columns:1fr; gap:25px; } .owner-intro .kicker { grid-column:auto; } .owner-decision-main { grid-template-columns:1fr; gap:28px; } .owner-cta { align-items:flex-start; } .intake-layout { gap:4vw; } }
@media(max-width:800px) { .brand { flex:0 0 100%; max-width:100%; } .topbar { flex-wrap:wrap; gap:8px; } .topbar-right { width:100%; justify-content:space-between; gap:16px; } .brand-logo { width:180px; height:auto; } .topbar { min-height:68px; padding:12px 18px; } .prototype-label { display:none; } .subnav { padding:0 18px; gap:15px; overflow-x:auto; } .subnav-left { gap:20px; } .subnav-caption { display:none; } .main-shell { padding:0 18px 44px; } .property-hero { display:flex; flex-direction:column; gap:22px; padding:23px 0 27px; min-height:0; } h1,.hero-copy h2 { font-size:clamp(54px,10vw,82px); } .kicker { margin-bottom:15px; } .hero-desc { margin:20px 0 0; font-size:17px; } .hero-image img { height:190px; min-height:0; } .decision-snapshot { margin-top:20px; } .snapshot-main { display:block; padding:28px 18px 34px; } .snapshot-main h1 { font-size:clamp(35px,7vw,52px); } .snapshot-main p { margin-top:22px; font-size:17px; } .snapshot-index,.snapshot-footer { padding:15px 18px; } .snapshot-footer { display:grid; grid-template-columns:1fr auto; } .snapshot-footer strong { grid-column:1; font-size:17px; } .snapshot-arrow { grid-column:2; grid-row:1 / span 2; } .facts-grid,.owner-explain { grid-template-columns:1fr; } .fact,.fact + .fact,.owner-explain > div,.owner-explain > div + div { padding:24px 0; border-right:0; border-bottom:1px solid var(--line); min-height:0; } .fact:last-child,.owner-explain > div:last-child { border-bottom:0; } .fact strong,.owner-explain h3 { margin:14px 0 8px; } .page-intro { padding:35px 0 38px; } .page-intro h1 { font-size:clamp(58px,10vw,82px); } .page-intro > p { font-size:19px; } .evidence-layout { display:block; } .evidence-lead { border-right:0; border-bottom:1px solid var(--brand); padding:26px 0; } .evidence-lead strong { margin:22px 0 15px; font-size:36px; } .evidence-list { padding-left:0; } .source-note { grid-template-columns:1fr; gap:12px; } .intake-layout { display:block; padding-top:30px; } .intake-heading { position:static; } .intake-heading h1 { font-size:clamp(56px,10vw,78px); } .intake-heading > p:not(.kicker) { font-size:17px; margin:20px 0; } .intake-progress { margin:20px 0 12px; } .intake-panel { margin-top:22px; } .footer { padding:22px 18px; font-size:12px; } }
@media(max-width:620px) { .owner-link { margin-left:auto; } .subnav a { font-size:13px; } .comparison-alert { display:block; padding:20px; } .comparison-alert strong { display:block; font-size:21px; margin-top:10px; } .comparison-alert span:last-child { display:none; } .quotes-grid { grid-template-columns:1fr; } .page-action { display:block; } .owner-intro { padding:35px 0; } .owner-intro h1 { font-size:clamp(52px,12vw,72px); } .owner-intro > p { font-size:19px; } .owner-decision-main { padding:24px 18px 30px; } .owner-decision h2 { font-size:clamp(36px,9vw,52px); } .owner-cta .button { width:100%; } .evidence-item { grid-template-columns:28px 1fr; gap:12px; } .pill { grid-column:2; justify-self:start; } .section-end { flex-direction:column; } }
@media(max-width:520px) { .top-action { font-size:14px; } .eyebrow-row { font-size:12px; } .hero-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; } .button { gap:8px; min-height:54px; padding:12px; font-size:14px; } .button span { font-size:18px; } .hero-image img { height:135px; } .snapshot-index { font-size:11px; } .footer { display:block; } .footer span { display:block; margin-bottom:7px; } .quote-card { padding:17px; } .quote-price { font-size:65px; } .intake-panel { padding:20px; min-height:0; } .intake-step { min-height:390px; } .form-actions .button { flex:1; } .form-actions .text-button { margin:10px 0 0; } .draft-summary > div { grid-template-columns:95px 1fr; } .modal h2 { font-size:36px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
