:root { --ref-ink:#173752; --ref-muted:#718795; --ref-teal:#178d9a; --ref-teal-light:#e7f7f6; --ref-line:#e3eaeb; --ref-cream:#fbfaf7; --ref-navy:#18506d; --success:#198a72; }
.assessify-home { min-height:100vh; overflow:hidden; color:var(--ref-ink); background:#fff; font-family:'DM Sans','Segoe UI',sans-serif; }
.assessify-home a { text-decoration:none; }
.assessify-home main,
.assessify-home main *:not(i) { font-family:'DM Sans','Segoe UI',sans-serif; }
.assessify-home main { display:block; }
.assessify-home > main > * { order:initial; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,360px); align-items:center; gap:clamp(2.5rem,6vw,5rem); width:min(1280px,100%); min-height:470px; height:auto; margin:0 auto; padding:6.5rem 2rem 3rem; box-sizing:border-box; color:var(--ref-ink); background:#fff; background-image:none; text-align:left; }
.hero-text { max-width:650px; }
.hero-kicker,.kicker { display:inline-block; color:var(--ref-teal); font-size:.56rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.hero h1,.assessify-home .hero h1 { max-width:620px; margin:.85rem 0 1rem; color:var(--ref-ink); font-family:'DM Serif Display',Georgia,'Times New Roman',serif; font-size:clamp(2.6rem,4.4vw,4.1rem); font-weight:400; letter-spacing:-.045em; line-height:1.02; }
.hero-sub { max-width:500px; margin:0; color:var(--ref-muted); font-size:.76rem; line-height:1.72; }
.assessify-home .hero-sub { margin:0; font-size:.84rem; line-height:1.65; }
.hero-search-wrap { display:flex; align-items:center; gap:.5rem; width:min(430px,100%); margin-top:1.25rem; }
.hero-search-wrap > [data-property-map-search] { flex:1 1 auto; min-width:0; }
.hero-search-wrap .assessify-home-search { width:100%; max-width:none; margin:0; }
.assessify-home .assessify-home-search input#search-input { width:100%; height:auto; min-height:0; padding:0; font-size:.82rem; line-height:1.2; }
.hero-map-btn { display:grid; width:2.65rem; height:2.65rem; flex:0 0 2.65rem; place-items:center; color:var(--ref-teal); background:#fff; border:1px solid #d7e2e4; border-radius:.65rem; box-shadow:0 6px 18px rgba(23,55,82,.07); cursor:pointer; }
.hero-map-btn:hover { color:#fff; background:var(--ref-teal); }
.hero-link { display:inline-block; margin-top:.7rem; color:var(--ref-teal); font-size:.64rem; font-weight:800; }
.hero-trust { display:flex; flex-wrap:wrap; gap:.4rem .8rem; margin-top:1rem; }
.ht-item { display:inline-flex; align-items:center; gap:.3rem; color:#80929b; font-size:.55rem; }
.ht-item svg { width:.72rem; height:.72rem; color:var(--ref-teal); }
.dash-card { width:100%; overflow:hidden; background:#fff; border:1px solid #d9e4e5; border-radius:1rem; box-shadow:0 22px 50px rgba(23,55,82,.14); }
.dc-header-bar { display:flex; align-items:center; justify-content:space-between; padding:.7rem .85rem; color:#fff; background:var(--ref-navy); }
.dc-kicker { font-size:.47rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.dc-badge,.dc-refund-paid { padding:.2rem .35rem; color:var(--ref-teal); background:#d7f3ef; border-radius:999px; font-size:.42rem; font-weight:900; text-transform:uppercase; }
.dc-body { padding:.75rem; }
.dc-property { display:flex; align-items:center; gap:.5rem; margin:.75rem 0 .5rem; }
.dc-prop-icon { display:grid; width:1.6rem; height:1.6rem; place-items:center; color:#fff; background:var(--ref-teal); border-radius:.45rem; }
.dc-prop-addr { color:var(--ref-ink); font-size:.54rem; font-weight:900; }.dc-prop-sub,.dc-meta { color:#7c909a; font-size:.43rem; }
.dc-meta { display:flex; justify-content:space-between; gap:.3rem; padding-bottom:.6rem; border-bottom:1px solid var(--ref-line); }
.dc-meta strong { color:var(--ref-ink); }
.dc-evidence,.dc-refund { margin-top:.6rem; padding:.55rem; background:var(--ref-teal-light); border:1px solid #ccebe8; border-radius:.55rem; }
.dc-ev-label,.dc-score-label,.dc-val-header,.dc-refund-label { color:#78909a; font-size:.44rem; font-weight:800; }.dc-ev-val { margin-top:.22rem; color:var(--ref-teal); font-size:.68rem; font-weight:900; }.dc-ev-sub,.dc-refund-sub { margin-top:.18rem; color:#8aa0a8; font-size:.4rem; }
.dc-score { display:flex; align-items:center; gap:.6rem; margin-top:.65rem; padding:.45rem; border:1px solid var(--ref-line); border-radius:.55rem; }.dc-gauge { position:relative; width:2.8rem; height:2.8rem; flex:0 0 2.8rem; }.dc-gauge svg { width:100%; height:100%; transform:rotate(-35deg); }.dc-gauge-num { position:absolute; inset:0; display:grid; place-items:center; color:var(--ref-navy); font-size:.9rem; font-weight:900; }.dc-score-right { display:grid; gap:.2rem; }.dc-score-badge { width:max-content; padding:.2rem .3rem; color:var(--success); background:#e5f6ee; border-radius:.25rem; font-size:.42rem; font-weight:900; }.dc-score-range { color:#8ba0a7; font-size:.4rem; }
.dc-cta { display:block; box-sizing:border-box; width:100%; margin-top:.7rem; padding:.48rem; color:#fff; background:var(--ref-teal); border:1px solid var(--ref-teal); border-radius:.45rem; font-size:.45rem; font-weight:800; cursor:pointer; text-align:center; }
.dc-specs,.dc-values { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; margin-top:.6rem; }.dc-spec,.dcv { padding:.45rem; color:#80949d; background:#f8fbfb; border-radius:.4rem; font-size:.42rem; }.dc-spec strong,.dcv-val { color:var(--ref-ink); font-weight:900; }.dc-val-header { margin-top:.7rem; }.dc-refund { background:#e7f8f2; border-color:#cceee0; }.dc-refund-header { display:flex; justify-content:space-between; }.dc-refund-val { margin-top:.2rem; color:var(--success); font-size:1.1rem; font-weight:900; }
.stats-bar { color:#fff; background:var(--ref-navy); }.stats-inner { display:grid; grid-template-columns:repeat(4,1fr); width:min(960px,100%); margin:auto; padding:1.15rem 2rem; }.stat { padding:.25rem 1rem; text-align:center; border-right:1px solid rgba(255,255,255,.14); }.stat:last-child { border-right:0; }.stat-num { font-size:1.25rem; font-weight:900; }.stat-label { margin-top:.2rem; color:rgba(255,255,255,.64); font-size:.46rem; }
.opp-bg,.faq-bg { background:var(--ref-cream); }.hiw-bg { background:#fff; }.report-bg { background:#eef6f7; }.section { width:min(960px,100%); margin:auto; padding:4.75rem 2rem; box-sizing:border-box; }.section-head { max-width:620px; }.section-head h2,.county-bar h2,.final-cta h2,.assessify-home .section-head h2,.assessify-home .county-bar h2,.assessify-home .final-cta h2 { margin:.65rem 0 .8rem; color:var(--ref-ink); font-family:'DM Serif Display',Georgia,'Times New Roman',serif; font-size:clamp(1.8rem,3.4vw,2.7rem); font-weight:400; letter-spacing:-.035em; line-height:1.08; }.section-head p,.county-bar p,.final-cta p { max-width:650px; margin:0; color:var(--ref-muted); font-size:.72rem; line-height:1.7; }
.value-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:.75rem; margin-top:2.25rem; }.vf-card { min-height:120px; padding:1rem; background:#fff; border:1px solid var(--ref-line); border-radius:.75rem; box-shadow:0 8px 20px rgba(23,55,82,.05); }.vf-eyebrow { color:#82959c; font-size:.48rem; font-weight:900; text-transform:uppercase; }.vf-num { margin:.5rem 0 .3rem; color:var(--ref-ink); font-size:1.25rem; font-weight:900; }.vf-desc { color:var(--ref-muted); font-size:.55rem; line-height:1.4; }.vf-arrow { color:#9aabb0; font-size:1.25rem; }
.steps-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }.step-card { min-height:180px; padding:1.25rem; border:1px solid var(--ref-line); border-radius:.8rem; }.step-num { color:var(--ref-teal); font-size:.65rem; font-weight:900; }.step-card h3 { margin:1.2rem 0 .45rem; font-size:.95rem; }.step-card p,.features-list { color:var(--ref-muted); font-size:.62rem; line-height:1.65; }
.report-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:4rem; margin-top:2.25rem; }.report-mock { padding:1.25rem; background:#fff; border:1px solid #d7e4e6; border-radius:.8rem; box-shadow:0 14px 30px rgba(23,55,82,.08); }.rm-hdr,.rm-score-row { display:flex; align-items:center; gap:.6rem; }.rm-logo { display:grid; width:1.5rem; height:1.5rem; place-items:center; color:#fff; background:var(--ref-teal); border-radius:.3rem; font-weight:900; }.rm-title { color:var(--ref-ink); font-size:.65rem; font-weight:900; text-transform:uppercase; }.rm-row { margin:1.5rem 0 1rem; }.rm-label,.rm-score-sub { color:#879aa2; font-size:.5rem; }.rm-val { margin-top:.35rem; color:var(--ref-ink); font-weight:800; }.rm-evidence,.rm-refund { margin-top:.8rem; padding:.75rem; background:var(--ref-teal-light); border-radius:.5rem; }.rm-ev-label,.rm-refund-label { color:#78929b; font-size:.5rem; }.rm-ev-val { margin-top:.25rem; color:var(--ref-teal); font-size:.85rem; font-weight:900; }.rm-score-row { margin-top:1rem; }.rm-gauge { position:relative; width:3rem; height:3rem; flex:0 0 3rem; }.rm-gauge svg { width:100%; height:100%; transform:rotate(-35deg); }.rm-gauge-num { position:absolute; inset:0; display:grid; place-items:center; color:var(--ref-navy); font-size:1rem; font-weight:900; }.rm-grid { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin-top:1rem; }.rm-grid-item { padding:.55rem; background:#f7fbfb; border-radius:.4rem; }.rm-gv { margin-top:.2rem; color:var(--ref-ink); font-size:.7rem; font-weight:900; }.rm-refund { background:#e7f8f2; }.rm-refund-val { margin-top:.2rem; color:var(--success); font-size:1.35rem; font-weight:900; }.report-right h3 { margin:0 0 1rem; font-size:1.4rem; }.features-list { display:grid; gap:.65rem; padding:0; list-style:none; }.features-list li { display:flex; gap:.5rem; }.ck { color:var(--ref-teal); font-weight:900; }.cta-link,.county-link { display:inline-block; margin-top:1.1rem; color:var(--ref-teal); font-size:.62rem; font-weight:900; }
.county-bar { padding:3.75rem 2rem; background:var(--ref-cream); text-align:center; }.county-bar-inner { width:min(800px,100%); margin:auto; }.county-bar h2 { margin-right:auto; margin-left:auto; }.county-bar p { margin-right:auto; margin-left:auto; }.county-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin-top:1.35rem; }.county-chip { padding:.35rem .55rem; color:#5f7b86; background:#fff; border:1px solid var(--ref-line); border-radius:999px; font-size:.5rem; }
.faq-list { display:grid; gap:.65rem; max-width:800px; margin-top:2rem; }.faq-list details { padding:.8rem 1rem; background:#fff; border:1px solid var(--ref-line); border-radius:.55rem; }.faq-list summary { color:var(--ref-ink); font-size:.68rem; font-weight:800; cursor:pointer; }.faq-list p { margin:.7rem 0 0; color:var(--ref-muted); font-size:.6rem; line-height:1.6; }
.final-cta { padding:4.5rem 2rem; color:#fff; background:var(--ref-navy); text-align:center; }.final-cta-inner { width:min(700px,100%); margin:auto; }.final-cta h2 { color:#fff; }.final-cta p { margin-right:auto; margin-left:auto; color:rgba(255,255,255,.72); }.cta-btn { display:inline-flex; margin-top:1.3rem; padding:.75rem 1rem; color:var(--ref-navy); background:#fff; border-radius:.45rem; font-size:.65rem; font-weight:900; }
.assessify-home .final-cta h2 { color:#fff; }
.assessify-home-map-modal { z-index:1000000; }
@media(max-width:800px) { .hero { grid-template-columns:1fr; gap:2.25rem; padding-top:6rem; }.hero-text { max-width:650px; }.dash-card { max-width:390px; margin:auto; }.report-grid { grid-template-columns:1fr; gap:2rem; }.value-flow { grid-template-columns:1fr; }.vf-arrow { justify-self:center; transform:rotate(90deg); }.steps-row { grid-template-columns:1fr; }.stats-inner { grid-template-columns:repeat(2,1fr); gap:.6rem 0; }.stat:nth-child(2) { border-right:0; }.stat:nth-child(-n+2) { padding-bottom:.6rem; border-bottom:1px solid rgba(255,255,255,.14); } }
@media(max-width:540px) { .hero { padding-right:1.25rem; padding-left:1.25rem; }.section { padding-right:1.25rem; padding-left:1.25rem; }.hero h1 { font-size:3rem; }.stats-inner { padding-right:.75rem; padding-left:.75rem; }.stat { padding-right:.45rem; padding-left:.45rem; }.stat-label { font-size:.42rem; } }

/* Readable type scale for the reference homepage and dashboard preview. */
.assessify-home .hero-kicker,
.assessify-home .kicker { font-size:.65rem; }
.assessify-home .hero-link { font-size:.74rem; }
.assessify-home .ht-item { font-size:.64rem; }
.assessify-home .assessify-home-search input#search-input { font-size:.9rem; }

.assessify-home .dc-kicker { font-size:.58rem; }
.assessify-home .dc-badge,
.assessify-home .dc-refund-paid { font-size:.5rem; }
.assessify-home .dc-prop-addr { font-size:.68rem; }
.assessify-home .dc-prop-sub,
.assessify-home .dc-meta { font-size:.54rem; }
.assessify-home .dc-meta { flex-wrap:wrap; row-gap:.25rem; }
.assessify-home .dc-ev-label,
.assessify-home .dc-score-label,
.assessify-home .dc-val-header,
.assessify-home .dc-refund-label { font-size:.54rem; }
.assessify-home .dc-ev-val { font-size:.82rem; }
.assessify-home .dc-ev-sub,
.assessify-home .dc-refund-sub { font-size:.5rem; }
.assessify-home .dc-score-badge { font-size:.5rem; }
.assessify-home .dc-score-range { font-size:.5rem; }
.assessify-home .dc-cta { font-size:.56rem; }
.assessify-home .dc-spec,
.assessify-home .dcv { font-size:.54rem; }
.assessify-home .dcv-val { font-size:.66rem; }

.assessify-home .stat-num { font-size:1.45rem; }
.assessify-home .stat-label { font-size:.56rem; }
.assessify-home .section-head p,
.assessify-home .county-bar p,
.assessify-home .final-cta p { font-size:.84rem; }
.assessify-home .vf-eyebrow { font-size:.58rem; }
.assessify-home .vf-num { font-size:1.45rem; }
.assessify-home .vf-desc { font-size:.68rem; }
.assessify-home .step-num { font-size:.75rem; }
.assessify-home .step-card h3 { font-size:1.1rem; }
.assessify-home .step-card p,
.assessify-home .features-list { font-size:.75rem; }
.assessify-home .rm-label,
.assessify-home .rm-score-sub,
.assessify-home .rm-ev-label,
.assessify-home .rm-refund-label { font-size:.62rem; }
.assessify-home .rm-ev-val { font-size:.95rem; }
.assessify-home .rm-gv { font-size:.82rem; }
.assessify-home .report-right h3 { font-size:1.55rem; }
.assessify-home .cta-link,
.assessify-home .county-link { font-size:.75rem; }
.assessify-home .county-chip { font-size:.62rem; }
.assessify-home .faq-list summary { font-size:.82rem; }
.assessify-home .faq-list p { font-size:.72rem; }
.assessify-home .cta-btn { font-size:.75rem; }

/* Keep the homepage readable at normal desktop viewing distance. */
.assessify-home .hero { grid-template-columns:minmax(0,1fr) minmax(340px,400px); }
.assessify-home .hero-kicker,
.assessify-home .kicker { font-size:.72rem; }
.assessify-home .hero-sub { font-size:1rem; line-height:1.7; }
.assessify-home .assessify-home-search input#search-input { font-size:1rem; }
.assessify-home .hero-link { font-size:.82rem; }
.assessify-home .ht-item { font-size:.72rem; }

.assessify-home .dc-body { padding:1rem; }
.assessify-home .dc-header-bar { padding:.8rem 1rem; }
.assessify-home .dc-kicker { font-size:.7rem; }
.assessify-home .dc-badge,
.assessify-home .dc-refund-paid { font-size:.6rem; }
.assessify-home .dc-prop-addr { font-size:.78rem; }
.assessify-home .dc-prop-sub,
.assessify-home .dc-meta { font-size:.62rem; }
.assessify-home .dc-ev-label,
.assessify-home .dc-score-label,
.assessify-home .dc-val-header,
.assessify-home .dc-refund-label { font-size:.62rem; }
.assessify-home .dc-ev-val { font-size:1rem; }
.assessify-home .dc-ev-sub,
.assessify-home .dc-refund-sub { font-size:.58rem; }
.assessify-home .dc-score-badge { font-size:.58rem; }
.assessify-home .dc-score-range { font-size:.56rem; }
.assessify-home .dc-cta { font-size:.68rem; }
.assessify-home .dc-spec,
.assessify-home .dcv { font-size:.64rem; }
.assessify-home .dcv-label { font-size:.64rem; line-height:1.25; }
.assessify-home .dcv-val { font-size:.78rem; }
.assessify-home .dc-refund-val { font-size:1.3rem; }

.assessify-home .stat-label { font-size:.65rem; }
.assessify-home .section-head p,
.assessify-home .county-bar p,
.assessify-home .final-cta p { font-size:.95rem; }
.assessify-home .vf-eyebrow { font-size:.68rem; }
.assessify-home .vf-num { font-size:1.55rem; }
.assessify-home .vf-desc { font-size:.82rem; }
.assessify-home .step-num { font-size:.8rem; }
.assessify-home .step-card h3 { font-size:1.2rem; }
.assessify-home .step-card p,
.assessify-home .features-list { font-size:.85rem; }
.assessify-home .rm-label,
.assessify-home .rm-score-sub,
.assessify-home .rm-ev-label,
.assessify-home .rm-refund-label { font-size:.68rem; }
.assessify-home .rm-ev-val { font-size:1rem; }
.assessify-home .rm-gv { font-size:.9rem; }
.assessify-home .report-right h3 { font-size:1.65rem; }
.assessify-home .cta-link,
.assessify-home .county-link { font-size:.82rem; }
.assessify-home .county-chip { font-size:.7rem; }
.assessify-home .faq-list summary { font-size:.92rem; }
.assessify-home .faq-list p { font-size:.82rem; }
.assessify-home .cta-btn { font-size:.82rem; }

/* Keep the homepage typography consistent with the modern product views. */
.assessify-home,
.assessify-home main,
.assessify-home main *:not(i) { font-family:'DM Sans','Segoe UI',sans-serif; }
.assessify-home .hero h1,
.assessify-home .section-head h2,
.assessify-home .county-bar h2,
.assessify-home .final-cta h2 { font-family:'DM Serif Display',Georgia,'Times New Roman',serif; font-weight:400; }
