
img.left {
   max-width: 50%;
   height: auto;
    float: left;
    border: 10px;
    border-radius: 5%;
    margin-right: 8px;
    margin-botton: 8px;
    clear: left;
}

.skip-link {
    position: fixed;
    z-index: 2000;
    top: .75rem;
    left: .75rem;
    padding: .75rem 1rem;
    background: #102942;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(calc(-100% - 1rem));
    transition: transform 160ms ease;
}

.skip-link:focus {
    color: #fff;
    transform: translateY(0);
}

/* Stage R6B.1: global navigation, contact hierarchy, and native UI controls */
.site-header,
.site-footer,
.analytics-preferences {
    --global-ink: #2b3e5a;
    --global-blue: #30619f;
    --global-sky: #5d9dd6;
    --global-line: #c1d0dd;
    --global-stone: #f7f8f8;
    --global-white: #fff;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
}

.site-header *,
.site-header *::before,
.site-header *::after,
.site-footer *,
.site-footer *::before,
.site-footer *::after {
    box-sizing: border-box;
}

.site-header {
    position: relative;
    z-index: 1030;
    padding: 0;
    border-bottom: 1px solid var(--global-line);
    background: var(--global-white);
    color: var(--global-ink);
}

.site-header__inner {
    display: flex;
    width: min(1500px, calc(100% - 2rem));
    min-height: 4.75rem;
    align-items: center;
    margin-inline: auto;
    padding: .55rem 0;
}

.site-header__brand {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    margin: 0;
    padding: .35rem 0;
}

.site-header__brand img {
    display: block;
    width: clamp(10.25rem, 13vw, 12.5rem);
    max-width: 100%;
    height: auto;
}

.site-header__menu {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    margin-left: clamp(1.25rem, 2.25vw, 2.75rem);
}

.site-header__nav {
    display: flex;
    gap: clamp(.1rem, .5vw, .6rem);
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header__nav-link {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    padding: .78rem clamp(.35rem, .6vw, .65rem);
    color: var(--global-ink);
    font-size: clamp(.86rem, .86vw, .96rem);
    font-weight: 650;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
}

.site-header__nav-link:hover,
.site-header__nav-link:focus-visible {
    color: var(--global-blue);
}

.site-header__buyer-guide {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.site-header__buyer-guide-link {
    padding-right: .2rem !important;
}

.site-header__dropdown-toggle {
    display: inline-flex;
    width: 2.4rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--global-blue);
    cursor: pointer;
}

.site-header__dropdown-toggle svg {
    transition: transform 160ms ease;
}

.site-header__dropdown-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.site-header__submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10;
    display: grid;
    gap: .1rem;
    min-width: 15rem;
    margin: 0;
    padding: .45rem;
    border: 1px solid var(--global-line);
    background: var(--global-white);
    box-shadow: 0 .9rem 2.2rem rgba(43, 62, 90, .15);
    list-style: none;
}

.site-header__submenu[hidden] {
    display: none;
}

.site-header__submenu a {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    padding: .72rem .85rem;
    color: var(--global-ink);
    font-size: .93rem;
    font-weight: 550;
    text-decoration: none;
}

.site-header__submenu a:hover,
.site-header__submenu a:focus-visible {
    background: var(--global-stone);
    color: var(--global-blue);
}

.site-header__contact {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    margin-left: auto;
    padding-left: clamp(.75rem, 1.4vw, 1.5rem);
}

.site-header__phone-desktop {
    display: grid;
    min-height: 3.5rem;
    gap: .12rem;
    align-content: center;
    padding: .55rem clamp(.8rem, 1.2vw, 1.15rem);
    border: 1px solid var(--global-line);
    background: #edf3f7;
    color: var(--global-ink);
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
}

.site-header__phone-desktop span {
    color: var(--global-blue);
    font-size: .82rem;
    font-weight: 750;
}

.site-header__phone-desktop strong {
    font-size: clamp(1rem, 1.05vw, 1.16rem);
    font-weight: 760;
}

.site-header__phone-desktop:hover,
.site-header__phone-desktop:focus-visible {
    border-color: var(--global-blue);
    background: var(--global-white);
    color: var(--global-ink);
}

.site-header__call-mobile {
    display: inline-flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--global-blue);
    font-weight: 750;
    line-height: 1;
    text-align: center;
}

.site-header__compact-actions,
.site-header__call-mobile,
.site-header__phone-menu {
    display: none;
}

.site-header a:focus-visible,
.site-header button:focus-visible,
.site-footer a:focus-visible,
.site-footer button:focus-visible {
    outline: 3px solid var(--global-sky);
    outline-offset: 3px;
}

.site-footer {
    margin-top: clamp(4rem, 7vw, 7rem);
    background: var(--global-ink);
    color: var(--global-white);
}

.site-footer__inner {
    width: min(1500px, calc(100% - 4rem));
    margin-inline: auto;
    padding: clamp(3rem, 5vw, 5rem) 0 1.5rem;
}

.site-footer__navigation {
    display: grid;
    grid-template-columns: 1.15fr 1.1fr .8fr 1fr .8fr;
    gap: clamp(2rem, 3.5vw, 4rem);
    align-items: start;
}

.site-footer__group h2,
.site-footer__group p,
.site-footer__group ul,
.site-footer__copyright p {
    margin: 0;
}

.site-footer__group h2 {
    padding-bottom: .75rem;
    border-bottom: 1px solid rgba(193, 208, 221, .45);
    color: var(--global-white);
    font-size: 1rem;
    font-weight: 720;
    line-height: 1.25;
}

.site-footer__group ul {
    display: grid;
    gap: .5rem;
    padding: .9rem 0 0;
    list-style: none;
}

.site-footer__group a,
.site-footer__preferences {
    color: #e6edf3;
    font-size: .93rem;
    font-weight: 480;
    line-height: 1.45;
    text-decoration: none;
}

.site-footer__group a {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
}

.site-footer__group a:hover,
.site-footer__group a:focus-visible,
.site-footer__preferences:hover,
.site-footer__preferences:focus-visible {
    color: var(--global-white);
    text-decoration: underline;
    text-decoration-color: var(--global-sky);
    text-decoration-thickness: 2px;
    text-underline-offset: .2rem;
}

.site-footer__company p {
    padding-top: .9rem;
    color: var(--global-line);
    font-size: .88rem;
    line-height: 1.45;
}

.site-footer__company ul {
    padding-top: .75rem;
}

.site-footer__phone {
    color: var(--global-white) !important;
    font-weight: 680 !important;
    white-space: nowrap;
}

.site-footer__preferences {
    min-height: 2.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.site-footer__copyright {
    margin-top: clamp(2.5rem, 4vw, 4rem);
    padding-top: 1.25rem;
    border-top: 1px solid rgba(193, 208, 221, .35);
    color: var(--global-line);
    font-size: .86rem;
}

.analytics-preferences {
    width: min(42rem, calc(100% - 2rem));
    max-width: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--global-ink);
}

.analytics-preferences::backdrop {
    background: rgba(20, 32, 48, .72);
}

.analytics-preferences__content {
    padding: clamp(1.25rem, 3vw, 2rem);
    background: var(--global-white);
    box-shadow: 0 1.2rem 3rem rgba(20, 32, 48, .28);
}

.calculator-spinner {
    width: min(100%, 18rem);
}

.calculator-spinner__button {
    display: inline-flex;
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: .55rem;
}

/* Bootstrap-compatible replacements for presentation utilities formerly supplied by MDB. */
.legacy-media-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-attachment: fixed;
}

.legacy-news-date-badge {
    background-color: #dfe7f6;
    color: #2c58a0;
}

.legacy-news-card-shadow {
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, .16), 0 1px 1px 0 rgba(0, 0, 0, .1) !important;
}

.legacy-adviser-card {
    border-radius: .75rem !important;
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .05) !important;
}

.legacy-section-spacing {
    margin-bottom: 5rem !important;
}

@media (max-width: 1199.98px) and (min-width: 981px) {
    .site-header__inner {
        width: calc(100% - 1.25rem);
    }

    .site-header__menu {
        margin-left: .8rem;
    }

    .site-header__nav {
        gap: 0;
    }

    .site-header__contact {
        padding-left: .65rem;
    }

    .site-header__phone-desktop {
        padding-inline: .7rem;
    }

    .site-header__phone-desktop strong {
        font-size: .95rem;
    }
}

@media (max-width: 1100px) {
    .site-footer__navigation {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .site-header__inner {
        width: calc(100% - 1.5rem);
        min-height: 4rem;
        flex-wrap: wrap;
        padding-block: .45rem;
    }

    .site-header__brand img {
        width: min(10.75rem, 42vw);
    }

    .site-header__compact-actions {
        display: flex;
        gap: .55rem;
        align-items: center;
        margin-left: auto;
    }

    .site-header__call-mobile {
        display: inline-flex;
        min-height: 2.75rem;
        padding: .7rem .85rem;
        background: var(--global-white);
        color: var(--global-blue);
        font-size: .88rem;
    }

    .site-header__call-mobile:hover,
    .site-header__call-mobile:focus-visible {
        background: var(--global-stone);
        color: var(--global-ink);
    }

    .site-header__menu-toggle {
        display: inline-flex;
        width: 2.75rem;
        min-height: 2.75rem;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        border: 1px solid var(--global-line);
        border-radius: 0;
        background: var(--global-white);
        color: var(--global-ink);
        cursor: pointer;
    }

    .site-header__menu {
        display: block;
        flex-basis: 100%;
        margin: .5rem 0 0;
        padding: .55rem 0 .3rem;
        border-top: 1px solid var(--global-line);
    }

    .site-header--ready .site-header__menu:not(.is-open) {
        display: none;
    }

    .site-header__nav {
        display: block;
        width: 100%;
    }

    .site-header__nav > li {
        border-bottom: 1px solid rgba(193, 208, 221, .65);
    }

    .site-header__nav-link {
        display: flex;
        min-height: 3rem;
        align-items: center;
        padding: .85rem .35rem;
        font-size: 1rem;
    }

    .site-header__buyer-guide-link {
        flex: 1 1 auto;
    }

    .site-header__dropdown-toggle {
        width: 3rem;
        min-height: 3rem;
        margin-left: auto;
    }

    .site-header__submenu {
        position: static;
        width: 100%;
        flex: 1 0 100%;
        margin: 0 0 .4rem;
        padding: .25rem 0 .4rem 1rem;
        border: 0;
        border-left: 2px solid var(--global-line);
        box-shadow: none;
    }

    .site-header__submenu a {
        min-height: 2.65rem;
        padding: .68rem .75rem;
    }

    .site-header__contact {
        display: grid;
        gap: .65rem;
        margin: .85rem 0 0;
        padding: 0;
    }

    .site-header__phone-desktop {
        display: none;
    }

    .site-header__phone-menu {
        min-height: 3rem;
    }

    .site-header__phone-menu {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--global-blue);
        font-size: .95rem;
        font-weight: 700;
    }
}

@media (max-width: 700px) {
    .site-footer__inner {
        width: min(100% - 2rem, 42rem);
        padding-top: 2.75rem;
    }

    .site-footer__navigation {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem 2rem;
    }
}

@media (max-width: 420px) {
    .site-header__inner {
        width: calc(100% - 1rem);
    }

    .site-header__brand img {
        width: min(9.4rem, 40vw);
    }

    .site-header__compact-actions {
        gap: .35rem;
    }

    .site-header__call-mobile {
        padding-inline: .65rem;
        font-size: .84rem;
    }

    .site-footer__navigation {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .site-footer__group {
        padding: 1.4rem 0;
        border-bottom: 1px solid rgba(193, 208, 221, .25);
    }

    .site-footer__group:first-child {
        padding-top: 0;
    }

    .site-footer__group h2 {
        border-bottom: 0;
        padding-bottom: .25rem;
    }

    .site-footer__group ul {
        padding-top: .55rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header__dropdown-toggle svg {
        transition: none;
    }
}

/* Stage R5Q: production visual polish for the accepted buyer journey */
.home-guided {
    --home-ink: #2b3e5a;
    --home-blue: #30619f;
    --home-sky: #5d9dd6;
    --home-mist: #edf3f7;
    --home-line: #c1d0dd;
    --home-warm: #b47953;
    --home-stone: #faf9f6;
    --home-text: #27333f;
    --home-muted: #526170;
    --home-white: #fff;
    overflow: clip;
    color: var(--home-text);
    background: var(--home-white);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
}

.home-guided *,
.home-guided *::before,
.home-guided *::after,
.home-guided__video-dialog *,
.home-guided__video-dialog *::before,
.home-guided__video-dialog *::after {
    box-sizing: border-box;
}

.home-guided h1,
.home-guided h2,
.home-guided h3,
.home-guided p,
.home-guided figure,
.home-guided ul,
.home-guided__video-dialog h2 {
    margin: 0;
}

.home-guided h1,
.home-guided h2,
.home-guided h3,
.home-guided__video-dialog h2 {
    color: var(--home-ink);
    font-family: inherit;
    letter-spacing: -.035em;
}

.home-guided h1 {
    max-width: 55rem;
    font-size: clamp(3.25rem, 4.5vw, 4rem);
    font-weight: 600;
    line-height: 1.025;
}

.home-guided h2,
.home-guided__video-dialog h2 {
    font-size: clamp(2.375rem, 3.35vw, 3rem);
    font-weight: 610;
    line-height: 1.08;
}

.home-guided h3 {
    font-size: clamp(1.4rem, 1.85vw, 1.72rem);
    font-weight: 650;
    line-height: 1.2;
}

.home-guided p {
    max-width: 46rem;
}

.home-guided a {
    color: inherit;
    text-decoration: none;
}

.home-guided a:focus-visible,
.home-guided button:focus-visible,
.home-guided__video-dialog button:focus-visible {
    outline: 3px solid var(--home-sky);
    outline-offset: 4px;
}

.home-guided__opening,
.home-guided__fast-paths,
.home-guided__planning,
.home-guided__current,
.home-guided__nice,
.home-guided__property,
.home-guided__purposes,
.home-guided__company {
    width: min(1500px, calc(100% - 4rem));
    margin-inline: auto;
}

.home-guided__nice,
.home-guided__property,
.home-guided__purposes,
.home-guided__planning,
.home-guided__company {
    margin-top: clamp(4rem, 6vw, 6rem);
}

.home-guided__target {
    scroll-margin-top: 6.5rem;
}

.home-guided__opening {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(19rem, .75fr);
    gap: clamp(2.5rem, 5vw, 5.5rem);
    align-items: center;
    padding: clamp(1.5rem, 2.5vw, 2.4rem) 0 clamp(1.8rem, 3vw, 2.6rem);
}

.home-guided__lead {
    max-width: 48rem !important;
    margin-top: 1.05rem !important;
    color: var(--home-muted);
    font-size: clamp(1.125rem, 1.25vw, 1.25rem);
    line-height: 1.55;
}

.home-guided__opening-actions {
    display: flex;
    gap: 1.2rem 2.25rem;
    align-items: center;
    margin-top: 1.3rem;
}

.home-guided__trust {
    display: grid;
    gap: .2rem;
    max-width: 28rem;
    padding-left: 1.1rem;
    border-left: 3px solid var(--home-warm);
    color: var(--home-ink);
}

.home-guided__trust strong {
    font-size: 1rem;
}

.home-guided__trust span {
    color: var(--home-muted);
    font-size: .9rem;
    line-height: 1.4;
}

.home-guided__opening-image {
    overflow: hidden;
    max-height: 315px;
    aspect-ratio: 3 / 2;
    border: 1px solid var(--home-line);
    background: var(--home-mist);
    box-shadow: 0 1.2rem 3rem rgba(43, 62, 90, .12);
}

.home-guided__opening-image img,
.home-guided__nice-intro figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-guided__primary {
    display: inline-flex;
    min-height: 3rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: .76rem 1.3rem;
    border: 1px solid var(--home-blue);
    background: var(--home-blue);
    color: var(--home-white) !important;
    font-size: .96rem;
    font-weight: 760;
    line-height: 1;
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.home-guided__primary:hover {
    border-color: var(--home-ink);
    background: var(--home-ink);
    transform: translateY(-1px);
}

.home-guided__destination {
    color: var(--home-ink);
    font-weight: 700;
}

.home-guided__arrow {
    display: inline-block;
    flex: 0 0 auto;
    color: var(--home-blue);
    transition: transform 180ms ease;
}

.home-guided__destination:hover,
.home-guided__destination:focus-visible {
    color: var(--home-blue);
}

.home-guided__destination:hover .home-guided__arrow,
.home-guided__destination:focus-visible .home-guided__arrow,
.home-guided__video-trigger:hover .home-guided__arrow,
.home-guided__video-trigger:focus-visible .home-guided__arrow {
    transform: translateX(.28rem);
}

.home-guided__context {
    display: inline-flex;
    gap: .55rem;
    align-items: center;
    color: var(--home-blue) !important;
    font-size: 1rem;
    font-weight: 730;
}

.home-guided__context::after {
    content: "→";
    transition: transform 180ms ease;
}

.home-guided__context:hover::after,
.home-guided__context:focus-visible::after {
    transform: translateX(.24rem);
}

.home-guided__feature-link {
    display: inline-flex;
    gap: .7rem;
    align-items: center;
    margin-top: 1.2rem;
    padding-bottom: .22rem;
    border-bottom: 2px solid var(--home-sky);
    font-size: 1.05rem;
}

.home-guided__fast-paths {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--home-line);
    background: linear-gradient(90deg, var(--home-white), #f7fafc 50%, var(--home-white));
}

.home-guided__fast-path {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem 1rem;
    min-height: 8.25rem;
    align-content: start;
    padding: 1.2rem clamp(1rem, 2vw, 1.8rem) 1.35rem;
    border-top: 3px solid transparent;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-guided__fast-path + .home-guided__fast-path {
    border-left: 1px solid var(--home-line);
}

.home-guided__fast-path:hover,
.home-guided__fast-path:focus-visible {
    border-top-color: var(--home-blue);
    background: var(--home-mist);
    transform: translateY(-1px);
}

.home-guided__destination-title {
    font-size: clamp(1.3rem, 1.55vw, 1.5rem);
    letter-spacing: -.025em;
}

.home-guided__destination-copy {
    grid-column: 1 / -1;
    color: var(--home-muted);
    font-size: .92rem;
    font-weight: 450;
    line-height: 1.48;
}

.home-guided__planning {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(21rem, .78fr);
    gap: clamp(2rem, 4vw, 4.5rem);
    align-items: start;
    margin-top: clamp(3.75rem, 5vw, 5rem);
    padding: clamp(2.25rem, 4vw, 4rem);
    background: var(--home-stone);
    box-shadow: inset 0 4px 0 var(--home-blue), 0 1.5rem 4rem rgba(43, 62, 90, .06);
}

.home-guided__planning .home-guided__guides > header {
    display: grid;
    gap: .65rem;
    padding: 0 0 1.5rem;
    border-bottom: 1px solid var(--home-line);
}

.home-guided__planning .home-guided__guides > header p {
    max-width: 43rem;
    color: var(--home-muted);
    font-size: 1.05rem;
}

.home-guided__current {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(21rem, .9fr);
    gap: clamp(2.5rem, 4.5vw, 4.5rem);
    margin-top: clamp(2.75rem, 4.5vw, 4.5rem);
    padding-bottom: clamp(3.5rem, 5vw, 5rem);
    border-bottom: 1px solid var(--home-line);
    align-items: start;
}

.home-guided__section-line {
    display: grid;
    gap: .3rem;
    margin-bottom: 1.25rem;
}

.home-guided__section-line h2 {
    font-size: clamp(1.85rem, 2.4vw, 2.3rem);
}

.home-guided__section-line h2 .home-guided__destination {
    display: inline-flex;
    gap: .7rem;
    align-items: center;
}

.home-guided__section-line p {
    color: var(--home-muted);
    font-size: .96rem;
}

.home-guided__property-preview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.25rem, 2vw, 2rem) clamp(1rem, 1.75vw, 1.6rem);
}

.home-guided__listing {
    min-width: 0;
    background: var(--home-white);
}

.home-guided__listing-image {
    overflow: hidden;
    aspect-ratio: 3 / 2;
    border: 1px solid rgba(43, 62, 90, .12);
    background: var(--home-mist);
}

.home-guided__listing-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-guided__listing-body {
    padding: .9rem 0 1.1rem;
    border-bottom: 1px solid var(--home-line);
}

.home-guided__listing h3 {
    color: var(--home-blue);
    font-size: .9rem;
    font-weight: 720;
    letter-spacing: .01em;
    line-height: 1.35;
}

.home-guided__listing-price {
    margin-top: .42rem !important;
    color: var(--home-ink);
    font-size: 1.38rem;
    font-weight: 720;
    line-height: 1.15;
}

.home-guided__listing-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem .7rem;
    padding: .55rem 0 0;
    color: var(--home-muted);
    font-size: .875rem;
    font-weight: 620;
    line-height: 1.35;
    list-style: none;
}

.home-guided__properties > .home-guided__feature-link {
    margin-top: 1.4rem;
}

.home-guided__fresh {
    display: grid;
    gap: clamp(1.75rem, 3vw, 2.75rem);
    min-width: 0;
}

.home-guided__news-list {
    border-top: 1px solid var(--home-line);
}

.home-guided__news-list article {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: .3rem .9rem;
    padding: 1rem 0 1.15rem;
    border-bottom: 1px solid var(--home-line);
}

.home-guided__news-list article > img {
    grid-row: 1 / span 4;
    width: 5.5rem;
    height: 4rem;
    object-fit: cover;
}

.home-guided__news-list article > :not(img) {
    grid-column: 2;
}

.home-guided__news-item--text {
    grid-template-columns: minmax(0, 1fr) !important;
}

.home-guided__news-item--text > :not(img) {
    grid-column: 1;
}

.home-guided__news-list h3 {
    font-size: 1.02rem;
    letter-spacing: -.01em;
}

.home-guided__news-list h3 a {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    justify-content: space-between;
}

.home-guided__news-date {
    color: var(--home-blue);
    font-size: .875rem;
    font-weight: 700;
}

.home-guided__news-copy {
    overflow: hidden;
    color: var(--home-muted);
    font-size: .9rem;
    line-height: 1.5;
}

.home-guided__news-copy p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-guided__video-trigger {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.25rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid var(--home-line);
    background: var(--home-mist);
    color: var(--home-ink);
    box-shadow: 0 .85rem 2rem rgba(43, 62, 90, .08);
    transition: color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.home-guided__video-trigger:hover,
.home-guided__video-trigger:focus-visible {
    border-color: var(--home-blue);
    color: var(--home-blue);
    box-shadow: 0 1.1rem 2.5rem rgba(43, 62, 90, .13);
    transform: translateY(-2px);
}

.home-guided__video-poster {
    position: relative;
    overflow: hidden;
    grid-column: 1 / -1;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--home-mist);
}

.home-guided__video-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-guided__play {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 3.6rem;
    height: 3.6rem;
    border: 2px solid var(--home-white);
    border-radius: 50%;
    background: rgba(43, 62, 90, .88);
    box-shadow: 0 .35rem 1rem rgba(43, 62, 90, .22);
    transform: translate(-50%, -50%);
}

.home-guided__play::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 53%;
    width: 0;
    height: 0;
    border-top: .48rem solid transparent;
    border-bottom: .48rem solid transparent;
    border-left: .76rem solid var(--home-white);
    transform: translate(-40%, -50%);
}

.home-guided__video-label {
    display: grid;
    gap: .15rem;
    font-size: .94rem;
    line-height: 1.48;
}

.home-guided__video-label strong {
    font-size: clamp(1.25rem, 1.55vw, 1.5rem);
    letter-spacing: -.025em;
    line-height: 1.2;
}

.home-guided__video-label > span {
    color: var(--home-muted);
}

.home-guided__nice-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.home-guided__nice-intro > div {
    max-width: 50rem;
}

.home-guided__section-lead {
    margin-top: 1.15rem !important;
    color: var(--home-ink);
    font-size: clamp(1.12rem, 1.35vw, 1.27rem);
}

.home-guided__nice-intro p + p {
    margin-top: 1rem;
}

.home-guided__nice-intro figure {
    overflow: hidden;
    min-height: 26rem;
    aspect-ratio: 4 / 3;
    border: 1px solid var(--home-line);
    background: var(--home-mist);
    box-shadow: .9rem .9rem 0 var(--home-mist);
}

.home-guided__areas {
    margin-top: clamp(3rem, 5vw, 5rem);
}

.home-guided__areas > header {
    display: grid;
    grid-template-columns: minmax(14rem, .55fr) minmax(0, 1.45fr);
    gap: 2rem 4rem;
    align-items: end;
    margin-bottom: 1.4rem;
}

.home-guided__areas > header p {
    color: var(--home-muted);
}

.home-guided__area-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 clamp(2rem, 4vw, 4rem);
}

.home-guided__area-index article {
    padding: 1.15rem 0 1.3rem;
    border-top: 1px solid var(--home-line);
}

.home-guided__area-index article:nth-last-child(-n + 3) {
    border-bottom: 1px solid var(--home-line);
}

.home-guided__area-index h3 {
    font-size: clamp(1.3rem, 1.55vw, 1.5rem);
}

.home-guided__area-index h3 a {
    display: flex;
    gap: .8rem;
    align-items: center;
    justify-content: space-between;
    min-height: 2.75rem;
}

.home-guided__area-index p {
    margin-top: .42rem;
    color: var(--home-muted);
    font-size: .94rem;
    line-height: 1.5;
}

.home-guided__areas > .home-guided__feature-link {
    margin-top: 1.5rem;
    font-size: 1.15rem;
}

.home-guided__property {
    display: grid;
    grid-template-columns: minmax(20rem, .85fr) minmax(0, 1.15fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
    padding: clamp(2.5rem, 5vw, 5rem);
    background: linear-gradient(135deg, var(--home-mist), #f7fafc);
    box-shadow: inset 5px 0 0 var(--home-blue), 0 1.25rem 3rem rgba(43, 62, 90, .06);
}

.home-guided__property-heading {
    padding-right: clamp(1rem, 3vw, 3rem);
}

.home-guided__property-narrative > p {
    color: var(--home-muted);
}

.home-guided__property-narrative > p + p {
    margin-top: 1rem;
}

.home-guided__property-guide {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    margin-top: 1.75rem;
    padding: 1rem 0;
    border-block: 1px solid rgba(43, 62, 90, .28);
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
}

.home-guided__property-help {
    margin-top: 1.5rem;
    padding-left: 1rem;
    border-left: 3px solid var(--home-sky);
}

.home-guided__property-help p {
    color: var(--home-ink);
    font-size: .98rem;
}

.home-guided__property-help .home-guided__context {
    margin-top: .65rem;
}

.home-guided__purposes > header {
    display: grid;
    grid-template-columns: minmax(16rem, .6fr) minmax(0, 1.4fr);
    gap: 2rem 5rem;
    align-items: end;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--home-line);
}

.home-guided__purposes > header p {
    color: var(--home-muted);
}

.home-guided__purposes > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(3rem, 6vw, 7rem);
    margin-top: 2.25rem;
}

.home-guided__purposes article + article {
    padding-left: clamp(2rem, 5vw, 5rem);
    border-left: 1px solid var(--home-line);
}

.home-guided__purposes article p {
    margin-top: .8rem;
}

.home-guided__hook {
    color: var(--home-ink);
    font-size: 1.08rem;
    font-weight: 620;
}

.home-guided__money {
    display: block;
    min-width: 0;
    padding: clamp(2rem, 3vw, 3rem);
    color: var(--home-white);
    background: var(--home-ink);
}

.home-guided__money h2,
.home-guided__money h3,
.home-guided__money .home-guided__destination,
.home-guided__money .home-guided__arrow {
    color: var(--home-white);
}

.home-guided__money > header p {
    margin-top: 1rem;
    color: #dce6ee;
    font-size: 1rem;
}

.home-guided__calculator-destinations {
    display: block;
    margin-top: 1.75rem;
    border-top: 1px solid rgba(193, 208, 221, .42);
}

.home-guided__calculator-destinations article {
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(193, 208, 221, .42);
}

.home-guided__calculator-destinations article + article {
    border-left: 0;
}

.home-guided__resource-type {
    margin-bottom: .55rem !important;
    color: var(--home-sky);
    font-size: .875rem;
    font-weight: 760;
}

.home-guided__calculator-destinations h3 a {
    display: flex;
    gap: .75rem;
    align-items: center;
    justify-content: space-between;
    padding-bottom: .6rem;
    border-bottom: 1px solid rgba(193, 208, 221, .5);
}

.home-guided__calculator-destinations ul {
    display: grid;
    gap: .35rem;
    padding: .8rem 0 0;
    color: #dce6ee;
    font-size: .92rem;
    line-height: 1.45;
    list-style: none;
}

.home-guided__secondary-resource {
    opacity: .72;
}

.home-guided__buy-guide {
    margin-top: 1.75rem;
    padding: clamp(1.75rem, 3vw, 3rem);
    background: var(--home-mist);
    box-shadow: inset 4px 0 0 var(--home-blue), 0 1rem 2.5rem rgba(43, 62, 90, .05);
}

.home-guided__buy-guide > .home-guided__hook,
.home-guided__secondary-guides .home-guided__hook {
    margin-top: .75rem;
}

.home-guided__guide-links {
    display: grid;
    margin-top: 1.6rem;
    border-top: 1px solid var(--home-line);
}

.home-guided__guide-links > a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .2rem 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--home-line);
}

.home-guided__guide-links > a > span:not(.home-guided__arrow) {
    grid-column: 1;
    color: var(--home-muted);
    font-size: .9rem;
    font-weight: 450;
}

.home-guided__guide-links .home-guided__arrow {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
}

.home-guided__secondary-guides {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.75rem;
    border-top: 1px solid var(--home-line);
}

.home-guided__secondary-guides article {
    min-width: 0;
    padding: 1.5rem clamp(1rem, 2vw, 2rem) 0 0;
}

.home-guided__secondary-guides article + article {
    padding: 1.5rem 0 0 clamp(1rem, 2vw, 2rem);
    border-top: 0;
    border-left: 1px solid var(--home-line);
}

.home-guided__secondary-guides .home-guided__feature-link {
    margin-right: 1rem;
}

.home-guided__secondary-guides .home-guided__context {
    margin-top: .8rem;
}

.home-guided__guide-actions {
    display: grid;
    justify-items: start;
}

.home-guided__company {
    padding-block: clamp(2.5rem, 5vw, 5rem);
    border-block: 1px solid var(--home-line);
    background: linear-gradient(90deg, rgba(237, 243, 247, .5), transparent 42%);
}

.home-guided__company > header {
    display: grid;
    grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr);
    gap: clamp(2rem, 5vw, 6rem);
    align-items: end;
    padding-bottom: clamp(2rem, 4vw, 3.5rem);
    border-bottom: 1px solid var(--home-line);
}

.home-guided__company > header p {
    max-width: 48rem;
    color: var(--home-muted);
    font-size: 1.12rem;
}

.home-guided__company-layout {
    display: grid;
    grid-template-columns: minmax(20rem, .8fr) minmax(0, 1.2fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
    padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.home-guided__profile {
    display: grid;
    grid-template-columns: minmax(9rem, .55fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.75rem);
    align-items: center;
}

.home-guided__profile figure {
    overflow: hidden;
    max-width: 15rem;
    background: var(--home-mist);
    aspect-ratio: 3 / 4;
    box-shadow: .75rem .75rem 0 var(--home-mist);
}

.home-guided__profile figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-guided__profile h3 {
    font-size: clamp(1.65rem, 2.2vw, 2.15rem);
    line-height: 1.14;
}

.home-guided__signature {
    margin-top: .75rem !important;
    color: var(--home-muted);
    font-weight: 700;
}

.home-guided__profile-link {
    display: inline-flex;
    gap: .75rem;
    align-items: center;
    margin-top: 1.35rem;
    padding: .7rem 0;
    border-block: 1px solid var(--home-line);
    font-size: 1.02rem;
}

.home-guided__proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(2rem, 4vw, 4rem);
    border-top: 1px solid var(--home-line);
}

.home-guided__proof article {
    padding: 1.5rem 0 1.75rem;
    border-bottom: 1px solid var(--home-line);
}

.home-guided__proof h3 {
    font-size: clamp(1.25rem, 1.55vw, 1.5rem);
}

.home-guided__proof p {
    margin-top: .6rem;
    color: var(--home-muted);
    font-size: .96rem;
    line-height: 1.55;
}

.home-guided__video-dialog {
    --home-ink: #2b3e5a;
    --home-blue: #30619f;
    --home-sky: #5d9dd6;
    --home-line: #c1d0dd;
    --home-text: #2e3741;
    --home-white: #fff;
    width: min(960px, calc(100% - 2rem));
    max-width: none;
    max-height: calc(100% - 2rem);
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--home-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
}

.home-guided__video-dialog::backdrop {
    background: rgba(20, 32, 48, .8);
    backdrop-filter: blur(3px);
}

.home-guided__video-dialog-inner {
    padding: 1.25rem;
    background: var(--home-white);
    box-shadow: 0 1.5rem 5rem rgba(20, 32, 48, .35);
}

.home-guided__video-dialog-inner > header {
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.home-guided__video-dialog h2 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.home-guided__video-close {
    width: 2.65rem;
    height: 2.65rem;
    padding: 0;
    border: 1px solid var(--home-line);
    border-radius: 50%;
    background: var(--home-white);
    color: var(--home-ink);
    font: inherit;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

.home-guided__video-close:hover {
    border-color: var(--home-blue);
    color: var(--home-blue);
}

.home-guided__video-frame {
    overflow: hidden;
    background: #111;
    aspect-ratio: 16 / 9;
}

.home-guided__video-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.home-guided__video-dialog[open] .home-guided__video-dialog-inner {
    animation: home-guided-dialog-in 220ms ease-out;
}

@keyframes home-guided-dialog-in {
    from {
        opacity: .25;
        transform: translateY(.5rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: no-preference) {
    html:has(.home-guided) {
        scroll-behavior: smooth;
    }

    .home-guided__target:target {
        animation: home-guided-target 850ms ease-out;
    }

    @keyframes home-guided-target {
        0% {
            box-shadow: inset 0 5px 0 var(--home-sky);
        }

        100% {
            box-shadow: inset 0 5px 0 transparent;
        }
    }
}

@media (max-width: 1100px) {
    .home-guided__opening,
    .home-guided__fast-paths,
    .home-guided__planning,
    .home-guided__current,
    .home-guided__nice,
    .home-guided__property,
    .home-guided__purposes,
    .home-guided__company {
        width: min(100% - 3rem, 980px);
    }

    .home-guided__opening {
        grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr);
        gap: 2.5rem;
    }

    .home-guided__opening-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-guided__fast-paths {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-guided__fast-path:nth-child(3) {
        border-left: 0;
    }

    .home-guided__fast-path:nth-child(n + 3) {
        border-top-color: var(--home-line);
    }

    .home-guided__current {
        grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .8fr);
        gap: 2.5rem;
    }

    .home-guided__property-preview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-guided__planning {
        grid-template-columns: minmax(0, 1.3fr) minmax(19rem, .7fr);
        gap: 2.5rem;
    }

    .home-guided__nice-intro {
        grid-template-columns: minmax(0, 1.1fr) minmax(17rem, .9fr);
        gap: 2.75rem;
    }

    .home-guided__nice-intro figure {
        min-height: 22rem;
    }

    .home-guided__area-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-guided__area-index article:nth-last-child(-n + 3) {
        border-bottom: 0;
    }

    .home-guided__area-index article:nth-last-child(-n + 2) {
        border-bottom: 1px solid var(--home-line);
    }

    .home-guided__company-layout {
        grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr);
        gap: 3.5rem;
    }

    .home-guided__profile {
        grid-template-columns: minmax(8rem, .45fr) minmax(0, 1fr);
    }
}

@media (max-width: 820px) {
    .home-guided__opening {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }

    .home-guided__opening-image {
        max-height: 230px;
        aspect-ratio: 16 / 7;
    }

    .home-guided__current,
    .home-guided__planning,
    .home-guided__nice-intro,
    .home-guided__property,
    .home-guided__purposes > header,
    .home-guided__purposes > div,
    .home-guided__company > header,
    .home-guided__company-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-guided__fresh {
        grid-template-columns: minmax(0, 1.15fr) minmax(15rem, .85fr);
        gap: 2rem;
        align-items: start;
    }

    .home-guided__nice-intro figure {
        grid-row: 1;
        min-height: 0;
        aspect-ratio: 16 / 8;
    }

    .home-guided__areas > header {
        grid-template-columns: minmax(0, 1fr);
        gap: .5rem;
    }

    .home-guided__purposes > header,
    .home-guided__company > header {
        gap: 1rem;
    }

    .home-guided__purposes > div {
        gap: 2.5rem;
    }

    .home-guided__purposes article + article {
        padding: 2.5rem 0 0;
        border-top: 1px solid var(--home-line);
        border-left: 0;
    }

    .home-guided__planning {
        gap: 2.5rem;
    }

    .home-guided__money {
        padding: 2rem;
    }

    .home-guided__company-layout {
        gap: 2.5rem;
    }
}

@media (max-width: 600px) {
    .home-guided {
        font-size: 1rem;
    }

    .home-guided__opening,
    .home-guided__fast-paths,
    .home-guided__planning,
    .home-guided__current,
    .home-guided__nice,
    .home-guided__property,
    .home-guided__purposes,
    .home-guided__company {
        width: min(100% - 2rem, 42rem);
    }

    .home-guided h1 {
        font-size: clamp(2.15rem, 10vw, 2.4rem);
    }

    .home-guided h2 {
        font-size: clamp(2rem, 8vw, 2.35rem);
    }

    .home-guided h3 {
        font-size: 1.3rem;
    }

    .home-guided__opening {
        padding: 1.25rem 0 2rem;
    }

    .home-guided__opening-actions {
        margin-top: 1rem;
    }

    .home-guided__opening-image {
        max-height: 190px;
        aspect-ratio: 16 / 8;
    }

    .home-guided__fast-paths,
    .home-guided__fresh,
    .home-guided__area-index,
    .home-guided__property-preview,
    .home-guided__calculator-destinations {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-guided__fast-path {
        min-height: 0;
        padding: 1rem .85rem;
        border-left: 0 !important;
    }

    .home-guided__fast-path + .home-guided__fast-path {
        border-top-color: var(--home-line);
    }

    .home-guided__current {
        gap: 2.5rem;
    }

    .home-guided__video-trigger {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: .8rem;
    }

    .home-guided__nice,
    .home-guided__property,
    .home-guided__purposes,
    .home-guided__planning,
    .home-guided__company {
        margin-top: 4rem;
    }

    .home-guided__area-index article,
    .home-guided__area-index article:nth-last-child(-n + 3) {
        border-bottom: 0;
    }

    .home-guided__area-index article:last-child {
        border-bottom: 1px solid var(--home-line);
    }

    .home-guided__property,
    .home-guided__money,
    .home-guided__buy-guide {
        padding: 1.65rem 1.2rem;
    }

    .home-guided__planning {
        padding: 1.65rem 1.2rem;
    }

    .home-guided__calculator-destinations {
        display: block;
    }

    .home-guided__calculator-destinations article {
        padding: 1.2rem 0;
    }

    .home-guided__calculator-destinations article + article {
        border-top: 1px solid rgba(193, 208, 221, .42);
        border-left: 0;
    }

    .home-guided__secondary-guides,
    .home-guided__proof,
    .home-guided__profile {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-guided__secondary-guides article + article {
        padding: 1.5rem 0 0;
        border-top: 1px solid var(--home-line);
        border-left: 0;
    }

    .home-guided__profile figure {
        width: min(11rem, 55%);
    }

    .home-guided__listing-image {
        aspect-ratio: 3 / 2;
    }

    .home-guided__video-dialog-inner {
        padding: .85rem;
    }

    .home-guided__video-dialog h2 {
        font-size: 1.4rem;
    }
}

@media (min-width: 700px) and (max-height: 520px) {
    .home-guided__opening {
        grid-template-columns: minmax(0, 1.45fr) minmax(14rem, .55fr);
        gap: 2rem;
        padding-block: .7rem 1rem;
    }

    .home-guided h1 {
        font-size: 2.35rem;
    }

    .home-guided__lead {
        margin-top: .55rem !important;
        font-size: 1rem;
    }

    .home-guided__opening-actions {
        flex-direction: row;
        margin-top: .7rem;
    }

    .home-guided__opening-image {
        max-height: 170px;
    }

    .home-guided__fast-path {
        min-height: 6.7rem;
        padding-block: .75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:has(.home-guided) {
        scroll-behavior: auto;
    }

    .home-guided *,
    .home-guided *::before,
    .home-guided *::after,
    .home-guided__video-dialog *,
    .home-guided__video-dialog *::before,
    .home-guided__video-dialog *::after {
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}
 img.right {
 	max-width: 50%;
 	height: auto;
    float: right;
    border-radius: 5%;
    margin-left: 8px;
    margin-botton: 8px;
    clear: right;
 }

 img.richtext-image.square {

   max-width: 50%;
   height: auto;
    float: right;
    border-radius: 5%;
    margin-left: 8px;
 }

/* Stage R3: Nice area detail pages */
.area-detail {
    --area-accent: #176b5b;
    --area-accent-dark: #0d4b40;
    --area-ink: #1d302c;
    --area-muted: #586965;
    --area-border: #d5dfdc;
    --area-surface: #f1f5f3;
    --area-paper: #fbf8f1;
    --area-warm: #f2e8d8;
    --area-night: #173a33;
    color: var(--area-ink);
    overflow-x: clip;
}

.area-detail__container {
    max-width: 1180px;
}

.area-detail__opening {
    padding: clamp(1.25rem, 3vw, 2rem) 0;
    background: #edf3f0;
    border-top: 1px solid #dfe8e4;
    border-bottom: 1px solid var(--area-border);
}

.area-detail__opening-layout {
    display: grid;
    gap: clamp(1.4rem, 4vw, 3rem);
    align-items: center;
}

.area-detail__identity {
    max-width: 640px;
}

.area-detail__eyebrow {
    margin: 0 0 0.5rem;
    color: var(--area-accent-dark);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.area-detail__eyebrow a {
    color: inherit;
}

.area-detail h1 {
    margin: 0 0 0.8rem;
    font-size: clamp(2.3rem, 6vw, 4.1rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.area-detail__lead {
    max-width: 590px;
    color: #344743;
    font-size: clamp(1.03rem, 1.7vw, 1.2rem);
    line-height: 1.55;
}

.area-detail__lead > :last-child,
.area-detail__expertise-copy > :last-child,
.area-detail__summary section > :last-child,
.area-detail__article-section > :last-child,
.area-detail__assessment > :last-child,
.area-detail__adviser > div > :last-child {
    margin-bottom: 0;
}

.area-detail__property-funnel-link {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    margin-top: 1.05rem;
    padding: 0.65rem 1rem;
    color: #fff;
    background: var(--area-accent-dark);
    border: 1px solid var(--area-accent-dark);
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

.area-detail__property-funnel-link:hover {
    color: #fff;
    background: var(--area-accent);
}

.area-detail__opening-map {
    padding: 0.45rem;
    background: #fff;
    border: 1px solid #cbd8d4;
    box-shadow: 0 14px 32px rgba(28, 57, 50, 0.1);
}

.area-detail__opening-map > p {
    margin: 0;
    padding: 0.25rem 0.3rem 0.65rem;
    color: var(--area-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.area-detail__expertise-band {
    background: #fff;
    border-bottom: 1px solid var(--area-border);
}

.area-detail__expertise {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    max-width: 960px;
    padding: 0.9rem 0;
}

.area-detail__expertise img,
.area-detail__adviser img {
    display: block;
    width: 100%;
    height: 82px;
    object-fit: cover;
    object-position: center 18%;
    border: 1px solid rgba(13, 75, 64, 0.18);
}

.area-detail__expertise-copy {
    font-size: 0.92rem;
    line-height: 1.5;
}

.area-detail__expertise h2 {
    max-width: 720px;
    margin: 0 0 0.3rem;
    color: var(--area-ink);
    font-size: clamp(1.12rem, 2vw, 1.4rem);
    line-height: 1.2;
    letter-spacing: -0.015em;
}

.area-detail__expertise-copy > p {
    max-width: 760px;
    margin: 0 0 0.3rem;
    color: var(--area-muted);
}

.area-detail__expertise-copy .area-detail__expertise-attribution {
    color: var(--area-ink);
    font-size: 0.94rem;
    font-weight: 800;
}

.area-detail__expertise-copy a {
    color: var(--area-accent-dark);
    font-weight: 700;
    text-underline-offset: 0.22em;
}

.area-detail__nav-shell {
    background: #fff;
}

.area-detail__area-nav {
    border-bottom: 1px solid var(--area-border);
    overflow-x: auto;
    scrollbar-width: thin;
}

.area-detail__area-nav ul {
    display: flex;
    width: max-content;
    gap: 1.15rem;
    margin: 0;
    padding: 0.65rem 0;
    list-style: none;
}

.area-detail__area-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    color: var(--area-ink);
    font-size: 0.86rem;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration-color: transparent;
    text-underline-offset: 0.35em;
    transition: color 150ms ease, text-decoration-color 150ms ease;
}

.area-detail__area-nav a:hover,
.area-detail__area-nav a:focus-visible {
    color: var(--area-accent-dark);
    text-decoration-color: currentColor;
}

.area-detail__area-nav a[aria-current="page"] {
    color: var(--area-accent-dark);
    font-weight: 800;
    text-decoration: none;
}

.area-detail__overview-band,
.area-detail__article-band,
.area-detail__decision-band,
.area-detail__related-band,
.area-detail__adviser-band {
    padding: clamp(1.8rem, 4vw, 3rem) 0;
}

.area-detail__overview-band {
    background: #fff;
}

.area-detail__article h2,
.area-detail__section-heading h2,
.area-detail__adviser h2 {
    margin: 0 0 0.85rem;
    font-size: clamp(1.55rem, 2.7vw, 2.15rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.area-detail__summary {
    display: grid;
    background: var(--area-surface);
    border-top: 3px solid var(--area-accent);
    border-bottom: 1px solid var(--area-border);
}

.area-detail__summary section {
    padding: 1rem 1.1rem;
}

.area-detail__summary section + section {
    border-top: 1px solid var(--area-border);
}

.area-detail__summary h2 {
    margin: 0 0 0.65rem;
    color: var(--area-accent-dark);
    font-size: 1.02rem;
}

.area-detail__fact-list {
    margin: 0;
    padding-left: 1.05rem;
}

.area-detail__fact-list li + li {
    margin-top: 0.55rem;
}

.area-detail__article-band {
    background: var(--area-paper);
    border-top: 1px solid #ece3d5;
    border-bottom: 1px solid #ece3d5;
}

.area-detail__article {
    max-width: 900px;
    color: #293c38;
    font-size: 1.03rem;
    line-height: 1.72;
}

.area-detail__article-section {
    padding: clamp(1.25rem, 3vw, 2rem) 0;
}

.area-detail__article-section:first-child {
    padding-top: 0;
}

.area-detail__article-section:last-child {
    padding-bottom: 0;
}

.area-detail__article-section + .area-detail__article-section {
    border-top: 1px solid #ddcfba;
}

.area-detail__article-section:nth-child(even) {
    padding-right: clamp(0.75rem, 2vw, 1.25rem);
    padding-left: clamp(0.75rem, 2vw, 1.25rem);
    background: rgba(255, 255, 255, 0.52);
}

.area-detail__article h2 {
    margin-bottom: 0.9rem;
}

.area-detail__article h3 {
    margin: 1.5rem 0 0.65rem;
    color: var(--area-accent-dark);
    font-size: clamp(1.18rem, 2vw, 1.4rem);
    line-height: 1.25;
}

.area-detail__article p,
.area-detail__article ul,
.area-detail__article ol {
    max-width: 78ch;
    margin-bottom: 1rem;
}

.area-detail__article ul,
.area-detail__article ol {
    padding-left: 1.25rem;
}

.area-detail__article li + li {
    margin-top: 0.55rem;
}

.area-detail__article b,
.area-detail__article strong {
    color: var(--area-ink);
}

.area-detail__guidance {
    max-width: 900px;
    margin-top: 1.4rem;
    padding-top: 1rem;
    border-top: 1px solid #ddcfba;
}

.area-detail__guidance a {
    display: grid;
    gap: 0.15rem;
    width: fit-content;
    min-height: 2.75rem;
    align-content: center;
    color: var(--area-accent-dark);
    text-decoration: none;
}

.area-detail__guidance span {
    color: var(--area-muted);
    font-size: 0.92rem;
}

.area-detail__guidance a:hover strong,
.area-detail__guidance a:focus-visible strong {
    text-decoration: underline;
    text-underline-offset: 0.22em;
}

.area-detail__section-heading {
    max-width: 760px;
    margin-bottom: 1.15rem;
}

.area-detail__decision-band {
    background: var(--area-surface);
}

.area-detail__assessments {
    display: grid;
    gap: 1px;
    background: var(--area-border);
    border-top: 1px solid var(--area-border);
    border-right: 1px solid var(--area-border);
    border-bottom: 1px solid var(--area-border);
    border-left: 1px solid var(--area-border);
}

.area-detail__assessment {
    padding: 1.2rem 1.15rem;
    background: #fff;
}

.area-detail__assessment:nth-child(odd) {
    background: #f8fbf9;
    border-top: 3px solid #548779;
}

.area-detail__assessment:nth-child(even) {
    background: #f8f4ed;
    border-top: 3px solid #a88a5f;
}

.area-detail__assessment h2 {
    margin-bottom: 0.9rem;
    font-size: clamp(1.12rem, 2vw, 1.3rem);
    line-height: 1.25;
}

.area-detail__assessment ul {
    margin: 0;
    padding-left: 1.2rem;
}

.area-detail__assessment li + li {
    margin-top: 0.5rem;
}

.nice-area-map {
    position: relative;
    width: 100%;
    height: clamp(350px, 78vw, 430px);
    min-height: 350px;
    overflow: hidden;
    background: #e4ebe8;
    border: 1px solid #c8d4d0;
}

.nice-area-map--master {
    height: clamp(400px, 75vw, 600px);
    min-height: 400px;
}

.nice-area-map[data-map-state="error"] {
    background: #edf1ef;
}

.nice-area-map:focus-visible {
    outline: 3px solid #d69b2d;
    outline-offset: 4px;
}

.nice-area-map .leaflet-control-attribution {
    font-size: 0.68rem;
}

.nice-area-map .nice-area-map__label {
    padding: 0.2rem 0.4rem;
    color: #17312c;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(13, 75, 64, 0.28);
    border-radius: 0;
    box-shadow: none;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.15;
    white-space: normal;
}

.nice-area-map .nice-area-map__label::before {
    display: none;
}

.area-detail .nice-area-map {
    height: clamp(350px, 85vw, 430px);
    min-height: 350px;
    margin: 0;
    background: var(--area-surface);
    border: 0;
}

.area-detail__related-band {
    color: #fff;
    background: var(--area-night);
    border-top: 1px solid #0f2f29;
    border-bottom: 1px solid #0f2f29;
}

.area-detail__related-band .area-detail__eyebrow {
    color: #bcd6ce;
}

.area-detail__related-band h2 {
    color: #fff;
}

.area-detail__related-links {
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.area-detail__related-links > a {
    display: grid;
    gap: 0.3rem;
    min-height: 5.25rem;
    align-content: center;
    padding: 0.9rem 0;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    text-decoration: none;
}

.area-detail__related-links > a:hover,
.area-detail__related-links > a:focus-visible {
    color: #d5e8e2;
}

.area-detail__related-links strong,
.area-detail__related-links span {
    display: block;
}

.area-detail__related-links span {
    color: #c4d4cf;
}

.area-detail__adviser-band {
    background: var(--area-warm);
}

.area-detail__adviser {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 1rem 1.25rem;
    align-items: center;
    max-width: 1040px;
}

.area-detail__adviser img {
    height: 82px;
}

.area-detail__adviser h2 {
    margin-bottom: 0.55rem;
}

.area-detail__adviser p {
    max-width: 720px;
    margin-bottom: 0.75rem;
    line-height: 1.6;
}

.area-detail__adviser-actions {
    display: flex;
    grid-column: 1 / -1;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
}

.area-detail__adviser-actions > a:not(.btn) {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    color: var(--area-accent-dark);
    font-weight: 700;
    text-underline-offset: 0.25em;
}

.area-detail a:focus-visible {
    outline: 3px solid #e2a93b;
    outline-offset: 3px;
}

@media (min-width: 768px) {
    .area-detail__expertise {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 1.1rem;
    }

    .area-detail__expertise img {
        height: 90px;
    }

    .area-detail__summary,
    .area-detail__assessments,
    .area-detail__related-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .area-detail__summary section + section {
        border-top: 0;
        border-left: 1px solid var(--area-border);
    }

    .area-detail__assessment {
        padding: 1.35rem clamp(1.25rem, 3vw, 2rem);
    }

    .area-detail__related-links {
        gap: 0 2rem;
    }

    .area-detail__adviser {
        grid-template-columns: 78px minmax(0, 1fr);
    }

    .area-detail__adviser img {
        height: 100px;
    }

    .area-detail__adviser-actions {
        grid-column: 2;
    }
}

@media (min-width: 1024px) {
    .area-detail__opening-layout {
        grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
    }

    .area-detail__opening-map .nice-area-map {
        height: 470px;
        min-height: 470px;
    }

    .area-detail__area-nav ul {
        width: 100%;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .area-detail__adviser {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 1.25rem 1.75rem;
    }

    .area-detail__adviser img {
        height: 114px;
    }

    .area-detail__adviser-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .area-detail__property-funnel-link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .area-detail__expertise-copy > p {
        font-size: 0.86rem;
        line-height: 1.45;
    }

    .area-detail__expertise-copy .area-detail__expertise-attribution {
        font-size: 0.9rem;
    }

    .area-detail__adviser-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .area-detail .nice-area-map {
        height: 360px;
        min-height: 360px;
    }
}

/* Nice area-discovery hub */
.nice-hub {
    --nice-hub-ink: #172724;
    --nice-hub-muted: #52635f;
    --nice-hub-accent: #176b5b;
    --nice-hub-accent-dark: #0d4b40;
    --nice-hub-line: #d7e0dd;
    --nice-hub-paper: #fbfaf6;
    --nice-hub-warm: #f3eadc;
    color: var(--nice-hub-ink);
    background: #fff;
    overflow: clip;
}

.nice-hub__container {
    width: min(100% - 2rem, 1180px);
    margin-inline: auto;
}

.nice-hub__intro {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
    background: var(--nice-hub-paper);
    border-bottom: 1px solid var(--nice-hub-line);
}

.nice-hub__intro-grid {
    display: grid;
    gap: 1.75rem;
}

.nice-hub__eyebrow {
    margin: 0 0 0.75rem;
    color: var(--nice-hub-accent-dark);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.nice-hub h1 {
    margin: 0;
    font-size: clamp(2.8rem, 8vw, 5.8rem);
    line-height: 0.96;
    letter-spacing: -0.045em;
}

.nice-hub__lead {
    max-width: 760px;
    align-self: end;
    color: #30423e;
    font-size: clamp(1.08rem, 2vw, 1.3rem);
    line-height: 1.65;
}

.nice-hub__lead > p {
    margin: 0;
}

.nice-hub__guidance-links,
.nice-hub__adviser-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
    margin-top: 1.5rem;
}

.nice-hub__guidance-links a,
.nice-hub__adviser-links > a:not(.btn) {
    color: var(--nice-hub-accent-dark);
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.25em;
}

.nice-hub__orientation h2,
.nice-hub__guidance h2,
.nice-hub__adviser h2 {
    margin: 0 0 1.25rem;
    font-size: clamp(1.9rem, 4vw, 3.25rem);
    line-height: 1.14;
    letter-spacing: -0.025em;
}

.nice-hub__guidance p,
.nice-hub__adviser p {
    max-width: 760px;
    color: var(--nice-hub-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.nice-hub__area {
    padding: clamp(3.75rem, 9vw, 8rem) 0;
    background: #fff;
    border-bottom: 1px solid var(--nice-hub-line);
}

.nice-hub__area:nth-child(even) {
    background: var(--nice-hub-paper);
}

.nice-hub__area-layout {
    display: grid;
    gap: clamp(2.25rem, 5vw, 4rem);
    align-items: center;
}

.nice-hub__area-copy {
    max-width: 62ch;
}

.nice-hub__area h2 {
    margin: 0 0 1.5rem;
    font-size: clamp(2rem, 4.5vw, 3.35rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.nice-hub__area-copy p {
    margin: 0 0 1.25rem;
    color: var(--nice-hub-muted);
    font-size: 1.02rem;
    line-height: 1.72;
}

.nice-hub__area-copy p:first-of-type {
    color: var(--nice-hub-ink);
    font-size: clamp(1.08rem, 2vw, 1.22rem);
}

.nice-hub__area-map-column {
    min-width: 0;
}

.nice-hub__area-links {
    display: grid;
    margin-top: 1rem;
    border-top: 1px solid var(--nice-hub-line);
}

.nice-hub__area-links a {
    display: block;
    min-height: 3.25rem;
    padding: 0.7rem 0;
    color: var(--nice-hub-accent-dark);
    overflow-wrap: anywhere;
    border-bottom: 1px solid var(--nice-hub-line);
    line-height: 1.55;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.25em;
}

.nice-hub__area-links a:first-child {
    font-weight: 700;
}

.nice-hub__orientation {
    padding: clamp(3.25rem, 7vw, 6rem) 0;
    color: #f7fbfa;
    background: var(--nice-hub-accent-dark);
}

.nice-hub__orientation-heading {
    max-width: 920px;
    margin-bottom: clamp(2rem, 5vw, 3rem);
}

.nice-hub__orientation h2 {
    color: inherit;
}

.nice-hub__orientation-heading p {
    max-width: 780px;
    margin: 0;
    color: #dceae6;
    font-size: 1.05rem;
    line-height: 1.75;
}

.nice-hub .nice-area-map {
    box-shadow: 0 1rem 2.5rem rgba(17, 42, 36, 0.08);
}

.nice-hub .nice-area-map--master {
    border-color: rgba(255, 255, 255, 0.28);
}

.nice-hub__area-index {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.nice-hub__area-index a {
    display: flex;
    min-width: 0;
    min-height: 3.25rem;
    align-items: center;
    padding: 0.65rem 0.5rem 0.65rem 0;
    color: #f7fbfa;
    overflow-wrap: anywhere;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.25em;
}

.nice-hub__guidance {
    padding: clamp(3.75rem, 8vw, 7rem) 0;
    background: var(--nice-hub-warm);
}

.nice-hub__guidance-grid {
    display: grid;
    gap: 2rem clamp(2.5rem, 7vw, 6rem);
}

.nice-hub__guidance-links {
    display: grid;
    align-content: start;
    margin: 0;
}

.nice-hub__guidance-links a {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(13, 75, 64, 0.25);
}

.nice-hub__adviser {
    display: grid;
    gap: 1.5rem;
    align-items: start;
    margin: clamp(3.5rem, 8vw, 7rem) 0;
    padding: clamp(1.5rem, 5vw, 3.25rem);
    border-top: 1px solid var(--nice-hub-line);
    border-bottom: 1px solid var(--nice-hub-line);
}

.nice-hub__adviser img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
}

.nice-hub__adviser h2 {
    font-size: clamp(1.7rem, 3.5vw, 2.6rem);
}

.nice-hub a:focus-visible {
    outline: 3px solid #d69b2d;
    outline-offset: 4px;
}

@media (min-width: 700px) {
    .nice-hub__area-index {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .nice-hub .nice-area-map {
        height: 440px;
        min-height: 440px;
    }

    .nice-hub .nice-area-map--master {
        height: 520px;
        min-height: 520px;
    }

    .nice-hub__adviser {
        grid-template-columns: auto minmax(0, 1fr);
    }
}

@media (min-width: 960px) {
    .nice-hub__intro-grid {
        grid-template-columns: minmax(280px, 0.68fr) minmax(0, 1.32fr);
        align-items: end;
    }

    .nice-hub__orientation-heading {
        display: grid;
        max-width: none;
        grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
        gap: clamp(2rem, 6vw, 5rem);
        align-items: start;
    }

    .nice-hub__area-index {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .nice-hub__area-layout {
        grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    }

    .nice-hub__area--reverse .nice-hub__area-copy {
        grid-column: 2;
        grid-row: 1;
    }

    .nice-hub__area--reverse .nice-hub__area-map-column {
        grid-column: 1;
        grid-row: 1;
    }

    .nice-hub .nice-area-map {
        height: 460px;
        min-height: 460px;
    }

    .nice-hub .nice-area-map--master {
        height: 580px;
        min-height: 580px;
    }

    .nice-hub__guidance-grid {
        grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.65fr);
        align-items: start;
    }

}

@media (max-width: 699.98px) {
    .nice-hub__adviser-links {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Stage R4: contact and property-finder funnel */
.contact-finder {
    --contact-finder-ink: #1c302c;
    --contact-finder-muted: #586965;
    --contact-finder-accent: #176b5b;
    --contact-finder-accent-dark: #0d4b40;
    --contact-finder-border: #d5dfdc;
    --contact-finder-paper: #fbf8f1;
    --contact-finder-surface: #edf3f0;
    --contact-finder-night: #173a33;
    color: var(--contact-finder-ink);
    overflow-x: clip;
}

.contact-finder [hidden] {
    display: none !important;
}

.contact-finder__container {
    width: min(100% - 2rem, 1180px);
    margin-inline: auto;
}

.contact-finder__intro {
    padding: clamp(1.6rem, 4vw, 3.2rem) 0;
    background: var(--contact-finder-paper);
    border-top: 1px solid #eee5d6;
    border-bottom: 1px solid #e2d7c5;
}

.contact-finder__intro-layout {
    display: grid;
    gap: 1rem;
}

.contact-finder__eyebrow {
    margin: 0 0 0.55rem;
    color: var(--contact-finder-accent-dark);
    font-size: 0.77rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.contact-finder h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(2.25rem, 6.5vw, 4.6rem);
    line-height: 0.99;
    letter-spacing: -0.04em;
}

.contact-finder__lead {
    max-width: 720px;
    margin: 0;
    align-self: end;
    color: #344743;
    font-size: clamp(1rem, 1.7vw, 1.16rem);
    line-height: 1.62;
}

.contact-finder__main {
    padding: clamp(1.25rem, 3.5vw, 2.8rem) 0;
    background: #fff;
}

.contact-finder__main-layout {
    display: grid;
    gap: 1.35rem;
}

.contact-finder__funnel {
    min-width: 0;
    padding: clamp(1.05rem, 3vw, 1.8rem);
    background: #fff;
    border: 1px solid var(--contact-finder-border);
    border-top: 4px solid var(--contact-finder-accent);
    box-shadow: 0 18px 42px rgba(25, 55, 48, 0.1);
}

.contact-finder__progress {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.35rem;
    max-width: 220px;
    margin: 0 0 1.35rem;
}

.contact-finder__progress span {
    height: 3px;
    background: #d7e0dd;
}

.contact-finder__progress span.is-current,
.contact-finder__progress span.is-complete {
    background: var(--contact-finder-accent);
}

.contact-finder__error {
    margin: 0 0 1rem;
    padding: 0.75rem 0.85rem;
    color: #6f1d1b;
    background: #fff3f1;
    border-left: 3px solid #a63d38;
    line-height: 1.5;
}

.contact-finder__step {
    min-height: 340px;
}

.contact-finder__step h2 {
    max-width: 680px;
    margin: 0 0 0.8rem;
    font-size: clamp(1.55rem, 4vw, 2.4rem);
    line-height: 1.14;
    letter-spacing: -0.025em;
}

.contact-finder__step > p {
    max-width: 640px;
    margin: 0 0 1.25rem;
    color: var(--contact-finder-muted);
    line-height: 1.65;
}

.contact-finder__field {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.contact-finder__field label,
.contact-finder__choices legend,
.contact-finder__contact-fields legend {
    color: var(--contact-finder-ink);
    font-size: 0.9rem;
    font-weight: 800;
}

.contact-finder__field input,
.contact-finder__field textarea {
    width: 100%;
    min-height: 3.15rem;
    padding: 0.7rem 0.8rem;
    color: var(--contact-finder-ink);
    background: #fff;
    border: 1px solid #aebfba;
    border-radius: 0;
    font: inherit;
}

.contact-finder__field textarea {
    min-height: 7rem;
    resize: vertical;
}

.contact-finder__field input:focus,
.contact-finder__field textarea:focus {
    border-color: var(--contact-finder-accent-dark);
    outline: 3px solid rgba(23, 107, 91, 0.18);
    outline-offset: 1px;
}

.contact-finder__choices,
.contact-finder__contact-fields {
    margin: 1rem 0 0;
    padding: 0;
    border: 0;
}

.contact-finder__choices legend,
.contact-finder__contact-fields legend {
    margin-bottom: 0.7rem;
}

.contact-finder__choices {
    display: grid;
    gap: 0.55rem;
}

.contact-finder__choices legend {
    grid-column: 1 / -1;
}

.contact-finder__choices label {
    display: flex;
    min-width: 0;
    min-height: 3.1rem;
    gap: 0.65rem;
    align-items: center;
    padding: 0.6rem 0.75rem;
    background: #f8faf9;
    border: 1px solid var(--contact-finder-border);
    cursor: pointer;
    line-height: 1.25;
}

.contact-finder__choices label:has(input:checked) {
    background: #e8f1ee;
    border-color: var(--contact-finder-accent);
}

.contact-finder__choices input {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    accent-color: var(--contact-finder-accent-dark);
}

.contact-finder__requirements,
.contact-finder__contact-fields {
    display: grid;
    gap: 0.9rem;
}

.contact-finder__contact-fields {
    margin-top: 1.3rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--contact-finder-border);
}

.contact-finder__step-actions {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.4rem;
}

.contact-finder__step-actions--end {
    justify-content: flex-end;
}

.contact-finder__step-button,
.contact-finder__handoff-button {
    display: inline-flex;
    min-width: 3.1rem;
    min-height: 3.1rem;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1rem;
    color: #fff;
    background: var(--contact-finder-accent-dark);
    border: 1px solid var(--contact-finder-accent-dark);
    border-radius: 0;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.contact-finder__step-button--secondary {
    color: var(--contact-finder-accent-dark);
    background: #fff;
}

.contact-finder__step-button:hover,
.contact-finder__handoff-button:hover {
    color: #fff;
    background: var(--contact-finder-accent);
}

.contact-finder__step-button--secondary:hover {
    color: var(--contact-finder-accent-dark);
    background: var(--contact-finder-surface);
}

.contact-finder__review {
    display: grid;
    gap: 0;
    margin: 1.1rem 0 0;
    border-top: 1px solid var(--contact-finder-border);
}

.contact-finder__review div {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--contact-finder-border);
}

.contact-finder__review dt {
    color: var(--contact-finder-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.contact-finder__review dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.contact-finder__handoff {
    display: grid;
    align-content: start;
}

.contact-finder__handoff-links,
.contact-finder__escape-links,
.contact-finder__journey nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.15rem;
    align-items: center;
}

.contact-finder__handoff-links a:not(.btn),
.contact-finder__escape-links a {
    color: var(--contact-finder-accent-dark);
    font-weight: 750;
    text-underline-offset: 0.22em;
}

.contact-finder__handoff > .contact-finder__step-button {
    margin-top: 1.35rem;
    justify-self: start;
}

.contact-finder__escape-links {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--contact-finder-border);
    font-size: 0.88rem;
}

.contact-finder__no-script {
    padding: 1rem;
    background: var(--contact-finder-surface);
    border-left: 3px solid var(--contact-finder-accent);
}

.contact-finder__no-script p {
    margin: 0 0 0.7rem;
    line-height: 1.6;
}

.contact-finder__expertise {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1rem;
    background: var(--contact-finder-surface);
    border-top: 3px solid var(--contact-finder-accent);
}

.contact-finder__expertise img {
    display: block;
    width: 64px;
    height: 82px;
    object-fit: cover;
    object-position: center 18%;
    border: 1px solid rgba(13, 75, 64, 0.18);
}

.contact-finder__expertise h2 {
    margin: 0 0 0.5rem;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.2;
}

.contact-finder__expertise p {
    margin: 0 0 0.65rem;
    color: var(--contact-finder-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.contact-finder__expertise .contact-finder__attribution {
    margin: 0;
    color: var(--contact-finder-ink);
    font-weight: 800;
}

.contact-finder__journey {
    padding: clamp(1.5rem, 4vw, 2.6rem) 0;
    color: #fff;
    background: var(--contact-finder-night);
}

.contact-finder__journey h2 {
    max-width: 680px;
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.contact-finder__journey a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    color: #fff;
    text-underline-offset: 0.25em;
}

.contact-finder a:focus-visible,
.contact-finder button:focus-visible {
    outline: 3px solid #d69b2d;
    outline-offset: 3px;
}

@media (min-width: 700px) {
    .contact-finder__intro-layout {
        grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
        gap: clamp(1.5rem, 5vw, 4rem);
    }

    .contact-finder__choices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-finder__requirements,
    .contact-finder__contact-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-finder__field--wide,
    .contact-finder__contact-fields legend {
        grid-column: 1 / -1;
    }

    .contact-finder__review div {
        grid-template-columns: minmax(150px, 0.45fr) minmax(0, 1fr);
        gap: 1rem;
    }

    .contact-finder__expertise {
        grid-template-columns: 72px minmax(0, 1fr);
        padding: 1.15rem;
    }

    .contact-finder__expertise img {
        width: 72px;
        height: 92px;
    }
}

@media (min-width: 1024px) {
    .contact-finder__main-layout {
        grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.65fr);
        gap: clamp(1.5rem, 4vw, 3rem);
        align-items: start;
    }

    .contact-finder__funnel {
        padding: 1.7rem 1.9rem;
    }

    .contact-finder__expertise {
        position: sticky;
        top: 1rem;
    }
}

@media (max-width: 480px) {
    .contact-finder__step {
        min-height: 0;
    }

    .contact-finder__expertise {
        grid-template-columns: 56px minmax(0, 1fr);
    }

    .contact-finder__expertise img {
        width: 56px;
        height: 72px;
    }

    .contact-finder__handoff-links,
    .contact-finder__journey nav {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Stage R4A: online property-search resource */
.property-search-resource {
    --property-search-ink: #1c302c;
    --property-search-muted: #586965;
    --property-search-accent: #176b5b;
    --property-search-accent-dark: #0d4b40;
    --property-search-border: #d5dfdc;
    --property-search-paper: #fbf8f1;
    color: var(--property-search-ink);
    overflow-x: clip;
}

.property-search-resource__container {
    width: min(100% - 2rem, 1180px);
    margin-inline: auto;
}

.property-search-resource__intro {
    padding: clamp(1.6rem, 4vw, 3.2rem) 0;
    background: var(--property-search-paper);
    border-top: 1px solid #eee5d6;
    border-bottom: 1px solid #e2d7c5;
}

.property-search-resource__intro-layout {
    display: grid;
    gap: 1rem;
}

.property-search-resource__eyebrow {
    margin: 0 0 0.55rem;
    color: var(--property-search-accent-dark);
    font-size: 0.77rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.property-search-resource h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(2.25rem, 6.5vw, 4.6rem);
    line-height: 0.99;
    letter-spacing: -0.04em;
}

.property-search-resource__lead {
    max-width: 720px;
    margin: 0;
    align-self: end;
    color: #344743;
    font-size: clamp(1rem, 1.7vw, 1.16rem);
    line-height: 1.62;
}

.property-search-resource__body {
    padding: clamp(1.5rem, 4vw, 3.4rem) 0;
}

.property-search-resource__guidance {
    max-width: 820px;
    margin-bottom: clamp(2rem, 5vw, 3.8rem);
    font-size: clamp(1rem, 1.5vw, 1.12rem);
    line-height: 1.7;
}

.property-search-resource__guidance p,
.property-search-resource__next-step p {
    margin: 0 0 1rem;
}

.property-search-resource__portals + .property-search-resource__portals {
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

.property-search-resource__portals h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.7rem, 3.5vw, 2.5rem);
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.property-search-resource__table-wrap {
    min-width: 0;
}

.property-search-resource__table {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    font-size: 0.94rem;
    line-height: 1.5;
}

.property-search-resource__table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.property-search-resource__table tbody,
.property-search-resource__table tr,
.property-search-resource__table th,
.property-search-resource__table td {
    display: block;
}

.property-search-resource__table tr {
    margin-bottom: 1rem;
    background: #fff;
    border-top: 3px solid var(--property-search-accent);
    box-shadow: 0 10px 26px rgba(25, 55, 48, 0.08);
}

.property-search-resource__table th,
.property-search-resource__table td {
    display: grid;
    grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.8rem;
    text-align: left;
    vertical-align: top;
    border: 1px solid var(--property-search-border);
    border-top: 0;
}

.property-search-resource__table th::before,
.property-search-resource__table td::before {
    content: attr(data-label);
    color: var(--property-search-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.property-search-resource__table th[scope="row"] {
    font-size: 1.03rem;
}

.property-search-resource__table td[data-label="Score"] {
    color: var(--property-search-accent-dark);
}

.property-search-resource__table ul {
    margin: 0;
    padding-left: 1.15rem;
}

.property-search-resource__table li + li {
    margin-top: 0.32rem;
}

.property-search-resource__table a {
    color: var(--property-search-accent-dark);
    text-underline-offset: 0.22em;
}

.property-search-resource__next-step {
    display: grid;
    gap: 1rem;
    align-items: start;
    margin-top: clamp(2rem, 5vw, 3.8rem);
    padding: clamp(1.1rem, 3vw, 1.8rem);
    background: #edf3f0;
    border-left: 3px solid var(--property-search-accent);
}

.property-search-resource__next-step p {
    max-width: 760px;
    line-height: 1.65;
}

.property-search-resource__next-step .btn {
    justify-self: start;
}

.property-search-resource a:focus-visible {
    outline: 3px solid #d69b2d;
    outline-offset: 3px;
}

@media (min-width: 700px) {
    .property-search-resource__intro-layout {
        grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
        gap: clamp(1.5rem, 5vw, 4rem);
    }

    .property-search-resource__next-step {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 2rem;
    }
}

@media (min-width: 960px) {
    .property-search-resource__table {
        display: table;
        table-layout: fixed;
    }

    .property-search-resource__table thead {
        position: static;
        width: auto;
        height: auto;
        padding: initial;
        margin: 0;
        overflow: visible;
        clip: auto;
        white-space: normal;
    }

    .property-search-resource__table tbody {
        display: table-row-group;
    }

    .property-search-resource__table tr {
        display: table-row;
        margin: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .property-search-resource__table th,
    .property-search-resource__table td {
        display: table-cell;
        padding: 0.85rem;
        border: 1px solid var(--property-search-border);
    }

    .property-search-resource__table thead th {
        color: #fff;
        background: #315b7d;
    }

    .property-search-resource__table tbody tr:nth-child(even) {
        background: #f7f7f7;
    }

    .property-search-resource__table th::before,
    .property-search-resource__table td::before {
        content: none;
    }

    .property-search-resource__table th:nth-child(1) {
        width: 14%;
    }

    .property-search-resource__table th:nth-child(2) {
        width: 24%;
    }

    .property-search-resource__table th:nth-child(3),
    .property-search-resource__table th:nth-child(4) {
        width: 27%;
    }

    .property-search-resource__table th:nth-child(5) {
        width: 8%;
    }
}

/* Shared authorship sticker; existing page and contact layouts stay owned above. */
.site-header__nav:has(.site-header__ai-free) {
  min-width: 0;
  flex-wrap: wrap;
  row-gap: .35rem;
}

.site-header__ai-free {
  position: relative;
  display: grid;
  justify-items: start;
  flex: 0 0 auto;
  min-width: 0;
}

.site-header__ai-free-toggle,
.site-header__ai-free-disclosure {
  box-sizing: border-box;
  border: 1px solid #718957;
  border-radius: 14px;
  color: #102942;
  font-family: var(--home-sans, "Avenir Next", Avenir, system-ui, sans-serif);
}

.site-header__ai-free-toggle {
  position: relative;
  z-index: 12;
  display: block;
  min-height: 42px;
  padding: .2rem .75rem;
  border: 0;
  appearance: none;
  background: #d5e7b9;
  font-size: .8rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}

.site-header__ai-free-toggle > span:first-child {
  font-size: .9rem;
  line-height: 1;
}

.site-header__ai-free-title {
  font-size: 1.3em;
  font-weight: 500;
}

.site-header__ai-free-toggle:hover,
.site-header__ai-free-toggle[aria-expanded="true"] {
  background: #c9dda8;
}

.site-header__ai-free-toggle:focus-visible {
  outline: 3px solid #102942;
  outline-offset: 3px;
}

/* Attached to the sticker, overlapping the message border without adding height. */
.site-header__ai-free-toggle[aria-expanded="true"]::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 9px solid transparent;
  border-top: 10px solid #c9dda8;
  border-bottom: 0;
  pointer-events: none;
}

.site-header__ai-free-disclosure {
  position: absolute;
  top: calc(100% + .375rem);
  left: 50%;
  transform: translateX(-50%);
  z-index: 11;
  width: max-content;
  max-width: min(26rem, calc(100vw - 3rem));
  margin: 0;
  padding: 1rem 1.1rem;
  background: #f4f8ed;
  box-shadow: 0 .5rem 1.25rem rgb(16 41 66 / 12%);
  font-size: .9rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.site-header__ai-free-disclosure span {
  display: block;
}

.site-header__ai-free-disclosure[hidden] {
  display: none;
}

@media (min-width: 981px) {
  /* Keep the Buyer Guide label and its trigger together when the row is tight.
     Both disclosures remain absolute; opening either cannot resize this row. */
  .site-header__nav:has(.site-header__ai-free) > .site-header__buyer-guide {
    flex-wrap: nowrap;
    flex-shrink: 0;
  }
}

@media (max-width: 980px) {
  .site-header__ai-free {
    padding-block: .65rem;
  }

  .site-header__ai-free-disclosure {
    position: static;
    transform: none;
    max-width: 100%;
    margin-top: .375rem;
  }
}

/* Shared legal footer group; does not alter existing navigation or links. */
.site-footer .footer-legal-notice {
  min-width: 0;
}

/* Use the normal redesigned link grid without browser list indentation. */
.homepage-footer__group .footer-legal-notice__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Reset only the legal list in both footer implementations. */
.site-footer .footer-legal-notice__links,
.site-footer .footer-legal-notice__links > li {
  margin-inline: 0;
  padding-inline: 0;
  list-style: none;
}

.site-footer .footer-legal-notice__links > li {
  display: block;
}

.site-footer .footer-legal-notice__flag {
  display: inline-grid;
  grid-template-columns: repeat(3, 1fr);
  flex: 0 0 1.125rem;
  width: 1.125rem;
  height: .75rem;
  margin-right: .5rem;
  vertical-align: middle;
}

.site-footer .footer-legal-notice__flag span:nth-child(1) { background: #002395; }
.site-footer .footer-legal-notice__flag span:nth-child(2) { background: #fff; }
.site-footer .footer-legal-notice__flag span:nth-child(3) { background: #ed2939; }
