.assessify-property-map-section { max-width:1240px; }
.assessify-property-icon { display:flex; align-items:center; justify-content:center; }
.assessify-property-icon i { display:block; line-height:1; }
.assessify-home-hero { align-items:start; row-gap:2.5rem; }
.assessify-home-hero > .assessify-opportunity-wrap { align-self:start; }
.assessify-home-hero > .assessify-property-map-section { grid-column:1 / -1; width:100%; max-width:none; margin:0; padding:0; }
.assessify-home-hero > .assessify-property-map-section .assessify-property-map-heading { align-items:flex-start; gap:1rem; }
.assessify-home-hero > .assessify-property-map-section .assessify-property-map-heading h2 { font-size:clamp(1.65rem,2.7vw,2.45rem); }
.assessify-home-hero > .assessify-property-map-section .assessify-property-map-heading p { margin-top:.55rem; font-size:.72rem; line-height:1.55; }
.assessify-property-map-search { width:100%; margin:1.35rem auto 0; }
.assessify-property-map-search .assessify-home-search { width:100%; max-width:none; margin-top:0; }
.assessify-property-map-search .home-search-no-results,
.assessify-property-map-search .home-redesign-search-loader { margin-left:.25rem; }
.home-redesign-search-loader { display:none; align-items:center; gap:.35rem; }
.home-redesign-search-loader.is-visible { display:flex; }
.home-search-follow-up { display:grid; gap:.45rem; width:min(700px,100%); margin:.65rem auto 0; padding:.75rem .85rem; color:#36556a; background:#e9f8f6; border:1px solid rgba(23,141,154,.24); border-radius:.65rem; font-size:.7rem; line-height:1.5; }
.home-search-follow-up[hidden] { display:none; }
.home-search-follow-up-property { color:#173752; font-weight:800; }
.home-search-follow-up strong { font-weight:700; }
.home-search-follow-up a { width:max-content; padding:.38rem .6rem; color:#fff; background:#178d9a; border-radius:.4rem; font-size:.65rem; font-weight:800; text-decoration:none; }
.home-search-follow-up a:hover { background:#18506d; }
.assessify-home-hero > .assessify-property-map-section .assessify-property-map-shell { margin-top:1rem; }
.assessify-home-hero > .assessify-property-map-section .assessify-property-map-note { font-size:.55rem; }
.assessify-property-map-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.assessify-property-map-heading h2 { max-width:720px; font-size:clamp(2rem,3.6vw,3.4rem); }
.assessify-property-map-heading p { max-width:690px; margin:1rem 0 0; color:var(--home-muted); font-size:.9rem; line-height:1.8; }
.assessify-property-map-badge { display:inline-flex; align-items:center; gap:.35rem; flex:none; padding:.55rem .7rem; color:#178d9a; background:#e3f8f6; border:1px solid rgba(23,141,154,.2); border-radius:.55rem; font-size:.65rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.assessify-property-map-badge i { font-size:1rem; }
.assessify-property-map-shell { position:relative; margin-top:2.5rem; overflow:hidden; background:#dceff0; border:1px solid rgba(23,141,154,.2); border-radius:1.25rem; box-shadow:0 18px 40px rgba(42,89,113,.12); }
#california-property-map { position:relative; height:700px; min-height:700px; }
#california-property-map.is-unavailable { display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#e7f8f7,#f4fbfb); }
.assessify-property-map-error { display:flex; align-items:center; gap:.65rem; max-width:360px; padding:1rem 1.2rem; color:#36556a; background:rgba(255,255,255,.92); border:1px solid rgba(23,141,154,.2); border-radius:.75rem; box-shadow:0 8px 20px rgba(42,89,113,.1); font-size:.72rem; line-height:1.5; text-align:left; }
.assessify-property-map-error i { flex:none; color:#178d9a; font-size:1.4rem; }
.assessify-property-map-loading { position:absolute; z-index:2; inset:0; display:flex; align-items:center; justify-content:center; gap:.5rem; color:#36556a; background:linear-gradient(135deg,rgba(231,248,247,.94),rgba(244,251,251,.9)); font-size:.8rem; font-weight:800; pointer-events:none; transition:opacity .25s ease; }
.assessify-property-map-loading.is-hidden { opacity:0; }
.assessify-property-map-loading span { width:1rem; height:1rem; border:2px solid rgba(23,141,154,.2); border-top-color:#178d9a; border-radius:50%; animation:assessify-property-map-spin .7s linear infinite; }
@keyframes assessify-property-map-spin { to { transform:rotate(360deg); } }
.assessify-property-map-parcel-status { position:absolute; z-index:4; top:1rem; right:1rem; display:inline-flex; align-items:center; gap:.45rem; max-width:calc(100% - 2rem); padding:.55rem .75rem; color:#36556a; background:rgba(255,255,255,.94); border:1px solid rgba(23,141,154,.24); border-radius:999px; box-shadow:0 7px 18px rgba(23,55,82,.16); font-size:.66rem; font-weight:800; pointer-events:none; }
.assessify-property-map-parcel-status[hidden] { display:none; }
.assessify-property-map-parcel-status > span:first-child { width:.78rem; height:.78rem; flex:0 0 .78rem; border:2px solid rgba(23,141,154,.2); border-top-color:#178d9a; border-radius:50%; animation:assessify-property-map-spin .7s linear infinite; }
.assessify-property-map-parcel-status.is-message > span:first-child { display:none; }
.assessify-property-map-legend { position:absolute; z-index:4; bottom:1rem; left:1rem; display:flex; align-items:center; gap:.7rem; padding:.55rem .75rem; color:#36556a; background:rgba(255,255,255,.94); border:1px solid rgba(23,141,154,.24); border-radius:999px; box-shadow:0 7px 18px rgba(23,55,82,.16); font-size:.62rem; font-weight:800; pointer-events:none; }
.assessify-property-map-legend span { display:inline-flex; align-items:center; gap:.3rem; white-space:nowrap; }
.assessify-property-map-legend-title { color:#18506d; font-size:.62rem; font-weight:900; white-space:nowrap; }
.assessify-property-map-legend i { width:.65rem; height:.65rem; display:inline-block; border-radius:50%; }
.assessify-property-map-legend .is-low { background:#dc4c4c; }
.assessify-property-map-legend .is-medium { background:#d6a928; }
.assessify-property-map-legend .is-high { background:#22a06b; }
.assessify-property-map-legend small { color:#7890a0; font-size:.56rem; font-weight:600; }
.assessify-property-map-note { margin:1rem 0 0; color:#7890a0; font-size:.62rem; line-height:1.6; }
.gm-style .gm-style-iw-c { padding:0 !important; border:0 !important; outline:0 !important; border-radius:12px; box-shadow:0 14px 35px rgba(23,55,82,.2); }
.gm-style .gm-style-iw-d { overflow:auto !important; padding:0 !important; }
.gm-style .gm-style-iw-t::after { background:linear-gradient(45deg,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 51%); }
.gm-style .gm-style-iw-chr { position:absolute; z-index:1; top:.15rem; right:.15rem; height:auto; }
.gm-style .gm-style-iw-chr button { position:relative; top:0; right:0; color:#7890a0 !important; }
.assessify-property-map-section .gm-style .gm-style-iw-chr button,
.assessify-property-map-section .gm-style .gm-style-iw-chr button:focus,
.assessify-property-map-section .gm-style .gm-style-iw-chr button:focus-visible,
.assessify-property-map-section .gm-style .gm-ui-hover-effect,
.assessify-property-map-section .gm-style .gm-ui-hover-effect:focus,
.assessify-property-map-section .gm-style .gm-ui-hover-effect:focus-visible {
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}
.assessify-property-popup { box-sizing:border-box; width:100%; min-width:0; padding:1rem; border:0; outline:0; }
.assessify-property-popup-kicker { display:block; margin-bottom:.35rem; color:#178d9a; font-size:.58rem; font-weight:900; letter-spacing:.1em; }
.assessify-property-popup-photo { position:relative; overflow:hidden; margin:0 0 .75rem; border-radius:9px; background:#eaf5f5; }
.assessify-property-popup-photo img { display:block; width:100%; height:132px; object-fit:cover; }
.assessify-property-popup-photo span { position:absolute; right:.4rem; bottom:.35rem; padding:.2rem .35rem; color:#fff; background:rgba(23,55,82,.72); border-radius:4px; font-size:.48rem; font-weight:700; letter-spacing:.02em; }
.assessify-property-popup h3 { margin:0; padding-right:1rem; color:#173752; font-size:.92rem; line-height:1.3; }
.assessify-property-popup-meta { margin:.35rem 0 .8rem; color:#7890a0; font-size:.62rem; line-height:1.5; }
.assessify-property-popup-values { display:grid; gap:.45rem; padding:.7rem; background:#f2f9f9; border:1px solid #dbecef; border-radius:8px; }
.assessify-property-popup-value { display:flex; align-items:baseline; justify-content:space-between; gap:.7rem; color:#60758a; font-size:.62rem; }
.assessify-property-popup-value strong { color:#173752; font-size:.72rem; white-space:nowrap; }
.assessify-property-popup-refund { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-top:.65rem; padding:.65rem .7rem; color:#18506d; background:#e3f8f6; border:1px solid rgba(23,141,154,.2); border-radius:8px; font-size:.62rem; font-weight:800; }
.assessify-property-popup-refund strong { color:#178d9a; font-size:1rem; }
.assessify-property-popup-score { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-top:.8rem; padding:.75rem .8rem; color:#60758a; background:#f2f9f9; border:1px solid rgba(23,141,154,.2); border-radius:8px; font-size:.68rem; font-weight:800; }
.assessify-property-popup-score-brand { display:inline-flex; align-items:center; gap:.35rem; min-width:0; }
.assessify-property-popup-score-brand img { display:block; flex:0 0 auto; width:1.25rem; height:1.25rem; object-fit:contain; }
.assessify-property-popup-score-brand span { white-space:nowrap; }
.assessify-property-popup-score strong { color:#178d9a; font-size:1.35rem; line-height:1; letter-spacing:-.02em; }
.assessify-property-popup .assessify-captcha {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:.65rem .7rem;
    overflow:hidden;
}
.assessify-property-popup .assessify-captcha .cf-turnstile,
.assessify-property-popup .assessify-captcha .cf-turnstile > div,
.assessify-property-popup .assessify-captcha .cf-turnstile iframe {
    box-sizing:border-box;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}
.assessify-property-popup .assessify-captcha .cf-turnstile iframe { display:block; }
.assessify-property-popup-button { width:100%; margin-top:.8rem; padding:.62rem .7rem; color:#fff; background:#178d9a; border:0; outline:0; border-radius:7px; font-size:.66rem; font-weight:800; cursor:pointer; }
.assessify-property-popup-button:disabled { cursor:not-allowed; opacity:.55; }
.assessify-property-popup-button:focus, .assessify-property-popup-button:focus-visible { border:0; outline:0; box-shadow:none; }
.assessify-property-popup-button:hover { background:#18506d; }
.assessify-property-popup-disclaimer { margin:.65rem 0 0; color:#8a9aa4; font-size:.55rem; line-height:1.45; }
.assessify-property-popup-loading { display:flex; align-items:center; gap:.45rem; min-width:260px; box-sizing:border-box; padding:1rem 2.75rem 1rem 1rem; color:#60758a; font-size:.7rem; line-height:1.4; }
.assessify-property-popup-loading span { width:.8rem; height:.8rem; border:2px solid rgba(23,141,154,.2); border-top-color:#178d9a; border-radius:50%; animation:assessify-property-map-spin .7s linear infinite; }
.assessify-property-popup-error { padding:1rem; color:#7b4c58; font-size:.68rem; line-height:1.5; }
.assessify-property-popup-error-property { display:block; margin-bottom:.45rem; color:#173752; font-size:.72rem; line-height:1.4; }
.assessify-property-popup-error .assessify-property-popup-button { display:block; box-sizing:border-box; color:#fff; text-align:center; text-decoration:none; }
@media(max-width:950px) { .assessify-home-hero > .assessify-property-map-section { grid-column:1; } }
@media(max-width:640px) { .assessify-property-map-heading { align-items:flex-start; flex-direction:column; gap:1rem; } #california-property-map { height:620px; min-height:620px; } }
@media(max-width:640px) { .assessify-property-map-legend { right:.75rem; bottom:.75rem; left:.75rem; justify-content:center; flex-wrap:wrap; border-radius:.75rem; } .assessify-property-map-legend small { flex-basis:100%; text-align:center; } }

/* Put the property explorer first, like a real-estate search landing page. */
.assessify-home-map-hero {
    position:relative;
    /* Keep this section above the following dashboard preview stacking layer. */
    z-index:10;
    isolation:isolate;
    width:100%;
    max-width:none;
    /* The public navigation is fixed, so leave room for it before the heading. */
    padding:calc(74px + 2.5rem) 0 3.5rem;
    background:#fff;
    border-bottom:1px solid #dfeae2;
}
.assessify-home-map-hero::before {
    position:absolute;
    z-index:-1;
    top:0;
    right:0;
    left:0;
    height:100%;
    display:none;
    content:"";
}
.assessify-home-map-hero .assessify-property-map-heading,
.assessify-home-map-hero .assessify-property-map-search,
.assessify-home-map-hero .assessify-property-map-note {
    width:min(1240px,calc(100% - 4rem));
    margin-right:auto;
    margin-left:auto;
}
.assessify-home-map-hero .assessify-property-map-heading {
    position:relative;
    align-items:flex-start;
    justify-content:center;
    text-align:center;
}
.assessify-home-map-hero .assessify-property-map-heading-copy {
    width:min(100%,760px);
}
.assessify-home-map-hero .assessify-property-map-heading h2,
.assessify-home-map-hero .assessify-property-map-heading p {
    margin-right:auto;
    margin-left:auto;
}
.assessify-home-map-hero .assessify-property-map-heading h2 {
    color:#fff;
    font-size:clamp(2.9rem,5.5vw,5.4rem);
    font-weight:850;
    letter-spacing:-.065em;
    line-height:1.01;
}
.assessify-home-map-hero .assessify-property-map-heading p {
    color:rgba(255,255,255,.82);
    margin-top:.65rem;
    font-size:.82rem;
    line-height:1.65;
}
.assessify-home-map-hero .assessify-property-map-badge {
    color:#18506d;
    background:rgba(255,255,255,.92);
    border-color:rgba(255,255,255,.8);
}
.assessify-home-map-hero .assessify-property-map-note {
    color:rgba(255,255,255,.78);
}
.assessify-home-map-hero .assessify-property-map-badge {
    position:absolute;
    top:0;
    right:0;
}
.assessify-home-map-hero .assessify-property-map-search {
    position:relative;
    z-index:4;
    max-width:780px;
    margin-top:1.25rem;
}
.assessify-home-map-hero .assessify-property-map-search .assessify-home-search {
    padding:.55rem .6rem .55rem 1.1rem;
    box-shadow:0 16px 34px rgba(23,55,82,.16);
}
.assessify-home-map-hero .assessify-property-map-shell {
    /* Let the map act as a full-width banner; the content above remains centered. */
    width:100%;
    max-width:none;
    margin:1.15rem 0 0;
    border-right:0;
    border-left:0;
    border-radius:0;
}
.assessify-home-map-hero #california-property-map {
    height:clamp(460px,68vh,700px);
    min-height:460px;
}
.assessify-home-map-hero .assessify-property-map-note {
    max-width:1000px;
    margin-top:.8rem;
    text-align:center;
}
@media(max-width:640px) {
    .assessify-home-map-hero {
        padding:calc(66px + 1.75rem) 0 2.25rem;
    }
    .assessify-home-map-hero::before {
        background-position:center center;
    }
    .assessify-home-map-hero .assessify-property-map-heading,
    .assessify-home-map-hero .assessify-property-map-search,
    .assessify-home-map-hero .assessify-property-map-note {
        width:calc(100% - 2.5rem);
    }
    .assessify-home-map-hero .assessify-property-map-heading {
        align-items:center;
    }
    .assessify-home-map-hero .assessify-property-map-badge {
        position:static;
    }
    .assessify-home-map-hero .assessify-property-map-shell {
        width:100%;
        margin:1rem 0 0;
        border-radius:0;
    }
    .assessify-property-map-parcel-status { top:.75rem; right:.75rem; max-width:calc(100% - 1.5rem); }
    .assessify-home-map-hero #california-property-map {
        height:clamp(500px,70vh,620px);
        min-height:500px;
    }
}

/* The preview is a separate panel attached to the map dialog. It remains
   outside the dialog's bordered surface so it cannot be covered by Google
   Maps' internal overlay stack. */
.assessify-property-map-attached-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,340px);
    align-items:stretch;
    gap:1rem;
    width:min(1500px,100%);
    max-height:calc(100vh - 2rem);
}
.assessify-property-map-attached-layout > .assessify-home-map-dialog,
.assessify-property-map-attached-layout > .dashboard-property-map-dialog {
    width:100%;
    min-width:0;
    max-width:none;
}
.assessify-property-preview-panel {
    display:flex;
    box-sizing:border-box;
    align-self:stretch;
    height:auto;
    min-height:0;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(23,141,154,.2);
    border-radius:.85rem;
    box-shadow:0 14px 35px rgba(23,55,82,.12);
}
.assessify-property-preview-panel > .assessify-property-popup {
    height:100%;
    overflow-y:auto;
}
.assessify-property-preview-empty {
    display:flex;
    height:100%;
    box-sizing:border-box;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:2rem 1.5rem;
    color:#7890a0;
    text-align:center;
}
.assessify-property-preview-empty-icon {
    display:grid;
    width:3.15rem;
    height:3.15rem;
    margin-bottom:1rem;
    place-items:center;
    color:#178d9a;
    background:#e3f8f6;
    border-radius:50%;
}
.assessify-property-preview-empty-icon i { font-size:1.55rem; }
.assessify-property-preview-empty .assessify-property-popup-kicker { margin-bottom:.45rem; }
.assessify-property-preview-empty h4 {
    margin:0;
    color:#173752;
    font-size:1.05rem;
    line-height:1.3;
}
.assessify-property-preview-empty p {
    max-width:230px;
    margin:.55rem 0 0;
    font-size:.68rem;
    line-height:1.6;
}
.assessify-property-preview-panel .assessify-property-popup-loading {
    min-width:0;
    height:100%;
    justify-content:center;
    padding:1.5rem;
}
.assessify-property-preview-panel .assessify-property-popup-error {
    box-sizing:border-box;
    height:100%;
    overflow-y:auto;
}

@media(max-width:900px) {
    .assessify-home-map-modal { overflow:auto; }
    .assessify-property-map-attached-layout {
        grid-template-columns:1fr;
        width:100%;
        max-height:none;
    }
    .assessify-property-preview-panel {
        height:auto;
        min-height:360px;
        margin-top:0 !important;
    }
}

/* Opening layout aligned with the reference landing page: white hero, serif
   editorial headline, dashboard preview, then a compact metrics strip. */
.assessify-home > main {
    display:flex;
    flex-direction:column;
}
.assessify-home-hero {
    order:1;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:clamp(3rem,8vw,6.5rem);
    width:min(1120px,100%);
    min-height:470px;
    box-sizing:border-box;
    padding:4.5rem 2rem 4rem;
}
.assessify-home-hero-copy {
    max-width:590px;
}
.assessify-home-hero h1 {
    max-width:560px;
    color:#173752;
    font-family:'DM Serif Display',Georgia,'Times New Roman',serif;
    font-size:clamp(2.7rem,4.6vw,4.25rem);
    font-weight:700;
    letter-spacing:-.055em;
    line-height:1.02;
}
.assessify-home-hero-copy > p {
    max-width:520px;
    margin-top:1.1rem;
    font-size:.8rem;
    line-height:1.7;
}
.assessify-home-hero .trial-btn { display:none; }
.assessify-home-hero .assessify-opportunity-wrap { width:100%; max-width:360px; }
.assessify-home-hero .assessify-opportunity-card {
    padding:1.15rem;
    border-radius:1rem;
}
.assessify-home-hero .assessify-card-heading h2 { font-size:1.1rem; }
.assessify-home-hero .assessify-eyebrow {
    margin-bottom:.75rem;
    color:#178d9a;
    font-size:.55rem;
}
.assessify-home-hero .assessify-home-search {
    max-width:430px;
    margin-top:1.25rem;
    border-radius:999px;
}
.assessify-home-hero .assessify-property-map-search-row {
    display:flex;
    align-items:center;
    gap:.55rem;
    width:min(430px,100%);
    margin-top:1.25rem;
}
.assessify-home-hero .assessify-property-map-search-row .assessify-property-map-search {
    flex:1 1 auto;
    width:auto;
    margin:0;
}
.assessify-home-hero .assessify-property-map-search-row .assessify-home-search { margin-top:0; }
.assessify-home-hero .assessify-home-map-launch {
    width:2.7rem;
    height:2.7rem;
    flex:0 0 2.7rem;
    border-radius:50%;
}
.assessify-home-hero-actions { margin-top:1rem; }
.assessify-home-hero .assessify-trust-line {
    flex-wrap:wrap;
    gap:.55rem 1rem;
    margin-top:1.15rem;
    font-size:.57rem;
}
.assessify-home-hero .assessify-trust-line span { color:#7890a0; }
.assessify-home-hero .assessify-trust-line i { color:#178d9a; }
.assessify-home-map-hero {
    order:3;
}
.assessify-home-metrics {
    order:2;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    width:100%;
    box-sizing:border-box;
    padding:1.35rem max(2rem,calc((100% - 1080px)/2));
    color:#fff;
    background:#18506d;
}
.assessify-home-metrics > div {
    display:flex;
    min-height:58px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.25rem;
    padding:0 1rem;
    border-right:1px solid rgba(255,255,255,.14);
    text-align:center;
}
.assessify-home-metrics > div:last-child { border-right:0; }
.assessify-home-metrics strong { color:#fff; font-size:1.4rem; letter-spacing:-.04em; }
.assessify-home-metrics span { color:rgba(255,255,255,.68); font-size:.55rem; }
.assessify-home > main > section:not(#california-property-map-section):not(.assessify-home-hero):not(.assessify-home-metrics) {
    order:4;
}
@media(max-width:700px) {
    .assessify-home-hero { min-height:0; padding:3.5rem 1.25rem 3rem; }
    .assessify-home-hero h1 { font-size:clamp(2.55rem,11vw,3.5rem); }
    .assessify-home-metrics { grid-template-columns:repeat(2,1fr); gap:.75rem 0; padding:1rem .75rem; }
    .assessify-home-metrics > div:nth-child(2) { border-right:0; }
    .assessify-home-metrics > div:nth-child(-n+2) { padding-bottom:.75rem; border-bottom:1px solid rgba(255,255,255,.14); }
}

/* Keep the public page focused on the address search. The parcel map opens
   only when the visitor asks for it or submits a search. */
.assessify-property-map-search-row {
    display:flex;
    align-items:stretch;
    gap:.65rem;
}
.assessify-home-map-hero .assessify-property-map-search-row {
    width:min(780px,calc(100% - 4rem));
    max-width:780px;
    margin:1.25rem auto 0;
}
.assessify-home-map-hero .assessify-property-map-search-row .assessify-property-map-search {
    width:auto;
    flex:1 1 auto;
    max-width:none;
    margin:0;
}
.assessify-home-map-launch {
    display:grid;
    width:3.4rem;
    height:3.4rem;
    flex:0 0 3.4rem;
    place-items:center;
    padding:0;
    color:#fff;
    background:#178d9a;
    border:0;
    border-radius:.65rem;
    box-shadow:0 12px 24px rgba(23,55,82,.14);
    cursor:pointer;
    transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.assessify-home-map-launch i { font-size:1.3rem; }
.assessify-home-map-launch:hover {
    background:#18506d;
    box-shadow:0 15px 28px rgba(23,55,82,.2);
    transform:translateY(-1px);
}
.assessify-home-map-launch:focus-visible {
    outline:3px solid rgba(23,141,154,.28);
    outline-offset:3px;
}
.assessify-home-map-modal {
    position:fixed;
    /* Keep the map dialog above the hero stacking context and legacy overlays. */
    z-index:1000000;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(.75rem,3vw,2rem);
    background:rgba(23,55,82,.62);
    backdrop-filter:blur(4px);
    overscroll-behavior:contain;
}
.assessify-home-map-modal[hidden] { display:none !important; }
body.assessify-home-map-modal-open { overflow:hidden; }
.assessify-home-map-dialog {
    position:relative;
    z-index:1;
    width:min(1180px,100%);
    max-height:calc(100vh - 2rem);
    overflow:auto;
    padding:clamp(1rem,2.3vw,1.6rem);
    background:#f8fcfb;
    border:1px solid rgba(23,141,154,.22);
    border-radius:1.1rem;
    box-shadow:0 28px 80px rgba(9,37,55,.3);
}
.assessify-home-map-dialog-header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}
.assessify-home-map-dialog-header > div:first-child {
    min-width:0;
    flex:1 1 auto;
}
.assessify-home-map-dialog [data-home-property-map-search-slot] {
    margin-top:.75rem;
}
.assessify-home-map-dialog [data-home-property-map-search-slot] .assessify-property-map-search {
    width:100%;
    max-width:780px;
    margin:0;
}
.assessify-home-map-dialog [data-home-property-map-search-slot] .assessify-home-search {
    margin-top:0;
}
.assessify-home-map-dialog-header h3 {
    margin:.25rem 0 0;
    color:#173752;
    font-size:clamp(1.2rem,2vw,1.7rem);
    line-height:1.2;
}
.assessify-home-map-dialog-header p {
    max-width:650px;
    margin:.45rem 0 0;
    color:#7890a0;
    font-size:.72rem;
    line-height:1.55;
}
.assessify-home-map-close {
    display:grid;
    width:2.3rem;
    height:2.3rem;
    flex:0 0 2.3rem;
    place-items:center;
    padding:0;
    color:#60758a;
    background:#eaf5f5;
    border:0;
    border-radius:50%;
    cursor:pointer;
}
.assessify-home-map-close i { font-size:1.35rem; }
.assessify-home-map-close:hover { color:#173752; background:#d9eeee; }
.assessify-home-map-close:focus-visible {
    outline:3px solid rgba(23,141,154,.25);
    outline-offset:2px;
}
.assessify-home-map-dialog .assessify-property-map-shell {
    position:relative;
    z-index:2;
    width:100%;
    margin:0;
    border:1px solid rgba(23,141,154,.2);
    border-radius:.85rem;
}
.assessify-home-map-dialog #california-property-map {
    height:min(64vh,700px);
    min-height:420px;
}
/* Google places InfoWindows in an internal pane whose default layer can sit
   below the page hero when the map is opened from this section. */
.assessify-home-map-dialog .gm-style .gm-style-iw-t,
.assessify-home-map-dialog .gm-style .gm-style-iw-c {
    z-index:1000 !important;
}
.assessify-home-map-dialog .assessify-property-map-note {
    margin:.75rem 0 0;
    text-align:left;
}
@media(max-width:640px) {
    .assessify-home-map-hero .assessify-property-map-search-row {
        width:calc(100% - 2.5rem);
    }
    .assessify-home-map-launch {
        width:3rem;
        height:3rem;
        flex-basis:3rem;
    }
    .assessify-home-map-dialog {
        max-height:calc(100vh - 1.5rem);
        padding:.85rem;
        border-radius:.85rem;
    }
    .assessify-home-map-dialog-header { margin-bottom:.75rem; }
    .assessify-home-map-dialog-header p { font-size:.66rem; }
    .assessify-home-map-dialog #california-property-map {
        height:min(68vh,620px);
        min-height:390px;
    }
}
