:root { --ink:#18302d; --teal:#16645b; --cream:#f6f4ee; --line:#d7ded9; --gold:#b87220; --danger:#9f3b30; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,"Microsoft YaHei",sans-serif; font-size:17px; line-height:1.6; }
.site-header { background:#fff; border-bottom:1px solid var(--line); padding:18px max(20px, calc((100% - 960px)/2)); font-size:20px; font-weight:700; }
.site-header a { color:var(--ink); text-decoration:none; }.page-shell { max-width:960px; margin:0 auto; padding:38px 20px 54px; }.hero,.report-heading { max-width:740px; }.eyebrow { color:var(--teal); font-weight:700; letter-spacing:.04em; font-size:.9rem; }.quiet { color:#52615e; font-size:.95rem; }
h1 { font-size:clamp(2rem,5vw,3.2rem); line-height:1.2; margin:.2em 0 .5em; } h2 { font-size:1.55rem; line-height:1.3; } h3 { font-size:1.15rem; margin-bottom:.3em; }
.questionnaire { margin-top:28px; }.questionnaire fieldset,.report-section,.preview-panel { background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px; margin:18px 0; }.questionnaire legend { font-size:1.2rem; font-weight:700; padding:0 6px; }.questionnaire label { display:block; font-weight:600; margin:18px 0 5px; }.questionnaire input,.questionnaire select { width:100%; display:block; margin-top:6px; min-height:46px; padding:9px 11px; border:1px solid #8a9994; border-radius:6px; font:inherit; background:#fff; }.field-help { margin:5px 0 15px; color:#52615e; font-size:.92rem; line-height:1.5; }.field-help.callout { color:#244e48; background:#edf4f1; border-left:4px solid var(--teal); border-radius:4px; padding:10px 12px; }
.button { display:inline-block; border-radius:7px; padding:12px 18px; border:1px solid transparent; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; margin:7px 7px 0 0; }.primary { color:#fff; background:var(--teal); }.secondary { color:var(--teal); background:#fff; border-color:var(--teal); }.score-card { background:var(--ink); color:#fff; border-radius:14px; padding:28px 38px; display:grid; grid-template-columns:minmax(280px,1fr) minmax(310px,auto); align-items:center; gap:34px; margin:25px 0 14px; }.score-label { display:block; font-size:1.15rem; font-weight:700; }.score-line { display:flex; align-items:baseline; gap:14px; margin-top:5px; }.score-line strong { font-size:4.2rem; line-height:1; }.score-out-of { font-weight:700; font-size:1.3rem; }.risk-pill { color:#18302d; background:#f1cf83; border-radius:999px; padding:3px 14px; font-size:1.05rem; line-height:1.4; }.subscores { display:grid; gap:12px; }.subscore-row { display:grid; grid-template-columns:34px 80px 1fr; align-items:center; column-gap:12px; white-space:nowrap; }.subscore-row .category { font-size:1.45rem; font-weight:700; }.subscore-row strong { font-size:1.08rem; }.stars { color:#f1cf83; font-size:1.45rem; letter-spacing:2px; line-height:1; }.premium-note { background:#e7efec; border-radius:8px; padding:12px; }.demo-banner { background:#edf4f1; border-left:4px solid var(--teal); border-radius:4px; color:#244e48; padding:11px 14px; }.risk-source-list,.value-list { padding-left:1.35em; }.risk-source-list li,.value-list li { margin:.38em 0; }.risk-source-list li::marker,.value-list li::marker { color:var(--teal); }.unlock-card,.payment-simulator { background:#fff4dc; border:2px solid #d7a44a; border-radius:12px; padding:28px; margin-top:22px; }.unlock-card h2 { margin:0 0 .45em; }.unlock-card .primary { min-width:255px; text-align:center; }.unlock-card .status-check { color:#5b6864; background:transparent; border-color:#b5b9ae; font-size:.88rem; font-weight:500; padding:7px 11px; vertical-align:middle; }.payment-simulator { max-width:620px; }.payment-price { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid #dec89b; padding-bottom:15px; font-size:1.15rem; }.payment-price strong { font-size:2.15rem; color:#8a5311; }.status-message { min-height:1.5em; color:var(--teal); }.dev-link { border:0; background:none; color:#667570; text-decoration:underline; padding:8px 0; cursor:pointer; font-size:.9rem; }.priority { border-top:1px solid var(--line); padding:8px 0 13px; }.priority:first-of-type { border-top:0; }.stress-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.stress-grid div { background:#edf4f1; border-radius:8px; padding:14px; }.stress-grid strong { display:block; font-size:1.35rem; } .flash { padding:12px 15px; border-radius:7px; margin-bottom:18px; }.flash.error { background:#fbe8e5; color:#792d24; }.flash.success { background:#e6f3e9; color:#245b35; } footer { max-width:960px; margin:0 auto; padding:25px 20px 40px; color:#52615e; font-size:.85rem; border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:start; gap:18px; margin-bottom:18px; }.section-heading h2,.report-section h2 { margin:.1em 0 .45em; }.section-chip,.timing { display:inline-block; border-radius:999px; background:#dcece6; color:#185246; padding:3px 10px; font-size:.82rem; font-weight:700; white-space:nowrap; }.action-plan-section { border-color:#9abdb2; }.action-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.action-card { border:1px solid #d7ded9; border-radius:10px; padding:17px; background:#fbfdfc; }.action-card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; }.step-number { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#fff; background:var(--teal); font-weight:700; }.action-card h3 { min-height:3.1em; margin:12px 0 9px; }.action-card p { margin:.25em 0 .9em; }.action-label { color:#426661; font-size:.84rem; font-weight:700; }.cost-note { border-top:1px solid #dce7e2; padding-top:10px; color:#315d55; font-size:.92rem; }.not-now-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }.not-now-grid article { background:#f7f8f5; border-radius:8px; padding:14px; border-left:4px solid #aabbb3; }.not-now-grid h3 { font-size:1rem; margin:.1em 0 .4em; }.not-now-grid p { margin:0; }.document-section { background:#f9fbfa; }.checklist { list-style:none; padding:0; margin:14px 0 0; }.checklist li { position:relative; padding:8px 0 8px 32px; border-bottom:1px solid #e1e8e4; }.checklist li::before { content:'✓'; position:absolute; left:0; top:8px; width:20px; height:20px; border-radius:50%; background:#dcece6; color:#185246; text-align:center; line-height:20px; font-weight:700; }.question-cards { list-style:none; padding:0; counter-reset:question; display:grid; gap:10px; }.question-cards li { background:#f7f8f5; border-radius:8px; padding:13px 15px; }.question-cards span { color:#426661; font-size:.84rem; font-weight:700; }.question-cards p { margin:.25em 0 0; font-weight:600; }.stress-grid span,.stress-grid small { display:block; }.stress-grid small { color:#52615e; font-size:.82rem; }.investment-result { background:#edf4f1; border-radius:7px; padding:12px; }.sources-section { background:#f7f8f5; }.sources-section h2 { font-size:1.2rem; }.sources-section li { margin:.45em 0; }.sources-section a { color:#16645b; }
@media (max-width:700px) { body { font-size:16px; }.page-shell { padding:27px 15px 40px; }.score-card { display:block; padding:23px; }.subscores { margin-top:24px; }.score-line strong { font-size:3.5rem; }.subscore-row { grid-template-columns:30px 73px 1fr; column-gap:8px; }.stars { font-size:1.2rem; letter-spacing:0; }.questionnaire fieldset,.report-section,.preview-panel,.unlock-card { padding:18px; }.section-heading { display:block; }.section-chip { margin-top:3px; }.action-plan-grid { grid-template-columns:1fr; }.action-card h3 { min-height:0; }.stress-grid { grid-template-columns:1fr; }.wildfire-result-card,.wildfire-teaser { display:block; }.wildfire-result-card .button,.wildfire-teaser .button { width:100%; text-align:center; }.wildfire-map-card #calfire-map { height:430px; } }

.wildfire-address-card,.wildfire-result-card,.wildfire-map-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px; margin:20px 0; }.wildfire-address-card { max-width:720px; }.wildfire-address-card h2,.wildfire-result-card h2 { margin-top:0; }.wildfire-address-form input { width:100%; min-height:48px; padding:10px 12px; border:1px solid #8a9994; border-radius:6px; font:inherit; }.wildfire-address-form label { display:block; font-weight:700; margin:16px 0 5px; }.wildfire-result-card { display:flex; justify-content:space-between; align-items:center; gap:18px; }.wildfire-result-card h2 { font-size:1.15rem; }.wildfire-result-card .button { white-space:nowrap; }.wildfire-map-card { padding:0; overflow:hidden; }.wildfire-map-card #calfire-map { height:560px; width:100%; }.map-legend { padding:13px 18px; font-size:.92rem; display:flex; align-items:center; flex-wrap:wrap; gap:7px; background:#fbfdfc; }.legend-dot { width:13px; height:13px; display:inline-block; border-radius:50%; margin-left:7px; }.legend-dot:first-child { margin-left:0; }.very-high { background:#e60000; }.high { background:#ff5500; }.moderate { background:#e6e600; }.wildfire-teaser { display:flex; justify-content:space-between; align-items:center; gap:22px; border-color:#d7a44a; background:#fffaf0; }.wildfire-teaser h2 { margin-top:.1em; }.wildfire-teaser .button { min-width:210px; text-align:center; }.wildfire-explainer b { color:#185246; }
.market-history { border-color:#9abdb2; }.market-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0; }.market-summary-grid article { background:#edf4f1; border-radius:9px; padding:15px; }.market-summary-grid span,.market-summary-grid small { display:block; }.market-summary-grid span { color:#426661; font-size:.84rem; font-weight:700; }.market-summary-grid strong { display:block; color:#185246; font-size:1.55rem; line-height:1.25; margin:4px 0; }.market-summary-grid small { color:#52615e; line-height:1.4; }.market-trend { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; align-items:end; margin:18px 0; }.market-trend article { min-width:0; }.market-year { display:grid; gap:2px; margin-bottom:6px; font-size:.83rem; }.market-year span { color:#426661; font-weight:700; white-space:nowrap; }.market-bar { height:9px; background:#dce7e2; border-radius:999px; overflow:hidden; }.market-bar i { display:block; height:100%; border-radius:inherit; background:#16645b; }.market-reading { background:#f7f8f5; border-left:4px solid #aabbb3; border-radius:5px; padding:11px 13px; }.market-access { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,1fr); gap:18px; margin:22px 0 12px; padding:17px; border:1px solid #d7ded9; border-radius:9px; background:#fbfdfc; }.market-access h3 { margin:.15em 0 .4em; }.market-access p { margin:.25em 0; }.market-access ol { list-style:none; padding:0; margin:0; }.market-access li { display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid #e2e9e5; font-size:.9rem; }.market-access li span { color:#426661; text-align:right; }.market-caution { color:#6b5428; background:#fff7e6; border-radius:6px; padding:10px 12px; font-size:.91rem; }

@media (max-width:700px) { .wildfire-result-card,.wildfire-teaser { display:block; }.wildfire-result-card .button,.wildfire-teaser .button { width:100%; text-align:center; }.wildfire-map-card #calfire-map { height:430px; } }
@media (max-width:700px) { .market-summary-grid,.market-access { grid-template-columns:1fr; }.market-trend { grid-template-columns:repeat(3,1fr); row-gap:14px; }.market-access li { display:block; }.market-access li span { display:block; text-align:left; } }
.conclusion-panel { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(250px,.9fr); gap:26px; border-color:#9abdb2; background:#fbfdfc; }.conclusion-panel ul { margin:0; padding:0; list-style:none; }.conclusion-panel li { padding:9px 0 9px 25px; position:relative; border-bottom:1px solid #e1e8e4; font-weight:600; }.conclusion-panel li::before { content:'!'; position:absolute; left:0; top:10px; width:16px; height:16px; border-radius:50%; background:#f1cf83; color:#18302d; text-align:center; font-size:.75rem; line-height:16px; font-weight:700; }.table-wrap { overflow-x:auto; border:1px solid #d7ded9; border-radius:9px; }.report-table { width:100%; min-width:620px; border-collapse:collapse; font-size:.92rem; background:#fff; }.report-table th,.report-table td { padding:12px 13px; vertical-align:top; text-align:left; border-bottom:1px solid #e1e8e4; }.report-table thead th { background:#edf4f1; color:#244e48; font-size:.84rem; white-space:nowrap; }.report-table tbody tr:last-child th,.report-table tbody tr:last-child td { border-bottom:0; }.report-table tbody th { min-width:145px; color:#18302d; }.action-table td { min-width:190px; line-height:1.55; }.action-table small { display:block; color:#52615e; font-weight:400; margin-top:5px; }.action-table .step-number { margin-right:7px; vertical-align:middle; }.local-intelligence { border-color:#d7a44a; }.section-intro { margin-top:0; }.market-summary-grid { grid-template-columns:repeat(3,1fr); }.market-table { min-width:480px; }.market-table td,.market-table th { white-space:nowrap; }.market-reading { margin:14px 0; }.market-access { grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr); background:#fbfdfc; }.market-access .table-wrap { margin:0; }.compact .report-table { min-width:450px; }.inline-map-tool { margin-top:28px; padding-top:22px; border-top:1px solid #d7ded9; display:grid; grid-template-columns:minmax(220px,.85fr) minmax(360px,1.15fr); gap:24px; }.inline-map-tool h3 { font-size:1.24rem; margin:.15em 0 .3em; }.inline-map-tool p { margin:.3em 0; }.inline-address-form label { display:block; font-weight:700; margin-bottom:6px; }.inline-address-form > div { display:flex; gap:9px; align-items:stretch; }.inline-address-form input { min-width:0; flex:1; padding:10px 12px; border:1px solid #8a9994; border-radius:6px; font:inherit; }.inline-address-form .button { margin:0; white-space:nowrap; }.inline-address-form .field-help { margin:7px 0 0; }.map-result-heading { display:flex; justify-content:space-between; gap:18px; align-items:center; margin:22px 0 12px; }.map-result-heading h3,.map-result-heading p { margin:.15em 0; }.map-result-heading a { color:#16645b; font-size:.92rem; font-weight:700; white-space:nowrap; }.zone-table { min-width:700px; }.zone-table .legend-dot { vertical-align:middle; margin:0 4px 0 0; }.utility-section { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0; overflow:hidden; }.utility-panel { padding:24px; }.utility-panel + .utility-panel { border-left:1px solid #d7ded9; background:#f9fbfa; }.utility-panel h2 { font-size:1.3rem; }.utility-panel .question-cards li { padding:10px 12px; }.not-now-section { background:#fbfdfc; }
@media (max-width:700px) { .conclusion-panel,.market-summary-grid,.market-access,.inline-map-tool,.utility-section { display:block; }.conclusion-panel ul { margin-top:18px; }.market-summary-grid article { margin:10px 0; }.report-table { font-size:.88rem; }.inline-address-form { margin-top:18px; }.inline-address-form > div { display:block; }.inline-address-form .button { width:100%; margin-top:8px; }.map-result-heading { display:block; }.map-result-heading a { display:inline-block; margin-top:8px; }.utility-panel + .utility-panel { border-left:0; border-top:1px solid #d7ded9; }.wildfire-map-card #calfire-map { height:420px; } }
.money-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:20px 0}.money-inputs input{display:block;width:100%;margin-top:8px}.report-section details{margin:18px 0}.report-section summary{cursor:pointer;font-weight:700}#housing-finances h3{margin-top:36px}#housing-finances .stress-grid div{padding:16px;background:#eef5f1;border-radius:10px}
.money-inputs input{padding:12px;border:1px solid #8ba39b;border-radius:8px;font:inherit;min-height:48px;box-sizing:border-box}
.action-table tbody th{min-width:180px}
.insurance-cost-change{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}.insurance-cost-change div{background:#fff7e6;border-left:4px solid #d7a44a;border-radius:8px;padding:14px 16px}.insurance-cost-change span,.insurance-cost-change strong{display:block}.insurance-cost-change span{color:#52615e;font-size:.86rem;font-weight:700}.insurance-cost-change strong{font-size:1.45rem;color:#185246}.distressed-status{margin:18px 0 10px;padding:14px 16px;background:#edf4f1;border-radius:9px}.distressed-status span,.distressed-status strong{display:block}.distressed-status span{color:#52615e;font-size:.86rem;font-weight:700}.distressed-status strong{margin-top:3px;color:#18302d}.rent-table td,.rent-table th{white-space:nowrap}@media(max-width:700px){.insurance-cost-change{grid-template-columns:1fr}}
.hero:has(.mvp-heading){max-width:none}.hero .mvp-heading{font-size:clamp(24px,3vw,32px);margin:0 0 16px}.hero .mvp-notice{font-size:18px;line-height:1.8;margin:0 0 20px}.mvp-map-link{margin:0 0 30px}.mvp-map-link .button{margin:0}
.subscore-row{grid-template-columns:110px 80px 1fr}.subscore-row .category{font-size:1.2rem}.legend-stripes{width:16px;height:13px;display:inline-block;border:1px solid #888;background:repeating-linear-gradient(135deg,transparent 0 3px,#888 3px 4px);margin-left:7px}@media(max-width:700px){.subscore-row{grid-template-columns:96px 64px 1fr;column-gap:6px}.subscore-row .category{font-size:1rem}}
.unlock-card .unlock-price{margin:8px 0 0;color:#185246;font-size:1.05rem;font-weight:700}.unlock-card .status-message{margin:0}
.unlock-card .checkout-return-note{margin:0 0 12px;color:#4e5d59;font-size:.95rem;line-height:1.55}.unlock-card .status-message:not(:empty){margin:10px 0 0;color:#185246;font-weight:700}
.claim-payment{margin-top:16px;border-top:1px solid #dec89b;padding-top:12px}.claim-payment summary{cursor:pointer;color:#6b5426;font-size:.9rem}.claim-payment p{margin:10px 0;font-size:.9rem;color:#5b5240}.claim-payment form{display:grid;grid-template-columns:100px minmax(0,320px);align-items:center;gap:12px 14px;max-width:434px}.claim-payment label{display:contents;font-size:.85rem;font-weight:700}.claim-payment label span{grid-column:1}.claim-payment input{grid-column:2;width:100%;box-sizing:border-box;border:1px solid #c9b487;border-radius:7px;padding:9px 11px;font:inherit}.claim-payment .button{grid-column:2;justify-self:start;margin:2px 0 0}.test-environment-note{margin:14px 0 0;color:#746b59;font-size:.78rem}
.recovery-panel{max-width:620px;margin:30px auto}.recovery-panel h1{margin:.2em 0}.recovery-form{display:grid;gap:8px;max-width:420px;margin-top:22px}.recovery-form label{font-weight:700;margin-top:8px}.recovery-form input{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #8a9994;border-radius:7px;font:inherit}.recovery-form .button{justify-self:start}
.admin-login-card{max-width:480px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}.admin-login-card h1{font-size:2rem}.admin-login-form{display:grid;gap:12px}.admin-login-form label{font-weight:700}.admin-login-form input{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #8a9994;border-radius:7px;font:inherit}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.admin-head h1{margin:.1em 0 .45em}.admin-head .eyebrow a{color:var(--teal)}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.admin-stat-grid article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}.admin-stat-grid span{display:block;color:#52615e;font-size:.84rem}.admin-stat-grid strong{display:block;color:#185246;font-size:1.65rem;line-height:1.3;margin-top:4px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:18px 0}.admin-panel h2{margin:.1em 0 .7em}.admin-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.admin-section-head span{color:#52615e;font-size:.85rem}.admin-filter{display:grid;grid-template-columns:minmax(240px,1fr) 180px auto;gap:10px;align-items:end;margin:14px 0 18px}.admin-filter input,.admin-filter select{min-height:45px;padding:9px 11px;border:1px solid #8a9994;border-radius:7px;font:inherit}.admin-filter .button{margin:0}.admin-zip-list{display:flex;flex-wrap:wrap;gap:9px}.admin-zip-list span{background:#edf4f1;border-radius:999px;padding:5px 12px}.admin-table{min-width:900px;font-size:.82rem}.admin-table a{color:var(--teal);font-weight:700}.admin-long-cell{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-report-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.admin-report-stats strong{font-size:1.05rem;overflow-wrap:anywhere}.admin-detail-table{min-width:520px}.admin-detail-table th{width:210px}@media(max-width:700px){.admin-head,.admin-section-head{display:block}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-filter{grid-template-columns:1fr}.admin-panel{padding:16px}}

/* Paid-report reading flow: one full-width step at a time. */
.utility-section{display:block;padding:24px;overflow:visible}
.utility-section .checklist{margin-bottom:22px}
.utility-section h3{margin-top:24px}
.question-table{min-width:560px}
.question-table tbody th{min-width:68px;width:68px;text-align:center}
.question-table td{line-height:1.6;font-weight:600}
#housing-finances h2{margin-top:32px}
#housing-finances .eyebrow+h2{margin-top:.1em}
.housing-summary-grid{margin-bottom:22px}

/* Compact internal dashboard. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-header form{margin:0}.site-header form button{border:0;background:transparent;color:var(--teal);font:inherit;font-weight:700;cursor:pointer;padding:3px 0}
body:has(.admin-panel) .page-shell{max-width:1280px}
.admin-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:10px 0 16px}
.admin-stat-grid article{padding:12px}.admin-stat-grid strong{font-size:1.35rem}
.admin-filter{grid-template-columns:minmax(230px,1fr) 145px 140px auto;margin:10px 0 14px}
.admin-table{min-width:780px;font-size:.76rem}.admin-table th,.admin-table td{padding:8px 7px;vertical-align:middle}
.admin-time{white-space:nowrap}.admin-report-id{font-size:.7rem;max-width:235px;overflow-wrap:anywhere}
.admin-ip b,.admin-ip span{display:block;white-space:nowrap}.admin-ip .admin-location{color:var(--ink);font-weight:800}.admin-ip .admin-ip-address{color:#65716e;font-size:.7rem;margin-top:2px;font-weight:400}
.admin-preview-warning{margin:4px 0 16px;padding:10px 12px;border-left:4px solid #b7791f;background:#fff7df;color:#493712;border-radius:4px}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.admin-pagination .button{margin:0;padding:7px 12px;font-size:.84rem}.admin-pagination .disabled{opacity:.45;cursor:not-allowed}.admin-pagination form{display:flex;align-items:center;gap:6px}.admin-pagination input{width:58px;padding:6px;border:1px solid #8a9994;border-radius:5px;font:inherit}.admin-pagination button{padding:6px 9px;border:1px solid var(--teal);border-radius:5px;background:#fff;color:var(--teal);font-weight:700;cursor:pointer}.admin-attribution{font-size:.75rem;color:#65716e;text-align:right;margin:12px 0 0}.admin-attribution a{color:var(--teal)}
.admin-report-preview{display:block;width:100%;height:75vh;min-height:760px;border:1px solid var(--line);border-radius:9px;background:#fff}
@media(max-width:900px){.admin-stat-grid{grid-template-columns:repeat(3,1fr)}.admin-filter{grid-template-columns:1fr 1fr}.admin-filter .button{width:100%}}
@media(max-width:560px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-pagination{flex-wrap:wrap}.admin-report-preview{min-height:620px}.admin-filter{grid-template-columns:1fr}}

/* Clearer internal analytics labels and compact report review header. */
.admin-head .admin-report-title{font-size:clamp(1.15rem,2.4vw,1.65rem);overflow-wrap:anywhere}
.admin-metric-note{margin:-7px 0 16px;color:#52615e;font-size:.78rem}
.admin-zip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.admin-zip-list span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:7px;background:#edf4f1;border-radius:8px;padding:8px 10px}
.admin-zip-list small{color:#52615e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-zip-list em{font-style:normal;color:#185246;font-size:.8rem;white-space:nowrap}
.admin-product-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:8px}.admin-product-head h1{margin:.05em 0 .15em}.admin-product-head .eyebrow{margin:0}.admin-product-tabs{display:flex;gap:4px;padding:4px;border:1px solid #9abdb2;border-radius:999px;background:#fff}.admin-product-tabs a{padding:8px 16px;border-radius:999px;color:#185246;font-weight:800;text-decoration:none;white-space:nowrap}.admin-product-tabs a.is-active{background:#185246;color:#fff}.admin-investment-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-investment-table{min-width:1060px}.admin-property-name b,.admin-property-name small,.admin-money-stack b,.admin-money-stack small,.admin-investment-table td>small,.admin-report-id b,.admin-report-id small{display:block}.admin-property-name small,.admin-money-stack small,.admin-investment-table td>small,.admin-report-id small{margin-top:2px;color:#65716e;font-size:.7rem;font-weight:400}.admin-preview-inline{display:inline-block;margin:7px 0 0;padding:5px 10px;border-radius:999px;background:#fff7df;color:#6b4a11;font-size:.8rem;font-weight:700}
@media(max-width:760px){.admin-product-head{display:block}.admin-product-tabs{margin-top:12px}.admin-product-tabs a{flex:1;text-align:center}.admin-investment-stat-grid{grid-template-columns:repeat(2,1fr)}}

/* Rental investment calculator. */
.site-header nav{display:flex;gap:18px;margin-left:auto;font-size:.88rem}.site-header nav a{color:var(--teal);font-weight:700}.investment-hero{max-width:820px}.investment-hero h1{font-size:clamp(2rem,4.8vw,3.35rem);max-width:760px}.investment-hero>p:not(.eyebrow){max-width:720px;font-size:1.08rem}.step-indicator{display:flex;gap:9px;margin:25px 0 5px}.step-indicator span{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#66736f;font-size:.84rem;font-weight:700}.step-indicator span.active{background:var(--teal);border-color:var(--teal);color:#fff}.investment-form{max-width:900px}.investment-form fieldset{scroll-margin-top:18px}.investment-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.input-suffix{display:flex;align-items:center;gap:8px}.questionnaire .input-suffix input{margin-top:6px}.input-suffix b{color:#52615e}.source-preview{margin:14px 0;padding:12px 14px;border-left:4px solid var(--teal);border-radius:6px;background:#edf4f1;color:#315d55}.source-preview p{margin:0 0 8px}.compact-button{padding:7px 10px;font-size:.86rem}.step-actions{display:flex;align-items:center;gap:8px}.investment-report-heading{max-width:840px}.investment-report-heading h1{font-size:clamp(1.9rem,4.5vw,3rem)}.investment-result-card{position:relative;overflow:hidden;background:#fff;border:1px solid #9abdb2;border-radius:15px;padding:30px;margin:22px 0}.investment-result-card.status-negative{border-color:#ce8b82}.investment-result-card.status-crossing{border-color:#d7a44a}.result-watermark{position:absolute;right:18px;top:14px;color:#78908a;font-size:.74rem;font-weight:700}.investment-result-card h2{font-size:clamp(1.55rem,3vw,2.2rem);max-width:720px;margin:.25em 0}.investment-headline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.investment-headline-grid article,.return-grid article{background:#edf4f1;border-radius:10px;padding:15px}.investment-headline-grid span,.investment-headline-grid small,.return-grid span,.return-grid small{display:block}.investment-headline-grid span,.return-grid span{color:#426661;font-size:.84rem;font-weight:700}.investment-headline-grid strong,.return-grid strong{display:block;color:#185246;font-size:1.55rem;line-height:1.25;margin:4px 0}.investment-headline-grid small,.return-grid small{color:#52615e;font-size:.8rem}.scenario-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.scenario-band article{padding:18px;border:1px solid #d7ded9;border-radius:10px;background:#fbfdfc}.scenario-band span,.scenario-band small{display:block}.scenario-band span{font-weight:700}.scenario-band strong{display:block;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;color:#185246;margin:5px 0}.scenario-band small{color:#52615e}.scenario-note{font-size:.9rem;color:#52615e}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reference-grid article{padding:18px;border-radius:10px;background:#f7f8f5}.reference-grid h2{font-size:1.1rem}.reference-grid strong{font-size:1.8rem;color:#185246}.reference-grid p{font-size:.9rem}.reference-alert{border-left:4px solid #d7a44a;padding-left:10px;color:#6b5426}.locked-metrics{margin:32px 0}.locked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.locked-grid article{position:relative;padding:16px 16px 16px 38px;background:#fff;border:1px solid var(--line);border-radius:9px}.locked-grid article:before{content:'🔒';position:absolute;left:13px;top:15px;font-size:.85rem}.locked-grid b,.locked-grid span{display:block}.locked-grid span{margin-top:5px;color:#52615e;font-size:.85rem}.investment-unlock{background:#fff7e6;border-color:#d7a44a}.investment-unlock>p{max-width:720px}.assumption-warning{padding:14px 16px;border-left:4px solid #d7a44a;background:#fff7e6;border-radius:6px}.paid-summary{border-color:var(--teal);background:#fbfdfc}.paid-summary>h2{font-size:2.2rem}.paid-headlines{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-headlines{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-headlines strong{font-size:1.25rem}.return-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.return-grid article:nth-child(3){background:#fff7e6}.investment-stress{grid-template-columns:repeat(2,minmax(0,1fr))}.full-assumption-form h3{margin:28px 0 0;padding-top:18px;border-top:1px solid #e1e8e4}.full-assumption-form label{display:block;font-size:.9rem;font-weight:700;margin-top:12px}.full-assumption-form input,.full-assumption-form select{display:block;width:100%;min-height:45px;margin-top:5px;padding:9px 10px;border:1px solid #8a9994;border-radius:6px;background:#fff;font:inherit}.comparison-teaser{border-color:#9abdb2;background:#fbfdfc}
@media(max-width:760px){.site-header{flex-wrap:wrap}.site-header nav{width:100%;order:3;justify-content:space-between;gap:10px}.investment-input-grid,.investment-headline-grid,.paid-headlines,.compact-headlines,.locked-grid,.reference-grid,.scenario-band,.return-grid,.investment-stress{grid-template-columns:1fr}.step-indicator{align-items:stretch}.step-indicator span{flex:1;text-align:center}.investment-result-card{padding:22px 18px}.result-watermark{position:static;text-align:right;margin-bottom:8px}.step-actions{display:block}.step-actions .button{width:100%;text-align:center}}
.compact-headlines{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.homeowner-summary{border-color:var(--teal);background:#fbfdfc}.home-cost-lead{margin-bottom:12px}.home-cost-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.home-cost-hero article{padding:19px 16px;border-radius:11px;background:#18302d;color:#fff}.home-cost-hero span,.home-cost-hero small{display:block}.home-cost-hero span{font-weight:700}.home-cost-hero strong{display:block;margin:5px 0;font-size:clamp(1.8rem,3.4vw,2.45rem);line-height:1.1;color:#fff}.home-cost-hero small{color:#d8e5e1;font-size:.8rem}.home-cost-explainer{margin:16px 0;color:#405a55}.home-cost-secondary{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px;margin:16px 0}.home-cost-table{max-width:680px}.paid-question-grid{margin:20px 0}.investment-unlock .checkout-link{display:block;max-width:560px;box-sizing:border-box;text-align:center;font-size:1.08rem;padding:15px 20px}.investment-unlock .checkout-link.payment-pending{background:#657b75;border-color:#657b75;cursor:wait;opacity:.88;pointer-events:auto}.investment-unlock .status-message:not(:empty){margin:12px 0 0;font-weight:700;color:#185246}.unlock-benefits{font-weight:700;color:#6b5426}.rental-empty{border:1px solid #9abdb2;border-radius:12px;background:#fbfdfc}.sale-analysis{border-left:4px solid var(--teal);padding-left:22px}
.vulnerability-card{border-width:2px;background:#fff}.vulnerability-card.vulnerability-low{border-color:#5d9b7d}.vulnerability-card.vulnerability-medium{border-color:#d7a44a}.vulnerability-card.vulnerability-high{border-color:#c96d61}.vulnerability-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 18px;padding:23px 25px;border-radius:12px;background:#18302d;color:#fff}.vulnerability-heading h2{margin:.05em 0;font-size:clamp(1.9rem,4vw,2.65rem);color:#fff}.vulnerability-heading p{margin:.35em 0;color:#d8e5e1}.vulnerability-score{display:grid;grid-template-columns:auto auto;align-items:baseline;min-width:190px;text-align:right}.vulnerability-score strong{font-size:clamp(4.4rem,8vw,5.8rem);line-height:.92;color:#fff}.vulnerability-score span{font-weight:700;color:#d8e5e1}.vulnerability-score b{grid-column:1/-1;justify-self:end;margin-top:10px;padding:3px 13px;border-radius:999px;background:#f1cf83;color:#573b0b;font-size:1.08rem}.vulnerability-callout,.combined-stress{padding:13px 15px;border-radius:8px;background:#fff7e6}.vulnerability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.vulnerability-grid article{border:1px solid var(--line);border-radius:9px;padding:15px;background:#fbfdfc}.vulnerability-item-title{display:flex;justify-content:space-between;gap:12px}.vulnerability-item-title span{font-weight:700;color:#8a5311}.vulnerability-grid progress{width:100%;height:12px;margin:10px 0;accent-color:#c96d61}.vulnerability-grid p{margin:4px 0}.vulnerability-grid p small,.break-even-note{display:block;color:#52615e;margin-top:4px}.score-method{margin-top:12px}.score-method summary{cursor:pointer;font-weight:700;color:#185246}
@media(max-width:760px){.home-cost-hero{grid-template-columns:1fr}.home-cost-secondary{grid-template-columns:1fr}.vulnerability-heading{display:block;padding:20px}.vulnerability-score{text-align:left;margin:18px 0 0}.vulnerability-score b{justify-self:start}.vulnerability-grid{grid-template-columns:1fr}}

/* Investment workspace: vertical cards stay readable on phones and for larger text. */
.workspace-heading{max-width:900px}.workspace-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.workspace-toolbar .button{margin:0}.workspace-save-note,.wechat-print-note{padding:14px 16px;border-left:4px solid #d7a44a;background:#fff7e6;border-radius:7px}.workspace-controls{display:flex;justify-content:flex-end;margin:20px 0}.workspace-controls label{font-weight:700}.workspace-controls select{display:block;min-height:44px;margin-top:5px;padding:8px 11px;border:1px solid #8a9994;border-radius:7px;background:#fff;font:inherit}.workspace-card-list,.comparison-card-list{display:grid;gap:16px}.workspace-property-card,.comparison-property-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px}.property-card-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.property-card-title h2,.comparison-property-card h2{margin:.15em 0}.compare-check{font-weight:700;background:#edf4f1;padding:9px 11px;border-radius:7px;white-space:nowrap}.workspace-primary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.workspace-primary-metrics div{background:#edf4f1;border-radius:8px;padding:13px}.workspace-primary-metrics span,.workspace-primary-metrics strong{display:block}.workspace-primary-metrics span{color:#426661;font-size:.8rem;font-weight:700}.workspace-primary-metrics strong{margin-top:4px;color:#185246;font-size:1.3rem}.workspace-more{margin:10px 0}.workspace-more p{margin:6px 0}.property-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.property-card-actions .button{margin:0}.rename-property{display:flex;gap:6px}.rename-property input{min-height:42px;padding:7px 9px;border:1px solid #8a9994;border-radius:6px;font:inherit}.text-danger{border:0;background:transparent;color:#9b3029;text-decoration:underline;font:inherit;cursor:pointer}.compare-bar{position:sticky;bottom:10px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;padding:14px 16px;border:1px solid #9abdb2;border-radius:10px;background:#f7fbf9;box-shadow:0 5px 20px rgba(22,60,54,.12)}.compare-bar p,.compare-bar .button{margin:0}.workspace-add-bottom{text-align:center;margin:24px}.link-button{border:0;background:transparent;padding:0;color:var(--teal);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.property-name-field{display:block;max-width:520px;font-weight:700}.property-name-field input{display:block;width:100%;box-sizing:border-box;min-height:45px;margin-top:5px;padding:9px 10px;border:1px solid #8a9994;border-radius:6px;font:inherit}.comparison-card-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}.comparison-property-card dl{margin:18px 0}.comparison-property-card dl div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #e1e8e4}.comparison-property-card dt{color:#52615e}.comparison-property-card dd{margin:0;text-align:right;font-weight:700;color:#18302d}.copy-status{color:#185246;font-weight:700}.workspace-links a{font-weight:700;color:var(--teal)}
@media(max-width:760px){.workspace-primary-metrics{grid-template-columns:1fr 1fr}.property-card-title{display:block}.compare-check{display:inline-block;margin-top:8px}.property-card-actions,.rename-property{display:grid;grid-template-columns:1fr;width:100%}.property-card-actions .button,.rename-property input{width:100%;box-sizing:border-box}.compare-bar{display:block}.compare-bar .button{width:100%;text-align:center}.comparison-card-list{grid-template-columns:1fr}.workspace-toolbar{display:grid}.workspace-toolbar .button{text-align:center}}
@media print{.site-header,.site-footer,.no-print,.flash-messages,.assumptions-panel,.workspace-next-step{display:none!important}.page-shell{max-width:none;margin:0;padding:0}.workspace-property-card,.comparison-property-card,.investment-result-card,.report-section{break-inside:avoid;box-shadow:none}.workspace-card-list,.comparison-card-list{display:block}.workspace-property-card,.comparison-property-card{margin:0 0 14px}.workspace-primary-metrics{grid-template-columns:repeat(4,1fr)}a{color:inherit;text-decoration:none}}
.vulnerability-score{flex-shrink:0}.vulnerability-score span{white-space:nowrap}.vulnerability-grid article.is-worst{border:2px solid #c96d61;background:#fff}.two-col-table .report-table{min-width:0}
@media(max-width:760px){.investment-result-card .home-cost-lead{font-size:1.25rem}.home-cost-hero{gap:8px;margin:10px 0}.home-cost-hero article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:12px 14px}.home-cost-hero span{grid-column:1;grid-row:1}.home-cost-hero small{grid-column:1;grid-row:2}.home-cost-hero strong{grid-column:2;grid-row:1/3;margin:0;font-size:1.9rem;text-align:right}}

/* Free local property-tax reference. */
.property-tax-card{border-color:#9abdb2;background:#fff}.property-tax-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.property-tax-heading h2{margin:.15em 0}.geo-level-badge{flex:none;padding:6px 11px;border-radius:999px;background:#18302d;color:#fff;font-size:.8rem;font-weight:700}.property-tax-area{margin:4px 0 18px;color:#52615e}.tax-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tax-reference-grid article{min-width:0;padding:15px;border-radius:10px;background:#edf4f1}.tax-reference-grid span,.tax-reference-grid small{display:block}.tax-reference-grid span{color:#426661;font-size:.82rem;font-weight:700}.tax-reference-grid strong{display:block;margin:5px 0;color:#185246;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.15}.tax-reference-grid small{color:#52615e;font-size:.75rem}.tax-reference-grid .tax-primary{background:#18302d}.tax-reference-grid .tax-primary span,.tax-reference-grid .tax-primary small{color:#d8e5e1}.tax-reference-grid .tax-primary strong{color:#fff}.tax-reference-grid .tax-high strong{color:#9b3029}.tax-reference-grid .tax-low strong{color:#1d6a50}.property-tax-fallback-note{margin:12px 0 0;color:#52615e;font-size:.84rem}.tax-chart-wrap{margin:24px 0 8px;padding:16px 14px 6px;border:1px solid #d7ded9;border-radius:10px;background:#fbfdfc}.tax-chart-wrap h3{margin:0 0 6px;font-size:1rem}.tax-trend-chart{display:block;width:100%;height:auto;max-height:270px;overflow:visible}.tax-grid-line{stroke:#d7ded9;stroke-width:1}.tax-trend-line{fill:none;stroke:#1d7565;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.tax-trend-point{fill:#fff;stroke:#1d7565;stroke-width:4}.tax-axis-label,.tax-year-label,.tax-value-label{fill:#52615e;font-family:inherit}.tax-axis-label,.tax-year-label{font-size:12px}.tax-value-label{fill:#18302d;font-size:12px;font-weight:700}.property-tax-disclaimer{padding:13px 15px;border-left:4px solid #d7a44a;border-radius:7px;background:#fff7e6;font-size:.9rem}.property-tax-method{margin-top:12px;color:#52615e;font-size:.86rem}.property-tax-method summary{cursor:pointer;color:#185246;font-weight:700}
@media(max-width:760px){.property-tax-heading{display:block}.geo-level-badge{display:inline-block;margin:6px 0 4px}.tax-reference-grid{grid-template-columns:1fr 1fr}.tax-reference-grid article{padding:12px}.tax-reference-grid strong{font-size:1.35rem}.tax-chart-wrap{padding:12px 5px 3px;margin-left:-5px;margin-right:-5px}.tax-trend-chart{min-width:0}.tax-value-label{font-size:11px}.tax-axis-label,.tax-year-label{font-size:11px}}
@media(max-width:760px){.tax-trend-chart .tax-axis-label,.tax-trend-chart .tax-value-label{display:none}.tax-trend-chart .tax-value-label.is-end{display:inline;font-size:26px}.tax-trend-chart .tax-year-label{font-size:24px}}
.property-tax-map-panel{margin-top:22px;padding-top:20px;border-top:1px solid #dce7e1}.property-tax-map-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.property-tax-map-heading h3{margin:0 0 4px}.property-tax-map-heading p{margin:0;color:#52635e}.tax-map-modes{display:flex;border:1px solid #a9c4ba;border-radius:999px;overflow:hidden;flex:0 0 auto}.tax-map-modes button{border:0;background:#fff;color:#185246;padding:9px 13px;font:inherit;font-weight:700;cursor:pointer}.tax-map-modes button.is-active{background:#185246;color:#fff}.property-tax-map-legend{display:flex;gap:7px 14px;flex-wrap:wrap;margin:10px 0;font-size:.84rem;color:#52635e}.property-tax-map-legend span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--swatch);margin-right:5px;vertical-align:-1px;border:1px solid rgba(0,0,0,.08)}#property-tax-map{height:430px;border:1px solid #cedbd6;border-radius:14px;overflow:hidden;background:#edf2ef}.property-tax-map-result{margin-top:12px}.property-tax-map-result>p{margin:0}.property-tax-tip{min-width:205px}.property-tax-tip>b{display:block;margin-bottom:7px;color:#183f35}.property-tax-tip-row{display:flex;justify-content:space-between;gap:18px;padding:4px 0}.property-tax-tip-row span{color:#52635e}.property-tax-tip-row strong{white-space:nowrap}.property-tax-map-tooltip{background:#fff;border:0;border-radius:10px;box-shadow:0 8px 24px rgba(14,55,45,.18);padding:8px}.property-tax-map-fallback{padding:13px 15px;border-radius:10px;background:#f5f7f6;color:#52635e}.property-tax-map-panel.map-unavailable #property-tax-map,.property-tax-map-panel.map-unavailable .property-tax-map-legend,.property-tax-map-panel.map-unavailable .tax-map-modes{display:none}
.property-tax-map-legend .is-fallback-key::before{border:1px dashed #466b60;opacity:.65}
@media(max-width:760px){.property-tax-map-heading{display:block}.tax-map-modes{margin-top:12px;width:100%}.tax-map-modes button{flex:1;padding:10px 6px}#property-tax-map{height:370px}.property-tax-map-legend{font-size:.78rem;gap:6px 10px}}
@media(max-width:340px){.tax-reference-grid{grid-template-columns:1fr}}

/* Free cost transparency and the paid local-tax trend boundary. */
.monthly-cost-breakdown{margin:22px 0;padding:20px;border:1px solid #b9cbc5;border-radius:12px;background:#fff}.monthly-cost-breakdown h3{margin:0 0 14px;color:#18302d;font-size:1.2rem}.monthly-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.monthly-cost-grid article{min-width:0;padding:12px 13px;border-radius:8px;background:#edf4f1}.monthly-cost-grid span,.monthly-cost-grid strong,.monthly-cost-grid small{display:block}.monthly-cost-grid span{color:#426661;font-size:.8rem;font-weight:700}.monthly-cost-grid strong{margin:3px 0;color:#185246;font-size:1.35rem}.monthly-cost-grid small{color:#65716e;font-size:.72rem;line-height:1.35}.monthly-cost-reconcile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.monthly-cost-reconcile p{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:12px 14px;border-radius:8px;background:#18302d;color:#fff}.monthly-cost-reconcile span{font-size:.84rem;font-weight:700}.monthly-cost-reconcile strong{font-size:1.25rem;white-space:nowrap}.annual-cost-details{margin:20px 0 16px}.annual-cost-details>summary{cursor:pointer;margin:0 0 14px;padding:0;border:0;background:transparent;color:#18302d;font-size:1.2rem;font-weight:800;list-style-position:inside}.tax-reference-grid.tax-reference-free{grid-template-columns:repeat(3,minmax(0,1fr))}.tax-trend-lock{position:relative;overflow:hidden;min-height:190px;margin:22px 0 8px;border:1px solid #d7a44a;border-radius:12px;background:#fff9ec}.locked-tax-chart{position:absolute;inset:0;display:flex;align-items:center;opacity:.2;filter:blur(6px);transform:scale(1.04);pointer-events:none}.locked-tax-chart svg{display:block;width:100%;height:100%}.locked-tax-chart span{width:100%;height:100%;background:linear-gradient(155deg,transparent 35%,#1d7565 36% 39%,transparent 40% 50%,#1d7565 51% 54%,transparent 55%)}.tax-lock-content{position:relative;z-index:1;max-width:620px;margin:auto;padding:20px;text-align:center}.tax-lock-content h3{margin:0 0 9px;color:#18302d;font-size:1.25rem}.tax-lock-content>strong{display:block;color:#6b4a11;font-size:1.1rem}.tax-lock-content p{margin:8px auto 14px;color:#493712}.tax-lock-content .button{margin:0;padding:11px 16px}
@media(max-width:760px){.monthly-cost-breakdown{padding:15px 12px}.monthly-cost-grid{grid-template-columns:1fr 1fr}.monthly-cost-grid article{padding:10px}.monthly-cost-grid strong{font-size:1.2rem}.monthly-cost-reconcile{grid-template-columns:1fr}.tax-reference-grid.tax-reference-free{grid-template-columns:1fr 1fr}.tax-trend-lock{min-height:225px}.tax-lock-content{padding:18px 12px}.tax-lock-content .button{display:block;width:100%;box-sizing:border-box}}

/* Four real rental metrics stay visually together in the paid core area. */
.paid-core-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.paid-core-metrics article{background:#18302d}.paid-core-metrics span,.paid-core-metrics strong{color:#fff}.paid-core-metrics small{color:#d8e5e1;line-height:1.35}.paid-core-metrics strong{font-size:clamp(1.35rem,2.5vw,1.8rem)}.paid-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;margin-top:0}

/* Investment result-page hierarchy and alignment. */
.investment-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.investment-report-toolbar .eyebrow{margin:0}.investment-report-toolbar .button{margin:0;border-radius:999px;padding:9px 14px}.home-cost-hero article{display:flex;min-height:88px;flex-direction:column;justify-content:center}.annual-cost-details>h3{margin:0 0 8px;color:#18302d;font-size:1.2rem}.tax-trend-lock{min-height:130px}.tax-lock-title{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap}.tax-lock-content h3{margin:0}.tax-lock-title span{color:#6b4a11;font-size:.9rem}.tax-lock-content p{margin:8px auto 0;font-size:.9rem}
@media(max-width:760px){.claim-payment form{display:block}.claim-payment label{display:block;margin-top:12px}.claim-payment label span{display:block;margin-bottom:6px}.claim-payment input{display:block;width:100%}.claim-payment .button{display:block;width:100%;margin-top:14px}.investment-report-toolbar{gap:10px}.investment-report-toolbar .button{white-space:nowrap}.home-cost-hero article{display:flex;min-height:0;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.home-cost-hero strong{margin:0}.tax-trend-lock{min-height:140px}.tax-lock-content{padding:18px 12px}}
@media(max-width:900px){.paid-core-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.paid-core-metrics,.paid-secondary-metrics{grid-template-columns:1fr}}

/* Record-ready vulnerability results: baseline and stressed cash flow stay visible. */
.vulnerability-score-line{display:flex;align-items:baseline;flex-wrap:nowrap;gap:7px;margin:18px 0;padding:18px 20px;border-radius:11px;background:#18302d;color:#fff}.vulnerability-score-line strong{font-size:clamp(2rem,4.5vw,3rem);line-height:1}.vulnerability-score-line b{display:inline-flex;align-items:baseline;flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#f1cf83;color:#573b0b;line-height:1}.vulnerability-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vulnerability-result-grid article{padding:17px}.vulnerability-result-grid .vulnerability-item-title b{font-size:1.05rem}.vulnerability-result-grid .vulnerability-item-title span{padding:2px 8px;border-radius:999px;background:#f7d9d5;color:#8b2d26;font-size:.76rem}.vulnerability-flow small,.vulnerability-flow strong{display:block}.vulnerability-flow small{color:#52615e}.vulnerability-flow strong{margin-top:6px;color:#18302d;font-size:1.4rem}.vulnerability-summary{display:grid;gap:8px;margin:16px 0}.vulnerability-summary p{margin:0;padding:12px 14px;border-radius:8px;background:#fff7e6}.vulnerability-disclaimer{margin:14px 0 0;color:#52615e;font-size:.86rem}
@media(max-width:760px){.vulnerability-result-grid{grid-template-columns:1fr}.vulnerability-score-line{padding:15px}.vulnerability-flow strong{font-size:1.25rem}}

/* Paid investment analysis: compact, non-repeating information hierarchy. */
.investment-report-actions{display:flex;align-items:center;gap:9px}.rental-cash-flow{margin:6px 0 18px;color:#18302d;font-size:clamp(2.25rem,5vw,3.6rem);font-weight:800;line-height:1}.rental-cash-flow span{font-size:.42em;font-weight:700}.paid-core-metrics article{min-height:82px}.vulnerability-baseline{margin:14px 0;padding:11px 14px;border-radius:8px;background:#edf4f1;color:#18302d;font-weight:800}.vulnerability-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vulnerability-summary-cards article{padding:13px 14px;border-radius:8px;background:#fff7e6}.vulnerability-summary-cards span,.vulnerability-summary-cards strong,.vulnerability-summary-cards small{display:block}.vulnerability-summary-cards span{color:#6b5426;font-size:.8rem;font-weight:700}.vulnerability-summary-cards strong{margin-top:4px;color:#18302d;font-size:1.25rem}.vulnerability-summary-cards small{margin-top:3px;color:#6b6253}.one-time-cost-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;align-items:center;margin:8px 0 16px;padding:13px 15px;border-radius:9px;background:#f7f8f5}.one-time-cost-row span{font-weight:700}.one-time-cost-row strong{font-size:1.3rem;color:#185246}.one-time-cost-row small{grid-column:1/3;color:#52615e}.reference-grid h3{margin:.1em 0 .5em;font-size:1.1rem}.sources-section>summary{cursor:pointer;color:#185246;font-size:1.1rem;font-weight:800}.sources-section[open]>summary{margin-bottom:12px}
@media(max-width:760px){.investment-report-toolbar{align-items:flex-start}.investment-report-actions{display:grid;gap:7px}.investment-report-actions .button{width:100%;box-sizing:border-box;text-align:center}.vulnerability-summary-cards{grid-template-columns:1fr}.paid-core-metrics article{min-height:0}.one-time-cost-row{grid-template-columns:minmax(0,1fr) auto}.rental-cash-flow{margin-bottom:14px}}

/* Paid report hierarchy: compact identity, visible inputs, and one monthly/annual language. */
.investment-hero h1{font-size:clamp(1.75rem,4vw,2.55rem)}
.investment-report-heading{max-width:900px}
.investment-report-heading h1{font-size:clamp(1.25rem,2.7vw,1.55rem);font-weight:700;color:#405a55;white-space:normal}
.current-parameters{padding:0;overflow:visible}
.current-parameters>summary{position:relative;display:block;padding:17px 20px 27px;cursor:pointer;list-style:none}
.current-parameters>summary::-webkit-details-marker{display:none}
.parameter-summary-heading{display:block;font-weight:800;color:#18302d}
.parameter-drawer-handle{position:absolute;left:50%;bottom:0;display:flex;width:58px;height:30px;align-items:center;justify-content:center;transform:translate(-50%,50%);border:1px solid #7da99e;border-radius:0 0 18px 18px;background:#fff;color:#185246;box-shadow:0 4px 9px rgba(24,48,45,.16);z-index:2}
.parameter-drawer-handle b{font-size:1.35rem;line-height:1;transition:transform .15s ease}
.current-parameters[open] .parameter-drawer-handle b{transform:rotate(180deg)}
.parameter-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}
.parameter-summary-grid>span{min-width:0;padding:8px 9px;border-radius:7px;background:#edf4f1;color:#52615e;font-size:.78rem}
.parameter-summary-grid strong{display:block;color:#18302d;font-size:.95rem;white-space:nowrap}
.current-parameters .full-assumption-form{padding:0 20px 22px;border-top:1px solid #e1e8e4}
.cash-purchase-toggle{display:flex!important;align-items:center;gap:10px;align-self:end;min-height:46px;margin-top:26px!important;padding:10px 12px;border:1px solid #9abdb2;border-radius:8px;background:#edf4f1;color:#18302d;font-weight:800}.questionnaire .cash-purchase-toggle input,.full-assumption-form .cash-purchase-toggle input{display:inline-block;width:20px;min-height:20px;height:20px;margin:0;flex:0 0 20px;accent-color:#267363}.cash-purchase-toggle span{line-height:1.25}.cash-purchase-note{grid-column:1/-1;margin:0;padding:10px 12px;border-left:4px solid #267363;border-radius:6px;background:#edf4f1;color:#315d55;font-size:.9rem;font-weight:700}.cash-purchase-note[hidden],[data-loan-field][hidden]{display:none!important}
.assumption-intro{margin:18px 0 4px;padding:12px 14px;border-left:4px solid #d7a44a;border-radius:7px;background:#fff7e6;color:#493712}
.assumption-followup{margin:16px 0;padding:0 16px 16px;border:1px solid #c7d8d2;border-radius:10px;background:#f8fbfa}.assumption-followup.needs-review{border-color:#d7a44a;background:#fff9ec}.assumption-followup h3{margin:0 0 2px;padding-top:15px;border-top:0}.assumption-existing{margin-top:28px;padding-top:2px;border-top:2px solid #d7ded9}.assumption-existing>h3{margin-top:20px;border-top:0}.assumption-existing h4{margin:24px 0 0;padding-top:16px;border-top:1px solid #e1e8e4;color:#18302d;font-size:1.05rem}.full-assumption-form input.is-unfilled{border-color:#c58a2c;background:#fff4d9;box-shadow:0 0 0 3px rgba(215,164,74,.17)}.full-assumption-form input.is-unfilled::placeholder{color:#8a5b12;font-weight:700;opacity:1}
.investment-report-actions form,.workspace-next-step form{margin:0}.delete-property-button{margin:0!important;border-color:#b42318!important;background:#fff!important;color:#b42318!important}.delete-property-button:hover{background:#fff0ee!important}.delete-property-button:disabled{cursor:not-allowed;border-color:#a7b0ad!important;background:#f1f3f2!important;color:#687470!important}
.quick-rent-entry{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px 12px;align-items:end;margin:24px 0;padding:18px 20px;border:1px solid #9abdb2;border-radius:12px;background:#fbfdfc}
.quick-rent-entry label{font-weight:700;color:#18302d}.quick-rent-entry input{margin-top:6px}.quick-rent-entry .button{margin:0}.quick-rent-entry small{grid-column:1/-1;color:#52615e}
.is-negative{color:#b42318!important}.is-positive{color:#185b4b!important}.vulnerability-card .vulnerability-score-line .is-negative{color:#ffd0ca!important}
.vulnerability-flow strong{display:flex!important;align-items:baseline;flex-wrap:wrap;gap:7px}.cash-flow-arrow{color:#6a7773;font-weight:900}.cash-flow-impact{color:#b42318!important;font-weight:800}
.rental-cash-flow{margin-bottom:4px}.rental-cash-flow-annual{margin:0 0 18px;color:#52615e;font-size:1.1rem;font-weight:700}
.paid-core-metrics small{margin-top:7px;line-height:1.35}
.home-cost-unified-table{margin-top:10px}.home-cost-unified-table .report-table{min-width:560px}.home-cost-unified-table th:not(:first-child),.home-cost-unified-table td{text-align:right}.home-cost-unified-table tfoot{font-weight:800;background:#edf4f1}.home-cost-unified-table tfoot tr:first-child{border-top:2px solid #9abdb2}
.rent-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rent-reference-note{color:#52615e;font-size:.9rem}.rent-reference-warning{padding:11px 13px;border-left:4px solid #d7a44a;border-radius:7px;background:#fff7e6;color:#6b4a11;font-weight:700}.hud-rent-note{margin-top:15px;padding:11px 13px;border:1px solid #d7ded9;border-radius:8px;background:#f7f8f5}.hud-rent-note summary{cursor:pointer;color:#185246;font-weight:700}.hud-rent-note p{margin:9px 0 0;color:#52615e;font-size:.9rem}
.workspace-next-step{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.calculation-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.calculation-notes section{border-top:1px solid #e1e8e4}.calculation-notes h3{margin:12px 0 3px}.calculation-notes p{margin:0;color:#52615e;font-size:.9rem}
@media(max-width:760px){.investment-hero h1{font-size:1.8rem}.investment-report-heading h1{font-size:1.15rem;line-height:1.45}.parameter-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.current-parameters>summary{padding:14px 14px 27px}.current-parameters .full-assumption-form{padding:0 14px 18px}.quick-rent-entry{grid-template-columns:1fr}.quick-rent-entry .button{width:100%;text-align:center}.quick-rent-entry small{grid-column:1}.rent-reference-grid{grid-template-columns:1fr}.calculation-notes{grid-template-columns:1fr}.workspace-next-step .button{flex:1;text-align:center;white-space:nowrap}}
@media(max-width:380px){.parameter-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* HUD rent map shares the property-tax map's dimensions and interaction system. */
#rent-reference-map{height:430px;border:1px solid #cedbd6;border-radius:14px;overflow:hidden;background:#edf2ef}
.property-tax-map-panel.map-unavailable #rent-reference-map{display:none}
@media(max-width:760px){#rent-reference-map{height:370px}}

/* Ten-property workspace: dense table on desktop, readable cards on phones. */
.workspace-table-wrap,.comparison-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.workspace-table,.comparison-table{width:100%;border-collapse:collapse;font-size:.88rem}
.workspace-table{min-width:1380px}.comparison-table{min-width:760px}
.workspace-table th,.workspace-table td,.comparison-table th,.comparison-table td{padding:11px 10px;border-bottom:1px solid #e1e8e4;text-align:right;vertical-align:middle;white-space:nowrap}
.workspace-table thead th,.comparison-table thead th{position:sticky;top:0;background:#edf4f1;color:#18302d;font-weight:800;z-index:1}
.workspace-table th:nth-child(2),.comparison-table th:first-child{text-align:left}
.workspace-table tbody th a,.comparison-table thead a{color:var(--teal);font-weight:800}.workspace-table tbody th small,.comparison-table thead small{display:block;margin-top:3px;color:#66736f;font-weight:500}
.workspace-row-actions{display:flex;align-items:center;gap:8px}.workspace-row-actions a,.workspace-row-actions button{border:0;background:transparent;padding:0;color:var(--teal);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.workspace-row-actions button:disabled{cursor:not-allowed;color:#7d8985;text-decoration:none}.workspace-row-actions form{margin:0}
.workspace-mobile-list{display:none}.comparison-table td small{display:block;margin-top:3px;color:#66736f}
.workspace-empty{margin:24px 0;padding:32px;border:1px solid #9abdb2;border-radius:13px;background:#fff;text-align:center}.workspace-empty h2{margin-top:0}.workspace-empty .button{margin:7px 0 0}
@media(min-width:761px){.rent-reference-map-panel{margin-left:6px;margin-right:6px}}
@media(max-width:760px){.workspace-table-wrap{display:none}.workspace-mobile-list{display:grid;gap:14px}.workspace-controls{justify-content:stretch}.workspace-controls label,.workspace-controls select{width:100%}.comparison-table-wrap{border-radius:9px}.comparison-table{font-size:.82rem;table-layout:fixed}.comparison-table th,.comparison-table td{padding:9px 8px}.comparison-table th:first-child{position:sticky;left:0;z-index:2;width:138px;max-width:138px;white-space:normal;background:#f7faf8}.comparison-table thead th:first-child{z-index:3}.comparison-table thead th:not(:first-child),.comparison-table td{width:180px;white-space:normal}.comparison-table td{text-align:left}}

/* Investment accessibility: keep user-facing supporting text at least 14px. */
.result-watermark,
.step-indicator span,
.compact-button,
.locked-grid span,
.investment-headline-grid span,
.investment-headline-grid small,
.return-grid span,
.return-grid small,
.home-cost-hero small,
.workspace-primary-metrics span,
.geo-level-badge,
.tax-reference-grid span,
.tax-reference-grid small,
.property-tax-fallback-note,
.property-tax-method,
.property-tax-map-legend,
.monthly-cost-grid span,
.monthly-cost-grid small,
.monthly-cost-reconcile span,
.vulnerability-result-grid .vulnerability-item-title span,
.vulnerability-flow small,
.vulnerability-disclaimer,
.vulnerability-summary-cards span,
.vulnerability-summary-cards small,
.parameter-summary-grid > span,
.report-table thead th,
.workspace-table tbody th small,
.comparison-table thead small,
.comparison-table td small {
  font-size:14px;
}
.tax-axis-label,
.tax-year-label,
.tax-value-label {
  font-size:14px;
}
#property-tax-map .leaflet-control-attribution,
#property-tax-map .leaflet-control-attribution *,
#rent-reference-map .leaflet-control-attribution,
#rent-reference-map .leaflet-control-attribution * {
  font-size:14px;
}
footer {
  font-size:14px;
}
@media(max-width:760px){
  .property-tax-map-legend,
  .comparison-table {
    font-size:14px;
  }
}
.investment-unlock .checkout-link:not(.payment-pending)[data-original-price]::after {
  content: attr(data-original-price);
  display: inline-block;
  margin-left: .55em;
  color: #ffe3a3;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  opacity: 1;
  font-weight: 400;
}
