:root {
    --ink: #12161c;
    --ink-soft: #3e4650;
    --paper: #f7f8fa;
    --paper-deep: #e9edf2;
    --white: #ffffff;
    --navy: #213a5a;
    --blue: #2f5f8f;
    --line: #d2d7de;
    --line-dark: #424a55;
    --max-width: 1240px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
    font-family: Arial, Helvetica, sans-serif;
}

img {
    display: block;
    width: 100%;
}

a {
    color: inherit;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
summary,
a {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 3px solid var(--blue);
    outline-offset: 4px;
}

.site-shell {
    width: min(var(--max-width), calc(100% - 64px));
    margin-inline: auto;
}

.section {
    padding: 112px 0;
}

.section-kicker,
.hero-kicker {
    margin: 0 0 14px;
    color: var(--blue);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.section-heading {
    max-width: 760px;
    margin-bottom: 48px;
}

.section-heading h2,
.services-intro h2,
.team-copy h2,
.valuation-copy h2,
.contact-layout h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 5vw, 4.8rem);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.section-heading > p:last-child {
    max-width: 610px;
    margin: 22px 0 0;
    color: var(--ink-soft);
    font-size: 1.05rem;
}

.section-heading-split {
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .7fr);
    gap: 72px;
    align-items: end;
}

.section-heading-split > p {
    margin: 0 0 7px;
}

.site-header {
    position: relative;
    z-index: 20;
    width: 100%;
    background: var(--white);
    color: var(--ink);
    border-bottom: 1px solid var(--line);
}

.header-inner {
    min-height: 84px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 46px;
    align-items: center;
}

.brand {
    display: inline-flex;
    align-items: center;
    color: var(--ink);
    text-decoration: none;
}

.brand-lockup {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas:
        "good move"
        "realty realty";
    column-gap: .18em;
    row-gap: 3px;
    align-items: end;
    width: max-content;
}

.brand-good,
.brand-move {
    text-transform: uppercase;
    line-height: .78;
}

.brand-good {
    grid-area: good;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.78rem;
    font-weight: 900;
    letter-spacing: .01em;
    transform: scaleX(.96);
    transform-origin: left bottom;
}

.brand-move {
    grid-area: move;
    display: inline-flex;
    align-items: flex-end;
    gap: .055em;
    margin-left: 0;
    font-family: "Arial Black", Arial, Helvetica, sans-serif;
    font-size: 1.78rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -.05em;
    transform: none;
    transform-origin: left bottom;
}

.brand-move-text {
    color: transparent;
    -webkit-text-stroke: 1.6px var(--ink);
}

.brand-house {
    width: 1.14em;
    height: 1.14em;
    flex: 0 0 auto;
    align-self: flex-end;
    margin: 0 0 -.08em 0;
    overflow: visible;
    fill: none;
    stroke: var(--ink);
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform: none;
}

.brand-type {
    grid-area: realty;
    justify-self: start;
    margin-left: 1px;
    font-family: "Arial Narrow", "Franklin Gothic Medium", Arial, sans-serif;
    font-size: .62rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.desktop-nav {
    display: flex;
    justify-content: center;
    gap: 28px;
}

.desktop-nav a {
    color: var(--ink);
    text-decoration: none;
    font-size: .84rem;
    font-weight: 600;
}

.desktop-nav a:hover {
    text-decoration: underline;
    text-underline-offset: 6px;
}

.header-action {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    color: var(--ink);
    border: 1px solid var(--ink);
    text-decoration: none;
    font-size: .79rem;
    font-weight: 700;
}

.header-action:hover {
    background: var(--ink);
    color: #ffffff;
}

.mobile-menu {
    display: none;
}

.hero {
    position: relative;
    min-height: 790px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: #242822;
    color: var(--white);
}

.hero-image,
.hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-image {
    object-fit: cover;
    object-position: center 52%;
}

.hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(9, 12, 9, .88) 0%,
            rgba(9, 12, 9, .72) 34%,
            rgba(9, 12, 9, .38) 58%,
            rgba(9, 12, 9, .08) 78%
        ),
        linear-gradient(
            0deg,
            rgba(9, 12, 9, .58) 0%,
            rgba(9, 12, 9, .16) 48%,
            rgba(9, 12, 9, .04) 100%
        );
}

.hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 170px;
    padding-bottom: 62px;
}

.hero-copy {
    max-width: 700px;
    margin-bottom: 52px;
}

.hero-kicker {
    color: #e4e9ef;
}

.hero h1 {
    max-width: 700px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 7vw, 6.6rem);
    font-weight: 400;
    line-height: .94;
    letter-spacing: -.055em;
}

.hero-intro {
    max-width: 575px;
    margin: 25px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: 1.08rem;
}

.property-search {
    max-width: 1040px;
    background: var(--white);
    color: var(--ink);
}

.search-tabs {
    display: flex;
    border-bottom: 1px solid var(--line);
}

.search-tab {
    min-width: 100px;
    padding: 16px 22px;
    border: 0;
    border-right: 1px solid var(--line);
    background: transparent;
    color: var(--ink-soft);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.search-tab.is-active {
    background: var(--ink);
    color: var(--white);
}

.search-fields {
    display: grid;
    grid-template-columns: minmax(260px, 1.6fr) 1fr .7fr auto;
    align-items: stretch;
}

.search-field {
    min-width: 0;
    padding: 15px 18px 13px;
    border-right: 1px solid var(--line);
}

.search-field span {
    display: block;
    margin-bottom: 3px;
    color: #77786f;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.search-field input,
.search-field select {
    width: 100%;
    min-height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ink);
    outline: 0;
}

.search-field input::placeholder {
    color: #63655e;
}

.search-submit {
    min-width: 155px;
    padding: 0 24px;
    border: 0;
    background: var(--blue);
    color: var(--white);
    cursor: pointer;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.search-submit:hover {
    background: #17314f;
}

.search-footnote {
    margin: 0;
    padding: 11px 18px 12px;
    border-top: 1px solid var(--line);
    color: #70726a;
    font-size: .75rem;
}

.intro-strip {
    background: var(--ink);
    color: var(--white);
}

.intro-strip-inner {
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    text-align: center;
}

.intro-strip p,
.intro-strip span {
    margin: 0;
    color: #d9dfe6;
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.homes {
    background: var(--paper);
}

.listing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
}

.listing {
    min-width: 0;
}

.listing-image-link {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--paper-deep);
}

.listing-image-link img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .35s ease;
}

.listing-image-link:hover img {
    transform: scale(1.025);
}

.listing-status {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 7px 10px;
    background: rgba(255, 255, 255, .94);
    color: var(--ink);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.listing-main {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: start;
    padding: 18px 0 11px;
    border-bottom: 1px solid var(--line);
}

.listing-location {
    margin: 0 0 4px;
    color: var(--blue);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.listing h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 400;
}

.listing-price {
    flex: 0 0 auto;
    margin: 3px 0 0;
    font-size: .92rem;
    font-weight: 700;
}

.listing-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    padding-top: 11px;
    color: #66685f;
    font-size: .78rem;
}

.section-link-row {
    margin-top: 42px;
}

.text-link {
    display: inline-block;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--ink);
    text-decoration: none;
    font-size: .84rem;
    font-weight: 700;
}

.services {
    background: var(--white);
}

.services-layout {
    display: grid;
    grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
    gap: 100px;
}

.services-intro {
    align-self: start;
    position: sticky;
    top: 40px;
}

.services-intro p:last-child {
    max-width: 480px;
    margin: 24px 0 0;
    color: var(--ink-soft);
}

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

.service-row {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 24px;
    align-items: start;
    padding: 31px 0;
    border-bottom: 1px solid var(--line);
}

.service-number {
    margin: 4px 0 0;
    color: var(--blue);
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .09em;
}

.service-row h3 {
    margin: 0 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.75rem;
    font-weight: 400;
}

.service-row div p {
    max-width: 520px;
    margin: 0;
    color: var(--ink-soft);
    font-size: .94rem;
}

.service-row > a {
    margin-top: 4px;
    text-decoration: underline;
    text-underline-offset: 5px;
    font-size: .78rem;
    font-weight: 700;
}

.neighborhoods {
    background: var(--paper-deep);
}

.neighborhood-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    grid-template-rows: repeat(2, 300px);
    gap: 18px;
}

.neighborhood-card {
    position: relative;
    overflow: hidden;
    color: var(--white);
    text-decoration: none;
}

.neighborhood-card-large {
    grid-row: 1 / 3;
}

.neighborhood-card img,
.neighborhood-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.neighborhood-card img {
    object-fit: cover;
    transition: transform .4s ease;
}

.neighborhood-card:hover img {
    transform: scale(1.025);
}

.neighborhood-overlay {
    background: linear-gradient(
        0deg,
        rgba(12, 14, 11, .68) 0%,
        rgba(12, 14, 11, .08) 68%
    );
}

.neighborhood-copy {
    position: absolute;
    z-index: 2;
    left: 28px;
    right: 28px;
    bottom: 26px;
}

.neighborhood-copy p {
    margin: 0 0 4px;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.neighborhood-copy h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3vw, 3.4rem);
    font-weight: 400;
    line-height: 1;
}

.neighborhood-copy span {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, .78);
    font-size: .79rem;
}

.team {
    background: var(--paper);
}

.team-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 82px;
    align-items: center;
}

.team-image img {
    aspect-ratio: 5 / 4;
    object-fit: cover;
}

.team-lead {
    margin: 26px 0 16px;
    color: var(--ink);
    font-size: 1.1rem;
    font-weight: 600;
}

.team-copy > p:not(.section-kicker):not(.team-lead) {
    max-width: 530px;
    color: var(--ink-soft);
}

.button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    text-decoration: none;
    font-size: .77rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.button-outline {
    margin-top: 18px;
    border: 1px solid var(--ink);
}

.button-outline:hover {
    background: var(--ink);
    color: var(--white);
}

.valuation {
    background: var(--navy);
    color: var(--white);
}

.valuation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
    gap: 72px;
    align-items: end;
}

.valuation .section-kicker {
    color: #e1e7ee;
}

.valuation-copy h2 {
    max-width: 760px;
    font-size: clamp(2.75rem, 4.2vw, 4.25rem);
    line-height: 1.02;
}

.valuation-copy > p:last-child {
    max-width: 590px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .8);
}

.valuation-form {
    padding: 30px;
    background: var(--paper);
    color: var(--ink);
}

.valuation-form label {
    display: block;
    margin-bottom: 9px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.valuation-control {
    display: grid;
    grid-template-columns: 1fr auto;
    border: 1px solid #bcc4ce;
    background: var(--white);
}

.valuation-control input {
    min-width: 0;
    min-height: 54px;
    padding: 0 15px;
    border: 0;
    outline: 0;
}

.valuation-control button {
    min-height: 54px;
    padding: 0 20px;
    border: 0;
    background: var(--ink);
    color: var(--white);
    cursor: pointer;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.valuation-form > p {
    margin: 11px 0 0;
    color: #73756e;
    font-size: .7rem;
}

.contact {
    background: var(--white);
}

.contact-layout {
    display: grid;
    grid-template-columns: minmax(360px, 1.05fr) minmax(0, 1.15fr);
    gap: 80px;
}

.contact-layout h2 {
    max-width: 590px;
    font-size: clamp(2.65rem, 3.8vw, 4rem);
    line-height: 1.02;
}
.contact-intro {
    max-width: 500px;
    margin: 24px 0 0;
    color: var(--ink-soft);
}

.contact-details {
    margin-top: 45px;
    border-top: 1px solid var(--line);
}

.contact-details p {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 16px;
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
    font-size: .86rem;
}

.contact-details span {
    color: #777970;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.contact-form {
    display: grid;
    gap: 20px;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.contact-form label {
    display: grid;
    gap: 8px;
}

.contact-form label > span {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    border: 1px solid #aeb7c2;
    border-radius: 0;
    background: var(--white);
    color: var(--ink);
    padding: 13px 14px;
    outline: none;
}

.contact-form input,
.contact-form select {
    min-height: 50px;
}

.contact-form textarea {
    resize: vertical;
    min-height: 140px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--ink);
    box-shadow: 0 0 0 1px var(--ink);
}

.button-dark {
    width: fit-content;
    border: 1px solid var(--ink);
    background: var(--ink);
    color: var(--white);
    cursor: pointer;
}

.button-dark:hover {
    background: var(--blue);
    border-color: var(--blue);
}

.form-note {
    margin: -8px 0 0;
    color: #7b7d75;
    font-size: .7rem;
}

.site-footer {
    background: var(--ink);
    color: var(--white);
}

.footer-top {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 60px;
    padding-top: 70px;
    padding-bottom: 55px;
}

.footer-brand {
    display: inline-flex;
    align-items: baseline;
    gap: 9px;
    color: var(--white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    text-decoration: none;
}

.footer-brand span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .15em;
}

.footer-top > div:first-child > p {
    margin: 14px 0 0;
    color: #aeb0aa;
    font-size: .84rem;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 12px 36px;
    align-content: start;
}

.footer-links a {
    color: #d8d9d4;
    text-decoration: none;
    font-size: .79rem;
}

.footer-links a:hover {
    text-decoration: underline;
}

.footer-legal {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    padding-top: 22px;
    padding-bottom: 30px;
    border-top: 1px solid var(--line-dark);
}

.footer-legal p {
    margin: 0;
    color: #8f918b;
    font-size: .66rem;
    line-height: 1.6;
}

@media (max-width: 1020px) {
    .header-inner {
        gap: 26px;
    }

    .desktop-nav {
        gap: 18px;
    }

    .section-heading-split,
    .services-layout,
    .team-layout,
    .valuation-layout,
    .contact-layout {
        gap: 60px;
    }

    .search-fields {
        grid-template-columns: 1.5fr 1fr .7fr;
    }

    .search-submit {
        grid-column: 1 / 4;
        min-height: 52px;
    }
}

@media (max-width: 820px) {
    .site-shell {
        width: min(var(--max-width), calc(100% - 36px));
    }

    .section {
        padding: 82px 0;
    }

    .header-inner {
        min-height: 72px;
        grid-template-columns: 1fr auto;
    }

    .desktop-nav,
    .header-action {
        display: none;
    }

    .mobile-menu {
        position: relative;
        display: block;
    }

    .mobile-menu summary {
        list-style: none;
        cursor: pointer;
        color: var(--ink);
        font-size: .77rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .mobile-menu nav {
        position: absolute;
        top: 38px;
        right: 0;
        width: 230px;
        padding: 10px;
        background: var(--white);
        color: var(--ink);
        box-shadow: 0 15px 35px rgba(0, 0, 0, .2);
    }

    .mobile-menu nav a {
        display: block;
        padding: 11px 10px;
        border-bottom: 1px solid var(--line);
        text-decoration: none;
        font-size: .82rem;
    }

    .hero {
        min-height: 760px;
    }

    .hero-inner {
        padding-top: 130px;
        padding-bottom: 36px;
    }

    .hero-copy {
        margin-bottom: 36px;
    }

    .hero h1 {
        font-size: clamp(3.8rem, 14vw, 5.6rem);
    }

    .property-search {
        max-width: none;
    }

    .search-fields {
        grid-template-columns: 1fr 1fr;
    }

    .search-location {
        grid-column: 1 / 3;
    }

    .search-submit {
        grid-column: 1 / 3;
        min-height: 52px;
    }

    .section-heading-split,
    .services-layout,
    .team-layout,
    .valuation-layout,
    .contact-layout {
        grid-template-columns: 1fr;
    }

    .section-heading-split {
        gap: 22px;
    }

    .listing-grid {
        grid-template-columns: 1fr 1fr;
    }

    .listing:last-child {
        grid-column: 1 / 3;
        max-width: calc(50% - 17px);
    }

    .services-intro {
        position: static;
    }

    .neighborhood-grid {
        grid-template-columns: 1fr;
        grid-template-rows: 410px 280px 280px;
    }

    .neighborhood-card-large {
        grid-row: auto;
    }

    .team-image {
        order: 2;
    }

    .team-copy {
        order: 1;
    }

    .valuation-layout {
        align-items: start;
    }
}

@media (max-width: 580px) {
    .site-shell {
        width: min(var(--max-width), calc(100% - 28px));
    }

    .section {
        padding: 68px 0;
    }

    .hero {
        min-height: 790px;
    }

    .hero-image {
        object-position: 58% center;
    }

    .hero-overlay {
        background:
            linear-gradient(
                0deg,
                rgba(9, 12, 9, .78) 0%,
                rgba(9, 12, 9, .36) 72%
            );
    }

    .hero h1 {
        font-size: clamp(3.25rem, 16vw, 4.5rem);
    }

    .hero-intro {
        font-size: .98rem;
    }

    .search-fields {
        grid-template-columns: 1fr;
    }

    .search-location,
    .search-submit {
        grid-column: auto;
    }

    .search-field {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .intro-strip-inner {
        justify-content: flex-start;
        overflow-x: auto;
        padding: 0 2px;
    }

    .intro-strip p,
    .intro-strip span {
        flex: 0 0 auto;
    }

    .section-heading h2,
    .services-intro h2,
    .team-copy h2,
    .valuation-copy h2,
    .contact-layout h2 {
        font-size: clamp(2.45rem, 12vw, 3.55rem);
    }

    .listing-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .listing:last-child {
        grid-column: auto;
        max-width: none;
    }

    .service-row {
        grid-template-columns: 34px 1fr;
    }

    .service-row > a {
        grid-column: 2;
    }

    .neighborhood-grid {
        grid-template-rows: repeat(3, 310px);
    }

    .valuation-form {
        padding: 22px;
    }

    .valuation-control {
        grid-template-columns: 1fr;
    }

    .valuation-control button {
        width: 100%;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .footer-top,
    .footer-legal {
        grid-template-columns: 1fr;
    }

    .footer-links {
        grid-template-columns: 1fr 1fr;
    }
}

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

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* PREMIUM HOMEPAGE - HEADER + HERO */

.premium-header {
    position: relative;
    z-index: 40;
    width: 100%;
    background: var(--white);
    color: var(--ink);
    border-bottom: 1px solid var(--line);
}

.premium-topline {
    background: var(--ink);
    color: rgba(255, 255, 255, .72);
}

.premium-topline-inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.premium-topline p {
    margin: 0;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.premium-header-inner {
    min-height: 92px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 42px;
}

.premium-brand {
    display: inline-flex;
    align-items: center;
    width: 190px;
    text-decoration: none;
}

.premium-brand img {
    display: block;
    width: 100%;
    height: auto;
}

.premium-desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 2.2vw, 38px);
}

.premium-desktop-nav a,
.premium-header-link {
    color: var(--ink);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.premium-desktop-nav a {
    position: relative;
    padding: 10px 0;
}

.premium-desktop-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 100%;
    height: 1px;
    background: var(--navy);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .22s ease;
}

.premium-desktop-nav a:hover::after,
.premium-desktop-nav a:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.premium-header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.premium-header-link {
    white-space: nowrap;
}

.premium-header-button,
.premium-primary-button,
.premium-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--navy);
    color: var(--white);
    font-family: inherit;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

.premium-header-button {
    min-height: 46px;
    padding: 0 20px;
}

.premium-mobile-menu {
    display: none;
}

.premium-hero {
    position: relative;
    overflow: hidden;
    padding: 72px 0 0;
    background:
        linear-gradient(135deg, #101722 0%, #182335 46%, #213a5a 100%);
    color: var(--white);
}

.premium-hero::before {
    content: "";
    position: absolute;
    top: -220px;
    left: -120px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
}

.premium-hero::after {
    content: "";
    position: absolute;
    right: -160px;
    bottom: 90px;
    width: 460px;
    height: 460px;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 50%;
}

.premium-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
    gap: clamp(48px, 6vw, 92px);
    align-items: center;
}

.premium-hero-copy {
    padding: 48px 0 126px;
}

.premium-eyebrow {
    margin: 0 0 24px;
    color: #c5d5e5;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.premium-hero-copy h1 {
    max-width: 700px;
    margin: 0;
    color: var(--white);
    font-size: clamp(4rem, 6vw, 6.8rem);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: .88;
}

.premium-hero-copy h1 span {
    display: block;
    margin-top: .13em;
    color: #d6e2ee;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .78em;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -.045em;
}

.premium-hero-intro {
    max-width: 590px;
    margin: 32px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 1.08rem;
    line-height: 1.75;
}

.premium-hero-actions {
    margin-top: 38px;
    display: flex;
    align-items: center;
    gap: 26px;
}

.premium-primary-button {
    min-height: 54px;
    padding: 0 24px;
    background: var(--white);
    color: var(--ink);
}

.premium-text-button {
    position: relative;
    color: var(--white);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.premium-text-button::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, .62);
}

.premium-hero-notes {
    margin-top: 58px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 14px;
    color: rgba(255, 255, 255, .58);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
}

.premium-hero-notes span {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.premium-hero-notes span:not(:last-child)::after {
    content: "";
    width: 16px;
    height: 1px;
    background: rgba(255, 255, 255, .24);
}

.premium-hero-media {
    position: relative;
    min-height: 690px;
    align-self: stretch;
    overflow: hidden;
    background: #273244;
}

.premium-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 62% center;
}

.premium-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(10, 15, 23, .03), rgba(10, 15, 23, .28));
    pointer-events: none;
}

.premium-property-card {
    position: absolute;
    z-index: 2;
    left: 28px;
    bottom: 72px;
    width: min(310px, calc(100% - 56px));
    padding: 24px;
    background: rgba(255, 255, 255, .94);
    color: var(--ink);
    backdrop-filter: blur(12px);
}

.premium-property-card p {
    margin: 0 0 7px;
    color: var(--blue);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.premium-property-card strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    font-weight: 400;
}

.premium-property-card a {
    display: inline-block;
    margin-top: 15px;
    color: var(--ink);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-transform: uppercase;
}

.premium-hero-index {
    position: absolute;
    z-index: 2;
    top: 26px;
    right: 26px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    color: var(--white);
    text-shadow: 0 1px 16px rgba(0, 0, 0, .34);
}

.premium-hero-index span:first-child {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.6rem;
}

.premium-hero-index span:last-child {
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.premium-search-wrap {
    position: relative;
    z-index: 3;
    margin-top: -42px;
    padding-bottom: 42px;
}

.premium-property-search {
    display: grid;
    grid-template-columns: minmax(230px, 1.55fr) repeat(3, minmax(130px, .8fr)) auto;
    align-items: stretch;
    background: var(--white);
    box-shadow: 0 22px 60px rgba(7, 14, 24, .22);
}

.premium-search-field {
    min-width: 0;
    padding: 17px 20px 15px;
    border-right: 1px solid var(--line);
}

.premium-search-field span {
    display: block;
    margin-bottom: 5px;
    color: var(--ink-soft);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.premium-search-field input,
.premium-search-field select {
    width: 100%;
    min-height: 29px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-size: .88rem;
}

.premium-search-submit {
    min-width: 178px;
    padding: 0 22px;
    background: var(--ink);
}

@media (max-width: 1120px) {
    .premium-header-inner {
        gap: 24px;
    }

    .premium-brand {
        width: 164px;
    }

    .premium-desktop-nav {
        gap: 20px;
    }

    .premium-header-link {
        display: none;
    }

    .premium-hero-grid {
        grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
        gap: 46px;
    }

    .premium-property-search {
        grid-template-columns: 1.35fr 1fr 1fr 1fr;
    }

    .premium-search-submit {
        min-height: 58px;
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .premium-topline-inner p:last-child {
        display: none;
    }

    .premium-topline-inner {
        justify-content: center;
    }

    .premium-header-inner {
        min-height: 78px;
        grid-template-columns: 1fr auto;
    }

    .premium-brand {
        width: 164px;
    }

    .premium-desktop-nav,
    .premium-header-actions {
        display: none;
    }

    .premium-mobile-menu {
        display: block;
        position: relative;
    }

    .premium-mobile-menu summary {
        list-style: none;
        cursor: pointer;
        font-size: .74rem;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .premium-mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .premium-mobile-menu nav {
        position: absolute;
        top: calc(100% + 22px);
        right: 0;
        width: min(290px, calc(100vw - 32px));
        padding: 18px;
        display: grid;
        gap: 3px;
        background: var(--white);
        border: 1px solid var(--line);
        box-shadow: 0 18px 42px rgba(7, 14, 24, .18);
    }

    .premium-mobile-menu nav a {
        padding: 12px;
        color: var(--ink);
        font-size: .78rem;
        font-weight: 700;
        text-decoration: none;
    }

    .premium-hero {
        padding-top: 56px;
    }

    .premium-hero-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .premium-hero-copy {
        padding: 34px 0 54px;
    }

    .premium-hero-media {
        min-height: 620px;
    }

    .premium-search-wrap {
        margin-top: 0;
        padding-top: 24px;
    }
}

@media (max-width: 680px) {
    .premium-topline {
        display: none;
    }

    .premium-header-inner {
        min-height: 72px;
    }

    .premium-brand {
        width: 150px;
    }

    .premium-hero {
        padding-top: 38px;
    }

    .premium-hero-copy {
        padding: 28px 0 44px;
    }

    .premium-eyebrow {
        margin-bottom: 18px;
    }

    .premium-hero-copy h1 {
        font-size: clamp(3.25rem, 15vw, 5rem);
    }

    .premium-hero-intro {
        margin-top: 25px;
        font-size: .98rem;
    }

    .premium-hero-actions {
        margin-top: 30px;
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-primary-button {
        width: 100%;
    }

    .premium-hero-notes {
        margin-top: 40px;
        display: grid;
        gap: 10px;
    }

    .premium-hero-notes span::after {
        display: none;
    }

    .premium-hero-media {
        min-height: 480px;
    }

    .premium-property-card {
        left: 16px;
        bottom: 16px;
        width: calc(100% - 32px);
    }

    .premium-hero-index {
        top: 18px;
        right: 18px;
    }

    .premium-search-wrap {
        padding-bottom: 28px;
    }

    .premium-property-search {
        grid-template-columns: 1fr;
    }

    .premium-search-field {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .premium-search-submit {
        min-height: 56px;
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-desktop-nav a::after {
        transition: none;
    }
}


/* PREMIUM HOMEPAGE - FEATURED PROPERTIES */

.premium-properties {
    position: relative;
    overflow: hidden;
    background: #f3f5f7;
}

.premium-properties-heading {
    margin-bottom: 52px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: clamp(54px, 8vw, 120px);
    align-items: end;
}

.premium-properties-heading h2 {
    max-width: 780px;
    margin: 12px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.3rem, 5.4vw, 5.7rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .95;
}

.premium-properties-heading-copy {
    padding-bottom: 6px;
}

.premium-properties-heading-copy p {
    max-width: 470px;
    margin: 0;
    color: var(--ink-soft);
    font-size: 1rem;
    line-height: 1.65;
}

.premium-properties-all {
    display: inline-block;
    margin-top: 24px;
    color: var(--ink);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-decoration: underline;
    text-underline-offset: 5px;
    text-transform: uppercase;
}

.premium-property-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(390px, .9fr);
    gap: 28px;
    align-items: stretch;
}

.premium-feature-property {
    min-width: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    background: var(--white);
}

.premium-feature-image,
.premium-secondary-image {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--paper-deep);
}

.premium-feature-image {
    min-height: 590px;
}

.premium-feature-image img,
.premium-secondary-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.premium-feature-image:hover img,
.premium-secondary-image:hover img {
    transform: scale(1.02);
}

.premium-property-status {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    padding: 8px 11px;
    background: rgba(255, 255, 255, .95);
    color: var(--ink);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.premium-save-button {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    color: var(--ink);
    cursor: pointer;
}

.premium-save-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.premium-feature-details {
    padding: 28px 30px 30px;
}

.premium-feature-title-row {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 30px;
}

.premium-property-location {
    margin: 0 0 7px;
    color: var(--blue);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.premium-feature-title-row h3,
.premium-secondary-details h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.premium-feature-title-row h3 {
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1;
}

.premium-feature-price {
    flex: 0 0 auto;
    margin: 4px 0 0;
    font-size: 1.05rem;
    font-weight: 800;
}

.premium-feature-description {
    max-width: 650px;
    margin: 22px 0 0;
    color: var(--ink-soft);
    font-size: .94rem;
    line-height: 1.65;
}

.premium-feature-footer {
    margin-top: 25px;
    padding-top: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    border-top: 1px solid var(--line);
}

.premium-feature-meta,
.premium-secondary-meta {
    display: flex;
    flex-wrap: wrap;
    color: var(--ink-soft);
    font-size: .75rem;
}

.premium-feature-meta {
    gap: 20px;
}

.premium-feature-footer a {
    flex: 0 0 auto;
    color: var(--ink);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-decoration: underline;
    text-underline-offset: 5px;
    text-transform: uppercase;
}

.premium-property-secondary {
    min-width: 0;
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 28px;
}

.premium-secondary-property {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(210px, 1.18fr);
    background: var(--white);
}

.premium-secondary-image {
    min-height: 300px;
}

.premium-secondary-details {
    min-width: 0;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.premium-secondary-details h3 {
    font-size: 1.55rem;
    line-height: 1.06;
}

.premium-secondary-price {
    margin: 18px 0 0;
    font-size: .92rem;
    font-weight: 800;
}

.premium-secondary-meta {
    margin-top: 16px;
    padding-top: 14px;
    gap: 10px 14px;
    border-top: 1px solid var(--line);
    font-size: .69rem;
}

@media (max-width: 1120px) {
    .premium-property-showcase {
        grid-template-columns: 1fr;
    }

    .premium-property-secondary {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: none;
    }

    .premium-secondary-property {
        grid-template-columns: 1fr;
    }

    .premium-secondary-image {
        min-height: 330px;
    }
}

@media (max-width: 820px) {
    .premium-properties-heading {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .premium-properties-heading h2 {
        max-width: 680px;
    }

    .premium-feature-image {
        min-height: 500px;
    }

    .premium-property-secondary {
        grid-template-columns: 1fr;
    }

    .premium-secondary-property {
        grid-template-columns: minmax(0, 1fr) minmax(230px, .8fr);
    }
}

@media (max-width: 620px) {
    .premium-properties-heading {
        margin-bottom: 34px;
    }

    .premium-properties-heading h2 {
        font-size: clamp(2.8rem, 14vw, 4.2rem);
    }

    .premium-feature-image {
        min-height: 390px;
    }

    .premium-feature-details {
        padding: 22px 20px 24px;
    }

    .premium-feature-title-row {
        display: block;
    }

    .premium-feature-price {
        margin-top: 12px;
    }

    .premium-feature-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-secondary-property {
        grid-template-columns: 1fr;
    }

    .premium-secondary-image {
        min-height: 300px;
    }

    .premium-save-button {
        width: 40px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-feature-image img,
    .premium-secondary-image img {
        transition: none;
    }
}

.premium-secondary-description {
    margin: 12px 0 0;
    color: var(--ink-soft);
    font-size: .86rem;
    line-height: 1.6;
}


/* PREMIUM HOMEPAGE - CLIENT SERVICES */

.premium-services {
    position: relative;
    overflow: hidden;
    background: #111923;
    color: var(--white);
}

.premium-services::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -140px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 50%;
    pointer-events: none;
}

.premium-services-heading {
    position: relative;
    z-index: 2;
    margin-bottom: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr);
    gap: clamp(60px, 8vw, 120px);
    align-items: end;
}

.premium-services-kicker,
.premium-relocation-label {
    margin: 0;
    color: #b98a61;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.premium-services-heading h2 {
    max-width: 760px;
    margin: 14px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.6rem, 5.8vw, 6.4rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .92;
}

.premium-services-heading h2 span {
    display: block;
    margin-top: .12em;
    color: #cbd6e2;
    font-style: italic;
}

.premium-services-intro {
    padding-bottom: 8px;
}

.premium-services-intro p {
    max-width: 470px;
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-services-intro a,
.premium-service-body > a,
.premium-relocation-card > a {
    color: var(--white);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-transform: uppercase;
}

.premium-services-intro a {
    display: inline-block;
    margin-top: 24px;
}

.premium-service-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.premium-service-card {
    min-width: 0;
    min-height: 470px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border: 1px solid rgba(255, 255, 255, .13);
}

.premium-service-card-buy {
    background: #f7f8fa;
    color: var(--ink);
}

.premium-service-card-sell {
    background: #213a5a;
    color: var(--white);
}

.premium-service-topline {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.premium-service-card-buy .premium-service-topline {
    color: var(--blue);
}

.premium-service-card-sell .premium-service-topline {
    color: rgba(255, 255, 255, .6);
}

.premium-service-body {
    margin-top: 80px;
}

.premium-service-body h3,
.premium-relocation-copy h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.035em;
}

.premium-service-body h3 {
    max-width: 560px;
    font-size: clamp(2.15rem, 2.8vw, 3.2rem);
    line-height: .98;
}

.premium-service-body > p {
    max-width: 540px;
    margin: 24px 0 0;
    font-size: .96rem;
    line-height: 1.65;
}

.premium-service-card-buy .premium-service-body > p {
    color: var(--ink-soft);
}

.premium-service-card-sell .premium-service-body > p {
    color: rgba(255, 255, 255, .72);
}

.premium-service-points {
    margin-top: 32px;
    padding-top: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 20px;
    border-top: 1px solid currentColor;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.premium-service-card-buy .premium-service-points {
    border-color: var(--line);
}

.premium-service-card-sell .premium-service-points {
    border-color: rgba(255, 255, 255, .2);
}

.premium-service-body > a {
    display: inline-block;
    margin-top: 30px;
}

.premium-service-card-buy .premium-service-body > a {
    color: var(--ink);
}

.premium-relocation-card {
    grid-column: 1 / -1;
    min-height: 220px;
    padding: 30px;
    display: grid;
    grid-template-columns: 70px minmax(0, 1.1fr) minmax(300px, .9fr) auto;
    gap: 32px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .045);
}

.premium-relocation-number {
    align-self: start;
    color: rgba(255, 255, 255, .38);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
}

.premium-relocation-copy h3 {
    margin-top: 7px;
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 1;
}

.premium-relocation-copy > p:last-child {
    max-width: 540px;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: .9rem;
    line-height: 1.6;
}

.premium-relocation-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 20px;
    color: rgba(255, 255, 255, .68);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.premium-relocation-card > a {
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .premium-services-heading {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .premium-service-grid {
        grid-template-columns: 1fr;
    }

    .premium-relocation-card {
        grid-column: auto;
        grid-template-columns: 60px 1fr;
    }

    .premium-relocation-meta,
    .premium-relocation-card > a {
        grid-column: 2;
    }
}

@media (max-width: 680px) {
    .premium-services-heading {
        margin-bottom: 38px;
    }

    .premium-services-heading h2 {
        font-size: clamp(3rem, 14vw, 4.4rem);
    }

    .premium-service-card {
        min-height: 0;
        padding: 24px 20px;
    }

    .premium-service-body {
        margin-top: 54px;
    }

    .premium-service-points {
        grid-template-columns: 1fr;
    }

    .premium-relocation-card {
        padding: 24px 20px;
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .premium-relocation-number,
    .premium-relocation-meta,
    .premium-relocation-card > a {
        grid-column: auto;
    }

    .premium-relocation-meta {
        grid-template-columns: 1fr;
    }
}

/* PREMIUM SERVICES - INTENTIONAL HEADLINES START */

.premium-headline-line {
    display: block;
}

.premium-services-heading h2 {
    font-size: clamp(3.25rem, 5vw, 5.6rem);
}

.premium-services-heading h2 .premium-headline-main {
    margin-top: 0;
    color: var(--white);
    font-style: normal;
    white-space: nowrap;
}

.premium-services-heading h2 .premium-headline-accent {
    margin-top: .18em;
    color: #cbd6e2;
    font-style: italic;
    white-space: nowrap;
}

.premium-service-body h3 {
    font-size: clamp(1.95rem, 2.35vw, 2.75rem);
}

.premium-service-body h3 .premium-headline-line {
    white-space: nowrap;
}

.premium-service-body h3 .premium-headline-accent {
    margin-top: .1em;
    font-style: italic;
}

.premium-service-card-buy h3 .premium-headline-accent {
    color: var(--blue);
}

.premium-service-card-sell h3 .premium-headline-accent {
    color: #cbd6e2;
}

.premium-relocation-copy h3 .premium-headline-main,
.premium-relocation-copy h3 .premium-headline-accent {
    white-space: nowrap;
}

.premium-relocation-copy h3 .premium-headline-accent {
    margin-top: .08em;
    color: #cbd6e2;
    font-style: italic;
}

@media (max-width: 900px) {
    .premium-services-heading h2 .premium-headline-main,
    .premium-services-heading h2 .premium-headline-accent,
    .premium-service-body h3 .premium-headline-line,
    .premium-relocation-copy h3 .premium-headline-main,
    .premium-relocation-copy h3 .premium-headline-accent {
        white-space: normal;
    }
}

@media (max-width: 680px) {
    .premium-services-heading h2 {
        font-size: clamp(3rem, 14vw, 4.4rem);
    }

    .premium-service-body h3 {
        font-size: clamp(2.15rem, 10vw, 3rem);
    }
}

/* PREMIUM SERVICES - INTENTIONAL HEADLINES END */

/* PREMIUM SERVICES - READABILITY SCALE START */

.premium-service-topline {
    font-size: .7rem;
}

.premium-service-body h3 {
    font-size: clamp(2.2rem, 2.85vw, 3.15rem);
}

.premium-service-body > p {
    font-size: 1.05rem;
    line-height: 1.72;
}

.premium-service-points {
    font-size: .75rem;
    line-height: 1.45;
}

.premium-service-body > a {
    font-size: .74rem;
}

.premium-relocation-number {
    font-size: 2.15rem;
}

.premium-relocation-label {
    font-size: .72rem;
}

.premium-relocation-copy h3 {
    font-size: clamp(2.25rem, 3.2vw, 3.5rem);
}

.premium-relocation-copy > p:last-child {
    font-size: 1rem;
    line-height: 1.7;
}

.premium-relocation-meta {
    font-size: .74rem;
    line-height: 1.45;
}

.premium-relocation-card > a {
    font-size: .74rem;
}

@media (max-width: 680px) {
    .premium-service-body h3 {
        font-size: clamp(2.05rem, 10.5vw, 2.8rem);
    }

    .premium-service-body > p {
        font-size: 1rem;
    }

    .premium-relocation-copy h3 {
        font-size: clamp(2.15rem, 11vw, 3rem);
    }

    .premium-relocation-copy > p:last-child {
        font-size: 1rem;
    }
}

/* PREMIUM SERVICES - READABILITY SCALE END */

/* PREMIUM NEIGHBORHOODS START */

.premium-neighborhoods {
    background: #f1f4f7;
}

.premium-neighborhoods-shell {
    display: grid;
    gap: 54px;
}

.premium-neighborhoods-header {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .85fr) 150px;
    gap: clamp(44px, 6vw, 90px);
    align-items: center;
}

.premium-neighborhoods-title {
    padding-right: 54px;
    border-right: 1px solid var(--line);
}

.premium-neighborhoods-title h2 {
    max-width: 700px;
    margin: 12px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.6rem, 5.7vw, 6rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .92;
}

.premium-neighborhoods-intro p {
    max-width: 490px;
    margin: 0;
    color: var(--ink-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    line-height: 1.55;
}

.premium-neighborhoods-intro > a,
.premium-neighborhood-feature-copy > div > a,
.premium-neighborhood-side-copy > a {
    display: inline-block;
    color: var(--ink);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-transform: uppercase;
}

.premium-neighborhoods-intro > a {
    margin-top: 22px;
}

.premium-neighborhood-motto {
    padding: 26px 10px;
    display: grid;
    justify-items: center;
    gap: 3px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    color: #9aa7b7;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .24em;
    line-height: 1.45;
    text-transform: uppercase;
}

.premium-neighborhood-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(420px, 1fr);
    gap: 24px;
    align-items: stretch;
}

.premium-neighborhood-feature {
    min-width: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    background: #162334;
    color: var(--white);
}

.premium-neighborhood-feature-media,
.premium-neighborhood-side-media {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--paper-deep);
}

.premium-neighborhood-feature-media {
    min-height: 560px;
}

.premium-neighborhood-feature-media img,
.premium-neighborhood-side-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.premium-neighborhood-feature-media:hover img,
.premium-neighborhood-side-media:hover img {
    transform: scale(1.025);
}

.premium-neighborhood-feature-index {
    position: absolute;
    top: 28px;
    left: 28px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 20px;
    color: var(--white);
    text-shadow: 0 2px 14px rgba(0, 0, 0, .38);
}

.premium-neighborhood-feature-index span:first-child,
.premium-neighborhood-side-index span:first-child {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 400;
}

.premium-neighborhood-feature-index span:last-child,
.premium-neighborhood-side-index span:last-child {
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.premium-neighborhood-feature-copy {
    min-height: 205px;
    padding: 28px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.premium-neighborhood-feature-copy h3,
.premium-neighborhood-side-copy h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.04em;
}

.premium-neighborhood-feature-copy h3 {
    font-size: clamp(2.5rem, 4vw, 4.1rem);
    line-height: .98;
}

.premium-neighborhood-feature-copy p {
    max-width: 520px;
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .76);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    line-height: 1.55;
}

.premium-neighborhood-feature-copy > div > a {
    margin-top: 19px;
    color: var(--white);
}

.premium-neighborhood-arrow,
.premium-neighborhood-image-arrow {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 1.5rem;
    text-decoration: none;
}

.premium-neighborhood-arrow {
    color: var(--white);
}

.premium-neighborhood-side {
    min-width: 0;
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 24px;
}

.premium-neighborhood-side-card {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr);
    background: var(--white);
    border: 1px solid var(--line);
}

.premium-neighborhood-side-copy {
    min-width: 0;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.premium-neighborhood-side-index {
    margin-bottom: 38px;
    display: flex;
    align-items: center;
    gap: 18px;
    color: #8e9bab;
}

.premium-neighborhood-side-copy h3 {
    font-size: clamp(2rem, 3vw, 3.25rem);
    line-height: 1;
}

.premium-neighborhood-side-copy > p {
    max-width: 330px;
    margin: 14px 0 0;
    color: var(--ink-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .95rem;
    line-height: 1.5;
}

.premium-neighborhood-side-copy > a {
    margin-top: 24px;
    align-self: flex-start;
}

.premium-neighborhood-side-media {
    min-height: 300px;
}

.premium-neighborhood-image-arrow {
    position: absolute;
    right: 20px;
    bottom: 20px;
    color: var(--white);
    background: rgba(12, 18, 26, .18);
    backdrop-filter: blur(7px);
}

@media (max-width: 1120px) {
    .premium-neighborhoods-header {
        grid-template-columns: 1fr 1fr;
    }

    .premium-neighborhood-motto {
        display: none;
    }

    .premium-neighborhood-grid {
        grid-template-columns: 1fr;
    }

    .premium-neighborhood-side {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: none;
    }

    .premium-neighborhood-side-card {
        grid-template-columns: 1fr;
    }

    .premium-neighborhood-side-media {
        min-height: 340px;
        order: -1;
    }
}

@media (max-width: 760px) {
    .premium-neighborhoods-shell {
        gap: 36px;
    }

    .premium-neighborhoods-header {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .premium-neighborhoods-title {
        padding-right: 0;
        border-right: 0;
    }

    .premium-neighborhoods-title h2 {
        font-size: clamp(3rem, 14vw, 4.5rem);
    }

    .premium-neighborhood-feature-media {
        min-height: 430px;
    }

    .premium-neighborhood-feature-copy {
        min-height: 0;
        padding: 24px 20px;
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-neighborhood-side {
        grid-template-columns: 1fr;
    }

    .premium-neighborhood-side-copy {
        padding: 24px 20px;
    }

    .premium-neighborhood-side-index {
        margin-bottom: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-neighborhood-feature-media img,
    .premium-neighborhood-side-media img {
        transition: none;
    }
}

/* PREMIUM NEIGHBORHOODS END */

/* PREMIUM TEAM START */

.premium-team {
    background: #f7f8fa;
}

.premium-team-shell {
    display: grid;
    gap: 54px;
}

.premium-team-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .72fr);
    gap: clamp(50px, 7vw, 110px);
    align-items: end;
}

.premium-team-heading h2 {
    max-width: 760px;
    margin: 12px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.5rem, 5.5vw, 5.8rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .94;
}

.premium-team-heading > p {
    max-width: 470px;
    margin: 0 0 6px;
    color: var(--ink-soft);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-team-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(390px, .84fr);
    gap: 26px;
    align-items: stretch;
}

.premium-team-visual {
    min-width: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    background: var(--white);
    border: 1px solid var(--line);
}

.premium-team-image {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    background: var(--paper-deep);
}

.premium-team-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.premium-team-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 16, 24, .02), rgba(10, 16, 24, .28));
    pointer-events: none;
}

.premium-team-image-label {
    position: absolute;
    z-index: 2;
    left: 24px;
    bottom: 24px;
    padding: 18px 20px;
    display: grid;
    gap: 5px;
    background: rgba(255, 255, 255, .94);
    color: var(--ink);
    backdrop-filter: blur(10px);
}

.premium-team-image-label span:first-child {
    color: var(--blue);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.premium-team-image-label span:last-child {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.premium-team-caption {
    min-height: 74px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: var(--ink-soft);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.premium-team-caption span {
    position: relative;
}

.premium-team-caption span:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 18px);
    width: 28px;
    height: 1px;
    background: var(--line);
}

.premium-team-panel {
    min-width: 0;
    padding: 42px;
    display: flex;
    flex-direction: column;
    background: #162334;
    color: var(--white);
}

.premium-team-panel-kicker {
    margin: 0;
    color: #c58c5e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.premium-team-panel-intro h3 {
    margin: 20px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.35rem, 3.5vw, 3.7rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}

.premium-team-panel-intro h3 span {
    display: block;
}

.premium-team-panel-intro h3 span:last-child {
    margin-top: .08em;
    color: #cbd6e2;
    font-style: italic;
}

.premium-team-panel-intro > p:last-child {
    max-width: 500px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .7);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-team-points {
    margin-top: 38px;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.premium-team-point {
    padding: 22px 0;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.premium-team-point-number {
    padding-top: 4px;
    color: rgba(255, 255, 255, .48);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.1rem;
}

.premium-team-point h4 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 400;
}

.premium-team-point p {
    margin: 7px 0 0;
    color: rgba(255, 255, 255, .66);
    font-size: .9rem;
    line-height: 1.55;
}

.premium-team-panel-footer {
    margin-top: auto;
    padding-top: 32px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.premium-team-panel-footer a {
    flex: 0 0 auto;
    color: var(--white);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-transform: uppercase;
}

.premium-team-panel-footer span {
    max-width: 220px;
    color: rgba(255, 255, 255, .46);
    font-size: .69rem;
    line-height: 1.5;
    text-align: right;
}

@media (max-width: 1080px) {
    .premium-team-heading,
    .premium-team-layout {
        grid-template-columns: 1fr;
    }

    .premium-team-heading > p {
        max-width: 620px;
    }

    .premium-team-panel {
        min-height: 620px;
    }
}

@media (max-width: 680px) {
    .premium-team-shell {
        gap: 34px;
    }

    .premium-team-heading h2 {
        font-size: clamp(2.9rem, 14vw, 4.25rem);
    }

    .premium-team-image {
        min-height: 430px;
    }

    .premium-team-caption {
        padding: 18px 20px;
        display: grid;
        justify-content: start;
        gap: 8px;
    }

    .premium-team-caption span::after {
        display: none;
    }

    .premium-team-panel {
        min-height: 0;
        padding: 30px 22px;
    }

    .premium-team-panel-intro h3 {
        font-size: clamp(2.25rem, 11vw, 3.1rem);
    }

    .premium-team-panel-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-team-panel-footer span {
        max-width: none;
        text-align: left;
    }
}

/* PREMIUM TEAM END */

/* PREMIUM VALUATION START */

.premium-valuation {
    position: relative;
    overflow: hidden;
    background: #213a5a;
    color: var(--white);
}

.premium-valuation::before {
    content: "";
    position: absolute;
    width: 560px;
    height: 560px;
    right: -220px;
    top: -240px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    pointer-events: none;
}

.premium-valuation-shell {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 58px;
}

.premium-valuation-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, .72fr);
    gap: clamp(60px, 8vw, 120px);
    align-items: end;
}

.premium-valuation-kicker {
    margin: 0;
    color: #d4e0ec;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.premium-valuation-heading h2 {
    max-width: 860px;
    margin: 14px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.6rem, 5.4vw, 5.8rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .94;
}

.premium-valuation-heading h2 span {
    display: block;
}

.premium-valuation-heading h2 span:last-child {
    margin-top: .1em;
    color: #cbd6e2;
    font-style: italic;
}

.premium-valuation-intro {
    padding-bottom: 8px;
}

.premium-valuation-intro > p {
    max-width: 480px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-valuation-intro > span {
    display: inline-block;
    margin-top: 22px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, .42);
    color: var(--white);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.premium-valuation-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    gap: 24px;
    align-items: stretch;
}

.premium-valuation-brief {
    padding: 34px;
    background: #162334;
    border: 1px solid rgba(255, 255, 255, .12);
}

.premium-valuation-brief-heading {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
}

.premium-valuation-brief-heading p,
.premium-valuation-brief-heading span {
    margin: 0;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.premium-valuation-brief-heading p {
    color: #c58c5e;
}

.premium-valuation-brief-heading span {
    color: rgba(255, 255, 255, .42);
}

.premium-valuation-factors {
    margin-top: 28px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(255, 255, 255, .15);
    border-left: 1px solid rgba(255, 255, 255, .15);
}

.premium-valuation-factor {
    min-height: 190px;
    padding: 26px;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 16px;
    border-right: 1px solid rgba(255, 255, 255, .15);
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.premium-valuation-factor > span {
    padding-top: 4px;
    color: rgba(255, 255, 255, .42);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
}

.premium-valuation-factor h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.6rem;
    font-weight: 400;
}

.premium-valuation-factor p {
    margin: 9px 0 0;
    color: rgba(255, 255, 255, .66);
    font-size: .96rem;
    line-height: 1.6;
}

.premium-valuation-brief-note {
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .68);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    font-style: italic;
}

.premium-valuation-form-card {
    padding: 38px;
    display: flex;
    flex-direction: column;
    background: #f7f8fa;
    color: var(--ink);
}

.premium-valuation-form-heading > p {
    margin: 0;
    color: var(--blue);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.premium-valuation-form-heading h3 {
    max-width: 520px;
    margin: 18px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.45rem, 3.5vw, 3.8rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}

.premium-valuation-form-heading > span {
    display: block;
    max-width: 470px;
    margin-top: 18px;
    color: var(--ink-soft);
    font-size: .95rem;
    line-height: 1.65;
}

.premium-valuation-form {
    margin-top: 34px;
}

.premium-valuation-form label {
    display: block;
    margin-bottom: 10px;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.premium-valuation-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    border: 1px solid #bfc7d1;
    background: var(--white);
}

.premium-valuation-control input {
    min-width: 0;
    min-height: 62px;
    padding: 0 18px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
}

.premium-valuation-control button {
    min-height: 62px;
    padding: 0 24px;
    border: 0;
    background: var(--ink);
    color: var(--white);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.premium-valuation-form > p {
    margin: 12px 0 0;
    color: #747b84;
    font-size: .72rem;
    line-height: 1.5;
}

.premium-valuation-steps {
    margin-top: auto;
    padding-top: 34px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.premium-valuation-steps > div {
    padding: 18px 18px 0 0;
    border-top: 1px solid var(--line);
}

.premium-valuation-steps > div:not(:last-child) {
    border-right: 1px solid var(--line);
}

.premium-valuation-steps span,
.premium-valuation-steps strong {
    display: block;
}

.premium-valuation-steps span {
    color: var(--blue);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.premium-valuation-steps strong {
    margin-top: 8px;
    font-size: .74rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

@media (max-width: 1080px) {
    .premium-valuation-heading,
    .premium-valuation-workspace {
        grid-template-columns: 1fr;
    }

    .premium-valuation-intro > p {
        max-width: 620px;
    }
}

@media (max-width: 680px) {
    .premium-valuation-shell {
        gap: 38px;
    }

    .premium-valuation-heading h2 {
        font-size: clamp(2.9rem, 14vw, 4.25rem);
    }

    .premium-valuation-brief,
    .premium-valuation-form-card {
        padding: 26px 20px;
    }

    .premium-valuation-factors {
        grid-template-columns: 1fr;
    }

    .premium-valuation-factor {
        min-height: 0;
    }

    .premium-valuation-control {
        grid-template-columns: 1fr;
    }

    .premium-valuation-control button {
        width: 100%;
    }

    .premium-valuation-steps {
        grid-template-columns: 1fr;
    }

    .premium-valuation-steps > div {
        padding: 16px 0;
        border-right: 0 !important;
    }
}

/* PREMIUM VALUATION END */

/* PREMIUM VALUATION HEADER REBALANCE START */

.premium-valuation-heading {
    grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
    gap: clamp(54px, 7vw, 100px);
    align-items: end;
}

.premium-valuation-title h2 {
    max-width: 650px;
    font-size: clamp(3.45rem, 4.8vw, 5.25rem);
    line-height: .95;
}

.premium-valuation-counterpoint {
    min-width: 0;
    padding-bottom: 6px;
}

.premium-valuation-accent {
    max-width: 520px;
    margin: 0;
    color: #cbd6e2;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 3.45vw, 3.8rem);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}

.premium-valuation-counterpoint .premium-valuation-intro {
    margin-top: 30px;
    padding-bottom: 0;
}

.premium-valuation-counterpoint .premium-valuation-intro > p {
    max-width: 500px;
}

@media (max-width: 1080px) {
    .premium-valuation-heading {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .premium-valuation-title h2 {
        max-width: 760px;
    }

    .premium-valuation-accent {
        max-width: 700px;
    }

    .premium-valuation-counterpoint .premium-valuation-intro {
        margin-top: 24px;
    }
}

@media (max-width: 680px) {
    .premium-valuation-title h2 {
        font-size: clamp(2.9rem, 14vw, 4.25rem);
    }

    .premium-valuation-accent {
        font-size: clamp(2.15rem, 10vw, 3rem);
    }
}

/* PREMIUM VALUATION HEADER REBALANCE END */

/* PREMIUM CONTACT START */

.premium-contact {
    background: #eef2f6;
}

.premium-contact-shell {
    display: grid;
    gap: 54px;
}

.premium-contact-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .76fr);
    gap: clamp(56px, 8vw, 120px);
    align-items: end;
}

.premium-contact-title h2 {
    max-width: 790px;
    margin: 12px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.6rem, 5.5vw, 5.8rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .94;
}

.premium-contact-title h2 span {
    display: block;
}

.premium-contact-title h2 span:last-child {
    margin-top: .08em;
    color: var(--blue);
    font-style: italic;
}

.premium-contact-heading-note {
    padding-bottom: 7px;
}

.premium-contact-heading-note > p {
    max-width: 470px;
    margin: 0;
    color: var(--ink-soft);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-contact-heading-note > span {
    display: inline-block;
    margin-top: 22px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--ink);
    color: var(--ink);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.premium-contact-workspace {
    display: grid;
    grid-template-columns: minmax(350px, .78fr) minmax(0, 1.22fr);
    gap: 24px;
    align-items: stretch;
}

.premium-contact-details {
    min-width: 0;
    padding: 38px;
    display: flex;
    flex-direction: column;
    background: #162334;
    color: var(--white);
}

.premium-contact-details-intro > p {
    margin: 0;
    color: #c58c5e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.premium-contact-details-intro h3 {
    max-width: 500px;
    margin: 20px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.05rem, 3vw, 3.3rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}

.premium-contact-details-intro > span {
    display: block;
    max-width: 500px;
    margin-top: 22px;
    color: rgba(255, 255, 255, .7);
    font-size: .96rem;
    line-height: 1.68;
}

.premium-contact-list {
    margin-top: 42px;
    border-top: 1px solid rgba(255, 255, 255, .17);
}

.premium-contact-list > div {
    min-height: 78px;
    padding: 18px 0;
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .17);
}

.premium-contact-list span {
    color: rgba(255, 255, 255, .5);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.premium-contact-list a,
.premium-contact-list strong {
    color: var(--white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    font-weight: 400;
    text-decoration: none;
}

.premium-contact-list a:hover,
.premium-contact-list a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.premium-contact-detail-note {
    margin-top: auto;
    padding-top: 36px;
    display: grid;
    gap: 9px;
}

.premium-contact-detail-note span {
    color: rgba(255, 255, 255, .45);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.premium-contact-detail-note strong {
    max-width: 390px;
    color: rgba(255, 255, 255, .72);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1.45;
}

.premium-contact-form {
    min-width: 0;
    padding: 38px;
    display: grid;
    gap: 22px;
    background: var(--white);
    border: 1px solid var(--line);
}

.premium-contact-form-heading > p {
    margin: 0;
    color: var(--blue);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.premium-contact-form-heading h3 {
    max-width: 620px;
    margin: 18px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.45rem, 3.6vw, 3.9rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}

.premium-contact-form-heading > span {
    display: block;
    max-width: 540px;
    margin-top: 16px;
    color: var(--ink-soft);
    font-size: .96rem;
    line-height: 1.65;
}

.premium-contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.premium-contact-form label {
    display: grid;
    gap: 9px;
}

.premium-contact-form label > span {
    color: var(--ink);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.premium-contact-form input,
.premium-contact-form select,
.premium-contact-form textarea {
    width: 100%;
    border: 1px solid #b7c0cb;
    border-radius: 0;
    outline: 0;
    background: #fbfcfd;
    color: var(--ink);
    font: inherit;
    font-size: .95rem;
}

.premium-contact-form input,
.premium-contact-form select {
    min-height: 56px;
    padding: 0 15px;
}

.premium-contact-form textarea {
    min-height: 170px;
    padding: 15px;
    resize: vertical;
    line-height: 1.55;
}

.premium-contact-form input:focus,
.premium-contact-form select:focus,
.premium-contact-form textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 1px var(--blue);
}

.premium-contact-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.premium-contact-form-footer button {
    min-height: 58px;
    padding: 0 24px;
    border: 0;
    background: var(--ink);
    color: var(--white);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.premium-contact-form-footer p {
    max-width: 310px;
    margin: 0;
    color: #777f88;
    font-size: .7rem;
    line-height: 1.5;
    text-align: right;
}

.premium-contact-process {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.premium-contact-process > div {
    min-height: 94px;
    padding: 20px 24px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    align-items: center;
}

.premium-contact-process > div:not(:last-child) {
    border-right: 1px solid var(--line);
}

.premium-contact-process span {
    color: var(--blue);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
}

.premium-contact-process strong {
    font-size: .7rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

@media (max-width: 1050px) {
    .premium-contact-heading,
    .premium-contact-workspace {
        grid-template-columns: 1fr;
    }

    .premium-contact-heading-note > p {
        max-width: 650px;
    }

    .premium-contact-details {
        min-height: 620px;
    }
}

@media (max-width: 680px) {
    .premium-contact-shell {
        gap: 36px;
    }

    .premium-contact-title h2 {
        font-size: clamp(2.9rem, 14vw, 4.25rem);
    }

    .premium-contact-details,
    .premium-contact-form {
        padding: 28px 20px;
    }

    .premium-contact-details {
        min-height: 0;
    }

    .premium-contact-row {
        grid-template-columns: 1fr;
    }

    .premium-contact-form-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-contact-form-footer button {
        width: 100%;
    }

    .premium-contact-form-footer p {
        max-width: none;
        text-align: left;
    }

    .premium-contact-process {
        grid-template-columns: 1fr;
    }

    .premium-contact-process > div:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
}

/* PREMIUM CONTACT END */

/* PREMIUM PROPERTIES PAGE START */

.properties-page-main {
    background: #f2f5f8;
}

.properties-page .premium-desktop-nav a[aria-current="page"]::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.properties-page-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 0;
    background: #162334;
    color: var(--white);
}

.properties-page-hero::after {
    content: "";
    position: absolute;
    width: 580px;
    height: 580px;
    right: -220px;
    top: -260px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    pointer-events: none;
}

.properties-page-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .72fr);
    gap: clamp(60px, 8vw, 120px);
    align-items: end;
}

.properties-page-hero .section-kicker {
    color: #d7e2ed;
}

.properties-page-hero-copy h1 {
    max-width: 850px;
    margin: 14px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 6vw, 6.5rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .91;
}

.properties-page-hero-copy h1 span {
    display: block;
}

.properties-page-hero-copy h1 span:last-child {
    margin-top: .09em;
    color: #cbd6e2;
    font-style: italic;
}

.properties-page-hero-copy > p:last-child {
    max-width: 650px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 1rem;
    line-height: 1.72;
}

.properties-page-hero-note {
    padding: 0 0 8px 28px;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.properties-page-hero-note > span {
    color: #c58c5e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.properties-page-hero-note p {
    max-width: 430px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: .96rem;
    line-height: 1.7;
}

.properties-page-hero-note a {
    display: inline-block;
    margin-top: 22px;
    color: var(--white);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-transform: uppercase;
}

.properties-page-search {
    position: relative;
    z-index: 3;
    margin-top: 62px;
    display: grid;
    grid-template-columns: minmax(230px, 1.5fr) repeat(3, minmax(130px, .8fr)) auto;
    background: var(--white);
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(4, 11, 20, .3);
    transform: translateY(38px);
}

.properties-page-search label {
    min-width: 0;
    padding: 16px 18px;
    border-right: 1px solid var(--line);
}

.properties-page-search label > span {
    display: block;
    margin-bottom: 6px;
    color: var(--ink-soft);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.properties-page-search input,
.properties-page-search select {
    width: 100%;
    min-height: 30px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-size: .9rem;
}

.properties-page-search button {
    min-width: 190px;
    padding: 0 24px;
    border: 0;
    background: #0f151d;
    color: var(--white);
    cursor: pointer;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.properties-page-feature {
    padding: 132px 0 100px;
}

.properties-page-section-heading,
.properties-page-collection-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
    gap: clamp(50px, 8vw, 110px);
    align-items: end;
}

.properties-page-section-heading h2,
.properties-page-collection-heading h2,
.properties-page-browse h2,
.properties-page-seller h2 {
    margin: 12px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .96;
}

.properties-page-section-heading h2,
.properties-page-collection-heading h2 {
    max-width: 740px;
    font-size: clamp(3.3rem, 5vw, 5.3rem);
}

.properties-page-section-heading > div:last-child > p,
.properties-page-collection-heading > p {
    max-width: 470px;
    margin: 0;
    color: var(--ink-soft);
    font-size: .98rem;
    line-height: 1.7;
}

.properties-page-section-heading > div:last-child > span {
    display: inline-block;
    margin-top: 18px;
    color: var(--blue);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.properties-page-feature-card {
    margin-top: 48px;
    display: grid;
    grid-template-columns: minmax(0, 1.34fr) minmax(390px, .66fr);
    min-height: 690px;
    background: var(--white);
}

.properties-page-feature-image,
.properties-page-card-image {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--paper-deep);
}

.properties-page-feature-image img,
.properties-page-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.properties-page-feature-image:hover img,
.properties-page-card-image:hover img {
    transform: scale(1.025);
}

.properties-page-status {
    position: absolute;
    z-index: 2;
    top: 20px;
    left: 20px;
    padding: 8px 11px;
    background: rgba(255, 255, 255, .95);
    color: var(--ink);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.properties-page-image-index {
    position: absolute;
    z-index: 2;
    right: 22px;
    top: 19px;
    color: var(--white);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    text-shadow: 0 2px 16px rgba(0, 0, 0, .42);
}

.properties-page-feature-details {
    padding: 44px;
    display: flex;
    flex-direction: column;
    background: #162334;
    color: var(--white);
}

.properties-page-location {
    margin: 0 0 9px;
    color: #c58c5e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.properties-page-feature-details h3 {
    max-width: 500px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 4vw, 4.4rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .96;
}

.properties-page-description {
    max-width: 480px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: .98rem;
    line-height: 1.7;
}

.properties-page-price-row {
    margin-top: 38px;
    padding: 24px 0;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: baseline;
    border-top: 1px solid rgba(255, 255, 255, .17);
    border-bottom: 1px solid rgba(255, 255, 255, .17);
}

.properties-page-price-row strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
}

.properties-page-price-row span {
    color: rgba(255, 255, 255, .58);
    font-size: .78rem;
}

.properties-page-specs {
    padding-top: 26px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.properties-page-specs span {
    display: grid;
    gap: 7px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
}

.properties-page-specs small {
    color: rgba(255, 255, 255, .48);
    font-family: Arial, Helvetica, sans-serif;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.properties-page-property-link {
    margin-top: auto;
    padding-top: 38px;
    align-self: flex-start;
    color: var(--white);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-transform: uppercase;
}

.properties-page-collection {
    padding: 100px 0;
    background: #e9eef3;
}

.properties-page-grid {
    margin-top: 48px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.properties-page-card {
    min-width: 0;
    background: var(--white);
}

.properties-page-card-image {
    aspect-ratio: 1.45 / 1;
}

.properties-page-card-body {
    padding: 28px;
}

.properties-page-card-title {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: start;
}

.properties-page-card-title h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 400;
    letter-spacing: -.04em;
    line-height: 1;
}

.properties-page-card-title > strong {
    flex: 0 0 auto;
    font-size: .95rem;
}

.properties-page-card-body > p {
    max-width: 590px;
    margin: 22px 0 0;
    color: var(--ink-soft);
    font-size: .95rem;
    line-height: 1.65;
}

.properties-page-card-footer {
    margin-top: 26px;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    border-top: 1px solid var(--line);
}

.properties-page-card-footer > div {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    color: var(--ink-soft);
    font-size: .76rem;
}

.properties-page-card-footer > a {
    flex: 0 0 auto;
    color: var(--ink);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: underline;
    text-underline-offset: 5px;
    text-transform: uppercase;
}

.properties-page-browse {
    padding: 100px 0;
    background: var(--white);
}

.properties-page-browse-grid {
    display: grid;
    grid-template-columns: minmax(350px, .75fr) minmax(0, 1.25fr);
    gap: clamp(60px, 8vw, 120px);
    align-items: start;
}

.properties-page-browse h2 {
    max-width: 600px;
    font-size: clamp(3rem, 4.6vw, 5rem);
}

.properties-page-browse-options {
    border-top: 1px solid var(--line);
}

.properties-page-browse-options a {
    min-height: 128px;
    padding: 25px 0;
    display: grid;
    grid-template-columns: 50px minmax(180px, .65fr) 1fr;
    gap: 24px;
    align-items: center;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    text-decoration: none;
}

.properties-page-browse-options span {
    color: var(--blue);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
}

.properties-page-browse-options strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.8rem;
    font-weight: 400;
}

.properties-page-browse-options small {
    color: var(--ink-soft);
    font-size: .9rem;
    line-height: 1.55;
}

.properties-page-seller {
    padding: 90px 0;
    background: #213a5a;
    color: var(--white);
}

.properties-page-seller-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
    gap: clamp(60px, 8vw, 120px);
    align-items: end;
}

.properties-page-seller-grid > div:first-child > p {
    margin: 0;
    color: #c58c5e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.properties-page-seller h2 {
    max-width: 780px;
    font-size: clamp(3.1rem, 4.9vw, 5.2rem);
}

.properties-page-seller-grid > div:last-child > p {
    max-width: 460px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: .98rem;
    line-height: 1.7;
}

.properties-page-seller-grid > div:last-child > a {
    display: inline-block;
    margin-top: 24px;
    color: var(--white);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .properties-page-hero-grid,
    .properties-page-section-heading,
    .properties-page-collection-heading,
    .properties-page-browse-grid,
    .properties-page-seller-grid {
        grid-template-columns: 1fr;
    }

    .properties-page-search {
        grid-template-columns: 1fr 1fr;
    }

    .properties-page-search label {
        border-bottom: 1px solid var(--line);
    }

    .properties-page-search button {
        min-height: 64px;
        grid-column: 1 / 3;
    }

    .properties-page-feature-card {
        grid-template-columns: 1fr;
    }

    .properties-page-feature-image {
        min-height: 620px;
    }
}

@media (max-width: 760px) {
    .properties-page-hero {
        padding-top: 68px;
    }

    .properties-page-hero-copy h1 {
        font-size: clamp(3rem, 14vw, 4.6rem);
    }

    .properties-page-hero-note {
        padding-left: 0;
        border-left: 0;
    }

    .properties-page-search {
        grid-template-columns: 1fr;
        margin-top: 42px;
    }

    .properties-page-search label {
        border-right: 0;
    }

    .properties-page-search button {
        grid-column: auto;
    }

    .properties-page-feature {
        padding-top: 110px;
        padding-bottom: 72px;
    }

    .properties-page-section-heading h2,
    .properties-page-collection-heading h2 {
        font-size: clamp(2.8rem, 13vw, 4.1rem);
    }

    .properties-page-feature-image {
        min-height: 430px;
    }

    .properties-page-feature-details {
        padding: 28px 22px;
    }

    .properties-page-specs {
        grid-template-columns: 1fr 1fr;
    }

    .properties-page-grid {
        grid-template-columns: 1fr;
    }

    .properties-page-card-title,
    .properties-page-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .properties-page-browse-options a {
        grid-template-columns: 38px 1fr;
    }

    .properties-page-browse-options small {
        grid-column: 2;
    }

    .properties-page-collection,
    .properties-page-browse {
        padding: 72px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .properties-page-feature-image img,
    .properties-page-card-image img {
        transition: none;
    }
}

/* PREMIUM PROPERTIES PAGE END */

/* PROPERTIES HERO HEADLINE POLISH START */

.properties-page-hero-copy h1 {
    max-width: 920px;
}

.properties-page-hero-copy h1 .properties-page-hero-accent {
    margin-top: .08em;
    max-width: none;
    font-size: .76em;
    line-height: .95;
}

/* PROPERTIES HERO HEADLINE POLISH END */

/* PROPERTIES HERO LINEBREAK FIX START */

.properties-page-hero-copy h1 .properties-page-hero-accent {
    font-size: .64em;
    line-height: .96;
}

.properties-page-hero-copy h1 .properties-page-hero-accent > span {
    display: block;
}

.properties-page-hero-copy h1 .properties-page-hero-accent > span:first-child {
    white-space: nowrap;
}

@media (max-width: 760px) {
    .properties-page-hero-copy h1 .properties-page-hero-accent {
        font-size: .72em;
    }

    .properties-page-hero-copy h1 .properties-page-hero-accent > span:first-child {
        white-space: normal;
    }
}

/* PROPERTIES HERO LINEBREAK FIX END */

/* === PREMIUM PROPERTIES HERO START === */
.premium-properties-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 0;
    background:
        linear-gradient(90deg, rgba(9, 21, 37, .90) 0%, rgba(9, 21, 37, .76) 40%, rgba(9, 21, 37, .54) 68%, rgba(9, 21, 37, .38) 100%),
        linear-gradient(180deg, rgba(9, 21, 37, .10) 0%, rgba(9, 21, 37, .42) 100%),
        url("../images/properties-hero.webp") center center / cover no-repeat;
    color: var(--white);
}

.premium-properties-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 92% 18%, rgba(255, 255, 255, .10), transparent 22%),
        radial-gradient(circle at 10% 72%, rgba(255, 255, 255, .05), transparent 18%);
    pointer-events: none;
}

.premium-properties-hero .site-shell {
    position: relative;
    z-index: 1;
}

.premium-properties-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
    gap: 70px 68px;
    align-items: end;
    min-height: 680px;
}

.premium-properties-hero-copy {
    max-width: 860px;
    padding-top: 18px;
}

.premium-properties-hero .section-kicker {
    margin-bottom: 22px;
    color: var(--white);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.premium-properties-hero-title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.8rem, 7.8vw, 6.5rem);
    font-weight: 400;
    line-height: .96;
    letter-spacing: -.055em;
}

.premium-properties-hero-title-line {
    display: block;
}

.premium-properties-hero-title-accent {
    max-width: 8.3ch;
    margin-top: .14em;
    color: #cfdcf0;
    font-style: italic;
    line-height: .90;
}

.premium-properties-hero-intro {
    max-width: 720px;
    margin: 32px 0 0;
    color: rgba(255, 255, 255, .90);
    font-size: 1.02rem;
    line-height: 1.72;
}

.premium-properties-hero-side {
    align-self: center;
}

.premium-properties-hero-side-copy {
    max-width: 360px;
    padding-left: 28px;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.premium-properties-hero-side-kicker {
    margin: 0 0 20px;
    color: #efb17d;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.premium-properties-hero-side-copy > p:last-of-type,
.premium-properties-hero-side-copy > p {
    margin: 0;
    color: rgba(255, 255, 255, .93);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-properties-hero-side-link {
    display: inline-block;
    margin-top: 24px;
    color: var(--white);
    font-size: .9rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 6px;
}

.premium-properties-hero-search {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(250px, 1.6fr) minmax(190px, .95fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(220px, auto);
    align-items: stretch;
    margin-top: 4px;
    background: rgba(252, 252, 252, .98);
    color: var(--ink);
    box-shadow: 0 28px 70px rgba(5, 13, 23, .28);
    overflow: hidden;
}

.premium-properties-hero-field {
    display: block;
    min-width: 0;
    padding: 16px 20px 14px;
    border-right: 1px solid var(--line);
    background: transparent;
}

.premium-properties-hero-field span {
    display: block;
    margin-bottom: 5px;
    color: #73776e;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.premium-properties-hero-field input,
.premium-properties-hero-field select {
    width: 100%;
    min-width: 0;
    min-height: 32px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-size: .96rem;
}

.premium-properties-hero-field input::placeholder {
    color: #666a62;
}

.premium-properties-hero-button {
    min-width: 220px;
    padding: 0 28px;
    border: 0;
    background: #07111d;
    color: var(--white);
    cursor: pointer;
    font-size: .86rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.premium-properties-hero-button:hover,
.premium-properties-hero-button:focus-visible {
    background: #0d1f34;
}

@media (max-width: 1180px) {
    .premium-properties-hero {
        padding-top: 82px;
    }

    .premium-properties-hero-inner {
        grid-template-columns: 1fr;
        gap: 34px;
        min-height: auto;
    }

    .premium-properties-hero-copy {
        max-width: 780px;
    }

    .premium-properties-hero-side {
        align-self: start;
    }

    .premium-properties-hero-side-copy {
        max-width: 620px;
        padding-left: 22px;
    }

    .premium-properties-hero-search {
        grid-template-columns: 1.5fr 1fr 1fr 1fr;
    }

    .premium-properties-hero-button {
        grid-column: 1 / -1;
        min-height: 64px;
    }
}

@media (max-width: 760px) {
    .premium-properties-hero {
        padding-top: 64px;
    }

    .premium-properties-hero-title {
        font-size: clamp(3rem, 15vw, 4.5rem);
        line-height: .94;
    }

    .premium-properties-hero-title-accent {
        max-width: none;
        margin-top: .16em;
    }

    .premium-properties-hero-intro {
        margin-top: 24px;
        font-size: .96rem;
        line-height: 1.65;
    }

    .premium-properties-hero-side-copy {
        padding-left: 18px;
    }

    .premium-properties-hero-search {
        grid-template-columns: 1fr;
    }

    .premium-properties-hero-field {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .premium-properties-hero-button {
        width: 100%;
        min-height: 60px;
    }
}
/* === PREMIUM PROPERTIES HERO END === */

/* PROPERTIES HERO SPACING SCALE START */

.premium-properties-hero-title {
    line-height: 1;
}

.premium-properties-hero-title-line + .premium-properties-hero-title-line {
    margin-top: .24em;
}

.premium-properties-hero-title-accent {
    max-width: 8.8ch;
    margin-top: .20em;
    line-height: 1.06;
}

.premium-properties-hero-side-copy {
    max-width: 410px;
    padding-left: 32px;
}

.premium-properties-hero-side-copy .premium-properties-hero-side-kicker {
    margin-bottom: 22px;
    font-size: .88rem;
}

.premium-properties-hero-side-copy > p:not(.premium-properties-hero-side-kicker) {
    font-size: 1.08rem;
    line-height: 1.72;
}

.premium-properties-hero-side-link {
    margin-top: 27px;
    font-size: .95rem;
}

@media (max-width: 760px) {
    .premium-properties-hero-title {
        line-height: .98;
    }

    .premium-properties-hero-title-line + .premium-properties-hero-title-line {
        margin-top: .18em;
    }

    .premium-properties-hero-title-accent {
        max-width: none;
        line-height: 1.03;
    }

    .premium-properties-hero-side-copy {
        max-width: 100%;
        padding-left: 18px;
    }

    .premium-properties-hero-side-copy .premium-properties-hero-side-kicker {
        font-size: .8rem;
    }

    .premium-properties-hero-side-copy > p:not(.premium-properties-hero-side-kicker) {
        font-size: 1rem;
    }

    .premium-properties-hero-side-link {
        font-size: .88rem;
    }
}

/* PROPERTIES HERO SPACING SCALE END */

/* PROPERTIES HERO LETTER SPACING FIX START */

.premium-properties-hero-title-line:first-child {
    letter-spacing: .005em;
}

.premium-properties-hero-title-accent {
    letter-spacing: .012em;
}

/* PROPERTIES HERO LETTER SPACING FIX END */

/* PROPERTIES HERO SCALE IMAGE FIX START */

.premium-properties-hero {
    background:
        linear-gradient(
            90deg,
            rgba(9, 21, 37, .70) 0%,
            rgba(9, 21, 37, .58) 40%,
            rgba(9, 21, 37, .40) 68%,
            rgba(9, 21, 37, .28) 100%
        ),
        linear-gradient(
            180deg,
            rgba(9, 21, 37, .05) 0%,
            rgba(9, 21, 37, .32) 100%
        ),
        url("../images/properties-hero.webp") 46% center / cover no-repeat;
}

.premium-properties-hero-title {
    font-size: clamp(3rem, 5vw, 4.75rem);
}

.premium-properties-hero-title-accent {
    max-width: 13ch;
    font-size: .82em;
}

@media (max-width: 760px) {
    .premium-properties-hero {
        background-position: 52% center;
    }

    .premium-properties-hero-title {
        font-size: clamp(2.75rem, 12vw, 4rem);
    }

    .premium-properties-hero-title-accent {
        max-width: none;
        font-size: .86em;
    }
}

/* PROPERTIES HERO SCALE IMAGE FIX END */

/* PREMIUM FEATURED RESIDENCE GALLERY START */

.properties-page-feature.premium-residence {
    position: relative;
    overflow: hidden;
    padding: 0;
    background:
        linear-gradient(
            90deg,
            #f6f2eb 0%,
            #f6f2eb 73%,
            #edf0f3 73%,
            #edf0f3 100%
        );
    color: var(--ink);
}

.premium-residence-editorial::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 42%;
    height: 46%;
    opacity: .34;
    pointer-events: none;
    background:
        linear-gradient(
            135deg,
            transparent 0 48%,
            rgba(45, 66, 91, .12) 48% 48.35%,
            transparent 48.35% 100%
        ),
        linear-gradient(
            32deg,
            transparent 0 61%,
            rgba(45, 66, 91, .09) 61% 61.25%,
            transparent 61.25% 100%
        );
}

.premium-residence-editorial::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -90px;
    bottom: -120px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(139, 123, 95, .12);
    transform: rotate(18deg);
    pointer-events: none;
}

.premium-residence-editorial > .site-shell {
    position: relative;
    z-index: 2;
    padding-top: 92px;
    padding-bottom: 78px;
}

.premium-residence-side-label {
    position: absolute;
    z-index: 3;
    color: #777b82;
    text-transform: uppercase;
    letter-spacing: .26em;
    pointer-events: none;
}

.premium-residence-side-label-left {
    left: max(18px, calc((100vw - var(--max-width)) / 2 - 92px));
    top: 170px;
    width: 52px;
}

.premium-residence-side-label-left strong {
    display: block;
    margin-bottom: 25px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0;
    color: #666d77;
}

.premium-residence-side-label-left strong::after {
    content: "";
    display: block;
    width: 20px;
    height: 1px;
    margin-top: 11px;
    background: #b99059;
}

.premium-residence-side-label-left span {
    display: block;
    width: 16px;
    font-size: .59rem;
    font-weight: 700;
    line-height: 2.45;
}

.premium-residence-side-label-right {
    right: max(18px, calc((100vw - var(--max-width)) / 2 - 66px));
    top: 48px;
    display: grid;
    gap: 8px;
    text-align: center;
    font-size: .58rem;
    font-weight: 700;
}

.premium-residence-side-label-right::after {
    content: "";
    width: 46px;
    height: 1px;
    margin: 15px auto 0;
    background: #b99059;
}

.premium-residence-editorial-header {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(310px, .72fr);
    gap: 86px;
    align-items: start;
    margin-bottom: 40px;
}

.premium-residence-editorial-heading .section-kicker {
    color: #48617d;
}

.premium-residence-editorial-heading h2 {
    max-width: 760px;
    margin: 14px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.6rem, 5.6vw, 5.65rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .94;
}

.premium-residence-editorial-heading h2 span {
    display: block;
}

.premium-residence-editorial-intro {
    padding-top: 50px;
}

.premium-residence-editorial-intro > p {
    max-width: 430px;
    margin: 0;
    color: #69717b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    line-height: 1.42;
}

.premium-residence-editorial-note {
    width: max-content;
    margin-top: 28px;
    padding-top: 18px;
    display: grid;
    gap: 7px;
    border-top: 1px solid #b99059;
    color: #979081;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.premium-residence-editorial-stage {
    position: relative;
    padding: 16px;
    border: 1px solid #ddd1c0;
    background: rgba(255, 253, 249, .76);
    box-shadow:
        0 25px 60px rgba(36, 33, 27, .09),
        0 4px 14px rgba(36, 33, 27, .04);
}

.premium-residence-showcase {
    margin: 0;
    display: grid;
    grid-template-columns:
        minmax(0, 1.72fr)
        minmax(380px, .83fr);
    align-items: stretch;
    background: #0d1e34;
}

.premium-residence-gallery {
    min-width: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    background: #09172a;
}

.premium-residence-main-wrap {
    position: relative;
    min-width: 0;
    min-height: 500px;
    overflow: hidden;
    background: #09172a;
}

.premium-residence-main {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    overflow: hidden;
    background: #09172a;
    cursor: zoom-in;
}

.premium-residence-main::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(7, 14, 25, .02) 52%,
            rgba(7, 14, 25, .48) 100%
        );
    pointer-events: none;
}

.premium-residence-main-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        opacity .18s ease,
        transform .42s ease;
}

.premium-residence-main:hover .premium-residence-main-image {
    transform: scale(1.01);
}

.premium-residence-main-image.is-changing {
    opacity: .22;
}

.premium-residence-zoom-cue {
    position: absolute;
    z-index: 3;
    top: 21px;
    right: 22px;
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: var(--white);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.premium-residence-zoom-cue > span {
    width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 50%;
    font-size: 1.15rem;
    font-weight: 400;
    letter-spacing: 0;
}

.premium-residence-main-caption {
    position: absolute;
    z-index: 3;
    left: 22px;
    bottom: 19px;
    display: flex;
    gap: 14px;
    align-items: center;
    color: var(--white);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.premium-residence-main-caption i {
    display: block;
    width: 48px;
    height: 1px;
    background: rgba(255, 255, 255, .72);
}

.premium-residence-control {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: rgba(9, 19, 33, .56);
    color: var(--white);
    cursor: pointer;
    font-size: 1.1rem;
    transform: translateY(-50%);
    backdrop-filter: blur(9px);
}

.premium-residence-control:hover,
.premium-residence-control:focus-visible {
    background: rgba(9, 19, 33, .88);
}

.premium-residence-control-prev {
    left: 17px;
}

.premium-residence-control-next {
    right: 17px;
}

.premium-residence-thumbnails {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 3px;
    padding: 3px 0 0;
    background: #f6f2eb;
}

.premium-residence-thumb {
    position: relative;
    min-width: 0;
    min-height: 136px;
    padding: 0;
    border: 1px solid transparent;
    overflow: hidden;
    background: #102037;
    color: var(--white);
    cursor: pointer;
    text-align: left;
    opacity: .78;
    transition:
        opacity .2s ease,
        border-color .2s ease;
}

.premium-residence-thumb:hover,
.premium-residence-thumb:focus-visible,
.premium-residence-thumb.is-active {
    opacity: 1;
}

.premium-residence-thumb.is-active {
    border-color: #c6a66f;
}

.premium-residence-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.premium-residence-thumb::after {
    content: "";
    position: absolute;
    inset: 38% 0 0;
    background: linear-gradient(
        180deg,
        rgba(7, 14, 25, 0),
        rgba(7, 14, 25, .76)
    );
}

.premium-residence-thumb-number,
.premium-residence-thumb-name {
    position: absolute;
    z-index: 2;
    bottom: 10px;
}

.premium-residence-thumb-number {
    left: 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
}

.premium-residence-thumb-name {
    left: 43px;
    right: 8px;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.premium-residence-details {
    min-width: 0;
    padding: 46px 38px 36px;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(185, 144, 89, .12),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #122740 0%,
            #0c1c31 100%
        );
    color: #f7f4ee;
}

.premium-residence-location {
    margin: 0;
    color: #d5c7b3;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.premium-residence-location::after {
    content: "";
    display: inline-block;
    width: 60px;
    height: 1px;
    margin-left: 14px;
    vertical-align: middle;
    background: #b99059;
}

.premium-residence-details h3 {
    max-width: 410px;
    margin: 18px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.45rem, 3.4vw, 3.65rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .96;
}

.premium-residence-details h3 span {
    display: block;
}

.premium-residence-rule {
    width: 45px;
    height: 1px;
    margin-top: 25px;
    background: #b99059;
}

.premium-residence-description {
    max-width: 390px;
    margin: 22px 0 0;
    color: rgba(247, 244, 238, .79);
    font-size: .95rem;
    line-height: 1.66;
}

.premium-residence-price {
    margin-top: 27px;
    padding: 23px 0;
    border-top: 1px solid rgba(255, 255, 255, .19);
    border-bottom: 1px solid rgba(255, 255, 255, .19);
}

.premium-residence-price strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 2.8vw, 2.8rem);
    font-weight: 400;
    line-height: 1;
}

.premium-residence-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 20px;
}

.premium-residence-facts > div {
    min-width: 0;
    padding: 0 15px;
    border-right: 1px solid rgba(255, 255, 255, .18);
}

.premium-residence-facts > div:first-child {
    padding-left: 0;
}

.premium-residence-facts > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.premium-residence-facts strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
}

.premium-residence-facts span {
    display: block;
    margin-top: 8px;
    color: rgba(247, 244, 238, .7);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.premium-residence-actions {
    margin-top: auto;
    padding-top: 31px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
}

.premium-residence-primary-action,
.premium-residence-secondary-action {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0 17px;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
}

.premium-residence-primary-action {
    border: 1px solid #c4a36e;
    background: #b58a4f;
    color: var(--white);
}

.premium-residence-secondary-action {
    border: 1px solid rgba(211, 184, 139, .7);
    background: transparent;
    color: var(--white);
    cursor: pointer;
}

.premium-residence-primary-action:hover,
.premium-residence-primary-action:focus-visible,
.premium-residence-secondary-action:hover,
.premium-residence-secondary-action:focus-visible {
    filter: brightness(1.08);
}

.premium-residence-editorial-footer {
    margin-top: 31px;
    display: flex;
    justify-content: space-between;
    gap: 36px;
    align-items: end;
    color: #7e7b74;
}

.premium-residence-editorial-footer p {
    margin: 0;
}

.premium-residence-editorial-footer p:first-child {
    display: grid;
    grid-template-columns: 38px auto;
    gap: 5px 14px;
    align-items: center;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.premium-residence-editorial-footer p:first-child span {
    grid-row: 1 / 3;
    width: 38px;
    height: 1px;
    background: #b99059;
}

.premium-residence-editorial-footer small {
    display: block;
    font-size: inherit;
    font-weight: inherit;
}

.premium-residence-quote {
    display: flex;
    gap: 15px;
    align-items: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-style: italic;
}

.premium-residence-quote span {
    width: 55px;
    height: 1px;
    background: #b99059;
}

.premium-residence-lightbox[hidden] {
    display: none;
}

.premium-residence-lightbox {
    position: fixed;
    z-index: 9999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 64px 92px;
    background: rgba(3, 8, 14, .95);
}

.premium-residence-lightbox-close {
    position: fixed;
    z-index: 3;
    top: 24px;
    right: 28px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: var(--white);
    cursor: pointer;
    font-size: 1.7rem;
}

.premium-residence-lightbox-nav {
    position: fixed;
    z-index: 3;
    top: 50%;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: var(--white);
    cursor: pointer;
    font-size: 1.25rem;
    transform: translateY(-50%);
}

.premium-residence-lightbox-prev {
    left: 24px;
}

.premium-residence-lightbox-next {
    right: 24px;
}

.premium-residence-lightbox-figure {
    width: min(1320px, calc(100vw - 184px));
    margin: 0;
}

.premium-residence-lightbox-figure img {
    display: block;
    width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

.premium-residence-lightbox-figure figcaption {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    color: rgba(255, 255, 255, .8);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

body.premium-lightbox-open {
    overflow: hidden;
}

@media (max-width: 1320px) {
    .premium-residence-side-label {
        display: none;
    }
}

@media (max-width: 1080px) {
    .premium-residence-editorial-header {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .premium-residence-editorial-intro {
        padding-top: 0;
    }

    .premium-residence-showcase {
        grid-template-columns: 1fr;
    }

    .premium-residence-main-wrap {
        min-height: 560px;
    }

    .premium-residence-details {
        min-height: 520px;
    }

    .premium-residence-details h3,
    .premium-residence-description {
        max-width: 620px;
    }
}

@media (max-width: 720px) {
    .premium-residence-editorial > .site-shell {
        padding-top: 68px;
        padding-bottom: 64px;
    }

    .premium-residence-editorial-heading h2 {
        font-size: clamp(2.8rem, 13vw, 4rem);
    }

    .premium-residence-editorial-intro > p {
        font-size: .98rem;
    }

    .premium-residence-editorial-stage {
        padding: 9px;
    }

    .premium-residence-main-wrap {
        min-height: 380px;
    }

    .premium-residence-zoom-cue {
        top: 14px;
        right: 14px;
        font-size: .54rem;
    }

    .premium-residence-zoom-cue > span {
        width: 28px;
        height: 28px;
    }

    .premium-residence-control {
        width: 40px;
        height: 40px;
    }

    .premium-residence-control-prev {
        left: 11px;
    }

    .premium-residence-control-next {
        right: 11px;
    }

    .premium-residence-main-caption {
        left: 14px;
        bottom: 13px;
        font-size: .55rem;
    }

    .premium-residence-main-caption i {
        width: 30px;
    }

    .premium-residence-thumbnails {
        display: flex;
        overflow-x: auto;
        gap: 4px;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    .premium-residence-thumb {
        flex: 0 0 142px;
        min-height: 105px;
    }

    .premium-residence-details {
        min-height: 0;
        padding: 31px 22px;
    }

    .premium-residence-details h3 {
        font-size: clamp(2.35rem, 11vw, 3.35rem);
    }

    .premium-residence-facts {
        gap: 0;
    }

    .premium-residence-facts > div {
        padding: 0 10px;
    }

    .premium-residence-actions {
        grid-template-columns: 1fr;
    }

    .premium-residence-editorial-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .premium-residence-lightbox {
        padding: 68px 14px 24px;
    }

    .premium-residence-lightbox-close {
        top: 14px;
        right: 14px;
    }

    .premium-residence-lightbox-nav {
        top: auto;
        bottom: 22px;
        transform: none;
    }

    .premium-residence-lightbox-prev {
        left: 18px;
    }

    .premium-residence-lightbox-next {
        right: 18px;
    }

    .premium-residence-lightbox-figure {
        width: 100%;
    }

    .premium-residence-lightbox-figure img {
        max-height: 72vh;
    }

    .premium-residence-lightbox-figure figcaption {
        padding: 0 6px 72px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-residence-main-image,
    .premium-residence-thumb {
        transition: none;
    }
}

/* PREMIUM FEATURED RESIDENCE GALLERY END */

/* FEATURED RESIDENCE MOCKUP MATCH START */

.properties-page-feature.premium-residence {
    background:
        radial-gradient(
            circle at 16% 10%,
            rgba(143, 126, 96, .055),
            transparent 23%
        ),
        linear-gradient(
            180deg,
            #f7f3ec 0%,
            #f2ede5 100%
        );
}

.premium-residence-editorial::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 50%;
    height: 47%;
    opacity: .18;
    pointer-events: none;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 360'%3E%3Cg fill='none' stroke='%23848b92' stroke-width='1'%3E%3Cpath d='M70 300V160L225 58L445 145V300M145 300V190H365V300M225 58V300M445 145L590 94V300M365 190L492 150V300M100 220H195M252 180H340M470 188H555'/%3E%3Crect x='96' y='178' width='82' height='72'/%3E%3Crect x='250' y='110' width='96' height='72'/%3E%3Crect x='402' y='180' width='82' height='72'/%3E%3Cpath d='M56 310H625M82 324H600'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
}

.premium-residence-editorial::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -28px;
    left: -58px;
    width: 300px;
    height: 360px;
    opacity: .32;
    pointer-events: none;
    filter: blur(7px);
    transform: rotate(-8deg);
    background:
        radial-gradient(
            ellipse at 20% 14%,
            rgba(73, 76, 58, .20) 0 12%,
            transparent 13%
        ),
        radial-gradient(
            ellipse at 43% 20%,
            rgba(73, 76, 58, .17) 0 14%,
            transparent 15%
        ),
        radial-gradient(
            ellipse at 30% 39%,
            rgba(73, 76, 58, .16) 0 13%,
            transparent 14%
        ),
        radial-gradient(
            ellipse at 55% 46%,
            rgba(73, 76, 58, .14) 0 15%,
            transparent 16%
        ),
        radial-gradient(
            ellipse at 25% 67%,
            rgba(73, 76, 58, .12) 0 13%,
            transparent 14%
        );
}

.premium-residence-editorial > .site-shell {
    isolation: isolate;
}

.premium-residence-editorial > .site-shell::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: 2%;
    top: 66px;
    width: 31%;
    height: 160px;
    opacity: .16;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            transparent 0 23%,
            #8c939b 23% 23.4%,
            transparent 23.4% 100%
        ),
        linear-gradient(
            180deg,
            transparent 0 62%,
            #8c939b 62% 62.4%,
            transparent 62.4% 100%
        );
}

.premium-residence-editorial-stage {
    padding: 22px;
    border: 1px solid #d4c6b3;
    background: rgba(255, 253, 248, .9);
    box-shadow:
        0 34px 82px rgba(39, 34, 27, .11),
        0 8px 22px rgba(39, 34, 27, .055),
        inset 0 0 0 6px rgba(255, 255, 255, .36);
}

.premium-residence-showcase {
    grid-template-columns:
        minmax(0, 1.58fr)
        minmax(420px, .92fr);
}

.premium-residence-main-wrap {
    min-height: 520px;
}

.premium-residence-thumbnails {
    gap: 4px;
    padding-top: 4px;
    background: #f4eee5;
}

.premium-residence-thumb {
    min-height: 144px;
}

.premium-residence-details {
    padding: 48px 42px 38px;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(185, 144, 89, .15),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #10243d 0%,
            #0b1a2d 100%
        );
    box-shadow:
        inset 1px 0 0 rgba(255, 255, 255, .05);
}

.premium-residence-details h3 {
    max-width: 100%;
    font-size: clamp(2.35rem, 3vw, 3.35rem);
    line-height: .98;
}

.premium-residence-description {
    max-width: 410px;
}

.premium-residence-editorial-footer {
    margin-top: 34px;
}

@media (max-width: 1080px) {
    .premium-residence-showcase {
        grid-template-columns: 1fr;
    }

    .premium-residence-main-wrap {
        min-height: 560px;
    }

    .premium-residence-details {
        padding: 38px 32px 34px;
    }
}

@media (max-width: 720px) {
    .premium-residence-editorial::before {
        width: 78%;
        height: 30%;
        opacity: .12;
    }

    .premium-residence-editorial::after {
        width: 180px;
        height: 220px;
        opacity: .22;
    }

    .premium-residence-editorial-stage {
        padding: 10px;
    }

    .premium-residence-main-wrap {
        min-height: 380px;
    }

    .premium-residence-thumb {
        min-height: 108px;
    }

    .premium-residence-details {
        padding: 31px 22px;
    }
}

/* FEATURED RESIDENCE MOCKUP MATCH END */

/* FEATURED RESIDENCE FINAL POLISH START */

.premium-residence-thumb-name {
    left: 40px;
    right: 5px;
    font-size: .54rem;
    letter-spacing: .075em;
    overflow: visible;
    text-overflow: clip;
}

.premium-residence-primary-action,
.premium-residence-secondary-action {
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
    font-size: .58rem;
    letter-spacing: .09em;
    white-space: nowrap;
}

.premium-residence-primary-action {
    gap: 9px;
}

/* FEATURED RESIDENCE FINAL POLISH END */

/* PREMIUM PROPERTY SHORTLIST START */

.properties-page-portfolio {
    position: relative;
    overflow: hidden;
    padding: 104px 0 86px;
    background:
        radial-gradient(
            circle at 83% 9%,
            rgba(63, 93, 122, .18),
            transparent 28%
        ),
        radial-gradient(
            circle at 8% 84%,
            rgba(34, 74, 103, .22),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #0c1b2b 0%,
            #0a1725 100%
        );
    color: #f5f7fa;
}

.properties-page-portfolio::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: -24px;
    right: 3%;
    width: 470px;
    height: 320px;
    opacity: .17;
    pointer-events: none;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 430'%3E%3Cg fill='none' stroke='%237f96aa' stroke-width='1'%3E%3Cpath d='M60 350V175L225 65L445 155V350M130 350V215H375V350M225 65V350M445 155L620 100V350M375 215L505 165V350M95 275H185M265 190H350M470 205H570'/%3E%3Crect x='116' y='210' width='78' height='72'/%3E%3Crect x='260' y='120' width='98' height='72'/%3E%3Crect x='438' y='205' width='88' height='72'/%3E%3Cpath d='M45 367H645M82 386H615'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.properties-page-portfolio::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 190px;
    opacity: .62;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 8% 78%,
            rgba(206, 151, 79, .16) 0 1px,
            transparent 2px
        ),
        radial-gradient(
            circle at 24% 84%,
            rgba(206, 151, 79, .12) 0 1px,
            transparent 2px
        ),
        radial-gradient(
            circle at 48% 81%,
            rgba(206, 151, 79, .14) 0 1px,
            transparent 2px
        ),
        radial-gradient(
            circle at 72% 85%,
            rgba(206, 151, 79, .12) 0 1px,
            transparent 2px
        ),
        radial-gradient(
            circle at 91% 79%,
            rgba(206, 151, 79, .14) 0 1px,
            transparent 2px
        ),
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(5, 12, 20, .32) 100%
        );
}

.properties-page-portfolio > .site-shell {
    position: relative;
    z-index: 2;
}

.properties-page-portfolio-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1.28fr)
        minmax(330px, .62fr);
    gap: 64px;
    align-items: end;
    margin-bottom: 44px;
}

.properties-page-portfolio-heading .section-kicker {
    color: #d4aa6b;
}

.properties-page-portfolio-heading h2 {
    max-width: 820px;
    margin: 13px 0 0;
    color: #f7f7f4;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.15rem, 4.45vw, 4.75rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .97;
}

.properties-page-portfolio-heading h2 span {
    display: block;
}

.properties-page-portfolio-heading > p {
    max-width: 470px;
    margin: 0 0 8px;
    padding-left: 30px;
    border-left: 1px solid rgba(220, 229, 238, .35);
    color: rgba(245, 247, 250, .8);
    font-size: .98rem;
    line-height: 1.68;
}

.properties-page-portfolio-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(320px, .90fr)
        minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.portfolio-property {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(201, 178, 145, .5);
    background:
        linear-gradient(
            180deg,
            #102239 0%,
            #0d1c30 100%
        );
    box-shadow:
        0 28px 70px rgba(0, 0, 0, .18);
}

.portfolio-property-large {
    min-height: 690px;
    display: grid;
    grid-template-rows:
        minmax(0, 1fr)
        auto;
}

.portfolio-property-stack {
    min-width: 0;
    display: grid;
    grid-template-rows:
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: 16px;
}

.portfolio-property-small {
    min-height: 0;
    display: grid;
    grid-template-rows:
        minmax(145px, .86fr)
        auto;
}

.portfolio-property-image {
    position: relative;
    min-width: 0;
    min-height: 0;
    display: block;
    overflow: hidden;
    background: #091522;
}

.portfolio-property-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(5, 11, 18, .02) 50%,
            rgba(5, 11, 18, .28) 100%
        );
    pointer-events: none;
}

.portfolio-property-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.portfolio-property-image:hover img {
    transform: scale(1.015);
}

.portfolio-property-status {
    position: absolute;
    z-index: 3;
    top: 16px;
    left: 16px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(8, 17, 28, .88);
    color: #fff;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.portfolio-property-number {
    position: absolute;
    z-index: 3;
    top: 13px;
    right: 17px;
    color: #d4aa6b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.35rem;
    line-height: 1;
}

.portfolio-property-content {
    min-width: 0;
    padding: 27px 27px 24px;
    color: #f4f6f8;
}

.portfolio-property-small .portfolio-property-content {
    padding: 18px 18px 17px;
}

.portfolio-property-title-row {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: start;
}

.portfolio-property-location {
    margin: 0 0 8px;
    color: #d7a363;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.portfolio-property h3 {
    margin: 0;
    color: #f8f8f5;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.04em;
    line-height: .98;
}

.portfolio-property-large h3 {
    max-width: 430px;
    font-size: clamp(2.25rem, 3vw, 3.25rem);
}

.portfolio-property-small h3 {
    font-size: clamp(1.45rem, 1.65vw, 1.85rem);
}

.portfolio-property-price {
    flex: 0 0 auto;
    color: #f6f1e9;
    font-size: .92rem;
}

.portfolio-property-small .portfolio-property-price {
    display: block;
    margin-top: 10px;
    font-size: .82rem;
}

.portfolio-property-description {
    max-width: 560px;
    margin: 17px 0 0;
    color: rgba(244, 246, 248, .78);
    font-size: .86rem;
    line-height: 1.58;
}

.portfolio-property-small .portfolio-property-description {
    margin-top: 12px;
    font-size: .75rem;
    line-height: 1.48;
}

.portfolio-property-footer {
    margin-top: 21px;
    padding-top: 17px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.portfolio-property-specs {
    display: flex;
    flex-wrap: nowrap;
    gap: 18px;
    color: rgba(244, 246, 248, .77);
    font-size: .68rem;
    white-space: nowrap;
}

.portfolio-property-footer > a {
    flex: 0 0 auto;
    min-height: 42px;
    display: inline-flex;
    gap: 13px;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border: 1px solid #c69a60;
    color: #fff;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-decoration: none;
    text-transform: uppercase;
}

.portfolio-property-footer > a:hover,
.portfolio-property-footer > a:focus-visible {
    background: #b98c52;
}

.portfolio-property-small .portfolio-property-footer {
    margin-top: 14px;
    padding-top: 13px;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}

.portfolio-property-small .portfolio-property-specs {
    justify-content: space-between;
    gap: 8px;
    font-size: .58rem;
}

.portfolio-property-small .portfolio-property-footer > a {
    min-height: 38px;
    width: 100%;
}

.properties-page-portfolio-footer {
    margin-top: 41px;
    display: flex;
    justify-content: space-between;
    gap: 32px;
    align-items: end;
    color: rgba(236, 241, 246, .62);
}

.properties-page-portfolio-footer p {
    margin: 0;
}

.properties-page-portfolio-footer p:first-child {
    display: grid;
    grid-template-columns: 48px auto;
    gap: 5px 15px;
    align-items: center;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.properties-page-portfolio-footer p:first-child > span {
    grid-row: 1 / 3;
    width: 48px;
    height: 1px;
    background: #c49a61;
}

.properties-page-portfolio-footer small {
    display: block;
    font-size: inherit;
    font-weight: inherit;
}

.properties-page-portfolio-footer p:last-child {
    display: flex;
    gap: 15px;
    align-items: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .83rem;
    font-style: italic;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.properties-page-portfolio-footer p:last-child > span {
    width: 52px;
    height: 1px;
    background: #c49a61;
}

/* Motion only activates when JavaScript confirms it is available. */

html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-left,
html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-right,
html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-middle-top,
html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-middle-bottom,
html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-content > *,
html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-number,
html.portfolio-motion-ready .properties-page-portfolio .properties-page-portfolio-footer {
    opacity: 0;
}

html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-left {
    clip-path: inset(0 100% 0 0);
    transform: translateX(-26px);
    transition:
        clip-path .72s cubic-bezier(.22, 1, .36, 1),
        transform .72s cubic-bezier(.22, 1, .36, 1),
        opacity .18s ease;
}

html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-right {
    clip-path: inset(0 0 0 100%);
    transform: translateX(26px);
    transition:
        clip-path .72s cubic-bezier(.22, 1, .36, 1),
        transform .72s cubic-bezier(.22, 1, .36, 1),
        opacity .18s ease;
}

html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-middle-top {
    transform: translateY(-24px);
    transition:
        transform .58s cubic-bezier(.22, 1, .36, 1) .2s,
        opacity .42s ease .2s;
}

html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-middle-bottom {
    transform: translateY(24px);
    transition:
        transform .58s cubic-bezier(.22, 1, .36, 1) .28s,
        opacity .42s ease .28s;
}

html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-content > * {
    transform: translateY(8px);
    transition:
        transform .42s ease .48s,
        opacity .42s ease .48s;
}

html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-number {
    transform: translateY(-7px);
    transition:
        transform .35s ease .4s,
        opacity .35s ease .4s;
}

html.portfolio-motion-ready .properties-page-portfolio .properties-page-portfolio-footer {
    transform: translateY(8px);
    transition:
        transform .4s ease .7s,
        opacity .4s ease .7s;
}

html.portfolio-motion-ready .properties-page-portfolio.is-assembled .portfolio-property-left,
html.portfolio-motion-ready .properties-page-portfolio.is-assembled .portfolio-property-right {
    clip-path: inset(0);
    transform: translateX(0);
    opacity: 1;
}

html.portfolio-motion-ready .properties-page-portfolio.is-assembled .portfolio-property-middle-top,
html.portfolio-motion-ready .properties-page-portfolio.is-assembled .portfolio-property-middle-bottom,
html.portfolio-motion-ready .properties-page-portfolio.is-assembled .portfolio-property-content > *,
html.portfolio-motion-ready .properties-page-portfolio.is-assembled .portfolio-property-number,
html.portfolio-motion-ready .properties-page-portfolio.is-assembled .properties-page-portfolio-footer {
    transform: translate(0);
    opacity: 1;
}

@media (max-width: 1180px) {
    .properties-page-portfolio-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(310px, .82fr);
    }

    .portfolio-property-right {
        grid-column: 1 / -1;
        min-height: 580px;
    }

    .portfolio-property-stack {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (max-width: 820px) {
    .properties-page-portfolio {
        padding: 76px 0;
    }

    .properties-page-portfolio-heading {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .properties-page-portfolio-heading h2 {
        font-size: clamp(2.7rem, 11vw, 3.8rem);
    }

    .properties-page-portfolio-heading > p {
        padding-left: 0;
        border-left: 0;
    }

    .properties-page-portfolio-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .portfolio-property-left,
    .portfolio-property-stack,
    .portfolio-property-right {
        grid-column: auto;
        grid-row: auto;
    }

    .portfolio-property-large {
        min-height: 0;
    }

    .portfolio-property-large .portfolio-property-image {
        min-height: 350px;
    }

    .portfolio-property-stack {
        grid-template-rows: none;
    }

    .portfolio-property-small {
        grid-template-rows:
            minmax(260px, auto)
            auto;
    }

    .portfolio-property-large h3 {
        font-size: clamp(2.15rem, 9vw, 3.15rem);
    }

    .portfolio-property-small h3 {
        font-size: clamp(1.9rem, 8vw, 2.5rem);
    }

    .portfolio-property-small .portfolio-property-description {
        font-size: .84rem;
    }

    .portfolio-property-small .portfolio-property-specs,
    .portfolio-property-specs {
        flex-wrap: wrap;
        justify-content: flex-start;
        white-space: normal;
    }

    .portfolio-property-small .portfolio-property-footer > a {
        width: auto;
        align-self: flex-start;
    }

    .portfolio-property-title-row,
    .portfolio-property-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .properties-page-portfolio-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 560px) {
    .portfolio-property-content,
    .portfolio-property-small .portfolio-property-content {
        padding: 24px 20px 22px;
    }

    .portfolio-property-large .portfolio-property-image,
    .portfolio-property-small .portfolio-property-image {
        min-height: 290px;
    }

    .portfolio-property-number {
        font-size: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portfolio-property-image img,
    html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-left,
    html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-right,
    html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-middle-top,
    html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-middle-bottom,
    html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-content > *,
    html.portfolio-motion-ready .properties-page-portfolio .portfolio-property-number,
    html.portfolio-motion-ready .properties-page-portfolio .properties-page-portfolio-footer {
        transition: none;
    }
}

/* PREMIUM PROPERTY SHORTLIST END */



/* PREMIUM LIFESTYLE BROWSE START */

.properties-page-browse.premium-lifestyle-browse {
    position: relative;
    overflow: hidden;
    padding: 112px 0;
    background:
        linear-gradient(
            180deg,
            #eef3f7 0%,
            #e8eef4 100%
        );
}

.premium-lifestyle-browse::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -90px;
    width: 380px;
    height: 380px;
    border: 1px solid rgba(47, 95, 143, .09);
    border-radius: 50%;
    pointer-events: none;
}

.premium-lifestyle-browse::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 42px;
    width: 28%;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            rgba(47, 95, 143, .34),
            transparent
        );
    pointer-events: none;
}

.premium-lifestyle-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(380px, .88fr)
        minmax(0, 1.12fr);
    gap: 0;
    align-items: stretch;
    border: 1px solid #cbd5df;
    background: #f9fbfd;
    box-shadow:
        0 28px 70px rgba(25, 43, 61, .08),
        0 5px 18px rgba(25, 43, 61, .035);
}

.premium-lifestyle-intro {
    min-height: 560px;
    padding: 54px 48px 44px;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(76, 119, 160, .16),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #142a42 0%,
            #0c1b2b 100%
        );
    color: #f7f9fb;
}

.premium-lifestyle-intro .section-kicker {
    color: #aec1d3;
}

.properties-page-browse .premium-lifestyle-intro h2 {
    max-width: 560px;
    margin: 20px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 4.2vw, 4.5rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .97;
}

.premium-lifestyle-intro h2 span,
.premium-lifestyle-intro h2 em {
    display: block;
}

.premium-lifestyle-intro h2 em {
    margin-top: 7px;
    color: #aec1d3;
    font-weight: 400;
}

.premium-lifestyle-copy {
    max-width: 470px;
    margin: 30px 0 0;
    color: rgba(247, 249, 251, .77);
    font-size: .98rem;
    line-height: 1.72;
}

.premium-lifestyle-index {
    margin-top: auto;
    padding-top: 36px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.premium-lifestyle-index span {
    color: rgba(247, 249, 251, .54);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.premium-lifestyle-index strong {
    color: #aec1d3;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 400;
}

.premium-lifestyle-options {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    background: #f9fbfd;
}

.premium-lifestyle-option {
    position: relative;
    min-height: 186px;
    padding: 34px 34px;
    display: grid;
    grid-template-columns:
        66px
        minmax(0, 1fr)
        46px;
    gap: 22px;
    align-items: center;
    border-bottom: 1px solid #d6dee6;
    color: #12161c;
    text-decoration: none;
    transition:
        background .22s ease,
        color .22s ease,
        padding-left .22s ease;
}

.premium-lifestyle-option:last-child {
    border-bottom: 0;
}

.premium-lifestyle-option::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #2f5f8f;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .22s ease;
}

.premium-lifestyle-option:hover,
.premium-lifestyle-option:focus-visible {
    background: #edf3f8;
    padding-left: 40px;
}

.premium-lifestyle-option:hover::before,
.premium-lifestyle-option:focus-visible::before {
    transform: scaleY(1);
}

.premium-lifestyle-number {
    color: #6d8bab;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.4rem;
}

.premium-lifestyle-option-copy {
    min-width: 0;
}

.premium-lifestyle-option-copy strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 2.5vw, 2.65rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1;
}

.premium-lifestyle-option-copy small {
    display: block;
    max-width: 430px;
    margin-top: 11px;
    color: #58636f;
    font-size: .9rem;
    line-height: 1.55;
}

.premium-lifestyle-arrow {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #aebdcb;
    border-radius: 50%;
    color: #234f7a;
    font-size: 1rem;
    transition:
        transform .22s ease,
        background .22s ease,
        color .22s ease;
}

.premium-lifestyle-option:hover .premium-lifestyle-arrow,
.premium-lifestyle-option:focus-visible .premium-lifestyle-arrow {
    background: #142a42;
    color: #ffffff;
    transform: translateX(3px);
}

@media (max-width: 980px) {
    .premium-lifestyle-shell {
        grid-template-columns: 1fr;
    }

    .premium-lifestyle-intro {
        min-height: 430px;
    }

    .properties-page-browse .premium-lifestyle-intro h2 {
        max-width: 700px;
    }
}

@media (max-width: 680px) {
    .properties-page-browse.premium-lifestyle-browse {
        padding: 72px 0;
    }

    .premium-lifestyle-intro {
        min-height: 0;
        padding: 38px 24px 34px;
    }

    .properties-page-browse .premium-lifestyle-intro h2 {
        font-size: clamp(2.7rem, 12vw, 3.8rem);
    }

    .premium-lifestyle-copy {
        font-size: .94rem;
    }

    .premium-lifestyle-index {
        margin-top: 40px;
    }

    .premium-lifestyle-option {
        min-height: 154px;
        padding: 28px 20px;
        grid-template-columns:
            44px
            minmax(0, 1fr)
            38px;
        gap: 14px;
    }

    .premium-lifestyle-option:hover,
    .premium-lifestyle-option:focus-visible {
        padding-left: 24px;
    }

    .premium-lifestyle-option-copy strong {
        font-size: clamp(1.75rem, 8vw, 2.25rem);
    }

    .premium-lifestyle-option-copy small {
        font-size: .84rem;
    }

    .premium-lifestyle-arrow {
        width: 36px;
        height: 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-lifestyle-option,
    .premium-lifestyle-option::before,
    .premium-lifestyle-arrow {
        transition: none;
    }
}

/* PREMIUM LIFESTYLE BROWSE END */

/* PREMIUM LIFESTYLE FINAL POLISH START */

@media (min-width: 981px) {
    .premium-lifestyle-shell {
        grid-template-columns:
            minmax(430px, .94fr)
            minmax(0, 1.06fr);
    }

    .premium-lifestyle-intro h2 em {
        font-size: .82em;
        white-space: nowrap;
    }

    .premium-lifestyle-option {
        padding-right: 54px;
    }
}

@media (max-width: 980px) {
    .premium-lifestyle-intro h2 em {
        white-space: normal;
    }
}

/* PREMIUM LIFESTYLE FINAL POLISH END */

/* PREMIUM LIFESTYLE ART DIRECTION START */

.properties-page-browse.premium-lifestyle-browse {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 132px 0 124px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .78) 0 18%,
            transparent 18% 54%,
            rgba(215, 226, 237, .32) 54% 55%,
            transparent 55% 100%
        ),
        radial-gradient(
            circle at 86% 18%,
            rgba(191, 208, 224, .46),
            transparent 27%
        ),
        radial-gradient(
            circle at 16% 82%,
            rgba(208, 220, 232, .56),
            transparent 29%
        ),
        linear-gradient(
            180deg,
            #f4f8fb 0%,
            #eaf1f6 100%
        );
}

.properties-page-browse.premium-lifestyle-browse::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at -2% 4%,
            transparent 0 285px,
            rgba(198, 151, 88, .72) 286px 288px,
            transparent 289px
        ),
        radial-gradient(
            circle at 101% 12%,
            transparent 0 190px,
            rgba(70, 108, 144, .22) 191px 192px,
            transparent 193px
        ),
        radial-gradient(
            circle at 94% 102%,
            transparent 0 270px,
            rgba(198, 151, 88, .52) 271px 273px,
            transparent 274px
        );
}

.properties-page-browse.premium-lifestyle-browse::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: -5%;
    top: 0;
    bottom: 0;
    width: 50%;
    opacity: .075;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(234, 241, 246, .15),
            rgba(234, 241, 246, .88)
        ),
        url("../images/listing-05.webp")
        center / cover no-repeat;
    filter: grayscale(1) saturate(.25);
}

.premium-lifestyle-backdrop-copy {
    position: absolute;
    z-index: 1;
    left: 50%;
    width: min(var(--max-width), calc(100% - 64px));
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    gap: 40px;
    pointer-events: none;
    color: #5d7690;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .24em;
    line-height: 1.55;
    text-transform: uppercase;
}

.premium-lifestyle-backdrop-copy-top {
    top: 38px;
}

.premium-lifestyle-backdrop-copy-bottom {
    bottom: 35px;
}

.premium-lifestyle-backdrop-copy-top span:last-child,
.premium-lifestyle-backdrop-copy-bottom span:last-child {
    text-align: right;
}

.premium-lifestyle-backdrop-copy-top span:last-child::before,
.premium-lifestyle-backdrop-copy-bottom span:first-child::after {
    content: "";
    display: inline-block;
    width: 76px;
    height: 1px;
    margin: 0 18px 3px;
    background: rgba(171, 127, 70, .65);
}

.premium-lifestyle-shell {
    position: relative;
    z-index: 3;
    overflow: hidden;
    border: 1px solid rgba(105, 130, 154, .25);
    background: #f9fbfd;
    box-shadow:
        0 34px 72px rgba(34, 56, 76, .14),
        0 8px 22px rgba(34, 56, 76, .07);
}

.premium-lifestyle-intro {
    position: relative;
    overflow: hidden;
    min-height: 585px;
    padding: 60px 52px 44px;
    background:
        linear-gradient(
            90deg,
            rgba(7, 25, 43, .96),
            rgba(11, 37, 61, .89)
        ),
        url("../images/listing-05.webp")
        42% center / cover no-repeat;
    color: #f7f9fb;
}

.premium-lifestyle-intro::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            132deg,
            transparent 0 48%,
            rgba(255, 255, 255, .035) 48% 67%,
            transparent 67% 100%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(112, 156, 194, .14),
            transparent 32%
        );
}

.premium-lifestyle-intro > * {
    position: relative;
    z-index: 1;
}

.premium-lifestyle-intro .section-kicker {
    margin-bottom: 23px;
    color: #d0a05f;
    letter-spacing: .24em;
}

.properties-page-browse .premium-lifestyle-intro h2 {
    max-width: 620px;
    margin-top: 0;
    font-size: clamp(3.25rem, 4.35vw, 4.8rem);
    letter-spacing: -.022em;
    line-height: 1.02;
}

.premium-lifestyle-intro h2 em {
    margin-top: 10px;
    color: #a8bed3;
    font-size: .79em;
    letter-spacing: -.012em;
    line-height: 1.04;
}

.premium-lifestyle-copy {
    max-width: 520px;
    margin-top: 34px;
    color: rgba(247, 249, 251, .82);
    font-size: .97rem;
    line-height: 1.75;
    letter-spacing: .005em;
}

.premium-lifestyle-index {
    padding-top: 30px;
    border-top-color: rgba(211, 225, 237, .28);
}

.premium-lifestyle-index span {
    color: rgba(224, 235, 244, .73);
    letter-spacing: .22em;
}

.premium-lifestyle-index strong {
    color: #dbe6ef;
    font-size: 1.35rem;
    letter-spacing: .025em;
}

.premium-lifestyle-options {
    background:
        linear-gradient(
            180deg,
            #fbfcfd 0%,
            #f5f8fb 100%
        );
}

.premium-lifestyle-option {
    min-height: 195px;
    padding: 38px 54px 38px 40px;
    grid-template-columns:
        62px
        minmax(0, 1fr)
        46px;
    gap: 28px;
    border-bottom-color: #d5dfe7;
}

.premium-lifestyle-option:hover,
.premium-lifestyle-option:focus-visible {
    padding-left: 46px;
    background:
        linear-gradient(
            90deg,
            #eef4f8 0%,
            #f8fafc 100%
        );
}

.premium-lifestyle-number {
    color: #496f92;
    font-size: 1.3rem;
    letter-spacing: .03em;
}

.premium-lifestyle-option-copy strong {
    color: #0b1e31;
    font-size: clamp(2rem, 2.45vw, 2.7rem);
    letter-spacing: -.018em;
    line-height: 1.03;
}

.premium-lifestyle-option-copy small {
    margin-top: 12px;
    color: #506273;
    font-size: .91rem;
    letter-spacing: .004em;
}

.premium-lifestyle-arrow {
    border-color: #98afc3;
    color: #183f64;
}

.premium-lifestyle-option:hover .premium-lifestyle-arrow,
.premium-lifestyle-option:focus-visible .premium-lifestyle-arrow {
    background: #102942;
    border-color: #102942;
}

@media (min-width: 981px) {
    .premium-lifestyle-shell {
        grid-template-columns:
            minmax(500px, .96fr)
            minmax(0, 1.04fr);
    }

    .premium-lifestyle-intro h2 em {
        white-space: nowrap;
    }
}

@media (max-width: 980px) {
    .properties-page-browse.premium-lifestyle-browse {
        padding: 105px 0 104px;
    }

    .premium-lifestyle-backdrop-copy {
        width: min(var(--max-width), calc(100% - 36px));
    }

    .premium-lifestyle-intro {
        min-height: 480px;
    }

    .premium-lifestyle-intro h2 em {
        white-space: normal;
    }
}

@media (max-width: 680px) {
    .properties-page-browse.premium-lifestyle-browse {
        padding: 86px 0 90px;
    }

    .properties-page-browse.premium-lifestyle-browse::after {
        width: 100%;
        opacity: .045;
    }

    .premium-lifestyle-backdrop-copy {
        width: calc(100% - 28px);
        font-size: .5rem;
        letter-spacing: .16em;
    }

    .premium-lifestyle-backdrop-copy-top {
        top: 25px;
    }

    .premium-lifestyle-backdrop-copy-bottom {
        bottom: 23px;
    }

    .premium-lifestyle-backdrop-copy-top span:last-child,
    .premium-lifestyle-backdrop-copy-bottom span:last-child {
        display: none;
    }

    .premium-lifestyle-backdrop-copy-top span:last-child::before,
    .premium-lifestyle-backdrop-copy-bottom span:first-child::after {
        display: none;
    }

    .premium-lifestyle-intro {
        min-height: 0;
        padding: 42px 25px 34px;
    }

    .properties-page-browse .premium-lifestyle-intro h2 {
        font-size: clamp(2.75rem, 12vw, 3.9rem);
        letter-spacing: -.018em;
    }

    .premium-lifestyle-intro h2 em {
        font-size: .82em;
    }

    .premium-lifestyle-option {
        min-height: 160px;
        padding: 28px 22px;
        grid-template-columns:
            40px
            minmax(0, 1fr)
            38px;
        gap: 14px;
    }

    .premium-lifestyle-option:hover,
    .premium-lifestyle-option:focus-visible {
        padding-left: 26px;
    }
}

/* PREMIUM LIFESTYLE ART DIRECTION END */

/* PREMIUM LIFESTYLE IMAGE BACKDROP FIX START */

/*
    Property photography belongs to the full section environment.
    The navy editorial panel stays clean.
*/

.properties-page-browse.premium-lifestyle-browse {
    background:
        linear-gradient(
            90deg,
            rgba(241, 247, 251, .76) 0%,
            rgba(235, 243, 248, .67) 24%,
            rgba(231, 240, 246, .60) 50%,
            rgba(235, 243, 248, .67) 76%,
            rgba(241, 247, 251, .76) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .16) 0%,
            rgba(214, 228, 238, .34) 100%
        ),
        url("../images/listing-05.webp")
        center 56% / cover no-repeat;
}

.properties-page-browse.premium-lifestyle-browse::after {
    content: none;
}

.premium-lifestyle-intro {
    background:
        radial-gradient(
            circle at 92% 12%,
            rgba(83, 126, 163, .17),
            transparent 33%
        ),
        linear-gradient(
            145deg,
            #0d2943 0%,
            #0b2035 48%,
            #07192a 100%
        );
}

.premium-lifestyle-intro::before {
    background:
        linear-gradient(
            132deg,
            transparent 0 47%,
            rgba(255, 255, 255, .035) 47% 66%,
            transparent 66% 100%
        ),
        radial-gradient(
            circle at 88% 11%,
            rgba(111, 153, 189, .14),
            transparent 33%
        );
}

@media (max-width: 980px) {
    .properties-page-browse.premium-lifestyle-browse {
        background:
            linear-gradient(
                90deg,
                rgba(241, 247, 251, .80),
                rgba(235, 243, 248, .72)
            ),
            url("../images/listing-05.webp")
            60% center / cover no-repeat;
    }
}

@media (max-width: 680px) {
    .properties-page-browse.premium-lifestyle-browse {
        background:
            linear-gradient(
                180deg,
                rgba(241, 247, 251, .87),
                rgba(232, 241, 247, .82)
            ),
            url("../images/listing-05.webp")
            66% center / cover no-repeat;
    }
}

/* PREMIUM LIFESTYLE IMAGE BACKDROP FIX END */

/* PREMIUM LIFESTYLE ADDRESS LINE FIX START */

/*
    Keep "Then find the address." on one clean line
    without spilling into the property choices panel.
*/

@media (min-width: 981px) {
    .premium-lifestyle-intro h2 em {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 10px;
        font-size: clamp(2.38rem, 2.7vw, 2.92rem);
        line-height: 1.04;
        letter-spacing: -.01em;
        white-space: nowrap;
    }
}

/* PREMIUM LIFESTYLE ADDRESS LINE FIX END */

/* PROPERTIES SELLER REBUILD START */

.properties-page-seller.properties-page-seller-rebuild {
    position: relative;
    overflow: hidden;
    padding: 118px 0;
    background:
        radial-gradient(
            circle at 88% 16%,
            rgba(73, 113, 151, .22),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #0b233a 0%,
            #123452 52%,
            #0a2036 100%
        );
    color: #ffffff;
}

.properties-page-seller-rebuild::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            transparent 0 67%,
            rgba(146, 174, 199, .11) 67% 67.08%,
            transparent 67.08% 100%
        ),
        linear-gradient(
            180deg,
            transparent 0 31%,
            rgba(146, 174, 199, .09) 31% 31.1%,
            transparent 31.1% 100%
        ),
        linear-gradient(
            180deg,
            transparent 0 73%,
            rgba(204, 157, 96, .08) 73% 73.1%,
            transparent 73.1% 100%
        );
}

.properties-page-seller-rebuild::after {
    content: "SELL";
    position: absolute;
    right: 2%;
    bottom: -42px;
    color: rgba(255, 255, 255, .035);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(12rem, 20vw, 22rem);
    font-weight: 400;
    line-height: .8;
    pointer-events: none;
}

.seller-rebuild-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(380px, .78fr)
        minmax(0, 1.22fr);
    gap: clamp(68px, 8vw, 130px);
    align-items: center;
}

.seller-rebuild-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(201, 154, 94, .72);
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .085),
            rgba(255, 255, 255, .035)
        ),
        rgba(6, 20, 34, .35);
    box-shadow:
        0 30px 75px rgba(1, 10, 18, .3);
    backdrop-filter: blur(8px);
}

.seller-rebuild-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background:
        linear-gradient(
            180deg,
            #d6a15f,
            rgba(214, 161, 95, .16)
        );
}

.seller-rebuild-card-head {
    min-height: 94px;
    padding: 22px 28px 22px 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid rgba(220, 231, 240, .16);
}

.seller-rebuild-card-head > div {
    display: grid;
    gap: 5px;
}

.seller-rebuild-card-head span,
.seller-rebuild-card-foot span {
    color: rgba(231, 240, 247, .62);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.seller-rebuild-card-head strong {
    color: #ffffff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.seller-rebuild-card-head .seller-rebuild-card-count {
    color: #d6a15f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    font-weight: 400;
    letter-spacing: .02em;
    text-transform: none;
}

.seller-rebuild-card-row {
    min-height: 126px;
    padding: 28px 30px 27px 34px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid rgba(220, 231, 240, .14);
}

.seller-rebuild-number {
    color: #92b0cb;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.seller-rebuild-card-row h3 {
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.72rem;
    font-weight: 400;
    letter-spacing: -.025em;
    line-height: 1.04;
}

.seller-rebuild-card-row p {
    max-width: 300px;
    margin: 8px 0 0;
    color: rgba(230, 239, 246, .7);
    font-size: .79rem;
    line-height: 1.55;
}

.seller-rebuild-card-foot {
    min-height: 74px;
    padding: 20px 30px 20px 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.seller-rebuild-card-foot span:first-child {
    color: #d6a15f;
}

.seller-rebuild-copy {
    position: relative;
    max-width: 720px;
}

.seller-rebuild-kicker {
    margin: 0 0 18px;
    color: #d6a15f;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.properties-page-seller-rebuild .seller-rebuild-copy h2 {
    max-width: 720px;
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.4rem, 4.35vw, 4.85rem);
    font-weight: 400;
    letter-spacing: -.038em;
    line-height: 1.08;
    text-wrap: balance;
}

.seller-rebuild-copy h2 em {
    display: block;
    width: max-content;
    max-width: none;
    margin-top: .13em;
    color: #b9cee1;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.045em;
    white-space: nowrap;
}

.seller-rebuild-intro {
    max-width: 545px;
    margin: 31px 0 0;
    color: rgba(239, 245, 249, .79);
    font-size: .98rem;
    line-height: 1.75;
}

.seller-rebuild-actions {
    margin-top: 31px;
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}

.seller-rebuild-cta {
    min-height: 54px;
    padding: 0 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    border: 1px solid #d6a15f;
    color: #ffffff;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background .2s ease,
        color .2s ease,
        gap .2s ease;
}

.seller-rebuild-cta:hover,
.seller-rebuild-cta:focus-visible {
    gap: 36px;
    background: #d6a15f;
    color: #0b233a;
}

.seller-rebuild-note {
    color: rgba(225, 236, 244, .52);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

@media (max-width: 1080px) {
    .seller-rebuild-layout {
        grid-template-columns:
            minmax(340px, .82fr)
            minmax(0, 1.18fr);
        gap: 52px;
    }

    .properties-page-seller-rebuild .seller-rebuild-copy h2 {
        font-size: clamp(3rem, 4.6vw, 4.2rem);
    }
}

@media (max-width: 820px) {
    .properties-page-seller.properties-page-seller-rebuild {
        padding: 78px 0;
    }

    .seller-rebuild-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .seller-rebuild-card {
        order: 2;
    }

    .seller-rebuild-copy {
        order: 1;
        max-width: none;
    }

    .properties-page-seller-rebuild .seller-rebuild-copy h2 {
        max-width: 680px;
        font-size: clamp(2.75rem, 10vw, 4rem);
    }

    .seller-rebuild-copy h2 em {
        white-space: normal;
    }
}

@media (max-width: 560px) {
    .seller-rebuild-card-head,
    .seller-rebuild-card-row,
    .seller-rebuild-card-foot {
        padding-left: 22px;
        padding-right: 20px;
    }

    .seller-rebuild-card-row {
        min-height: 112px;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
    }

    .seller-rebuild-card-row h3 {
        font-size: 1.5rem;
    }

    .seller-rebuild-card-foot {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 7px;
    }

    .seller-rebuild-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .seller-rebuild-cta {
        width: 100%;
        justify-content: space-between;
    }
}

@media (prefers-reduced-motion: reduce) {
    .seller-rebuild-cta {
        transition: none;
    }
}

/* PROPERTIES SELLER REBUILD END */

/* PREMIUM SITE FOOTER START */

.site-footer.premium-site-footer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 88% 0%,
            rgba(49, 83, 113, .16),
            transparent 31%
        ),
        linear-gradient(
            180deg,
            #0a141f 0%,
            #071019 100%
        );
    color: #ffffff;
}

.site-footer.premium-site-footer::before {
    content: "GOOD MOVE";
    position: absolute;
    right: -1%;
    bottom: 40px;
    color: rgba(255, 255, 255, .025);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(9rem, 16vw, 18rem);
    font-weight: 400;
    letter-spacing: -.08em;
    line-height: .8;
    pointer-events: none;
}

.site-footer.premium-site-footer::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent 0%,
            #c79256 18%,
            rgba(199, 146, 86, .28) 52%,
            transparent 100%
        );
}

.premium-footer-intro {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(330px, .72fr);
    gap: clamp(70px, 9vw, 140px);
    align-items: end;
    padding-top: 86px;
    padding-bottom: 72px;
}

.premium-footer-brand-block {
    max-width: 720px;
}

.premium-footer-brand {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    color: #ffffff;
    text-decoration: none;
}

.premium-footer-brand > span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.55rem;
    letter-spacing: -.025em;
}

.premium-footer-brand > small {
    color: #d3a064;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .19em;
}

.premium-footer-brand-block h2 {
    max-width: 660px;
    margin: 31px 0 0;
    color: #f4f6f8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 4.4vw, 4.9rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}

.premium-footer-brand-block h2 em {
    display: block;
    margin-top: .08em;
    color: #9fb8cf;
    font-weight: 400;
}

.premium-footer-brand-block > p {
    max-width: 520px;
    margin: 25px 0 0;
    color: rgba(226, 235, 242, .66);
    font-size: .92rem;
    line-height: 1.7;
}

.premium-footer-contact {
    padding-left: 34px;
    border-left: 1px solid rgba(209, 224, 235, .16);
}

.premium-footer-contact-label {
    color: #d3a064;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.premium-footer-contact > p {
    max-width: 390px;
    margin: 16px 0 0;
    color: rgba(227, 236, 243, .72);
    font-size: .9rem;
    line-height: 1.65;
}

.premium-footer-contact > a {
    width: fit-content;
    min-height: 48px;
    margin-top: 23px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    border: 1px solid #bd8b50;
    color: #ffffff;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background .2s ease,
        color .2s ease,
        gap .2s ease;
}

.premium-footer-contact > a:hover,
.premium-footer-contact > a:focus-visible {
    gap: 31px;
    background: #bd8b50;
    color: #08131e;
}

.premium-footer-directory {
    position: relative;
    z-index: 2;
    padding-top: 34px;
    padding-bottom: 38px;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: 70px;
    align-items: start;
    border-top: 1px solid rgba(204, 218, 229, .15);
}

.premium-footer-directory-label {
    display: grid;
    gap: 9px;
}

.premium-footer-directory-label > span {
    color: #dce6ee;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
}

.premium-footer-directory-label > small {
    color: rgba(214, 226, 235, .44);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.premium-footer-nav {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(130px, auto));
    gap: 56px;
}

.premium-footer-nav > div {
    display: grid;
    gap: 11px;
}

.premium-footer-nav > div > span {
    margin-bottom: 5px;
    color: #d3a064;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.premium-footer-nav a {
    color: rgba(234, 240, 245, .78);
    font-size: .78rem;
    text-decoration: none;
}

.premium-footer-nav a:hover,
.premium-footer-nav a:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.premium-footer-legal {
    position: relative;
    z-index: 2;
    padding-top: 24px;
    padding-bottom: 30px;
    display: grid;
    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(260px, .85fr)
        auto;
    gap: 42px;
    align-items: start;
    border-top: 1px solid rgba(204, 218, 229, .12);
}

.premium-footer-legal p {
    margin: 0;
    color: rgba(202, 215, 225, .42);
    font-size: .6rem;
    line-height: 1.65;
}

.premium-footer-legal > span {
    color: rgba(211, 160, 100, .76);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .72rem;
    font-style: italic;
    letter-spacing: .04em;
    white-space: nowrap;
}

@media (max-width: 920px) {
    .premium-footer-intro {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .premium-footer-contact {
        max-width: 560px;
        padding-left: 0;
        padding-top: 30px;
        border-left: 0;
        border-top: 1px solid rgba(209, 224, 235, .16);
    }

    .premium-footer-directory {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .premium-footer-nav {
        max-width: 480px;
    }

    .premium-footer-legal {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .premium-footer-legal > span {
        white-space: normal;
    }
}

@media (max-width: 560px) {
    .premium-footer-intro {
        padding-top: 66px;
        padding-bottom: 54px;
    }

    .premium-footer-brand-block h2 {
        font-size: clamp(2.6rem, 12vw, 3.6rem);
    }

    .premium-footer-contact > a {
        width: 100%;
        justify-content: space-between;
    }

    .premium-footer-nav {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .premium-footer-directory {
        padding-top: 28px;
        padding-bottom: 30px;
    }

    .premium-footer-legal {
        padding-bottom: 26px;
    }

    .site-footer.premium-site-footer::before {
        right: -12%;
        bottom: 52px;
        font-size: 10rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-footer-contact > a {
        transition: none;
    }
}

/* PREMIUM SITE FOOTER END */

/* PREMIUM FOOTER LOGO START */

.premium-footer-brand-stage {
    width: fit-content;
    margin-bottom: 38px;
}

.premium-footer-brand {
    position: relative;
    display: block;
    width: fit-content;
    color: inherit;
    text-decoration: none;
}

.premium-footer-logo-plate {
    position: relative;
    width: 345px;
    min-height: 108px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(190, 207, 221, .32);
    background:
        linear-gradient(
            135deg,
            #f8fafc 0%,
            #eef3f7 100%
        );
    box-shadow:
        0 18px 42px rgba(0, 0, 0, .24),
        inset 0 0 0 5px rgba(13, 34, 53, .035);
}

.premium-footer-logo-plate::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 72px;
    height: 3px;
    background: #c79256;
}

.premium-footer-logo-plate::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 54px;
    height: 54px;
    border-right: 1px solid rgba(31, 67, 99, .14);
    border-bottom: 1px solid rgba(31, 67, 99, .14);
    pointer-events: none;
}

.premium-footer-brand img {
    position: relative;
    z-index: 1;
    display: block;
    width: 285px;
    max-width: 100%;
    height: auto;
}

.premium-footer-brand-signature {
    margin-top: 13px;
    display: flex;
    align-items: center;
    gap: 13px;
}

.premium-footer-brand-signature > span {
    width: 46px;
    height: 1px;
    background: #c79256;
}

.premium-footer-brand-signature strong {
    color: rgba(218, 229, 238, .58);
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.premium-footer-brand-stage + h2 {
    margin-top: 0;
}

@media (max-width: 560px) {
    .premium-footer-brand-stage {
        width: 100%;
        margin-bottom: 31px;
    }

    .premium-footer-brand {
        width: 100%;
    }

    .premium-footer-logo-plate {
        width: 100%;
        min-height: 96px;
        padding: 16px 20px;
    }

    .premium-footer-brand img {
        width: 250px;
    }
}

/* PREMIUM FOOTER LOGO END */

/* NEIGHBORHOODS HERO START */

.neighborhoods-premium-hero {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    background:
        radial-gradient(
            circle at 10% 12%,
            rgba(116, 157, 193, .13),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #eef4f8 0%,
            #f8fafc 48%,
            #e8f0f6 100%
        );
}

.neighborhoods-premium-hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 7%;
    width: 34%;
    height: 100%;
    opacity: .35;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            transparent 0 49.7%,
            rgba(23, 54, 81, .14) 49.7% 50%,
            transparent 50% 100%
        );
}

.neighborhoods-premium-hero::after {
    content: "NEIGHBORHOODS";
    position: absolute;
    left: -1%;
    bottom: -2.5rem;
    color: rgba(18, 48, 74, .035);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(7rem, 12vw, 13rem);
    line-height: .8;
    letter-spacing: -.07em;
    white-space: nowrap;
    pointer-events: none;
}

.neighborhoods-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(560px, 1.1fr);
    gap: clamp(60px, 7vw, 112px);
    align-items: center;
    min-height: 690px;
    padding-top: 82px;
    padding-bottom: 72px;
}

.neighborhoods-hero-copy {
    max-width: 620px;
}

.neighborhoods-hero-copy .section-kicker {
    margin: 0 0 21px;
    color: #315f86;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.neighborhoods-hero-copy h1 {
    margin: 0;
    color: #0b1b29;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.9rem, 5.3vw, 6.6rem);
    font-weight: 400;
    line-height: .91;
    letter-spacing: -.055em;
}

.neighborhoods-hero-copy h1 em {
    display: block;
    margin-top: .11em;
    color: #617f99;
    font-weight: 400;
}

.neighborhoods-hero-intro {
    max-width: 580px;
    margin: 31px 0 0;
    color: #465662;
    font-size: .96rem;
    line-height: 1.75;
}

.neighborhoods-hero-actions {
    margin-top: 33px;
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
}

.neighborhoods-hero-primary {
    min-height: 50px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    border: 1px solid #244e71;
    background: #173b5a;
    color: #ffffff;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background .2s ease,
        gap .2s ease;
}

.neighborhoods-hero-primary:hover,
.neighborhoods-hero-primary:focus-visible {
    gap: 31px;
    background: #0f2d47;
}

.neighborhoods-hero-note {
    color: #7d8b95;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.neighborhoods-hero-traits {
    margin-top: 51px;
    padding-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    border-top: 1px solid rgba(31, 70, 102, .16);
}

.neighborhoods-hero-traits > div {
    position: relative;
}

.neighborhoods-hero-traits span {
    color: #bd7d3e;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.neighborhoods-hero-traits strong {
    margin-top: 7px;
    display: block;
    color: #142b3e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-weight: 400;
}

.neighborhoods-hero-traits p {
    margin: 7px 0 0;
    color: #71808a;
    font-size: .68rem;
    line-height: 1.5;
}

.neighborhoods-hero-visual {
    position: relative;
    min-height: 590px;
}

.neighborhoods-hero-card {
    position: absolute;
    margin: 0;
    overflow: hidden;
    background: #dce5eb;
    box-shadow: 0 22px 52px rgba(17, 39, 57, .16);
}

.neighborhoods-hero-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            transparent 46%,
            rgba(5, 18, 28, .78) 100%
        );
}

.neighborhoods-hero-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.neighborhoods-hero-card figcaption {
    position: absolute;
    z-index: 2;
    left: 20px;
    right: 20px;
    bottom: 18px;
    color: #ffffff;
}

.neighborhoods-hero-card figcaption span {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
}

.neighborhoods-hero-card figcaption small {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, .68);
    font-size: .51rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.neighborhoods-hero-card-main {
    z-index: 2;
    top: 28px;
    left: 0;
    width: 64%;
    height: 500px;
}

.neighborhoods-hero-card-top {
    z-index: 3;
    top: 0;
    right: 0;
    width: 39%;
    height: 255px;
}

.neighborhoods-hero-card-bottom {
    z-index: 3;
    right: 4%;
    bottom: 12px;
    width: 43%;
    height: 280px;
}

.neighborhoods-hero-index {
    position: absolute;
    z-index: 4;
    left: 12%;
    bottom: 0;
    min-width: 190px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: #0d2437;
    color: #ffffff;
}

.neighborhoods-hero-index span {
    font-size: .49rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.neighborhoods-hero-index strong {
    color: #c78a4d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    font-weight: 400;
}

.neighborhoods-hero-bottom {
    position: relative;
    z-index: 2;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid rgba(29, 66, 97, .16);
    color: #71808a;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.neighborhoods-guide-anchor {
    min-height: 1px;
    background: #ffffff;
}

@media (max-width: 1080px) {
    .neighborhoods-hero-grid {
        grid-template-columns:
            minmax(0, .9fr)
            minmax(450px, 1.1fr);
        gap: 48px;
    }

    .neighborhoods-hero-copy h1 {
        font-size: clamp(3.6rem, 5vw, 5rem);
    }

    .neighborhoods-hero-traits {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .neighborhoods-hero-traits > div {
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(31, 70, 102, .1);
    }

    .neighborhoods-hero-traits > div:last-child {
        border-bottom: 0;
    }

    .neighborhoods-hero-traits p {
        max-width: 360px;
    }
}

@media (max-width: 820px) {
    .neighborhoods-premium-hero {
        min-height: 0;
    }

    .neighborhoods-hero-grid {
        grid-template-columns: 1fr;
        gap: 48px;
        min-height: 0;
        padding-top: 62px;
        padding-bottom: 48px;
    }

    .neighborhoods-hero-copy {
        max-width: 680px;
    }

    .neighborhoods-hero-copy h1 {
        font-size: clamp(3.5rem, 10vw, 5.2rem);
    }

    .neighborhoods-hero-traits {
        grid-template-columns: repeat(3, 1fr);
    }

    .neighborhoods-hero-traits > div {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .neighborhoods-hero-visual {
        min-height: 520px;
    }

    .neighborhoods-hero-card-main {
        width: 65%;
        height: 440px;
    }

    .neighborhoods-hero-card-top {
        width: 40%;
        height: 220px;
    }

    .neighborhoods-hero-card-bottom {
        width: 44%;
        height: 250px;
    }
}

@media (max-width: 600px) {
    .neighborhoods-hero-grid {
        padding-top: 50px;
    }

    .neighborhoods-hero-copy h1 {
        font-size: clamp(3rem, 14vw, 4.4rem);
    }

    .neighborhoods-hero-copy h1 em {
        margin-top: .14em;
    }

    .neighborhoods-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .neighborhoods-hero-primary {
        width: 100%;
        justify-content: space-between;
    }

    .neighborhoods-hero-traits {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .neighborhoods-hero-traits > div {
        padding-bottom: 14px;
        border-bottom: 1px solid rgba(31, 70, 102, .1);
    }

    .neighborhoods-hero-traits > div:last-child {
        border-bottom: 0;
    }

    .neighborhoods-hero-visual {
        min-height: 650px;
    }

    .neighborhoods-hero-card-main {
        top: 0;
        left: 0;
        width: 84%;
        height: 390px;
    }

    .neighborhoods-hero-card-top {
        top: 330px;
        right: 0;
        width: 56%;
        height: 210px;
    }

    .neighborhoods-hero-card-bottom {
        right: auto;
        left: 0;
        bottom: 0;
        width: 54%;
        height: 230px;
    }

    .neighborhoods-hero-index {
        left: auto;
        right: 0;
        bottom: 0;
        min-width: 156px;
    }

    .neighborhoods-hero-bottom {
        min-height: 82px;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        gap: 8px;
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .neighborhoods-premium-hero::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .neighborhoods-hero-primary {
        transition: none;
    }
}

/* NEIGHBORHOODS HERO END */

/* NEIGHBORHOODS HERO IMAGE MOTION START */

/* Larger desktop collage */

@media (min-width: 821px) {
    .neighborhoods-hero-visual {
        min-height: 730px;
        transform: translateX(34px);
    }

    .neighborhoods-hero-card-main {
        top: 0;
        left: -8%;
        width: 82.8%;
        height: 648px;
    }

    .neighborhoods-hero-card-top {
        top: -22px;
        right: -7%;
        width: 50.4%;
        height: 336px;
    }

    .neighborhoods-hero-card-bottom {
        right: -5%;
        bottom: -12px;
        width: 56.4%;
        height: 366px;
    }

    .neighborhoods-hero-index {
        left: 8%;
        bottom: -14px;
        min-width: 205px;
        padding: 17px 19px;
    }
}

/* Entrance sequence */

.neighborhoods-hero-card-main {
    animation:
        neighborhoodsMainReveal
        .9s
        cubic-bezier(.22, .75, .22, 1)
        .12s
        both;
}

.neighborhoods-hero-card-top {
    animation:
        neighborhoodsTopReveal
        .82s
        cubic-bezier(.22, .75, .22, 1)
        .30s
        both;
}

.neighborhoods-hero-card-bottom {
    animation:
        neighborhoodsBottomReveal
        .82s
        cubic-bezier(.22, .75, .22, 1)
        .46s
        both;
}

.neighborhoods-hero-index {
    animation:
        neighborhoodsIndexReveal
        .68s
        cubic-bezier(.22, .75, .22, 1)
        .62s
        both;
}

@keyframes neighborhoodsMainReveal {
    from {
        opacity: 0;
        transform:
            translate3d(-46px, 18px, 0)
            scale(.965);
        clip-path: inset(0 100% 0 0);
    }

    to {
        opacity: 1;
        transform:
            translate3d(0, 0, 0)
            scale(1);
        clip-path: inset(0 0 0 0);
    }
}

@keyframes neighborhoodsTopReveal {
    from {
        opacity: 0;
        transform:
            translate3d(46px, -24px, 0)
            scale(.955);
    }

    to {
        opacity: 1;
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }
}

@keyframes neighborhoodsBottomReveal {
    from {
        opacity: 0;
        transform:
            translate3d(46px, 30px, 0)
            scale(.955);
    }

    to {
        opacity: 1;
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }
}

@keyframes neighborhoodsIndexReveal {
    from {
        opacity: 0;
        transform:
            translate3d(0, 22px, 0)
            scale(.97);
    }

    to {
        opacity: 1;
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .neighborhoods-hero-card-main,
    .neighborhoods-hero-card-top,
    .neighborhoods-hero-card-bottom,
    .neighborhoods-hero-index {
        animation: none;
    }
}

/* NEIGHBORHOODS HERO IMAGE MOTION END */

/* NEIGHBORHOODS IMAGE OUTLINE START */

.neighborhoods-hero-card {
    border: 1px solid rgba(18, 52, 79, .34);
    box-shadow:
        0 0 0 4px rgba(247, 250, 252, .82),
        0 22px 52px rgba(17, 39, 57, .18);
}

.neighborhoods-hero-card-main {
    box-shadow:
        0 0 0 4px rgba(247, 250, 252, .88),
        0 26px 58px rgba(17, 39, 57, .2);
}

@media (max-width: 600px) {
    .neighborhoods-hero-card,
    .neighborhoods-hero-card-main {
        box-shadow:
            0 0 0 3px rgba(247, 250, 252, .84),
            0 18px 40px rgba(17, 39, 57, .17);
    }
}

/* NEIGHBORHOODS IMAGE OUTLINE END */

/* NEIGHBORHOODS HERO READABILITY START */

.neighborhoods-hero-intro {
    color: #2d4658;
    font-size: 1.06rem;
    line-height: 1.72;
}

.neighborhoods-hero-primary {
    min-height: 54px;
    padding-left: 21px;
    padding-right: 21px;
    font-size: .68rem;
    letter-spacing: .11em;
}

.neighborhoods-hero-note {
    color: #435d70;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.neighborhoods-hero-traits {
    margin-top: 46px;
    padding-top: 29px;
    gap: 28px;
    border-top-color: rgba(31, 70, 102, .28);
}

.neighborhoods-hero-traits span {
    color: #b96f28;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.neighborhoods-hero-traits strong {
    margin-top: 9px;
    color: #0c2234;
    font-size: 1.28rem;
    line-height: 1.2;
}

.neighborhoods-hero-traits p {
    margin-top: 9px;
    color: #3f5869;
    font-size: .9rem;
    line-height: 1.62;
}

.neighborhoods-hero-bottom {
    color: #435f71;
    font-size: .68rem;
    letter-spacing: .14em;
    border-top-color: rgba(29, 66, 97, .25);
}

@media (max-width: 1080px) {
    .neighborhoods-hero-note {
        font-size: .73rem;
    }

    .neighborhoods-hero-traits strong {
        font-size: 1.2rem;
    }

    .neighborhoods-hero-traits p {
        font-size: .84rem;
    }
}

@media (max-width: 600px) {
    .neighborhoods-hero-intro {
        font-size: 1rem;
    }

    .neighborhoods-hero-note {
        font-size: .69rem;
    }

    .neighborhoods-hero-traits span {
        font-size: .68rem;
    }

    .neighborhoods-hero-traits strong {
        font-size: 1.18rem;
    }

    .neighborhoods-hero-traits p {
        font-size: .84rem;
    }

    .neighborhoods-hero-bottom {
        font-size: .62rem;
    }
}

/* NEIGHBORHOODS HERO READABILITY END */

/* NEIGHBORHOODS HERO ATMOSPHERE START */

.neighborhoods-premium-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    background:
        radial-gradient(
            ellipse at 15% 32%,
            rgba(255, 255, 255, .34) 0%,
            transparent 61%
        ),
        radial-gradient(
            ellipse at 88% 32%,
            rgba(150, 194, 224, .17) 0%,
            transparent 60%
        ),
        linear-gradient(
            135deg,
            #eaf3f9 0%,
            #f7fafc 47%,
            #e5eff6 100%
        );
}

/*
    LEFT SKYLINE

    The element itself now uses the original 3:2
    proportion of the generated image.

    Because the photograph fills this exact box,
    the mask now fades the actual photograph edges
    instead of fading empty space around a smaller
    contained image.
*/

.neighborhoods-premium-hero::before {
    content: "";
    position: absolute;
    z-index: 0;

    left: -11vw;
    bottom: 5%;

    width: min(61vw, 930px);
    aspect-ratio: 3 / 2;

    pointer-events: none;

    background-image:
        url("../images/neighborhood-bg-skyline.webp");

    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;

    opacity: .27;

    filter:
        saturate(.66)
        contrast(.89)
        brightness(1.08)
        blur(.45px);

    -webkit-mask-image:
        radial-gradient(
            ellipse 72% 72% at 42% 54%,
            #000000 0%,
            #000000 44%,
            rgba(0, 0, 0, .94) 53%,
            rgba(0, 0, 0, .74) 63%,
            rgba(0, 0, 0, .42) 73%,
            rgba(0, 0, 0, .16) 83%,
            transparent 96%
        );

    mask-image:
        radial-gradient(
            ellipse 72% 72% at 42% 54%,
            #000000 0%,
            #000000 44%,
            rgba(0, 0, 0, .94) 53%,
            rgba(0, 0, 0, .74) 63%,
            rgba(0, 0, 0, .42) 73%,
            rgba(0, 0, 0, .16) 83%,
            transparent 96%
        );
}

/*
    Editorial background typography.
*/

.neighborhoods-premium-hero::after {
    content: "NEIGHBORHOODS";
    position: absolute;
    z-index: 0;

    left: -1%;
    bottom: -2.1rem;

    color: rgba(21, 59, 89, .043);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(7rem, 12vw, 13rem);
    line-height: .8;
    letter-spacing: -.065em;
    white-space: nowrap;

    pointer-events: none;
}

.neighborhoods-hero-grid {
    position: relative;
    isolation: isolate;
}

/*
    RIGHT PARK / NEIGHBORHOOD

    This is intentionally much larger now.

    Same 3:2 original aspect ratio and the photograph
    fills the masked box completely, so there is no
    internal rectangular edge from background-size contain.
*/

.neighborhoods-hero-grid::before {
    content: "";
    position: absolute;
    z-index: 0;

    right: -24vw;
    bottom: -1%;

    width: min(67vw, 1020px);
    aspect-ratio: 3 / 2;

    pointer-events: none;

    background-image:
        url("../images/neighborhood-bg-park.webp");

    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;

    opacity: .23;

    filter:
        saturate(.65)
        contrast(.87)
        brightness(1.08)
        blur(.55px);

    -webkit-mask-image:
        radial-gradient(
            ellipse 73% 73% at 58% 54%,
            #000000 0%,
            #000000 43%,
            rgba(0, 0, 0, .93) 52%,
            rgba(0, 0, 0, .72) 62%,
            rgba(0, 0, 0, .40) 72%,
            rgba(0, 0, 0, .15) 83%,
            transparent 96%
        );

    mask-image:
        radial-gradient(
            ellipse 73% 73% at 58% 54%,
            #000000 0%,
            #000000 43%,
            rgba(0, 0, 0, .93) 52%,
            rgba(0, 0, 0, .72) 62%,
            rgba(0, 0, 0, .40) 72%,
            rgba(0, 0, 0, .15) 83%,
            transparent 96%
        );
}

.neighborhoods-hero-grid::after {
    content: none;
}

.neighborhoods-hero-copy,
.neighborhoods-hero-visual {
    position: relative;
    z-index: 2;
}

.neighborhoods-hero-bottom {
    position: relative;
    z-index: 2;
    border-top-color: rgba(35, 75, 106, .27);
}

@media (max-width: 1080px) {
    .neighborhoods-premium-hero::before {
        left: -17vw;
        width: min(70vw, 820px);
        opacity: .23;
    }

    .neighborhoods-hero-grid::before {
        right: -31vw;
        width: min(77vw, 900px);
        opacity: .19;
    }
}

@media (max-width: 820px) {
    .neighborhoods-premium-hero::before {
        left: -29vw;
        bottom: 13%;
        width: 86vw;
        opacity: .17;
    }

    .neighborhoods-hero-grid::before {
        right: -39vw;
        bottom: 2%;
        width: 94vw;
        opacity: .15;
    }
}

@media (max-width: 600px) {
    .neighborhoods-premium-hero::before {
        left: -45vw;
        bottom: 15%;
        width: 118vw;
        opacity: .11;
    }

    .neighborhoods-hero-grid::before {
        right: -53vw;
        bottom: 0;
        width: 126vw;
        opacity: .10;
    }

    .neighborhoods-premium-hero::after {
        display: none;
    }
}

/* NEIGHBORHOODS HERO ATMOSPHERE END */

/* NEIGHBORHOODS RIGHT ATMOSPHERE FADE START */

.neighborhoods-hero-grid::before {
    opacity: .21;

    -webkit-mask-image:
        radial-gradient(
            ellipse 66% 66% at 58% 54%,
            #000000 0%,
            #000000 31%,
            rgba(0, 0, 0, .88) 41%,
            rgba(0, 0, 0, .64) 52%,
            rgba(0, 0, 0, .36) 62%,
            rgba(0, 0, 0, .14) 72%,
            transparent 84%
        );

    mask-image:
        radial-gradient(
            ellipse 66% 66% at 58% 54%,
            #000000 0%,
            #000000 31%,
            rgba(0, 0, 0, .88) 41%,
            rgba(0, 0, 0, .64) 52%,
            rgba(0, 0, 0, .36) 62%,
            rgba(0, 0, 0, .14) 72%,
            transparent 84%
        );

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

@media (max-width: 1080px) {
    .neighborhoods-hero-grid::before {
        opacity: .18;
    }
}

@media (max-width: 820px) {
    .neighborhoods-hero-grid::before {
        opacity: .14;
    }
}

@media (max-width: 600px) {
    .neighborhoods-hero-grid::before {
        opacity: .10;
    }
}

/* NEIGHBORHOODS RIGHT ATMOSPHERE FADE END */

/* NEIGHBORHOODS EDITORIAL ACCORDION START */

.neighborhoods-editorial-showcase {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f5f8fa 100%
        );
    color: #0c2031;
}

.neighborhoods-editorial-showcase::before {
    content: "CHOOSE WELL";
    position: absolute;
    top: 64px;
    right: -2%;
    color: rgba(20, 58, 87, .027);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(8rem, 14vw, 15rem);
    line-height: .75;
    letter-spacing: -.07em;
    pointer-events: none;
}

.neighborhoods-editorial-shell {
    position: relative;
    z-index: 1;
    padding-top: 100px;
    padding-bottom: 105px;
}

.neighborhoods-editorial-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(270px, .65fr);
    gap: clamp(60px, 8vw, 120px);
    align-items: end;
    margin-bottom: 52px;
}

.neighborhoods-editorial-heading .section-kicker {
    margin: 0 0 18px;
    color: #315f86;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.neighborhoods-editorial-heading h2 {
    margin: 0;
    color: #0b1f30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.4rem, 4.8vw, 5.8rem);
    font-weight: 400;
    line-height: .95;
    letter-spacing: -.05em;
}

.neighborhoods-editorial-heading h2 span {
    display: block;
    margin-top: .1em;
    color: #728da2;
    font-weight: 400;
    font-style: italic;
}

.neighborhoods-editorial-heading-note {
    padding-left: 25px;
    border-left: 1px solid rgba(32, 72, 103, .18);
}

.neighborhoods-editorial-heading-note > span {
    color: #b77230;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.neighborhoods-editorial-heading-note p {
    max-width: 360px;
    margin: 13px 0 0;
    color: #536a79;
    font-size: .9rem;
    line-height: 1.65;
}

.neighborhoods-accordion {
    display: flex;
    gap: 14px;
    height: 650px;
}


.neighborhood-panel.neighborhood-panel--skyline {
    --neighborhood-panel-image:
        url("../images/neighborhood-skyline.webp");
}

.neighborhood-panel.neighborhood-panel--river {
    --neighborhood-panel-image:
        url("../images/neighborhood-river.webp");
}

.neighborhood-panel.neighborhood-panel--lakeview {
    --neighborhood-panel-image:
        url("../images/neighborhood-lakeview.webp");
}

.neighborhood-panel.neighborhood-panel--parkside {
    --neighborhood-panel-image:
        url("../images/neighborhood-bg-park.webp");
}
.neighborhood-panel {
    --neighborhood-panel-image: none;

    position: relative;
    flex: .52 1 0;
    min-width: 0;
    overflow: hidden;
    isolation: isolate;
    background: #10283c;
    transition:
        flex .72s cubic-bezier(.2, .74, .18, 1),
        transform .5s ease,
        box-shadow .45s ease,
        filter .45s ease;
    will-change: flex, transform;
}

.neighborhood-panel.is-active {
    flex: 1.95 1 0;
    box-shadow:
        0 24px 54px rgba(8, 25, 38, .18),
        0 8px 16px rgba(8, 25, 38, .10);
}

.neighborhood-panel::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background-image: var(--neighborhood-panel-image);
    background-position: center;
    background-size: cover;
    transform: scale(1.035);
    transition:
        transform .95s cubic-bezier(.2, .74, .18, 1),
        filter .55s ease;
    will-change: transform;
}

.neighborhood-panel:not(.is-active)::before {
    filter:
        saturate(.72)
        brightness(.72);
}

.neighborhood-panel.is-active::before {
    transform: scale(1);
}

.neighborhood-panel::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(5, 19, 30, .10) 0%,
            rgba(5, 19, 30, .08) 31%,
            rgba(5, 19, 30, .58) 67%,
            rgba(5, 19, 30, .94) 100%
        );
    transition: background .55s ease;
}

.neighborhood-panel:not(.is-active)::after {
    background:
        linear-gradient(
            180deg,
            rgba(5, 19, 30, .18) 0%,
            rgba(5, 19, 30, .38) 48%,
            rgba(5, 19, 30, .92) 100%
        );
}

.neighborhood-panel-number {
    position: absolute;
    z-index: 4;
    top: 25px;
    left: 25px;
    color: #e0a160;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .17em;
    transition:
        transform .45s ease,
        opacity .45s ease;
}

.neighborhood-panel-trigger {
    position: absolute;
    z-index: 5;
    left: 25px;
    right: 25px;
    bottom: 24px;
    padding: 0 0 2px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 20px;
    align-items: end;
    border: 0;
    background: transparent;
    color: #ffffff;
    text-align: left;
    cursor: pointer;
    transition:
        transform .45s ease,
        opacity .35s ease;
}

.neighborhood-panel.is-active .neighborhood-panel-trigger {
    bottom: auto;
    top: 62px;
}

.neighborhood-panel-trigger > span {
    grid-column: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 1.8vw, 1.8rem);
    line-height: 1.05;
}

.neighborhood-panel-trigger > small {
    grid-column: 1;
    color: rgba(238, 244, 248, .66);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.45;
    text-transform: uppercase;
}

.neighborhood-panel-trigger > b {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    color: #d59250;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    font-weight: 400;
    transition:
        transform .45s ease,
        opacity .35s ease;
}

.neighborhood-panel.is-active .neighborhood-panel-trigger > b {
    transform: rotate(45deg);
}

.neighborhood-panel-details {
    position: absolute;
    z-index: 4;
    left: 25px;
    right: 25px;
    bottom: 28px;
    max-width: 570px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition:
        opacity .42s ease .05s,
        transform .55s cubic-bezier(.2, .74, .18, 1) .05s,
        visibility 0s linear .55s;
}

.neighborhood-panel.is-active .neighborhood-panel-details {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: .24s;
}

.neighborhood-panel-kicker {
    color: #e0a160;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.neighborhood-panel-details h3 {
    max-width: 570px;
    margin: 13px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 3vw, 3.65rem);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.04em;
}

.neighborhood-panel-details h3 em {
    color: #b7ccdc;
    font-weight: 400;
}

.neighborhood-panel-details > p {
    max-width: 530px;
    margin: 17px 0 0;
    color: rgba(234, 241, 246, .81);
    font-size: .88rem;
    line-height: 1.65;
}

.neighborhood-panel-facts {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.neighborhood-panel-facts > div {
    padding-top: 12px;
    border-top: 1px solid rgba(235, 242, 247, .22);
}

.neighborhood-panel-facts span {
    display: block;
    color: rgba(209, 225, 235, .61);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.neighborhood-panel-facts strong {
    display: block;
    margin-top: 6px;
    color: #ffffff;
    font-size: .77rem;
    line-height: 1.35;
}

.neighborhood-panel-details > a {
    width: fit-content;
    margin-top: 24px;
    min-height: 45px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    gap: 24px;
    border: 1px solid rgba(217, 151, 85, .92);
    color: #ffffff;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease;
}

.neighborhood-panel-details > a > span {
    color: #e0a160;
    transition: transform .2s ease;
}

.neighborhood-panel-details > a:hover,
.neighborhood-panel-details > a:focus-visible {
    transform: translateY(-2px);
    background-color: rgba(255, 255, 255, .06);
    border-color: #f0b06c;
}

.neighborhood-panel-details > a:hover > span,
.neighborhood-panel-details > a:focus-visible > span {
    transform: translateX(5px);
}

.neighborhoods-editorial-footer {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-bottom: 1px solid rgba(30, 69, 99, .16);
}

.neighborhoods-editorial-footer > span {
    color: #657b8a;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.neighborhoods-editorial-footer > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #526877;
    font-size: .72rem;
    text-decoration: none;
}

.neighborhoods-editorial-footer > a strong {
    color: #173d5c;
    font-weight: 800;
}

.neighborhoods-editorial-footer > a > span {
    margin-left: 6px;
    color: #bc7531;
}

/* movement states */

.neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-editorial-heading,
.neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-accordion,
.neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-editorial-footer {
    opacity: 0;
    transform: translateY(38px);
}

.neighborhoods-editorial-showcase.in-view .neighborhoods-editorial-heading,
.neighborhoods-editorial-showcase.in-view .neighborhoods-editorial-footer {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .65s ease,
        transform .85s cubic-bezier(.2, .74, .18, 1);
}

.neighborhoods-editorial-showcase.in-view .neighborhoods-accordion {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .75s ease .08s,
        transform .95s cubic-bezier(.2, .74, .18, 1) .08s;
}

.neighborhoods-editorial-showcase[data-motion-ready] .neighborhood-panel {
    opacity: 0;
    transform: translateY(38px) scale(.985);
}

.neighborhoods-editorial-showcase.in-view .neighborhood-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition:
        opacity .5s ease,
        transform .85s cubic-bezier(.2, .74, .18, 1),
        flex .72s cubic-bezier(.2, .74, .18, 1),
        box-shadow .45s ease,
        filter .45s ease;
}

.neighborhoods-editorial-showcase.in-view .neighborhood-panel:nth-child(1) {
    transition-delay: .1s;
}

.neighborhoods-editorial-showcase.in-view .neighborhood-panel:nth-child(2) {
    transition-delay: .18s;
}

.neighborhoods-editorial-showcase.in-view .neighborhood-panel:nth-child(3) {
    transition-delay: .26s;
}
.neighborhoods-editorial-showcase.in-view .neighborhood-panel:nth-child(4) {
    transition-delay: .34s;
}

.neighborhood-panel.is-transitioning .neighborhood-panel-details {
    transition-duration: .42s, .48s, 0s;
}

.neighborhood-panel.panel-peek {
    transform: translateY(-7px);
}

@media (hover: hover) and (pointer: fine) {
    .neighborhood-panel:not(.is-active):hover {
        transform: translateY(-8px);
        box-shadow:
            0 20px 44px rgba(8, 25, 38, .14),
            0 6px 16px rgba(8, 25, 38, .08);
    }

    .neighborhood-panel:not(.is-active):hover::before {
        transform: scale(1.05);
        filter:
            saturate(.82)
            brightness(.8);
    }

    .neighborhood-panel:not(.is-active):hover .neighborhood-panel-trigger {
        transform: translateY(-4px);
    }

    .neighborhood-panel:not(.is-active):hover .neighborhood-panel-number {
        transform: translateY(-2px);
    }
}

/* tablet */

@media (max-width: 1000px) {
    .neighborhoods-editorial-heading {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .neighborhoods-editorial-heading-note {
        max-width: 560px;
    }

    .neighborhoods-accordion {
        height: 600px;
    }

    .neighborhood-panel.is-active {
        flex: 1.90 1 0;
    }

    .neighborhood-panel-facts {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .neighborhood-panel-facts > div {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 18px;
    }
}

/* mobile swipe gallery */

@media (max-width: 760px) {
    .neighborhoods-editorial-shell {
        padding-top: 76px;
        padding-bottom: 80px;
    }

    .neighborhoods-editorial-heading {
        margin-bottom: 38px;
    }

    .neighborhoods-editorial-heading h2 {
        font-size: clamp(3rem, 12vw, 4.5rem);
    }

    .neighborhoods-accordion {
        width: calc(100% + 28px);
        height: 590px;
        margin-right: -28px;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 86%;
        gap: 12px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .neighborhoods-accordion::-webkit-scrollbar {
        display: none;
    }

    .neighborhood-panel,
    .neighborhood-panel.is-active {
        flex: none;
        width: auto;
        scroll-snap-align: start;
        box-shadow:
            0 16px 32px rgba(8, 25, 38, .12),
            0 6px 14px rgba(8, 25, 38, .08);
    }

    .neighborhood-panel-trigger,
    .neighborhood-panel.is-active .neighborhood-panel-trigger {
        top: 61px;
        bottom: auto;
    }

    .neighborhood-panel-details {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .neighborhood-panel-trigger > b {
        display: none;
    }

    .neighborhood-panel::after,
    .neighborhood-panel:not(.is-active)::after {
        background:
            linear-gradient(
                180deg,
                rgba(5, 19, 30, .09) 0%,
                rgba(5, 19, 30, .15) 34%,
                rgba(5, 19, 30, .91) 100%
            );
    }

    .neighborhood-panel:not(.is-active)::before {
        filter: none;
    }

    .neighborhood-panel-details h3 {
        font-size: clamp(2.1rem, 9vw, 3rem);
    }

    .neighborhood-panel-details > p {
        font-size: .83rem;
    }

    .neighborhood-panel-facts {
        grid-template-columns: 1fr;
    }

    .neighborhoods-editorial-footer {
        min-height: 100px;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        gap: 9px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-accordion,
    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhood-panel,
    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-editorial-heading,
    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-editorial-footer {
        opacity: 1;
        transform: none;
    }
}


/*
    Photo text protection

    The stroke is intentionally below 1px so bright areas
    cannot swallow the serif lettering without turning it
    into heavy outlined display text.
*/

.neighborhood-panel-trigger > span,
.neighborhood-panel-details h3,
.neighborhood-panel-details h3 em {
    -webkit-text-stroke:
        .5px
        rgba(0, 0, 0, .72);

    paint-order:
        stroke
        fill;

    text-shadow:
        0 1px 2px rgba(0, 0, 0, .50),
        0 0 8px rgba(0, 0, 0, .16);
}
@media (prefers-reduced-motion: reduce) {
    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-editorial-heading,
    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-accordion,
    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhoods-editorial-footer,
    .neighborhoods-editorial-showcase[data-motion-ready] .neighborhood-panel {
        opacity: 1;
        transform: none;
    }

    .neighborhood-panel,
    .neighborhood-panel::before,
    .neighborhood-panel-trigger,
    .neighborhood-panel-number,
    .neighborhood-panel-trigger > b,
    .neighborhood-panel-details,
    .neighborhood-panel-details > a,
    .neighborhood-panel-details > a > span {
        transition: none;
    }
}

/* NEIGHBORHOODS EDITORIAL ACCORDION END */

/* NEIGHBORHOOD PANEL DESCRIPTOR READABILITY START */

.neighborhood-panel-trigger > small {
    width: fit-content;
    max-width: 100%;
    padding: 3px 12px 4px 0;

    color: rgba(255, 255, 255, .94);

    font-size: .58rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .14em;

    text-shadow:
        0 1px 2px rgba(0, 0, 0, .92),
        0 0 5px rgba(0, 0, 0, .68),
        0 0 12px rgba(0, 0, 0, .38);

    background:
        linear-gradient(
            90deg,
            rgba(5, 18, 28, .40) 0%,
            rgba(5, 18, 28, .20) 62%,
            rgba(5, 18, 28, 0) 100%
        );
}

.neighborhood-panel.is-active .neighborhood-panel-trigger > small {
    color: #ffffff;

    text-shadow:
        0 1px 2px rgba(0, 0, 0, .95),
        0 0 6px rgba(0, 0, 0, .72),
        0 0 14px rgba(0, 0, 0, .40);
}

@media (max-width: 760px) {
    .neighborhood-panel-trigger > small {
        font-size: .57rem;
    }
}

/* NEIGHBORHOOD PANEL DESCRIPTOR READABILITY END */

/* NEIGHBORHOOD TITLE FADE BAND START */

.neighborhood-panel-trigger {
    padding:
        12px
        22px
        13px
        25px;

    margin-left: -25px;

    background:
        linear-gradient(
            90deg,
            rgba(55, 64, 72, .58) 0%,
            rgba(67, 76, 84, .46) 42%,
            rgba(74, 83, 91, .27) 68%,
            rgba(74, 83, 91, .08) 86%,
            transparent 100%
        );

    -webkit-backdrop-filter:
        blur(1.5px);

    backdrop-filter:
        blur(1.5px);
}

.neighborhood-panel-trigger > small {
    padding: 0;
    background: transparent;

    color: rgba(255, 255, 255, .96);

    text-shadow:
        0 1px 2px rgba(0, 0, 0, .88),
        0 0 6px rgba(0, 0, 0, .42);
}

.neighborhood-panel-trigger > span {
    text-shadow:
        0 1px 2px rgba(0, 0, 0, .72),
        0 0 7px rgba(0, 0, 0, .30);
}

.neighborhood-panel.is-active .neighborhood-panel-trigger {
    right: 0;
}

@media (max-width: 760px) {
    .neighborhood-panel-trigger {
        padding:
            11px
            18px
            12px
            25px;
    }
}

/* NEIGHBORHOOD TITLE FADE BAND END */

/* NEIGHBORHOODS SECTION ATMOSPHERE START */

.neighborhoods-editorial-showcase {
    isolation: isolate;

    background:
        radial-gradient(
            ellipse at 9% 24%,
            rgba(110, 154, 184, .13) 0%,
            rgba(110, 154, 184, .055) 28%,
            transparent 55%
        ),
        radial-gradient(
            ellipse at 88% 72%,
            rgba(186, 116, 49, .075) 0%,
            rgba(186, 116, 49, .025) 27%,
            transparent 51%
        ),
        linear-gradient(
            180deg,
            #f8fbfd 0%,
            #edf4f8 49%,
            #f7fafc 100%
        );
}

.neighborhoods-editorial-showcase::before {
    content: "CHOOSE WELL";

    z-index: 0;

    top: 38px;
    right: -2%;

    color: rgba(25, 60, 88, .045);

    font-size: clamp(
        8rem,
        14vw,
        15rem
    );

    line-height: .78;
}

/*
    Second oversized editorial word.

    This sits behind the lower half of the gallery
    and gives the section another layer without
    repeating the photographic hero treatment.
*/

.neighborhoods-editorial-showcase::after {
    content: "SATURDAYS";

    position: absolute;
    z-index: 0;

    left: -3%;
    bottom: 36px;

    color: rgba(26, 61, 88, .034);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(
        8rem,
        15vw,
        16rem
    );

    line-height: .72;
    letter-spacing: -.065em;
    white-space: nowrap;

    pointer-events: none;
}

.neighborhoods-editorial-shell {
    position: relative;
    z-index: 2;
}

/*
    Very soft visual grounding beneath the gallery.
*/

.neighborhoods-accordion {
    position: relative;

    box-shadow:
        0 35px 80px rgba(27, 59, 82, .055);
}

.neighborhoods-editorial-footer {
    position: relative;
    z-index: 2;
}

@media (max-width: 760px) {
    .neighborhoods-editorial-showcase::before {
        top: 48px;
        right: -24%;
        font-size: 8rem;
        opacity: .72;
    }

    .neighborhoods-editorial-showcase::after {
        left: -18%;
        bottom: 70px;
        font-size: 8.5rem;
        opacity: .72;
    }

    .neighborhoods-accordion {
        box-shadow: none;
    }
}

/* NEIGHBORHOODS SECTION ATMOSPHERE END */

/* NEIGHBORHOOD GUIDE HEADING OVERLAP FIX START */

/*
    Corrected vertical spacing.

    The previous override reduced the line-height,
    which pulled "completely" and "different Saturdays"
    closer together.

    This restores the full type size and gives wrapped
    italic lines enough vertical breathing room.
*/

.neighborhoods-editorial-heading h2 {
    line-height: .98;
}

.neighborhoods-editorial-heading h2 span {
    display: block;

    margin-top: .14em;

    font-size: 1em;
    line-height: 1.10;
    letter-spacing: -.05em;
}

@media (max-width: 900px) {
    .neighborhoods-editorial-heading h2 {
        line-height: 1;
    }

    .neighborhoods-editorial-heading h2 span {
        margin-top: .15em;
        font-size: 1em;
        line-height: 1.11;
    }
}

/* NEIGHBORHOOD GUIDE HEADING OVERLAP FIX END */

/* NEIGHBORHOOD FOOTER CTA START */

.neighborhoods-editorial-footer > a {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    min-height: 48px;

    color: #425d70;

    font-size: .9rem;
    line-height: 1.35;

    text-decoration: none;
}

.neighborhoods-editorial-footer > a strong {
    position: relative;

    color: #123b5b;

    font-size: .95rem;
    font-weight: 800;

    letter-spacing: .01em;
}

.neighborhoods-editorial-footer > a strong::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -4px;

    height: 1px;

    background: #b96f28;

    transform: scaleX(.45);
    transform-origin: left center;

    transition:
        transform .22s ease;
}

.neighborhoods-editorial-footer > a > span {
    margin-left: 5px;

    color: #b96f28;

    font-size: 1.05rem;

    transition:
        transform .22s ease;
}

.neighborhoods-editorial-footer > a:hover strong::after,
.neighborhoods-editorial-footer > a:focus-visible strong::after {
    transform: scaleX(1);
}

.neighborhoods-editorial-footer > a:hover > span,
.neighborhoods-editorial-footer > a:focus-visible > span {
    transform: translateX(5px);
}

@media (max-width: 760px) {
    .neighborhoods-editorial-footer > a {
        font-size: .88rem;
    }

    .neighborhoods-editorial-footer > a strong {
        font-size: .94rem;
    }
}

/* NEIGHBORHOOD FOOTER CTA END */

/* NEIGHBORHOOD DAY TEST START */

.neighborhood-day-test {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    margin-top: -1px;

    color: #ffffff;

    background:
        radial-gradient(
            ellipse at 12% 22%,
            rgba(100, 154, 190, .20) 0%,
            rgba(100, 154, 190, .07) 29%,
            transparent 54%
        ),
        radial-gradient(
            ellipse at 77% 45%,
            rgba(109, 153, 182, .10) 0%,
            transparent 42%
        ),
        radial-gradient(
            ellipse at 88% 84%,
            rgba(185, 112, 47, .12) 0%,
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #edf4f8 0%,
            #cbdce7 7%,
            #31566f 16%,
            #123149 27%,
            #092336 48%,
            #071c2b 72%,
            #061722 100%
        );
}

.neighborhood-day-transition {
    position: absolute;
    z-index: 0;

    top: 0;
    left: 0;
    right: 0;

    height: 210px;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(247, 250, 252, .96) 0%,
            rgba(236, 244, 249, .62) 28%,
            rgba(185, 207, 221, .20) 66%,
            transparent 100%
        );
}

.neighborhood-day-test::before {
    content: "24H";

    position: absolute;
    z-index: 0;

    top: 105px;
    right: 4%;

    color: rgba(235, 243, 248, .035);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(
        12rem,
        20vw,
        22rem
    );

    line-height: .75;
    letter-spacing: -.08em;

    pointer-events: none;
}

.neighborhood-day-test::after {
    content: "";

    position: absolute;
    z-index: 0;

    left: -8%;
    right: -8%;
    bottom: -110px;

    height: 300px;

    pointer-events: none;

    background:
        radial-gradient(
            ellipse at 50% 100%,
            rgba(95, 142, 172, .12) 0%,
            rgba(71, 111, 138, .06) 34%,
            transparent 72%
        );
}

.neighborhood-day-test-shell {
    position: relative;
    z-index: 2;

    padding-top: 190px;
    padding-bottom: 115px;
}

.neighborhood-day-test-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1.28fr)
        minmax(300px, .72fr);

    gap: clamp(
        70px,
        9vw,
        145px
    );

    align-items: end;
}

.neighborhood-day-test-heading .section-kicker {
    margin: 0 0 18px;

    color: #d68a43;

    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.neighborhood-day-test-heading h2 {
    max-width: 750px;

    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(
        3.8rem,
        5.2vw,
        6.2rem
    );

    font-weight: 400;

    line-height: .98;
    letter-spacing: -.05em;
}

.neighborhood-day-test-heading h2 span {
    display: block;

    margin-top: .13em;

    color: #abc4d6;

    font-style: italic;
    font-weight: 400;

    line-height: 1.06;
}

.neighborhood-day-test-intro {
    max-width: 430px;

    padding-left: 27px;

    border-left:
        1px solid
        rgba(209, 225, 235, .25);
}

.neighborhood-day-test-intro > span {
    color: #df9650;

    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.neighborhood-day-test-intro p {
    margin: 15px 0 0;

    color: rgba(236, 243, 247, .82);

    font-size: 1.03rem;
    line-height: 1.74;
}

/*
    Flowing timeline
*/

.neighborhood-day-flow {
    position: relative;

    height: 690px;

    margin-top: 86px;
}

.neighborhood-day-flow-path {
    position: absolute;

    z-index: 0;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    overflow: visible;

    pointer-events: none;
}

.neighborhood-day-flow-path path {
    fill: none;

    stroke:
        rgba(155, 191, 214, .28);

    stroke-width: 1.4;

    vector-effect:
        non-scaling-stroke;
}

.neighborhood-day-moment {
    position: absolute;
    z-index: 2;

    width: 245px;
}

.neighborhood-day-moment--morning {
    left: 2%;
    top: 54px;
}

.neighborhood-day-moment--midday {
    left: 29%;
    top: 285px;
}

.neighborhood-day-moment--evening {
    left: 57%;
    top: 115px;
}

.neighborhood-day-moment--night {
    right: 1%;
    top: 300px;
}

.neighborhood-day-time {
    display: flex;
    align-items: baseline;
    gap: 4px;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;
}

.neighborhood-day-time span {
    font-size: 3.05rem;
    line-height: 1;
}

.neighborhood-day-time strong {
    color: #a8c1d2;

    font-size: 1.55rem;
    font-weight: 400;
}

.neighborhood-day-time small {
    margin-left: 4px;

    color: #e29a54;

    font-family:
        Arial,
        sans-serif;

    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.neighborhood-day-node {
    width: 13px;
    height: 13px;

    margin:
        19px
        0
        28px;

    border:
        2px solid
        #d88942;

    border-radius: 50%;

    background: #0a2234;

    box-shadow:
        0 0 0 7px
        rgba(216, 137, 66, .08);
}

.neighborhood-day-copy > span {
    color: #9db9ca;

    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.neighborhood-day-copy h3 {
    margin: 14px 0 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 2.35rem;
    font-weight: 400;

    line-height: 1.03;
    letter-spacing: -.035em;
}

.neighborhood-day-copy p {
    margin: 18px 0 0;

    color: rgba(232, 240, 245, .79);

    font-size: .98rem;
    line-height: 1.72;
}

/*
    Bottom field note
*/

.neighborhood-day-test-footer {
    display: grid;

    grid-template-columns:
        minmax(250px, .72fr)
        minmax(430px, 1.28fr);

    gap: 70px;

    align-items: end;

    padding-top: 46px;

    border-top:
        1px solid
        rgba(201, 220, 232, .18);
}

.neighborhood-day-test-footer > div:first-child > span {
    color: #d88d47;

    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.neighborhood-day-test-footer > div:first-child p {
    margin: 13px 0 0;

    color: #a9c0d0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 2rem;
    line-height: 1.05;
}

.neighborhood-day-test-footer > div:first-child p strong {
    display: block;

    color: #ffffff;

    font-weight: 400;
}

.neighborhood-day-footer-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 35px;
}

.neighborhood-day-footer-action > p {
    max-width: 300px;

    margin: 0;

    color: rgba(226, 237, 243, .69);

    font-size: .92rem;
    line-height: 1.6;
}

.neighborhood-day-footer-action > a {
    min-height: 52px;

    padding:
        0
        19px;

    display: inline-flex;
    align-items: center;
    gap: 27px;

    border:
        1px solid
        rgba(213, 139, 69, .88);

    color: #ffffff;

    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .11em;

    text-decoration: none;
    text-transform: uppercase;

    transition:
        background-color .2s ease,
        border-color .2s ease;
}

.neighborhood-day-footer-action > a span {
    color: #e09b57;

    font-size: 1.05rem;

    transition:
        transform .2s ease;
}

.neighborhood-day-footer-action > a:hover,
.neighborhood-day-footer-action > a:focus-visible {
    background:
        rgba(255, 255, 255, .055);

    border-color:
        #e3a05c;
}

.neighborhood-day-footer-action > a:hover span,
.neighborhood-day-footer-action > a:focus-visible span {
    transform:
        translateX(5px);
}

/*
    Tablet
*/

@media (max-width: 1050px) {
    .neighborhood-day-test-shell {
        padding-top: 160px;
    }

    .neighborhood-day-test-heading {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .neighborhood-day-test-intro {
        max-width: 610px;
    }

    .neighborhood-day-flow {
        height: auto;

        margin-top: 70px;

        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            55px
            70px;
    }

    .neighborhood-day-flow-path {
        display: none;
    }

    .neighborhood-day-moment,
    .neighborhood-day-moment--morning,
    .neighborhood-day-moment--midday,
    .neighborhood-day-moment--evening,
    .neighborhood-day-moment--night {
        position: relative;

        top: auto;
        right: auto;
        left: auto;

        width: auto;
    }

    .neighborhood-day-test-footer {
        margin-top: 75px;

        grid-template-columns: 1fr;
        gap: 35px;
    }

    .neighborhood-day-footer-action {
        justify-content: space-between;
    }
}

/*
    Mobile
*/

@media (max-width: 650px) {
    .neighborhood-day-test-shell {
        padding-top: 130px;
        padding-bottom: 85px;
    }

    .neighborhood-day-test::before {
        top: 90px;
        right: -18%;

        font-size: 11rem;
    }

    .neighborhood-day-test-heading h2 {
        font-size:
            clamp(
                3.1rem,
                12vw,
                4.5rem
            );
    }

    .neighborhood-day-test-intro p {
        font-size: 1rem;
    }

    .neighborhood-day-flow {
        grid-template-columns: 1fr;

        gap: 48px;
    }

    .neighborhood-day-moment {
        padding-bottom: 43px;

        border-bottom:
            1px solid
            rgba(202, 221, 233, .13);
    }

    .neighborhood-day-moment:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .neighborhood-day-time span {
        font-size: 2.75rem;
    }

    .neighborhood-day-copy h3 {
        font-size: 2.1rem;
    }

    .neighborhood-day-copy p {
        font-size: .96rem;
    }

    .neighborhood-day-footer-action {
        align-items: flex-start;
        flex-direction: column;
    }

    .neighborhood-day-footer-action > p {
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .neighborhood-day-footer-action > a,
    .neighborhood-day-footer-action > a span {
        transition: none;
    }
}

/* NEIGHBORHOOD DAY TEST END */

/* NEIGHBORHOOD DAY TEST FADE TUNE START */

.neighborhood-day-transition {
    display: none;
}

/*
    Night sky background.
*/

.neighborhood-day-test {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #2a2142 0%,
            #173149 24%,
            #092336 58%,
            #12364f 100%
        );
}

/*
    Keep the large 24H graphic.
*/

.neighborhood-day-test::before {
    top: 126px;
    z-index: 1;
}

/*
    STAR FIELD A

    More stars than before and enough opacity
    to remain visible against the purple sky.
*/

.neighborhood-day-test::after {
    content: "";

    position: absolute;
    z-index: 0;

    top: 0;
    left: 0;
    right: 0;

    height: 47%;

    pointer-events: none;

    background:
        radial-gradient(circle at 4% 10%, rgba(255,255,255,.62) 0 1px, transparent 1.8px),
        radial-gradient(circle at 9% 23%, rgba(255,255,255,.34) 0 .8px, transparent 1.5px),
        radial-gradient(circle at 14% 7%, rgba(255,255,255,.47) 0 .9px, transparent 1.7px),
        radial-gradient(circle at 19% 18%, rgba(255,255,255,.30) 0 .75px, transparent 1.4px),
        radial-gradient(circle at 24% 11%, rgba(255,255,255,.55) 0 1px, transparent 1.8px),
        radial-gradient(circle at 29% 27%, rgba(255,255,255,.28) 0 .75px, transparent 1.4px),
        radial-gradient(circle at 34% 5%, rgba(255,255,255,.45) 0 .9px, transparent 1.6px),
        radial-gradient(circle at 39% 20%, rgba(255,255,255,.35) 0 .8px, transparent 1.5px),
        radial-gradient(circle at 44% 12%, rgba(255,255,255,.58) 0 1px, transparent 1.8px),
        radial-gradient(circle at 49% 30%, rgba(255,255,255,.29) 0 .7px, transparent 1.35px),
        radial-gradient(circle at 54% 8%, rgba(255,255,255,.48) 0 .9px, transparent 1.65px),
        radial-gradient(circle at 59% 18%, rgba(255,255,255,.32) 0 .75px, transparent 1.45px),
        radial-gradient(circle at 64% 4%, rgba(255,255,255,.55) 0 1px, transparent 1.75px),
        radial-gradient(circle at 69% 25%, rgba(255,255,255,.31) 0 .8px, transparent 1.45px),
        radial-gradient(circle at 74% 13%, rgba(255,255,255,.46) 0 .9px, transparent 1.65px),
        radial-gradient(circle at 79% 31%, rgba(255,255,255,.27) 0 .7px, transparent 1.35px),
        radial-gradient(circle at 84% 7%, rgba(255,255,255,.57) 0 1px, transparent 1.8px),
        radial-gradient(circle at 89% 20%, rgba(255,255,255,.33) 0 .8px, transparent 1.5px),
        radial-gradient(circle at 94% 11%, rgba(255,255,255,.50) 0 .9px, transparent 1.65px),
        radial-gradient(circle at 97% 29%, rgba(255,255,255,.28) 0 .75px, transparent 1.4px);

    opacity: .72;

    animation:
        neighborhood-stars-a
        3.4s
        ease-in-out
        -1.2s
        infinite;

    will-change:
        opacity,
        filter;
}

/*
    STAR FIELD B

    A second independent group gives us asynchronous
    flickering instead of the entire sky pulsing together.
*/

.neighborhood-day-test-shell {
    position: relative;
    z-index: 2;

    padding-top: 232px;
}

.neighborhood-day-test-shell::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: -220px;
    left: -8vw;
    right: -8vw;

    height: 390px;

    pointer-events: none;

    background:
        radial-gradient(circle at 6% 42%, rgba(255,255,255,.42) 0 .8px, transparent 1.5px),
        radial-gradient(circle at 11% 15%, rgba(255,255,255,.56) 0 1px, transparent 1.7px),
        radial-gradient(circle at 17% 35%, rgba(255,255,255,.29) 0 .7px, transparent 1.35px),
        radial-gradient(circle at 23% 8%, rgba(255,255,255,.40) 0 .85px, transparent 1.5px),
        radial-gradient(circle at 28% 45%, rgba(255,255,255,.52) 0 .9px, transparent 1.65px),
        radial-gradient(circle at 33% 24%, rgba(255,255,255,.31) 0 .75px, transparent 1.4px),
        radial-gradient(circle at 38% 6%, rgba(255,255,255,.48) 0 .9px, transparent 1.6px),
        radial-gradient(circle at 43% 39%, rgba(255,255,255,.27) 0 .7px, transparent 1.3px),
        radial-gradient(circle at 48% 18%, rgba(255,255,255,.54) 0 1px, transparent 1.75px),
        radial-gradient(circle at 53% 47%, rgba(255,255,255,.30) 0 .75px, transparent 1.4px),
        radial-gradient(circle at 58% 9%, rgba(255,255,255,.43) 0 .85px, transparent 1.55px),
        radial-gradient(circle at 63% 33%, rgba(255,255,255,.55) 0 .95px, transparent 1.7px),
        radial-gradient(circle at 68% 16%, rgba(255,255,255,.29) 0 .7px, transparent 1.35px),
        radial-gradient(circle at 73% 43%, rgba(255,255,255,.46) 0 .85px, transparent 1.55px),
        radial-gradient(circle at 78% 5%, rgba(255,255,255,.57) 0 1px, transparent 1.75px),
        radial-gradient(circle at 83% 31%, rgba(255,255,255,.28) 0 .7px, transparent 1.35px),
        radial-gradient(circle at 88% 14%, rgba(255,255,255,.49) 0 .9px, transparent 1.6px),
        radial-gradient(circle at 93% 40%, rgba(255,255,255,.32) 0 .75px, transparent 1.4px),
        radial-gradient(circle at 98% 20%, rgba(255,255,255,.44) 0 .85px, transparent 1.55px);

    opacity: .58;

    animation:
        neighborhood-stars-b
        4.7s
        ease-in-out
        -2.6s
        infinite;

    will-change:
        opacity,
        filter;
}

.neighborhood-day-test-heading {
    margin-top: 12px;
}

/*
    Actual twinkle.

    Short brightness peaks make the effect noticeable
    without creating a constant flashing background.
*/

@keyframes neighborhood-stars-a {
    0% {
        opacity: .54;
        filter: brightness(.86);
    }

    17% {
        opacity: .79;
        filter: brightness(1.18);
    }

    29% {
        opacity: .60;
        filter: brightness(.92);
    }

    46% {
        opacity: .88;
        filter: brightness(1.34);
    }

    58% {
        opacity: .57;
        filter: brightness(.88);
    }

    76% {
        opacity: .74;
        filter: brightness(1.12);
    }

    100% {
        opacity: .56;
        filter: brightness(.90);
    }
}

@keyframes neighborhood-stars-b {
    0% {
        opacity: .46;
        filter: brightness(.88);
    }

    13% {
        opacity: .69;
        filter: brightness(1.22);
    }

    31% {
        opacity: .50;
        filter: brightness(.91);
    }

    52% {
        opacity: .76;
        filter: brightness(1.30);
    }

    67% {
        opacity: .48;
        filter: brightness(.86);
    }

    84% {
        opacity: .66;
        filter: brightness(1.17);
    }

    100% {
        opacity: .47;
        filter: brightness(.90);
    }
}

@media (max-width: 1050px) {
    .neighborhood-day-test-shell {
        padding-top: 202px;
    }

    .neighborhood-day-test::before {
        top: 112px;
    }

    .neighborhood-day-test::after {
        height: 43%;
    }

    .neighborhood-day-test-shell::before {
        top: -188px;
        height: 350px;
    }
}

@media (max-width: 650px) {
    .neighborhood-day-test-shell {
        padding-top: 170px;
    }

    .neighborhood-day-test-heading {
        margin-top: 0;
    }

    .neighborhood-day-test::before {
        top: 96px;
    }

    .neighborhood-day-test::after {
        height: 37%;
        opacity: .64;
    }

    .neighborhood-day-test-shell::before {
        top: -150px;
        height: 295px;
        opacity: .50;
    }
}

@media (prefers-reduced-motion: reduce) {
    .neighborhood-day-test::after,
    .neighborhood-day-test-shell::before {
        animation: none;
    }
}

/* NEIGHBORHOOD DAY TEST FADE TUNE END */

/* NEIGHBORHOOD CLOSING CTA START */

.neighborhood-closing {
    position: relative;
    overflow: hidden;
    isolation: isolate;

    background:
        radial-gradient(
            ellipse at 12% 30%,
            rgba(114, 161, 192, .12) 0%,
            transparent 48%
        ),
        radial-gradient(
            ellipse at 89% 76%,
            rgba(183, 111, 47, .065) 0%,
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #f4f8fb 0%,
            #ffffff 48%,
            #eaf2f7 100%
        );

    color: #0c2031;
}

.neighborhood-closing::before {
    content: "YOUR MOVE";

    position: absolute;
    z-index: 0;

    left: -2%;
    bottom: -2rem;

    color: rgba(26, 61, 88, .034);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(
        9rem,
        16vw,
        18rem
    );

    line-height: .72;
    letter-spacing: -.07em;
    white-space: nowrap;

    pointer-events: none;
}

.neighborhood-closing::after {
    content: "";

    position: absolute;
    z-index: 0;

    top: 0;
    left: 0;
    right: 0;

    height: 5px;

    background:
        linear-gradient(
            90deg,
            #2a2142 0%,
            #173149 34%,
            #092336 68%,
            #12364f 100%
        );

    pointer-events: none;
}

.neighborhood-closing-shell {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 1.22fr)
        minmax(360px, .78fr);

    gap: clamp(
        80px,
        10vw,
        155px
    );

    align-items: center;

    padding-top: 120px;
    padding-bottom: 125px;
}

.neighborhood-closing-copy .section-kicker {
    margin: 0 0 19px;

    color: #315f86;

    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.neighborhood-closing-copy h2 {
    max-width: 760px;

    margin: 0;

    color: #0b1f30;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(
        3.8rem,
        5.3vw,
        6.25rem
    );

    font-weight: 400;

    line-height: .97;
    letter-spacing: -.05em;
}

.neighborhood-closing-copy h2 span {
    display: block;

    margin-top: .12em;

    color: #6f8ba0;

    font-style: italic;
    font-weight: 400;

    line-height: 1.06;
}

.neighborhood-closing-lead {
    max-width: 630px;

    margin: 31px 0 0;

    color: #506979;

    font-size: 1.03rem;
    line-height: 1.78;
}

.neighborhood-closing-signals {
    max-width: 700px;

    margin-top: 43px;

    display: flex;
    flex-wrap: wrap;

    gap:
        12px
        14px;
}

.neighborhood-closing-signals span {
    min-height: 39px;

    padding:
        0
        14px;

    display: inline-flex;
    align-items: center;

    border:
        1px solid
        rgba(41, 79, 107, .16);

    background:
        rgba(255, 255, 255, .62);

    color: #36556b;

    font-size: .78rem;
    font-weight: 700;

    box-shadow:
        0 7px 18px
        rgba(32, 64, 86, .035);
}

.neighborhood-conversation {
    position: relative;

    padding:
        34px
        34px
        32px;

    background:
        linear-gradient(
            155deg,
            #102d44 0%,
            #071b2a 100%
        );

    color: #ffffff;

    box-shadow:
        0 30px 70px
        rgba(10, 32, 48, .16);
}

.neighborhood-conversation::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 74px;
    height: 3px;

    background: #c98443;
}

.neighborhood-conversation-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;
}

.neighborhood-conversation-top span,
.neighborhood-conversation-top strong {
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.neighborhood-conversation-top span {
    color: #df9a56;
}

.neighborhood-conversation-top strong {
    color: rgba(222, 234, 242, .48);
}

.neighborhood-conversation blockquote {
    margin:
        46px
        0
        0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(
        2.15rem,
        2.8vw,
        3.25rem
    );

    font-weight: 400;

    line-height: 1.02;
    letter-spacing: -.04em;
}

.neighborhood-conversation blockquote em {
    color: #aac2d3;
    font-weight: 400;
}

.neighborhood-conversation > p {
    margin: 27px 0 0;

    color: rgba(229, 238, 244, .72);

    font-size: .94rem;
    line-height: 1.72;
}

.neighborhood-conversation > a {
    margin-top: 33px;

    min-height: 52px;

    padding:
        0
        17px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    border:
        1px solid
        rgba(210, 136, 65, .88);

    color: #ffffff;

    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .105em;

    text-decoration: none;
    text-transform: uppercase;

    transition:
        background-color .2s ease,
        border-color .2s ease;
}

.neighborhood-conversation > a > span {
    color: #e2a15f;

    font-size: 1rem;

    transition:
        transform .2s ease;
}

.neighborhood-conversation > a:hover,
.neighborhood-conversation > a:focus-visible {
    background:
        rgba(255, 255, 255, .055);

    border-color: #e6a45f;
}

.neighborhood-conversation > a:hover > span,
.neighborhood-conversation > a:focus-visible > span {
    transform: translateX(5px);
}

@media (max-width: 1000px) {
    .neighborhood-closing-shell {
        grid-template-columns: 1fr;

        gap: 65px;
    }

    .neighborhood-conversation {
        max-width: 680px;
    }
}

@media (max-width: 650px) {
    .neighborhood-closing-shell {
        padding-top: 82px;
        padding-bottom: 90px;

        gap: 52px;
    }

    .neighborhood-closing-copy h2 {
        font-size: clamp(
            3.15rem,
            12vw,
            4.55rem
        );
    }

    .neighborhood-closing-lead {
        font-size: .98rem;
    }

    .neighborhood-closing-signals {
        gap: 9px;
    }

    .neighborhood-closing-signals span {
        width: 100%;
    }

    .neighborhood-conversation {
        padding:
            29px
            24px
            26px;
    }

    .neighborhood-conversation blockquote {
        font-size: 2.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .neighborhood-conversation > a,
    .neighborhood-conversation > a > span {
        transition: none;
    }
}

/* NEIGHBORHOOD CLOSING CTA END */

/* NEIGHBORHOOD CLOSING POLISH START */

/*
    Give the headline enough horizontal room to read
    as two deliberate editorial lines instead of
    four accidental stacked fragments.
*/

.neighborhood-closing-shell {
    grid-template-columns:
        minmax(0, 1.38fr)
        minmax(360px, .62fr);

    gap: clamp(
        60px,
        7vw,
        110px
    );
}

.neighborhood-closing-copy h2 {
    max-width: none;

    font-size: clamp(
        3.7rem,
        4.6vw,
        5.2rem
    );

    white-space: nowrap;
}

.neighborhood-closing-copy h2 span {
    margin-top: .13em;

    white-space: nowrap;
}

/*
    Replace the button-like lifestyle chips with
    one editorial line of neighborhood priorities.
*/

.neighborhood-closing-signals {
    max-width: none;

    margin-top: 43px;

    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 0;

    padding:
        17px
        0;

    border-top:
        1px solid
        rgba(41, 79, 107, .16);

    border-bottom:
        1px solid
        rgba(41, 79, 107, .16);
}

.neighborhood-closing-signals span {
    position: relative;

    min-height: 0;

    padding:
        0
        22px;

    border: 0;
    background: transparent;
    box-shadow: none;

    color: #35576e;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .9rem;
    font-weight: 400;
    line-height: 1.45;
}

.neighborhood-closing-signals span:first-child {
    padding-left: 0;
}

.neighborhood-closing-signals span:not(:first-child)::before {
    content: "";

    position: absolute;

    left: -2px;
    top: 50%;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #c17a36;

    transform: translateY(-50%);
}

/*
    Tablet and mobile return to natural wrapping.
*/

@media (max-width: 1000px) {
    .neighborhood-closing-shell {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .neighborhood-closing-copy h2,
    .neighborhood-closing-copy h2 span {
        white-space: normal;
    }

    .neighborhood-closing-copy h2 {
        max-width: 820px;
    }
}

@media (max-width: 650px) {
    .neighborhood-closing-copy h2 {
        font-size: clamp(
            3.15rem,
            12vw,
            4.55rem
        );
    }

    .neighborhood-closing-signals {
        align-items: flex-start;
        flex-direction: column;

        gap: 11px;

        padding:
            16px
            0;
    }

    .neighborhood-closing-signals span {
        width: auto;

        padding:
            0
            0
            0
            16px;

        font-size: .88rem;
    }

    .neighborhood-closing-signals span:first-child {
        padding-left: 16px;
    }

    .neighborhood-closing-signals span::before,
    .neighborhood-closing-signals span:first-child::before {
        content: "";

        position: absolute;

        left: 0;
        top: .7em;

        width: 4px;
        height: 4px;

        border-radius: 50%;

        background: #c17a36;

        transform: none;
    }
}

/* NEIGHBORHOOD CLOSING POLISH END */

/* NEIGHBORHOOD CLOSING SIGNAL ROW START */

@media (min-width: 1001px) {
    .neighborhood-closing-signals {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;

        width: 100%;
    }

    .neighborhood-closing-signals span {
        flex: 0 0 auto;

        padding:
            0
            16px;

        font-size: .82rem;
        line-height: 1.4;

        white-space: nowrap;
    }

    .neighborhood-closing-signals span:first-child {
        padding-left: 0;
    }

    .neighborhood-closing-signals span:last-child {
        padding-right: 0;
    }

    .neighborhood-closing-signals span:not(:first-child)::before {
        left: -2px;
    }
}

@media (min-width: 1001px) and (max-width: 1250px) {
    .neighborhood-closing-signals span {
        padding:
            0
            12px;

        font-size: .78rem;
    }
}

/* NEIGHBORHOOD CLOSING SIGNAL ROW END */

/* NEIGHBORHOOD MOBILE ACCORDION FIX START */

@media (max-width: 760px) {

    /*
        One complete neighborhood at a time.

        The previous 86% card width exposed too much of the next
        neighborhood and made the layout look clipped rather than
        intentionally swipeable.
    */

    .neighborhoods-accordion {
        width: 100%;
        height: auto;

        margin-right: 0;

        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 100%;

        gap: 14px;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0;

        overscroll-behavior-x: contain;

        scrollbar-width: none;
    }

    .neighborhoods-accordion::-webkit-scrollbar {
        display: none;
    }

    .neighborhood-panel,
    .neighborhood-panel.is-active {
        width: 100%;
        min-width: 100%;
        height: 640px;

        scroll-snap-align: start;
        scroll-snap-stop: always;

        overflow: hidden;
    }

    /*
        Every mobile slide presents its full information.
        No desktop compressed-panel state survives here.
    */

    .neighborhood-panel-trigger,
    .neighborhood-panel.is-active .neighborhood-panel-trigger {
        top: 58px;
        left: 22px;
        right: 22px;
        bottom: auto;
    }

    .neighborhood-panel-details,
    .neighborhood-panel.is-active .neighborhood-panel-details {
        left: 22px;
        right: 22px;
        bottom: 25px;

        max-width: none;

        opacity: 1;
        visibility: visible;

        transform: none;

        transition: none;
    }

    .neighborhood-panel-trigger > b {
        display: none;
    }

    .neighborhood-panel::before,
    .neighborhood-panel:not(.is-active)::before,
    .neighborhood-panel.is-active::before {
        transform: scale(1);
        filter: none;
    }

    .neighborhood-panel::after,
    .neighborhood-panel:not(.is-active)::after,
    .neighborhood-panel.is-active::after {
        background:
            linear-gradient(
                180deg,
                rgba(5, 19, 30, .10) 0%,
                rgba(5, 19, 30, .14) 28%,
                rgba(5, 19, 30, .58) 66%,
                rgba(5, 19, 30, .94) 100%
            );
    }

    .neighborhood-panel-details h3 {
        font-size: clamp(
            2.25rem,
            9vw,
            3rem
        );

        line-height: 1;
    }

    .neighborhood-panel-details > p {
        font-size: .91rem;
        line-height: 1.64;
    }

    .neighborhood-panel-facts {
        grid-template-columns: 1fr;
        gap: 8px;

        margin-top: 20px;
    }

    .neighborhood-panel-facts > div {
        display: flex;
        align-items: baseline;
        justify-content: space-between;

        gap: 20px;

        padding-top: 9px;
    }

    .neighborhood-panel-details > a {
        margin-top: 19px;
    }

    /*
        Prevent the accordion itself from creating page-level
        horizontal overflow.
    */

    .neighborhoods-editorial-showcase,
    .neighborhoods-editorial-shell {
        max-width: 100%;
        overflow-x: hidden;
    }

    /*
        Give the footer a little separation from the slider.
    */

    .neighborhoods-editorial-footer {
        margin-top: 18px;
    }
}

@media (max-width: 430px) {
    .neighborhood-panel,
    .neighborhood-panel.is-active {
        height: 625px;
    }

    .neighborhood-panel-details h3 {
        font-size: clamp(
            2.1rem,
            8.5vw,
            2.65rem
        );
    }

    .neighborhood-panel-details > p {
        font-size: .88rem;
    }
}

/* NEIGHBORHOOD MOBILE ACCORDION FIX END */

/* AGENTS HERO START */

.agents-page {
    background: #f5f8fb;
}

.agents-hero {
    position: relative;
    overflow: hidden;

    padding:
        clamp(74px, 7vw, 112px)
        0
        clamp(92px, 8vw, 132px);

    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(47, 95, 143, .08),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #eef4f8 100%
        );

    border-bottom: 1px solid rgba(33, 58, 90, .12);
}

.agents-hero::before {
    content: "PEOPLE";

    position: absolute;
    top: 26px;
    right: -28px;

    color: rgba(33, 58, 90, .035);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(9rem, 20vw, 20rem);
    font-weight: 400;
    line-height: .8;
    letter-spacing: -.08em;

    pointer-events: none;
    user-select: none;
}

.agents-hero-shell {
    position: relative;
    z-index: 1;
}

.agents-hero-copy {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(320px, .65fr);

    column-gap: clamp(56px, 8vw, 120px);
    align-items: end;
}

.agents-hero-copy .hero-kicker {
    grid-column: 1 / -1;

    margin-bottom: 22px;

    color: #244f79;
}

.agents-hero-copy h1 {
    grid-column: 1;

    max-width: 900px;
    margin: 0;

    color: #0b2238;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 6.3vw, 7rem);
    font-weight: 400;
    line-height: .91;
    letter-spacing: -.055em;
}

.agents-hero-copy h1 span {
    display: block;

    margin-top: .08em;

    color: #6989a4;

    font-style: italic;
    font-weight: 400;
}

.agents-hero-lead {
    grid-column: 2;

    max-width: 410px;
    margin:
        0
        0
        20px;

    color: #41576a;

    font-size: 1rem;
    line-height: 1.75;
}

.agents-hero-cta {
    grid-column: 2;

    width: max-content;

    display: inline-flex;
    align-items: center;
    gap: 18px;

    margin-top: 8px;
    padding-bottom: 7px;

    color: #0b2238;

    border-bottom: 1px solid #d06b2c;

    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-decoration: none;
    text-transform: uppercase;
}

.agents-hero-cta span {
    color: #d06b2c;

    font-size: 1rem;

    transition:
        transform .22s ease;
}

.agents-hero-cta:hover span,
.agents-hero-cta:focus-visible span {
    transform: translateX(5px);
}

.agents-hero-visual {
    position: relative;

    margin:
        clamp(52px, 5vw, 74px)
        0
        0;
}

.agents-hero-image-frame {
    position: relative;

    overflow: hidden;

    min-height: 430px;
    height: clamp(430px, 36vw, 560px);

    background: #d9e4ec;

    border:
        1px
        solid
        rgba(33, 58, 90, .18);
}

.agents-hero-image-frame::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(6, 25, 40, 0) 50%,
            rgba(6, 25, 40, .36) 100%
        );

    pointer-events: none;
}

.agents-hero-image-frame img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;
}

.agents-hero-caption {
    position: absolute;
    right: 34px;
    bottom: -38px;

    width: min(430px, calc(100% - 68px));

    display: grid;
    gap: 12px;

    margin: 0;
    padding:
        24px
        28px
        27px;

    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #0a263c 0%,
            #102f48 100%
        );

    border-top: 2px solid #d06b2c;

    box-shadow:
        0
        22px
        48px
        rgba(6, 27, 44, .16);
}

.agents-hero-caption span {
    color: #f09a58;

    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.agents-hero-caption strong {
    max-width: 340px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 400;
    line-height: 1.15;
}

.agents-hero-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    margin-top: 78px;

    border-top: 1px solid rgba(33, 58, 90, .18);
    border-bottom: 1px solid rgba(33, 58, 90, .18);
}

.agents-hero-principles article {
    position: relative;

    min-height: 162px;

    display: grid;
    grid-template-columns: 34px 1fr;
    grid-template-rows: auto 1fr;
    column-gap: 18px;

    padding:
        26px
        30px
        28px;
}

.agents-hero-principles article + article {
    border-left: 1px solid rgba(33, 58, 90, .18);
}

.agents-hero-principles article > span {
    grid-column: 1;
    grid-row: 1 / 3;

    color: #d06b2c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: .9rem;
    font-style: italic;
}

.agents-hero-principles article > strong {
    grid-column: 2;

    color: #0b2238;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.28rem;
    font-weight: 400;
    line-height: 1.15;
}

.agents-hero-principles article > p {
    grid-column: 2;

    max-width: 280px;
    margin:
        10px
        0
        0;

    color: #5a6874;

    font-size: .86rem;
    line-height: 1.55;
}

@media (max-width: 1000px) {
    .agents-hero-copy {
        grid-template-columns: 1fr;
        row-gap: 28px;
    }

    .agents-hero-copy .hero-kicker,
    .agents-hero-copy h1,
    .agents-hero-lead,
    .agents-hero-cta {
        grid-column: 1;
    }

    .agents-hero-copy h1 {
        max-width: 820px;
    }

    .agents-hero-lead {
        max-width: 600px;
        margin-bottom: 0;
    }

    .agents-hero-visual {
        margin-top: 46px;
    }

    .agents-hero-principles article {
        padding-inline: 22px;
    }
}

@media (max-width: 760px) {
    .agents-hero {
        padding:
            58px
            0
            78px;
    }

    .agents-hero::before {
        top: 38px;
        right: -18px;

        font-size: 9.8rem;
    }

    .agents-hero-copy {
        row-gap: 22px;
    }

    .agents-hero-copy .hero-kicker {
        margin-bottom: 4px;
    }

    .agents-hero-copy h1 {
        font-size: clamp(3.2rem, 13vw, 4.7rem);
        line-height: .94;
    }

    .agents-hero-lead {
        max-width: 520px;

        font-size: .96rem;
        line-height: 1.68;
    }

    .agents-hero-visual {
        margin-top: 42px;
    }

    .agents-hero-image-frame {
        min-height: 0;
        height: 390px;
    }

    .agents-hero-image-frame img {
        object-position: center center;
    }

    .agents-hero-caption {
        position: relative;
        right: auto;
        bottom: auto;

        width: calc(100% - 28px);

        margin:
            -34px
            0
            0
            auto;

        padding:
            22px
            24px
            24px;
    }

    .agents-hero-principles {
        grid-template-columns: 1fr;

        margin-top: 54px;
    }

    .agents-hero-principles article {
        min-height: 0;

        padding:
            22px
            0
            24px;

        grid-template-columns: 38px 1fr;
    }

    .agents-hero-principles article + article {
        border-left: 0;
        border-top: 1px solid rgba(33, 58, 90, .18);
    }

    .agents-hero-principles article > p {
        max-width: 520px;
    }
}

@media (max-width: 520px) {
    .agents-hero-image-frame {
        height: 330px;
    }

    .agents-hero-image-frame img {
        object-position: 48% center;
    }

    .agents-hero-caption {
        width: calc(100% - 18px);

        padding-inline: 20px;
    }

    .agents-hero-principles article > strong {
        font-size: 1.18rem;
    }
}

/* AGENTS HERO END */

/* AGENTS HERO HEADLINE TUNE START */

@media (min-width: 1001px) {
    .agents-hero-copy h1 {
        max-width: none;

        font-size: clamp(
            4rem,
            5.35vw,
            5.9rem
        );

        white-space: nowrap;
    }

    .agents-hero-copy h1 span {
        white-space: normal;
    }
}

/* AGENTS HERO HEADLINE TUNE END */

/* AGENTS BLUEPRINT HERO START */

.agents-blueprint-hero {
    position: relative;
    overflow: hidden;
    padding: 112px 0 104px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .22)),
        repeating-linear-gradient(
            to right,
            rgba(112, 145, 176, .12) 0,
            rgba(112, 145, 176, .12) 1px,
            transparent 1px,
            transparent 34px
        ),
        repeating-linear-gradient(
            to bottom,
            rgba(112, 145, 176, .12) 0,
            rgba(112, 145, 176, .12) 1px,
            transparent 1px,
            transparent 34px
        ),
        linear-gradient(180deg, #f8fbfe 0%, #eef4f9 100%);
    isolation: isolate;
}

.agents-blueprint-hero::before,
.agents-blueprint-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .44;
    z-index: 0;
}

.agents-blueprint-hero::before {
    left: -42px;
    top: 118px;
    width: 360px;
    height: 840px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 840'%3E%3Cg fill='none' stroke='%2388a8c6' stroke-width='1.4' opacity='0.92'%3E%3Crect x='24' y='106' width='162' height='176'/%3E%3Crect x='44' y='126' width='82' height='74'/%3E%3Crect x='44' y='214' width='102' height='48'/%3E%3Crect x='138' y='126' width='28' height='136'/%3E%3Cline x1='24' y1='94' x2='186' y2='94'/%3E%3Cline x1='24' y1='294' x2='186' y2='294'/%3E%3Cline x1='12' y1='106' x2='12' y2='282'/%3E%3Cline x1='198' y1='106' x2='198' y2='282'/%3E%3Ccircle cx='74' cy='684' r='86'/%3E%3Ccircle cx='74' cy='684' r='52'/%3E%3Cline x1='74' y1='580' x2='74' y2='788'/%3E%3Cline x1='-30' y1='684' x2='178' y2='684'/%3E%3Cline x1='0' y1='826' x2='236' y2='590'/%3E%3Cline x1='232' y1='0' x2='232' y2='840' opacity='.45'/%3E%3Cline x1='0' y1='402' x2='296' y2='402' opacity='.45'/%3E%3C/g%3E%3Cg fill='%2388a8c6' opacity='0.82' font-family='Arial' font-size='12'%3E%3Ctext x='30' y='82'%3E14' - 0%22%3C/text%3E%3Ctext x='26' y='502'%3ESTRONGER%3C/text%3E%3Ctext x='26' y='520'%3ECOMMUNITIES%3C/text%3E%3Ctext x='26' y='538'%3ETOGETHER%3C/text%3E%3Ctext x='40' y='790'%3ELOCAL%3C/text%3E%3Ctext x='40' y='808'%3EEXPERTISE%3C/text%3E%3Ctext x='40' y='826'%3EREAL IMPACT%3C/text%3E%3C/g%3E%3C/svg%3E");
}

.agents-blueprint-hero::after {
    right: -34px;
    top: 72px;
    width: 370px;
    height: 850px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 370 850'%3E%3Cg fill='none' stroke='%2388a8c6' stroke-width='1.4' opacity='0.92'%3E%3Cpath d='M52 20h228a86 86 0 0 1 86 86v0H198'/%3E%3Cline x1='168' y1='0' x2='168' y2='138'/%3E%3Cline x1='0' y1='218' x2='298' y2='218'/%3E%3Crect x='196' y='246' width='130' height='196'/%3E%3Crect x='214' y='264' width='46' height='54'/%3E%3Crect x='268' y='264' width='40' height='54'/%3E%3Crect x='214' y='330' width='94' height='94'/%3E%3Cline x1='184' y1='246' x2='184' y2='442'/%3E%3Cline x1='338' y1='246' x2='338' y2='442'/%3E%3Cline x1='148' y1='292' x2='338' y2='292' opacity='.52'/%3E%3Cline x1='186' y1='688' x2='340' y2='688'/%3E%3Cline x1='186' y1='708' x2='340' y2='708'/%3E%3Cline x1='188' y1='728' x2='340' y2='728'/%3E%3Ccircle cx='154' cy='142' r='16'/%3E%3Cline x1='132' y1='142' x2='176' y2='142'/%3E%3Cline x1='154' y1='120' x2='154' y2='164'/%3E%3C/g%3E%3Cg fill='%2388a8c6' opacity='0.82' font-family='Arial' font-size='12'%3E%3Ctext x='310' y='108'%3EPEOPLE%3C/text%3E%3Ctext x='310' y='126'%3EPLACES%3C/text%3E%3Ctext x='310' y='144'%3EPOSSIBILITIES%3C/text%3E%3Ctext x='240' y='520'%3EPEOPLE%3C/text%3E%3Ctext x='240' y='538'%3EPLANS%3C/text%3E%3Ctext x='240' y='556'%3EPROGRESS%3C/text%3E%3Ctext x='292' y='822'%3EA MORE%3C/text%3E%3Ctext x='292' y='840'%3ETHOUGHTFUL%3C/text%3E%3C/g%3E%3C/svg%3E");
}

.agents-blueprint-watermark {
    position: absolute;
    top: 12px;
    right: 88px;
    color: rgba(18, 22, 28, .045);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(8rem, 18vw, 13rem);
    line-height: .86;
    letter-spacing: -.04em;
    z-index: 0;
    pointer-events: none;
}

.agents-blueprint-shell {
    position: relative;
    z-index: 1;
}

.agents-blueprint-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .72fr);
    gap: 88px;
    align-items: end;
    margin-bottom: 64px;
}

.agents-blueprint-heading h1 {
    max-width: 740px;
    margin: 0;
    color: #0f2644;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.85rem, 7vw, 6.7rem);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.055em;
}

.agents-blueprint-heading h1 em {
    display: block;
    color: #7091b0;
    font-style: italic;
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.045em;
}

.agents-blueprint-copy {
    max-width: 360px;
    margin-left: auto;
}

.agents-blueprint-copy p {
    margin: 0 0 26px;
    color: #294563;
    font-size: 1.12rem;
    line-height: 1.72;
}

.agents-blueprint-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(224, 160, 95, .9);
    color: #0f2644;
    font-size: .92rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
}

.agents-blueprint-link span {
    color: #e0a05f;
    font-size: 1.05rem;
}

.agents-blueprint-media {
    position: relative;
    overflow: visible;
    margin-bottom: 60px;
}

.agents-blueprint-figure {
    margin: 0;
    position: relative;
    z-index: 1;
}

.agents-blueprint-figure img {
    width: 100%;
    max-width: 930px;
    aspect-ratio: 93 / 52;
    object-fit: cover;
    border: 1px solid rgba(116, 142, 168, .28);
    box-shadow: 0 22px 48px rgba(22, 44, 74, .06);
}

.agents-blueprint-card {
    position: absolute;
    right: 26px;
    bottom: -30px;
    width: min(100%, 350px);
    padding: 28px 28px 24px;
    background: linear-gradient(180deg, #12345b 0%, #0b2845 100%);
    color: #ffffff;
    box-shadow: 0 16px 38px rgba(17, 40, 67, .22);
    z-index: 4;
}

.agents-blueprint-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 104px;
    height: 2px;
    background: #e0a05f;
}

.agents-blueprint-card-kicker {
    margin: 0 0 14px;
    color: #e0a05f;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.agents-blueprint-card h2 {
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3vw, 3.25rem);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.agents-blueprint-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(126, 151, 176, .34);
    border-bottom: 1px solid rgba(126, 151, 176, .34);
}

.agents-blueprint-value {
    padding: 20px 30px 18px 0;
    min-height: 122px;
}

.agents-blueprint-value + .agents-blueprint-value {
    padding-left: 30px;
    border-left: 1px solid rgba(126, 151, 176, .34);
}

.agents-blueprint-value > span {
    display: inline-block;
    margin-bottom: 10px;
    color: #e0a05f;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .16em;
}

.agents-blueprint-value h3 {
    margin: 0 0 10px;
    color: #0f2644;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -.03em;
}

.agents-blueprint-value p {
    max-width: 290px;
    margin: 0;
    color: #49637b;
    font-size: 1.02rem;
    line-height: 1.62;
}

.agents-blueprint-note {
    position: absolute;
    color: rgba(110, 142, 172, .88);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .34em;
    text-transform: uppercase;
    z-index: 0;
    pointer-events: none;
}

.agents-blueprint-note::after {
    content: "";
    display: block;
    width: 18px;
    height: 1px;
    margin-top: 10px;
    background: rgba(110, 142, 172, .88);
}

.agents-blueprint-note-top-right {
    top: 116px;
    right: 70px;
}

.agents-blueprint-note-right-mid {
    top: 420px;
    right: 72px;
}

.agents-blueprint-note-left-mid {
    left: 58px;
    top: 520px;
}

.agents-blueprint-note-left-bottom {
    left: 84px;
    bottom: 156px;
}

.agents-blueprint-note-right-bottom {
    right: 66px;
    bottom: 108px;
}

.agents-blueprint-compass {
    position: absolute;
    left: 74px;
    bottom: 146px;
    width: 26px;
    height: 52px;
    z-index: 0;
    pointer-events: none;
}

.agents-blueprint-compass::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 18px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 14px solid rgba(110, 142, 172, .88);
}

.agents-blueprint-compass span {
    position: absolute;
    left: 7px;
    top: 0;
    color: rgba(110, 142, 172, .88);
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .1em;
}

@media (max-width: 1200px) {
    .agents-blueprint-intro {
        gap: 56px;
    }

    .agents-blueprint-note-top-right,
    .agents-blueprint-note-right-mid,
    .agents-blueprint-note-right-bottom {
        right: 24px;
    }

    .agents-blueprint-note-left-mid {
        left: 24px;
    }

    .agents-blueprint-note-left-bottom,
    .agents-blueprint-compass {
        left: 34px;
    }

    .agents-blueprint-watermark {
        right: 28px;
    }
}

@media (max-width: 1000px) {
    .agents-blueprint-hero {
        padding: 92px 0 88px;
    }

    .agents-blueprint-hero::before,
    .agents-blueprint-hero::after,
    .agents-blueprint-watermark,
    .agents-blueprint-note,
    .agents-blueprint-compass {
        opacity: .24;
    }

    .agents-blueprint-intro {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-bottom: 44px;
    }

    .agents-blueprint-copy {
        max-width: none;
        margin-left: 0;
    }

    .agents-blueprint-card {
        right: 0;
        bottom: -24px;
    }

    .agents-blueprint-values {
        grid-template-columns: 1fr;
    }

    .agents-blueprint-value {
        padding: 20px 0;
        min-height: 0;
    }

    .agents-blueprint-value + .agents-blueprint-value {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid rgba(126, 151, 176, .34);
    }
}

@media (max-width: 700px) {
    .site-shell {
        width: min(var(--max-width), calc(100% - 28px));
    }

    .agents-blueprint-hero {
        padding: 72px 0 76px;
    }

    .agents-blueprint-hero::before,
    .agents-blueprint-hero::after,
    .agents-blueprint-watermark,
    .agents-blueprint-note,
    .agents-blueprint-compass {
        display: none;
    }

    .agents-blueprint-heading h1 {
        font-size: clamp(3rem, 12vw, 4.5rem);
        line-height: .94;
    }

    .agents-blueprint-copy p {
        font-size: 1rem;
    }

    .agents-blueprint-media {
        margin-bottom: 34px;
    }

    .agents-blueprint-figure img {
        aspect-ratio: 4 / 3;
    }

    .agents-blueprint-card {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        margin-top: 16px;
        padding: 22px 22px 20px;
    }

    .agents-blueprint-card h2 {
        font-size: clamp(1.7rem, 8vw, 2.35rem);
    }

    .agents-blueprint-value h3 {
        font-size: 1.55rem;
    }

    .agents-blueprint-value p {
        font-size: .98rem;
        max-width: none;
    }
}

/* AGENTS BLUEPRINT HERO END */

/* AGENTS ROSTER START */

.agents-roster {
    position: relative;
    overflow: hidden;

    padding:
        clamp(96px, 8vw, 138px)
        0
        clamp(104px, 9vw, 150px);

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(102, 143, 180, .08),
            transparent 27%
        ),
        #f8fafc;
}

.agents-roster::before {
    content: "THE PEOPLE";

    position: absolute;
    left: -26px;
    bottom: -28px;

    color: rgba(15, 38, 68, .035);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(8rem, 18vw, 18rem);
    font-weight: 400;
    line-height: .75;
    letter-spacing: -.065em;

    white-space: nowrap;

    pointer-events: none;
}

.agents-roster-shell {
    position: relative;
    z-index: 1;
}

.agents-roster-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(320px, .55fr);

    gap: clamp(58px, 8vw, 116px);
    align-items: end;

    margin-bottom: clamp(58px, 6vw, 86px);
}

.agents-roster-heading h2 {
    max-width: 760px;
    margin: 0;

    color: #0f2644;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.7rem, 6vw, 6.3rem);
    font-weight: 400;
    line-height: .93;
    letter-spacing: -.055em;
}

.agents-roster-heading h2 em {
    display: block;

    margin-top: .07em;

    color: #6e8faa;

    font-style: italic;
    font-weight: 400;
}

.agents-roster-heading > p {
    max-width: 390px;
    margin: 0 0 7px;

    color: #465f76;

    font-size: 1rem;
    line-height: 1.72;
}

.agents-roster-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    border-top:
        1px
        solid
        rgba(67, 94, 119, .22);

    border-left:
        1px
        solid
        rgba(67, 94, 119, .22);
}

.agent-dossier {
    min-width: 0;

    display: grid;
    grid-template-columns:
        minmax(185px, .42fr)
        minmax(0, .58fr);

    min-height: 395px;

    background: rgba(255, 255, 255, .68);

    border-right:
        1px
        solid
        rgba(67, 94, 119, .22);

    border-bottom:
        1px
        solid
        rgba(67, 94, 119, .22);
}

.agent-dossier-photo {
    position: relative;

    min-width: 0;
    margin: 0;

    overflow: hidden;

    background: #dce6ed;
}

.agent-dossier-photo::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(8, 31, 51, 0) 56%,
            rgba(8, 31, 51, .34) 100%
        );

    pointer-events: none;
}

.agent-dossier-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    filter:
        saturate(.9)
        contrast(.98);

    transition:
        transform .45s ease,
        filter .45s ease;
}

.agent-dossier:hover .agent-dossier-photo img {
    transform: scale(1.025);

    filter:
        saturate(1)
        contrast(1);
}

.agent-dossier--nadia .agent-dossier-photo img {
    object-position: 20% center;
}

.agent-dossier--ethan .agent-dossier-photo img {
    object-position: 39% center;
}

.agent-dossier--claire .agent-dossier-photo img {
    object-position: 62% center;
}

.agent-dossier--marcus .agent-dossier-photo img {
    object-position: 84% center;
}

.agent-dossier-photo > span {
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 2;

    min-width: 35px;
    height: 35px;

    display: inline-grid;
    place-items: center;

    color: #ffffff;
    background: #0d2d4c;

    border-top: 2px solid #dd8a49;

    font-family: Georgia, "Times New Roman", serif;
    font-size: .78rem;
    font-style: italic;
}

.agent-dossier-copy {
    display: flex;
    flex-direction: column;

    padding:
        clamp(30px, 3vw, 42px)
        clamp(28px, 3vw, 42px)
        30px;
}

.agent-dossier-role {
    margin: 0 0 10px;

    color: #d06b2c;

    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.agent-dossier-copy h3 {
    margin: 0;

    color: #0d2844;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 2.7vw, 3rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.04em;
}

.agent-dossier-intro {
    max-width: 330px;
    margin:
        20px
        0
        24px;

    color: #4a6073;

    font-size: .89rem;
    line-height: 1.62;
}

.agent-dossier-call {
    margin-top: auto;
    padding-top: 18px;

    border-top:
        1px
        solid
        rgba(67, 94, 119, .2);
}

.agent-dossier-call > span {
    display: block;

    margin-bottom: 8px;

    color: #71869a;

    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.agent-dossier-call strong {
    display: block;

    max-width: 320px;

    color: #17324d;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.03rem;
    font-weight: 400;
    line-height: 1.36;
}

.agent-dossier-focus {
    margin:
        18px
        0
        0;

    color: #71869a;

    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.agents-roster-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 32px;

    padding-top: 28px;
}

.agents-roster-footer > span {
    color: #61788c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: .95rem;
    font-style: italic;
}

.agents-roster-footer > a {
    display: inline-flex;
    align-items: center;

    gap: 16px;

    padding-bottom: 8px;

    color: #0f2944;

    border-bottom: 1px solid #d06b2c;

    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-decoration: none;
    text-transform: uppercase;
}

.agents-roster-footer > a span {
    color: #d06b2c;
}

@media (max-width: 1050px) {
    .agents-roster-heading {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .agents-roster-heading > p {
        max-width: 600px;
    }

    .agents-roster-grid {
        grid-template-columns: 1fr;
    }

    .agent-dossier {
        grid-template-columns:
            minmax(210px, .38fr)
            minmax(0, .62fr);
    }
}

@media (max-width: 700px) {
    .agents-roster {
        padding:
            76px
            0
            88px;
    }

    .agents-roster::before {
        font-size: 8rem;
    }

    .agents-roster-heading {
        margin-bottom: 42px;
    }

    .agents-roster-heading h2 {
        font-size: clamp(
            3rem,
            12vw,
            4.5rem
        );
    }

    .agent-dossier {
        grid-template-columns: 1fr;

        min-height: 0;
    }

    .agent-dossier-photo {
        height: 360px;
    }

    .agent-dossier-copy {
        padding:
            28px
            24px
            30px;
    }

    .agent-dossier-intro {
        max-width: none;
    }

    .agent-dossier-call strong {
        max-width: none;
    }

    .agents-roster-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 460px) {
    .agent-dossier-photo {
        height: 315px;
    }
}

/* AGENTS ROSTER END */

/* AGENT DOSSIER JOKE START */

.agent-dossier-call-joke > p {
    max-width: 300px;
    margin: 10px 0 0;

    color: #5f7487;

    font-size: .82rem;
    line-height: 1.55;
}

/* AGENT DOSSIER JOKE END */

/* AGENTS ROSTER BACKGROUND START */

.agents-roster {
    position: relative;
    isolation: isolate;

    background:
        radial-gradient(
            ellipse at 50% 38%,
            rgba(255, 255, 255, .96) 0%,
            rgba(255, 255, 255, .82) 37%,
            rgba(238, 245, 250, .42) 70%,
            rgba(228, 239, 247, .7) 100%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(73, 121, 162, .055) 0,
            rgba(73, 121, 162, .055) 1px,
            transparent 1px,
            transparent 42px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(73, 121, 162, .055) 0,
            rgba(73, 121, 162, .055) 1px,
            transparent 1px,
            transparent 42px
        ),
        #eef5fa;
}

.agents-roster::before {
    content: "THE TEAM";

    position: absolute;
    left: 50%;
    bottom: -38px;

    transform: translateX(-50%);

    color: rgba(15, 38, 68, .038);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(9rem, 19vw, 19rem);
    font-weight: 400;
    line-height: .72;
    letter-spacing: -.075em;

    white-space: nowrap;

    z-index: 0;
    pointer-events: none;
    user-select: none;
}

.agents-roster::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;
    pointer-events: none;

    opacity: .58;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1100'%3E%3Cg fill='none' stroke='%237b9fbe' stroke-width='1.15' opacity='.72'%3E%3C!-- LEFT DOSSIER PLAN --%3E%3Crect x='-44' y='108' width='248' height='208'/%3E%3Crect x='-18' y='132' width='84' height='76'/%3E%3Crect x='78' y='132' width='98' height='76'/%3E%3Crect x='-18' y='220' width='194' height='68'/%3E%3Cline x1='204' y1='86' x2='204' y2='340'/%3E%3Cline x1='-10' y1='82' x2='216' y2='82'/%3E%3Cline x1='-10' y1='342' x2='216' y2='342'/%3E%3Cline x1='10' y1='72' x2='10' y2='352' opacity='.48'/%3E%3Ccircle cx='108' cy='514' r='74'/%3E%3Ccircle cx='108' cy='514' r='38'/%3E%3Cline x1='18' y1='514' x2='198' y2='514'/%3E%3Cline x1='108' y1='424' x2='108' y2='604'/%3E%3Cpath d='M2 772h178l44 44v166H2z'/%3E%3Crect x='28' y='804' width='64' height='62'/%3E%3Crect x='108' y='804' width='82' height='62'/%3E%3Cline x1='28' y1='886' x2='190' y2='886'/%3E%3C!-- RIGHT DOSSIER PLAN --%3E%3Cpath d='M1378 102h204v216h-204z'/%3E%3Crect x='1400' y='128' width='66' height='62'/%3E%3Crect x='1478' y='128' width='78' height='62'/%3E%3Crect x='1400' y='204' width='156' height='88'/%3E%3Cline x1='1360' y1='86' x2='1582' y2='86'/%3E%3Cline x1='1360' y1='334' x2='1582' y2='334'/%3E%3Ccircle cx='1482' cy='476' r='18'/%3E%3Cline x1='1456' y1='476' x2='1508' y2='476'/%3E%3Cline x1='1482' y1='450' x2='1482' y2='502'/%3E%3Cpath d='M1406 648h150v186h-150z'/%3E%3Crect x='1428' y='670' width='42' height='54'/%3E%3Crect x='1482' y='670' width='52' height='54'/%3E%3Crect x='1428' y='738' width='106' height='72'/%3E%3Cline x1='1372' y1='628' x2='1580' y2='628'/%3E%3Cline x1='1372' y1='856' x2='1580' y2='856'/%3E%3C!-- DRAFTING TICKS --%3E%3Cline x1='240' y1='44' x2='240' y2='100'/%3E%3Cline x1='228' y1='72' x2='252' y2='72'/%3E%3Cline x1='1286' y1='946' x2='1286' y2='1014'/%3E%3Cline x1='1274' y1='980' x2='1298' y2='980'/%3E%3C/g%3E%3Cg fill='%237b9fbe' opacity='.72' font-family='Arial' font-size='11' letter-spacing='2'%3E%3Ctext x='32' y='378'%3EAGENT FILE 01%3C/text%3E%3Ctext x='32' y='396'%3ELOCAL KNOWLEDGE%3C/text%3E%3Ctext x='32' y='414'%3EPEOPLE FIRST%3C/text%3E%3Ctext x='1396' y='378'%3EAGENT FILE 04%3C/text%3E%3Ctext x='1396' y='396'%3EMARKET CONTEXT%3C/text%3E%3Ctext x='1396' y='414'%3ESTRAIGHT ANSWERS%3C/text%3E%3Ctext x='44' y='1026'%3EPEOPLE / PLANS / GOOD MOVES%3C/text%3E%3Ctext x='1348' y='912'%3EFOUR SPECIALTIES%3C/text%3E%3Ctext x='1348' y='930'%3EONE TABLE%3C/text%3E%3C/g%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.agents-roster-shell {
    position: relative;
    z-index: 2;
}

.agents-roster-heading {
    position: relative;
}

.agents-roster-heading::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: -30px;

    width: 72px;
    height: 1px;

    background: #d06b2c;

    opacity: .72;
}

.agents-roster-grid {
    position: relative;

    box-shadow:
        0
        28px
        65px
        rgba(31, 67, 96, .055);

    background:
        rgba(248, 251, 253, .58);

    backdrop-filter: blur(1px);
}

.agents-roster-grid::before {
    content: "TEAM DOSSIERS";

    position: absolute;
    top: -26px;
    right: 0;

    color: rgba(64, 96, 124, .7);

    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;

    pointer-events: none;
}

.agent-dossier {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .97) 0%,
            rgba(250, 252, 254, .94) 100%
        );
}

.agents-roster-footer {
    position: relative;
    z-index: 2;
}

@media (max-width: 1050px) {
    .agents-roster::after {
        opacity: .34;
        background-size: auto 100%;
    }

    .agents-roster::before {
        font-size: 10rem;
    }
}

@media (max-width: 700px) {
    .agents-roster {
        background:
            radial-gradient(
                ellipse at 50% 20%,
                rgba(255, 255, 255, .96) 0%,
                rgba(240, 247, 251, .76) 72%,
                rgba(232, 242, 248, .88) 100%
            ),
            repeating-linear-gradient(
                90deg,
                rgba(73, 121, 162, .045) 0,
                rgba(73, 121, 162, .045) 1px,
                transparent 1px,
                transparent 32px
            ),
            repeating-linear-gradient(
                0deg,
                rgba(73, 121, 162, .045) 0,
                rgba(73, 121, 162, .045) 1px,
                transparent 1px,
                transparent 32px
            ),
            #eef5fa;
    }

    .agents-roster::after {
        display: none;
    }

    .agents-roster::before {
        bottom: -12px;

        font-size: 7.5rem;

        opacity: .7;
    }

    .agents-roster-heading::after {
        bottom: -20px;
    }

    .agents-roster-grid::before {
        display: none;
    }

    .agents-roster-grid {
        box-shadow:
            0
            20px
            46px
            rgba(31, 67, 96, .05);

        backdrop-filter: none;
    }
}

/* AGENTS ROSTER BACKGROUND END */

/* AGENTS HEADING SPACING FIX START */

/*
    Give the two headline lines breathing room so
    "behind the plan." does not crash into the line above it.
*/

.agents-roster .section-heading h2,
.agents-roster-heading h2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .12em;
    line-height: .92;
}

/*
    Keep the editorial second line slightly tighter,
    but clearly separated from the first line.
*/

.agents-roster .section-heading h2 em,
.agents-roster .section-heading h2 i,
.agents-roster .section-heading h2 span,
.agents-roster-heading h2 em,
.agents-roster-heading h2 i,
.agents-roster-heading h2 span {
    line-height: .9;
}

@media (max-width: 700px) {
    .agents-roster .section-heading h2,
    .agents-roster-heading h2 {
        gap: .09em;
    }
}

/* AGENTS HEADING SPACING FIX END */

/* AGENTS WORKFLOW START */

.agents-workflow {
    position: relative;
    overflow: hidden;
    isolation: isolate;

    padding:
        clamp(104px, 9vw, 150px)
        0
        clamp(104px, 9vw, 150px);

    color: #ffffff;

    background:
        radial-gradient(
            circle at 18% 20%,
            rgba(64, 116, 158, .28),
            transparent 26%
        ),
        radial-gradient(
            circle at 82% 76%,
            rgba(28, 78, 118, .24),
            transparent 30%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(127, 165, 195, .055) 0,
            rgba(127, 165, 195, .055) 1px,
            transparent 1px,
            transparent 46px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(127, 165, 195, .045) 0,
            rgba(127, 165, 195, .045) 1px,
            transparent 1px,
            transparent 46px
        ),
        linear-gradient(
            145deg,
            #071b2d 0%,
            #0b2942 52%,
            #0d3553 100%
        );
}

.agents-workflow::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255, 255, 255, .02) 48%,
            transparent 100%
        );

    z-index: 0;
}

.agents-workflow-ghost {
    position: absolute;
    left: 50%;
    top: 16px;

    transform: translateX(-50%);

    color: rgba(255, 255, 255, .028);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(8rem, 17vw, 17rem);
    line-height: .8;
    letter-spacing: -.065em;

    white-space: nowrap;

    pointer-events: none;
    user-select: none;

    z-index: 0;
}

.agents-workflow-shell {
    position: relative;
    z-index: 2;
}

.agents-workflow-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(320px, .58fr);

    gap: clamp(60px, 8vw, 116px);
    align-items: end;

    margin-bottom:
        clamp(76px, 8vw, 112px);
}

.agents-workflow .section-kicker {
    color: #f29a57;
}

.agents-workflow-heading h2 {
    max-width: 800px;
    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.8rem, 6.2vw, 6.6rem);
    font-weight: 400;
    line-height: .94;
    letter-spacing: -.055em;
}

.agents-workflow-heading h2 em {
    display: block;

    margin-top: .09em;

    color: #8fb0cb;

    font-style: italic;
    font-weight: 400;
}

.agents-workflow-intro {
    max-width: 410px;
    margin-left: auto;
}

.agents-workflow-intro p {
    margin: 0 0 24px;

    color: #c3d2de;

    font-size: .98rem;
    line-height: 1.72;
}

.agents-workflow-intro strong {
    display: block;

    padding-top: 18px;

    color: #ffffff;

    border-top:
        1px
        solid
        rgba(157, 188, 213, .24);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    font-weight: 400;
    line-height: 1.45;
}

.agents-workflow-route {
    position: relative;

    min-height: 460px;

    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 32px;
}

.agents-workflow-line {
    position: absolute;
    left: 0;
    top: 46px;

    width: 100%;
    height: 170px;

    overflow: visible;

    pointer-events: none;
}

.agents-workflow-line path {
    fill: none;

    stroke: rgba(240, 154, 87, .72);
    stroke-width: 2;

    stroke-linecap: round;

    stroke-dasharray:
        5
        8;
}

.agents-workflow-step {
    position: relative;

    align-self: start;

    padding:
        52px
        24px
        28px
        0;

    border-top:
        1px
        solid
        rgba(158, 188, 211, .24);
}

.agents-workflow-step--two {
    margin-top: 74px;
}

.agents-workflow-step--three {
    margin-top: 22px;
}

.agents-workflow-step--four {
    margin-top: 94px;
}

.agents-workflow-step::before {
    content: "";

    position: absolute;
    left: 0;
    top: -7px;

    width: 13px;
    height: 13px;

    background: #0b2942;

    border:
        2px
        solid
        #f09a58;

    border-radius: 50%;

    box-shadow:
        0
        0
        0
        6px
        rgba(240, 154, 88, .09);
}

.agents-workflow-number {
    display: block;

    margin-bottom: 16px;

    color: #f09a58;

    font-family: Georgia, "Times New Roman", serif;
    font-size: .8rem;
    font-style: italic;
}

.agents-workflow-label {
    margin: 0 0 9px;

    color: #91abc0;

    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.agents-workflow-step h3 {
    max-width: 250px;
    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 2.4vw, 2.45rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.agents-workflow-step > p:last-child {
    max-width: 260px;
    margin: 20px 0 0;

    color: #aec1d0;

    font-size: .84rem;
    line-height: 1.65;
}

.agents-workflow-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-top: 20px;
    padding-top: 28px;

    border-top:
        1px
        solid
        rgba(158, 188, 211, .24);
}

.agents-workflow-footer > div {
    display: grid;
    gap: 8px;
}

.agents-workflow-footer > div > span {
    color: #f09a58;

    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.agents-workflow-footer strong {
    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.18rem;
    font-weight: 400;
}

.agents-workflow-footer > a {
    display: inline-flex;
    align-items: center;

    gap: 16px;

    padding-bottom: 8px;

    color: #ffffff;

    border-bottom:
        1px
        solid
        #f09a58;

    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
}

.agents-workflow-footer > a span {
    color: #f09a58;
}

@media (max-width: 1000px) {
    .agents-workflow-heading {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .agents-workflow-intro {
        max-width: 620px;
        margin-left: 0;
    }

    .agents-workflow-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        min-height: 0;
        gap: 52px 36px;
    }

    .agents-workflow-line {
        display: none;
    }

    .agents-workflow-step,
    .agents-workflow-step--two,
    .agents-workflow-step--three,
    .agents-workflow-step--four {
        margin-top: 0;
    }
}

@media (max-width: 700px) {
    .agents-workflow {
        padding:
            82px
            0
            90px;
    }

    .agents-workflow-ghost {
        top: 28px;

        font-size: 7.4rem;
    }

    .agents-workflow-heading {
        margin-bottom: 54px;
    }

    .agents-workflow-heading h2 {
        font-size: clamp(
            3rem,
            12vw,
            4.5rem
        );
    }

    .agents-workflow-route {
        grid-template-columns: 1fr;

        gap: 0;

        padding-left: 30px;
    }

    .agents-workflow-route::before {
        content: "";

        position: absolute;
        left: 6px;
        top: 0;
        bottom: 0;

        width: 1px;

        background:
            linear-gradient(
                180deg,
                #f09a58 0%,
                rgba(240, 154, 88, .18) 100%
            );
    }

    .agents-workflow-step {
        padding:
            30px
            0
            42px;

        border-top: 0;
    }

    .agents-workflow-step::before {
        left: -30px;
        top: 33px;
    }

    .agents-workflow-step h3,
    .agents-workflow-step > p:last-child {
        max-width: none;
    }

    .agents-workflow-footer {
        align-items: flex-start;
        flex-direction: column;

        margin-top: 12px;
    }
}

/* AGENTS WORKFLOW END */

/* AGENTS ROSTER MOTION START */

/*
    The original static architectural overlay is replaced by
    an SVG layer whose lines can actually draw themselves.
*/

.agents-roster::after {
    opacity: 0;
}

.agents-roster-blueprint-draw {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    z-index: 1;
    pointer-events: none;

    overflow: hidden;
}

.agents-roster-blueprint-draw .blueprint-stroke {
    fill: none;

    stroke: rgba(111, 151, 184, .64);
    stroke-width: 1.25;

    vector-effect: non-scaling-stroke;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.agents-roster-blueprint-draw .blueprint-draw-note {
    fill: rgba(100, 139, 171, .74);

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;

    letter-spacing: 3px;
}

/*
    Animation states are applied only after JavaScript confirms
    that motion can run. Without JavaScript, everything remains visible.
*/

.agents-roster-motion-ready
.agents-roster-blueprint-draw
.blueprint-stroke {
    opacity: 0;

    stroke-dasharray: 1;
    stroke-dashoffset: 1;

    transition:
        stroke-dashoffset 1.65s cubic-bezier(.22, .61, .36, 1),
        opacity .35s ease;
}

.agents-roster-motion-ready
.agents-roster-blueprint-draw
.blueprint-draw-note {
    opacity: 0;

    transform: translateY(5px);

    transition:
        opacity .5s ease,
        transform .5s ease;
}

.agents-roster-motion-ready.is-blueprint-drawn
.agents-roster-blueprint-draw
.blueprint-stroke {
    opacity: 1;
    stroke-dashoffset: 0;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-01 {
    transition-delay: .00s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-02 {
    transition-delay: .08s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-03 {
    transition-delay: .16s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-04 {
    transition-delay: .26s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-05 {
    transition-delay: .34s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-06 {
    transition-delay: .42s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-07 {
    transition-delay: .52s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-08 {
    transition-delay: .62s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-09 {
    transition-delay: .12s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-10 {
    transition-delay: .22s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-11 {
    transition-delay: .30s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-12 {
    transition-delay: .40s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-13 {
    transition-delay: .48s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-14 {
    transition-delay: .58s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-15 {
    transition-delay: .68s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-16 {
    transition-delay: .74s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-17 {
    transition-delay: .82s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-18 {
    transition-delay: .90s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-19 {
    transition-delay: .98s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note {
    opacity: 1;

    transform: translateY(0);
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-01,
.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-03 {
    transition-delay: 1.15s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-02,
.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-04 {
    transition-delay: 1.28s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-05,
.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-06 {
    transition-delay: 1.4s;
}

/*
    Heading arrives quietly while the blueprint begins.
*/

.agents-roster-motion-ready .agents-roster-heading {
    opacity: 0;

    transform: translateY(18px);

    transition:
        opacity .7s ease .12s,
        transform .7s cubic-bezier(.22, .61, .36, 1) .12s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.agents-roster-heading {
    opacity: 1;

    transform: translateY(0);
}

/*
    Dossiers wait for the drawing to establish the scene,
    then rise into place one after another.
*/

.agents-roster-motion-ready .agent-dossier {
    opacity: 0;

    transform:
        translateY(34px)
        scale(.985);

    transform-origin: center bottom;

    transition:
        opacity .72s ease,
        transform .82s cubic-bezier(.22, .61, .36, 1);

    will-change:
        opacity,
        transform;
}

.agents-roster-motion-ready.is-blueprint-drawn
.agent-dossier {
    opacity: 1;

    transform:
        translateY(0)
        scale(1);
}

.agents-roster-motion-ready.is-blueprint-drawn
.agent-dossier:nth-child(1) {
    transition-delay: .72s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.agent-dossier:nth-child(2) {
    transition-delay: .88s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.agent-dossier:nth-child(3) {
    transition-delay: 1.04s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.agent-dossier:nth-child(4) {
    transition-delay: 1.20s;
}

.agents-roster-motion-ready .agents-roster-footer {
    opacity: 0;

    transform: translateY(16px);

    transition:
        opacity .65s ease 1.4s,
        transform .65s ease 1.4s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.agents-roster-footer {
    opacity: 1;

    transform: translateY(0);
}

/*
    Tiny drafting-node pulse after the drawing lands.
*/

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-04,
.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-12 {
    animation:
        agentsBlueprintPulse
        2.8s
        ease-in-out
        2.2s
        infinite;
}

@keyframes agentsBlueprintPulse {
    0%,
    100% {
        stroke-opacity: .64;
    }

    50% {
        stroke-opacity: 1;
    }
}

@media (max-width: 700px) {
    .agents-roster-blueprint-draw {
        opacity: .72;
    }

    .agents-roster-motion-ready .agent-dossier {
        transform:
            translateY(24px)
            scale(.99);
    }
}

@media (prefers-reduced-motion: reduce) {
    .agents-roster-motion-ready
    .agents-roster-blueprint-draw
    .blueprint-stroke,
    .agents-roster-motion-ready
    .agents-roster-blueprint-draw
    .blueprint-draw-note,
    .agents-roster-motion-ready
    .agents-roster-heading,
    .agents-roster-motion-ready
    .agent-dossier,
    .agents-roster-motion-ready
    .agents-roster-footer {
        opacity: 1;

        transform: none;

        stroke-dashoffset: 0;

        transition: none;
        animation: none;
    }
}

/* AGENTS ROSTER MOTION END */

/* AGENTS ROSTER BLUEPRINT RESTORE START */

/*
    Restore the complete approved blueprint artwork.

    Without JavaScript, the finished background remains visible.
    With animation enabled, the original artwork fades in behind
    the animated drawing as the drafting sequence completes.
*/

.agents-roster::after {
    opacity: .58;
}

.agents-roster-motion-ready::after {
    opacity: 0;

    transition:
        opacity
        1.05s
        ease
        1.15s;
}

.agents-roster-motion-ready.is-blueprint-drawn::after {
    opacity: .58;
}

/*
    Keep the animated SVG above the restored architectural artwork
    but below the actual roster content.
*/

.agents-roster-blueprint-draw {
    z-index: 1;
}

.agents-roster-shell {
    z-index: 2;
}

/*
    Once the full background arrives, soften the animated sketch
    slightly so both layers combine instead of fighting each other.
*/

.agents-roster-motion-ready.is-blueprint-drawn
.agents-roster-blueprint-draw {
    opacity: .72;

    transition:
        opacity
        .9s
        ease
        1.45s;
}

@media (max-width: 1050px) {
    .agents-roster::after {
        opacity: .34;
    }

    .agents-roster-motion-ready::after {
        opacity: 0;
    }

    .agents-roster-motion-ready.is-blueprint-drawn::after {
        opacity: .34;
    }
}

@media (max-width: 700px) {
    .agents-roster::after,
    .agents-roster-motion-ready::after,
    .agents-roster-motion-ready.is-blueprint-drawn::after {
        display: none;
    }

    .agents-roster-motion-ready.is-blueprint-drawn
    .agents-roster-blueprint-draw {
        opacity: .62;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agents-roster-motion-ready::after,
    .agents-roster-motion-ready.is-blueprint-drawn::after {
        opacity: .58;

        transition: none;
    }

    .agents-roster-motion-ready.is-blueprint-drawn
    .agents-roster-blueprint-draw {
        opacity: .72;

        transition: none;
    }
}

/* AGENTS ROSTER BLUEPRINT RESTORE END */

/* AGENTS ROSTER BLUEPRINT FIT START */

/*
    Keep the full blueprint composition inside the visible section.

    The previous "cover" and "slice" behavior enlarged the drawing
    and cropped most of the architectural artwork at normal zoom.
*/

.agents-roster::after {
    background-size:
        100%
        100%;

    background-position:
        center
        center;
}

.agents-roster-blueprint-draw {
    left: 50%;
    right: auto;

    width: min(
        100%,
        1600px
    );

    height: 100%;

    transform: translateX(-50%);

    overflow: visible;
}

/*
    Pull the technical artwork slightly inward on normal desktop
    widths so it frames the dossier wall instead of living almost
    entirely outside the viewport.
*/

@media (min-width: 1001px) and (max-width: 1700px) {
    .agents-roster::after {
        inset:
            0
            22px;

        background-size:
            100%
            100%;
    }

    .agents-roster-blueprint-draw {
        width: calc(100% - 44px);
    }
}

/*
    On larger screens, allow the artwork to breathe but keep the
    entire drawing visible.
*/

@media (min-width: 1701px) {
    .agents-roster::after {
        inset:
            0
            max(28px, 2vw);

        background-size:
            100%
            100%;
    }

    .agents-roster-blueprint-draw {
        width: calc(100% - 56px);
        max-width: 1740px;
    }
}

/*
    Tablet keeps the decorative layer present but quieter.
*/

@media (max-width: 1000px) {
    .agents-roster::after {
        inset:
            0
            12px;

        background-size:
            100%
            100%;
    }

    .agents-roster-blueprint-draw {
        width: calc(100% - 24px);
    }
}

/* AGENTS ROSTER BLUEPRINT FIT END */

/* AGENTS ROSTER BLUEPRINT SIMPLIFY START */

/*
    Use one blueprint system only.

    The static architectural overlay is removed so the page does
    not show two sets of drafting graphics on top of each other.
*/

.agents-roster::after,
.agents-roster-motion-ready::after,
.agents-roster-motion-ready.is-blueprint-drawn::after {
    display: none;
}

/*
    Keep only the strongest drafting elements.

    Left:
    - floor plan
    - drafting circle

    Right:
    - floor plan
    - registration target
    - one loose planning curve

    Everything else stays out of the way of the agent dossiers.
*/

.agents-roster-blueprint-draw
.blueprint-stroke-03,

.agents-roster-blueprint-draw
.blueprint-stroke-06,

.agents-roster-blueprint-draw
.blueprint-stroke-07,

.agents-roster-blueprint-draw
.blueprint-stroke-08,

.agents-roster-blueprint-draw
.blueprint-stroke-11,

.agents-roster-blueprint-draw
.blueprint-stroke-14,

.agents-roster-blueprint-draw
.blueprint-stroke-15,

.agents-roster-blueprint-draw
.blueprint-stroke-16,

.agents-roster-blueprint-draw
.blueprint-stroke-17,

.agents-roster-blueprint-draw
.blueprint-stroke-18 {
    display: none;
}

/*
    Keep only two tiny technical labels.
*/

.agents-roster-blueprint-draw
.blueprint-draw-note-02,

.agents-roster-blueprint-draw
.blueprint-draw-note-04,

.agents-roster-blueprint-draw
.blueprint-draw-note-05,

.agents-roster-blueprint-draw
.blueprint-draw-note-06 {
    display: none;
}

/*
    Actual line-drawing behavior.

    No opacity animation on the blueprint strokes.
    The line exists at its final visual strength from frame one,
    but the dash offset hides it until it physically draws across
    the path.
*/

.agents-roster-motion-ready
.agents-roster-blueprint-draw
.blueprint-stroke {
    opacity: .62;

    stroke-dasharray: 1;
    stroke-dashoffset: 1;

    transition:
        stroke-dashoffset
        1.85s
        cubic-bezier(.22, .61, .36, 1);
}

.agents-roster-motion-ready.is-blueprint-drawn
.agents-roster-blueprint-draw
.blueprint-stroke {
    opacity: .62;
    stroke-dashoffset: 0;
}

/*
    Cleaner drawing sequence.
    The architecture draws first, then the smaller drafting marks.
*/

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-01 {
    transition-delay: .00s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-02 {
    transition-delay: .16s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-04 {
    transition-delay: .34s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-05 {
    transition-delay: .48s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-09 {
    transition-delay: .12s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-10 {
    transition-delay: .28s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-12 {
    transition-delay: .46s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-13 {
    transition-delay: .58s;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-19 {
    transition-delay: .74s;
}

/*
    Do not fade the entire SVG after the drawing finishes.
    Keep the linework stable so the finished design looks intentional.
*/

.agents-roster-motion-ready.is-blueprint-drawn
.agents-roster-blueprint-draw {
    opacity: 1;

    transition: none;
}

/*
    Technical labels may appear after the drawing.
    They are supporting annotations, not part of the main animation.
*/

.agents-roster-motion-ready
.agents-roster-blueprint-draw
.blueprint-draw-note-01,

.agents-roster-motion-ready
.agents-roster-blueprint-draw
.blueprint-draw-note-03 {
    opacity: 0;

    transform: translateY(4px);

    transition:
        opacity .32s ease,
        transform .32s ease;
}

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-01,

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-draw-note-03 {
    opacity: .72;

    transform: translateY(0);

    transition-delay: 1.15s;
}

/*
    Remove the old pulsing circles.
    Once a blueprint is drawn, it stays drawn.
*/

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-04,

.agents-roster-motion-ready.is-blueprint-drawn
.blueprint-stroke-12 {
    animation: none;
}

/*
    Keep the blueprint framing restrained around the dossier wall.
*/

.agents-roster-blueprint-draw {
    opacity: 1;
}

@media (min-width: 1001px) {
    .agents-roster-blueprint-draw {
        width: calc(100% - 70px);
    }
}

@media (max-width: 1000px) {
    .agents-roster-blueprint-draw {
        width: calc(100% - 32px);
        opacity: .72;
    }
}

@media (max-width: 700px) {
    .agents-roster-blueprint-draw {
        width: 100%;
        opacity: .44;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agents-roster-motion-ready
    .agents-roster-blueprint-draw
    .blueprint-stroke {
        opacity: .62;
        stroke-dashoffset: 0;
        transition: none;
    }
}

/* AGENTS ROSTER BLUEPRINT SIMPLIFY END */

/* AGENTS WORKFLOW NODE LINE TUNE START */

/*
    Remove the long divider lines from each workflow step.
    The orange route already communicates the journey.
*/

.agents-workflow-step {
    border-top: 0;
}

/*
    Replace the long divider with one short technical drafting tick
    extending from each waypoint.
*/

.agents-workflow-step::after {
    content: "";

    position: absolute;
    left: 18px;
    top: -1px;

    width: 54px;
    height: 1px;

    background:
        rgba(143, 176, 203, .34);

    pointer-events: none;
}

/*
    Mobile already uses the vertical route, so no horizontal tick.
*/

@media (max-width: 700px) {
    .agents-workflow-step::after {
        display: none;
    }
}

/* AGENTS WORKFLOW NODE LINE TUNE END */

/* AGENTS WORKFLOW LINE REVEAL START */

/*
    One animation clock controls everything.

    JavaScript moves the visible front of the dotted route.
    When that front reaches each actual waypoint position,
    the entire corresponding step reveals.
*/

.agents-workflow-reveal-ready
.agents-workflow-line {
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);

    opacity: 1;

    animation: none;
    transition: none;

    will-change: clip-path;
}

/*
    Hide the complete workflow step.

    Number, label, headline, description, and waypoint all belong
    to one reveal rather than separate animations.
*/

.agents-workflow-reveal-ready
.agents-workflow-step {
    opacity: 0;

    clip-path: inset(0 0 100% 0);

    transform:
        translateY(-5px);

    transition:
        opacity .22s ease,
        clip-path .52s cubic-bezier(.22, 1, .36, 1),
        transform .52s cubic-bezier(.22, 1, .36, 1);

    will-change:
        opacity,
        clip-path,
        transform;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible {
    opacity: 1;

    clip-path: inset(0 0 0 0);

    transform:
        translateY(0);
}

/*
    The waypoint appears with its panel.
*/

.agents-workflow-reveal-ready
.agents-workflow-step::before {
    opacity: 1;
    transform: scale(.72);

    transition:
        transform .42s cubic-bezier(.22, 1, .36, 1),
        box-shadow .42s ease;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible::before {
    transform: scale(1);

    box-shadow:
        0
        0
        0
        6px
        rgba(240, 154, 88, .09);
}

/*
    The short drafting tick belongs to the same reveal.
*/

.agents-workflow-reveal-ready
.agents-workflow-step::after {
    opacity: 0;

    transform:
        scaleX(0);

    transform-origin: left center;

    transition:
        opacity .28s ease,
        transform .44s cubic-bezier(.22, 1, .36, 1);
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible::after {
    opacity: 1;

    transform:
        scaleX(1);
}

/*
    Tablet and mobile do not use the horizontal dotted route.
    Keep the workflow immediately readable there.
*/

@media (max-width: 1000px) {
    .agents-workflow-reveal-ready
    .agents-workflow-line {
        clip-path: none;
        -webkit-clip-path: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step {
        opacity: 1;

        clip-path: none;

        transform: none;

        transition: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step::before {
        transform: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step::after {
        opacity: 1;

        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agents-workflow-reveal-ready
    .agents-workflow-line {
        clip-path: none;
        -webkit-clip-path: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step {
        opacity: 1;

        clip-path: none;

        transform: none;

        transition: none;
    }
}

/* AGENTS WORKFLOW LINE REVEAL END */

/* AGENTS WORKFLOW SYNC POLISH START */

/*
    Do not clip the entire workflow step.

    The waypoint circle sits partly above the step box, so clipping
    the parent was cutting the circle in half.
*/

.agents-workflow-reveal-ready
.agents-workflow-step {
    opacity: 1;

    clip-path: none;
    -webkit-clip-path: none;

    transform: none;

    transition: none;
}

/*
    Reveal the actual content inside each step instead.

    This preserves the synchronized line-trigger behavior while
    keeping the waypoint circle fully visible.
*/

.agents-workflow-reveal-ready
.agents-workflow-step > * {
    opacity: 0;

    transform:
        translateY(15px);

    transition:
        opacity .3s ease,
        transform .42s cubic-bezier(.22, 1, .36, 1);

    will-change:
        opacity,
        transform;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible > * {
    opacity: 1;

    transform:
        translateY(0);
}

/*
    Waypoint circle remains separate from the content reveal.
*/

.agents-workflow-reveal-ready
.agents-workflow-step::before {
    opacity: 0;

    transform: scale(.55);

    transition:
        opacity .18s ease,
        transform .34s cubic-bezier(.22, 1, .36, 1),
        box-shadow .34s ease;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible::before {
    opacity: 1;

    transform: scale(1);

    box-shadow:
        0
        0
        0
        6px
        rgba(240, 154, 88, .09);
}

/*
    Short drafting tick reveals with the waypoint.
*/

.agents-workflow-reveal-ready
.agents-workflow-step::after {
    opacity: 0;

    transform: scaleX(0);
    transform-origin: left center;

    transition:
        opacity .18s ease,
        transform .34s cubic-bezier(.22, 1, .36, 1);
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible::after {
    opacity: 1;

    transform: scaleX(1);
}

/*
    Keep the text reveal compact so the dotted line visually feels
    like it is causing the panel to appear, not triggering a second
    slow animation afterward.
*/

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible
.agents-workflow-number {
    transition-delay: 0s;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible
.agents-workflow-label {
    transition-delay: .025s;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible
h3 {
    transition-delay: .05s;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible
p:last-child {
    transition-delay: .075s;
}

@media (max-width: 1000px) {
    .agents-workflow-reveal-ready
    .agents-workflow-step > * {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step::before {
        opacity: 1;

        transform: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step::after {
        opacity: 1;

        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agents-workflow-reveal-ready
    .agents-workflow-step > * {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step::before,
    .agents-workflow-reveal-ready
    .agents-workflow-step::after {
        opacity: 1;

        transform: none;

        transition: none;
    }
}

/* AGENTS WORKFLOW SYNC POLISH END */

/* AGENTS WORKFLOW SPEED CIRCLE FIX START */

/*
    The workflow panel itself must remain unclipped because the
    waypoint sits partially above the panel's normal content area.
*/

.agents-workflow-reveal-ready
.agents-workflow-step {
    opacity: 1;

    clip-path: none;
    -webkit-clip-path: none;

    transform: none;

    transition: none;

    overflow: visible;
}

/*
    Reveal the content inside the step instead of clipping the
    entire step box. This keeps every orange waypoint fully round.
*/

.agents-workflow-reveal-ready
.agents-workflow-step > * {
    opacity: 0;

    transform: translateY(12px);

    transition:
        opacity .24s ease,
        transform .38s cubic-bezier(.22, 1, .36, 1);
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible > * {
    opacity: 1;

    transform: translateY(0);
}

/*
    Waypoint stays outside the content reveal and appears whole.
*/

.agents-workflow-reveal-ready
.agents-workflow-step::before {
    opacity: 0;

    transform: scale(.62);

    transition:
        opacity .16s ease,
        transform .3s cubic-bezier(.22, 1, .36, 1),
        box-shadow .3s ease;
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible::before {
    opacity: 1;

    transform: scale(1);

    box-shadow:
        0
        0
        0
        6px
        rgba(240, 154, 88, .09);
}

/*
    Short drafting tick reveals with the waypoint.
*/

.agents-workflow-reveal-ready
.agents-workflow-step::after {
    opacity: 0;

    transform: scaleX(0);

    transform-origin: left center;

    transition:
        opacity .16s ease,
        transform .3s cubic-bezier(.22, 1, .36, 1);
}

.agents-workflow-reveal-ready
.agents-workflow-step.is-step-visible::after {
    opacity: 1;

    transform: scaleX(1);
}

@media (max-width: 1000px) {
    .agents-workflow-reveal-ready
    .agents-workflow-step > * {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step::before,
    .agents-workflow-reveal-ready
    .agents-workflow-step::after {
        opacity: 1;

        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agents-workflow-reveal-ready
    .agents-workflow-step > * {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .agents-workflow-reveal-ready
    .agents-workflow-step::before,
    .agents-workflow-reveal-ready
    .agents-workflow-step::after {
        opacity: 1;

        transform: none;

        transition: none;
    }
}

/* AGENTS WORKFLOW SPEED CIRCLE FIX END */

/* AGENTS CLOSING START */

.agents-closing {
    position: relative;
    overflow: hidden;

    padding:
        clamp(104px, 9vw, 150px)
        0
        clamp(112px, 10vw, 166px);

    background:
        radial-gradient(
            circle at 14% 26%,
            rgba(93, 140, 177, .10),
            transparent 28%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(74, 116, 151, .035) 0,
            rgba(74, 116, 151, .035) 1px,
            transparent 1px,
            transparent 52px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(74, 116, 151, .035) 0,
            rgba(74, 116, 151, .035) 1px,
            transparent 1px,
            transparent 52px
        ),
        linear-gradient(
            180deg,
            #f4f8fb 0%,
            #eef4f8 100%
        );

    border-bottom:
        1px
        solid
        rgba(33, 58, 90, .12);
}

.agents-closing::before {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(112, 145, 176, .42),
            transparent
        );
}

.agents-closing-ghost {
    position: absolute;
    left: 50%;
    bottom: -34px;

    transform: translateX(-50%);

    color: rgba(15, 38, 68, .035);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(10rem, 22vw, 21rem);
    font-weight: 400;
    line-height: .7;
    letter-spacing: -.075em;

    white-space: nowrap;

    pointer-events: none;
    user-select: none;
}

.agents-closing-shell {
    position: relative;
    z-index: 1;

    display: grid;
    grid-template-columns:
        minmax(0, 1.22fr)
        minmax(360px, .58fr);

    gap: clamp(70px, 9vw, 132px);
    align-items: center;
}

.agents-closing-copy h2 {
    max-width: 760px;
    margin: 0;

    color: #0f2644;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 6.4vw, 6.7rem);
    font-weight: 400;
    line-height: .93;
    letter-spacing: -.055em;
}

.agents-closing-copy h2 em {
    display: block;

    margin-top: .1em;

    color: #6e8faa;

    font-style: italic;
    font-weight: 400;
}

.agents-closing-wry {
    width: max-content;

    margin:
        22px
        0
        0;

    padding:
        7px
        12px;

    color: #b65f27;

    background:
        rgba(208, 107, 44, .07);

    border-left:
        2px
        solid
        #d06b2c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-style: italic;
}

.agents-closing-lead {
    max-width: 610px;

    margin:
        26px
        0
        0;

    color: #435d73;

    font-size: 1rem;
    line-height: 1.75;
}

.agents-closing-reassurance {
    display: flex;
    flex-wrap: wrap;

    gap:
        14px
        0;

    margin-top: 42px;
    padding:
        18px
        0;

    border-top:
        1px
        solid
        rgba(82, 112, 138, .2);

    border-bottom:
        1px
        solid
        rgba(82, 112, 138, .2);
}

.agents-closing-reassurance span {
    position: relative;

    padding:
        0
        22px;

    color: #354f65;

    font-family: Georgia, "Times New Roman", serif;
    font-size: .88rem;
}

.agents-closing-reassurance span:first-child {
    padding-left: 0;
}

.agents-closing-reassurance span:not(:first-child)::before {
    content: "";

    position: absolute;
    left: -2px;
    top: 50%;

    width: 4px;
    height: 4px;

    transform: translateY(-50%);

    background: #d06b2c;

    border-radius: 50%;
}

.agents-closing-card {
    position: relative;

    padding:
        34px
        34px
        32px;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #0c2b47 0%,
            #092238 100%
        );

    border-top:
        2px
        solid
        #d77a38;

    box-shadow:
        0
        28px
        60px
        rgba(16, 45, 69, .16);
}

.agents-closing-card-top {
    display: flex;
    justify-content: space-between;

    gap: 22px;

    margin-bottom: 38px;
}

.agents-closing-card-top span,
.agents-closing-card-top strong {
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.agents-closing-card-top span {
    color: #f09a58;
}

.agents-closing-card-top strong {
    color: #91abc0;
}

.agents-closing-card blockquote {
    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 3.4vw, 3.6rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.045em;
}

.agents-closing-card blockquote em {
    display: block;

    color: #9cb8cf;

    font-style: italic;
    font-weight: 400;
}

.agents-closing-card > p {
    max-width: 340px;

    margin:
        28px
        0
        30px;

    color: #c6d5df;

    font-size: .9rem;
    line-height: 1.68;
}

.agents-closing-card > a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        15px
        16px;

    color: #ffffff;

    border:
        1px
        solid
        #d77a38;

    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-decoration: none;
    text-transform: uppercase;
}

.agents-closing-card > a span {
    color: #f09a58;

    font-size: 1rem;

    transition:
        transform
        .22s
        ease;
}

.agents-closing-card > a:hover span,
.agents-closing-card > a:focus-visible span {
    transform:
        translateX(5px);
}

@media (max-width: 1000px) {
    .agents-closing-shell {
        grid-template-columns: 1fr;

        gap: 58px;
    }

    .agents-closing-copy h2 {
        max-width: 820px;
    }

    .agents-closing-card {
        width: min(
            100%,
            590px
        );

        margin-left: auto;
    }
}

@media (max-width: 700px) {
    .agents-closing {
        padding:
            82px
            0
            94px;
    }

    .agents-closing-ghost {
        bottom: -10px;

        font-size: 8rem;
    }

    .agents-closing-copy h2 {
        font-size: clamp(
            3.1rem,
            12vw,
            4.6rem
        );
    }

    .agents-closing-wry {
        margin-top: 18px;
    }

    .agents-closing-lead {
        margin-top: 24px;
    }

    .agents-closing-reassurance {
        flex-direction: column;

        gap: 12px;

        padding:
            16px
            0;
    }

    .agents-closing-reassurance span,
    .agents-closing-reassurance span:first-child {
        padding:
            0
            0
            0
            18px;
    }

    .agents-closing-reassurance span::before,
    .agents-closing-reassurance span:first-child::before {
        content: "";

        position: absolute;
        left: 0;
        top: 50%;

        width: 4px;
        height: 4px;

        transform: translateY(-50%);

        background: #d06b2c;

        border-radius: 50%;
    }

    .agents-closing-card {
        width: 100%;

        padding:
            28px
            24px
            26px;
    }

    .agents-closing-card-top {
        margin-bottom: 30px;
    }

    .agents-closing-card blockquote {
        font-size: clamp(
            2rem,
            10vw,
            3rem
        );
    }
}

/* AGENTS CLOSING END */

/* AGENTS CLOSING TYPOGRAPHY FIX START */

@media (min-width: 1001px) {
    /*
        Keep the italic second line together so the headline reads:

        Bring us the
        complicated part.
    */

    .agents-closing-copy h2 em {
        white-space: nowrap;
        font-size: .88em;
    }
}

/*
    The closing quote now lives inside the italic span,
    so it stays attached to the sentence instead of dropping
    onto a line by itself.
*/

.agents-closing-card blockquote em {
    white-space: normal;
}

/* AGENTS CLOSING TYPOGRAPHY FIX END */

/* AGENTS CLOSING QUOTE TAIL FIX START */

/*
    Keep the final word, ellipsis, and closing quotation mark
    together as one unbreakable piece.
*/

.agents-closing-quote-tail {
    white-space: nowrap;
}

/* AGENTS CLOSING QUOTE TAIL FIX END */

/* AGENTS CLOSING BACKGROUND MOTION START */

/*
    Three restrained background elements only:
    left plan fragment, right plan fragment, and one route.
*/

.agents-closing-drafting {
    position: absolute;
    inset: 0;

    z-index: 0;

    overflow: hidden;

    pointer-events: none;
}

.agents-closing-shell {
    position: relative;
    z-index: 2;
}

.agents-closing-ghost {
    z-index: 0;
}

.agents-closing-plan,
.agents-closing-route {
    position: absolute;

    overflow: visible;
}

.agents-closing-plan {
    color: rgba(93, 137, 174, .36);
}

.agents-closing-plan-left {
    left: -18px;
    top: 15%;

    width: min(20vw, 290px);
    height: auto;
}

.agents-closing-plan-right {
    right: 1.5%;
    bottom: 8%;

    width: min(17vw, 235px);
    height: auto;
}

.agents-closing-plan path,
.agents-closing-plan rect,
.agents-closing-plan circle {
    fill: none;

    stroke: currentColor;
    stroke-width: 1.25;

    vector-effect: non-scaling-stroke;

    stroke-linecap: round;
    stroke-linejoin: round;
}

/*
    The orange route visually carries the problem toward the
    conversation card.
*/

.agents-closing-route {
    inset: 0;

    width: 100%;
    height: 100%;
}

.agents-closing-route path {
    fill: none;

    stroke: rgba(208, 107, 44, .62);
    stroke-width: 1.5;

    vector-effect: non-scaling-stroke;

    stroke-linecap: round;

    stroke-dasharray: 5 10;
}

.agents-closing-route-dot {
    fill: #eef4f8;

    stroke: #d06b2c;
    stroke-width: 2;

    vector-effect: non-scaling-stroke;
}

.agents-closing-draft-label {
    position: absolute;

    color: rgba(77, 117, 151, .78);

    font-size: .58rem;
    font-weight: 800;

    letter-spacing: .2em;
    text-transform: uppercase;

    white-space: nowrap;
}

.agents-closing-draft-label::before {
    content: "";

    display: inline-block;

    width: 24px;
    height: 1px;

    margin-right: 10px;

    vertical-align: middle;

    background: rgba(208, 107, 44, .72);
}

.agents-closing-draft-label-start {
    left: 10%;
    bottom: 26%;
}

.agents-closing-draft-label-end {
    right: 10%;
    top: 37%;
}

/*
    Motion only becomes hidden after JavaScript confirms
    the section can be observed.
*/

.agents-closing-motion-ready
.agents-closing-plan path,

.agents-closing-motion-ready
.agents-closing-plan rect,

.agents-closing-motion-ready
.agents-closing-plan circle {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;

    transition:
        stroke-dashoffset
        .9s
        cubic-bezier(.22, .61, .36, 1);
}

.agents-closing-motion-ready
.agents-closing-route path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;

    transition:
        stroke-dashoffset
        .95s
        cubic-bezier(.22, .61, .36, 1)
        .58s;
}

.agents-closing-motion-ready
.agents-closing-route-dot,

.agents-closing-motion-ready
.agents-closing-draft-label {
    opacity: 0;

    transform: translateY(6px);

    transition:
        opacity .25s ease,
        transform .3s ease;
}

.agents-closing-motion-ready
.agents-closing-copy {
    opacity: 0;

    transform: translateY(14px);

    transition:
        opacity .48s ease .35s,
        transform .55s cubic-bezier(.22, 1, .36, 1) .35s;
}

.agents-closing-motion-ready
.agents-closing-card {
    opacity: 0;

    transform:
        translateY(24px)
        scale(.985);

    transition:
        opacity .5s ease .95s,
        transform .62s cubic-bezier(.22, 1, .36, 1) .95s;
}

/*
    Final visible state.
*/

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-plan path,

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-plan rect,

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-plan circle,

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-route path {
    stroke-dashoffset: 0;
}

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-route-dot,

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-draft-label,

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-copy,

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-card {
    opacity: 1;

    transform: none;
}

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-route-dot-start {
    transition-delay: .7s;
}

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-draft-label-start {
    transition-delay: .72s;
}

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-route-dot-end {
    transition-delay: 1.32s;
}

.agents-closing-motion-ready.is-agents-closing-visible
.agents-closing-draft-label-end {
    transition-delay: 1.34s;
}

/*
    Keep mobile much quieter.
*/

@media (max-width: 1000px) {
    .agents-closing-plan-left {
        left: -40px;

        width: 230px;
    }

    .agents-closing-plan-right {
        right: -22px;

        width: 180px;
    }

    .agents-closing-draft-label-start {
        left: 5%;
    }

    .agents-closing-draft-label-end {
        right: 5%;
    }
}

@media (max-width: 700px) {
    .agents-closing-route,
    .agents-closing-plan-right,
    .agents-closing-draft-label-end {
        display: none;
    }

    .agents-closing-plan-left {
        left: -64px;
        top: auto;
        bottom: 2%;

        width: 180px;

        opacity: .58;
    }

    .agents-closing-draft-label-start {
        display: none;
    }

    .agents-closing-motion-ready
    .agents-closing-card {
        transition-delay: .5s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agents-closing-motion-ready
    .agents-closing-plan path,

    .agents-closing-motion-ready
    .agents-closing-plan rect,

    .agents-closing-motion-ready
    .agents-closing-plan circle,

    .agents-closing-motion-ready
    .agents-closing-route path {
        stroke-dashoffset: 0;

        transition: none;
    }

    .agents-closing-motion-ready
    .agents-closing-route-dot,

    .agents-closing-motion-ready
    .agents-closing-draft-label,

    .agents-closing-motion-ready
    .agents-closing-copy,

    .agents-closing-motion-ready
    .agents-closing-card {
        opacity: 1;

        transform: none;

        transition: none;
    }
}

/* AGENTS CLOSING BACKGROUND MOTION END */

/* BUY SELL HERO START */

.buy-sell-hero {
    position: relative;
    overflow: hidden;

    padding:
        clamp(88px, 7vw, 124px)
        0
        clamp(98px, 8vw, 136px);

    background:
        radial-gradient(
            circle at 18% 18%,
            rgba(78, 129, 170, .12),
            transparent 25%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(73, 114, 148, .045) 0,
            rgba(73, 114, 148, .045) 1px,
            transparent 1px,
            transparent 48px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(73, 114, 148, .04) 0,
            rgba(73, 114, 148, .04) 1px,
            transparent 1px,
            transparent 48px
        ),
        linear-gradient(
            180deg,
            #f4f9fc 0%,
            #edf5fa 100%
        );
}

.buy-sell-hero-ghost {
    position: absolute;
    right: -20px;
    top: -18px;

    color: rgba(15, 38, 68, .035);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(11rem, 24vw, 23rem);
    line-height: .78;
    letter-spacing: -.08em;

    pointer-events: none;
    user-select: none;
}

.buy-sell-hero-shell {
    position: relative;
    z-index: 1;
}

.buy-sell-hero-intro {
    display: grid;
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(310px, .55fr);

    gap: clamp(64px, 8vw, 112px);
    align-items: end;

    margin-bottom:
        clamp(62px, 6vw, 88px);
}

.buy-sell-hero-heading h1 {
    max-width: 820px;
    margin: 0;

    color: #102947;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 6.2vw, 6.6rem);
    font-weight: 400;
    line-height: .91;
    letter-spacing: -.055em;
}

.buy-sell-hero-heading h1 > span,
.buy-sell-hero-heading h1 em,
.buy-sell-hero-heading h1 em span {
    display: block;
}

.buy-sell-hero-heading h1 em {
    margin-top: .11em;

    color: #6e91ad;

    font-style: italic;
    font-weight: 400;
}

.buy-sell-hero-copy {
    position: relative;

    max-width: 390px;
    margin-left: auto;
    padding-left: 26px;

    border-left:
        1px
        solid
        rgba(82, 122, 154, .3);
}

.buy-sell-plan-label {
    display: block;

    margin-bottom: 18px;

    color: #64839d;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.buy-sell-hero-copy p {
    margin: 0 0 28px;

    color: #405a71;

    font-size: .98rem;
    line-height: 1.72;
}

.buy-sell-hero-copy a,
.transaction-copy > a {
    display: inline-flex;
    align-items: center;

    gap: 14px;

    width: max-content;
    padding-bottom: 8px;

    border-bottom:
        1px
        solid
        #d06b2c;

    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
}

.buy-sell-hero-copy a {
    color: #102947;
}

.buy-sell-hero-copy a span,
.transaction-copy > a span {
    color: #d06b2c;
}

.transaction-board {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        94px
        minmax(0, 1fr);

    min-height: 650px;

    border:
        1px
        solid
        rgba(70, 105, 135, .24);

    box-shadow:
        0
        34px
        74px
        rgba(22, 60, 90, .08);
}

.transaction-side {
    position: relative;
    overflow: hidden;

    min-width: 0;

    padding:
        28px
        clamp(32px, 3.2vw, 48px)
        42px;
}

.transaction-side-buy {
    color: #102947;

    background:
        radial-gradient(
            circle at 84% 80%,
            rgba(63, 117, 159, .15),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(225, 239, 248, .98),
            rgba(244, 249, 252, .98)
        );
}

.transaction-side-sell {
    color: #ffffff;

    background:
        radial-gradient(
            circle at 18% 18%,
            rgba(79, 137, 179, .22),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            #123754 0%,
            #09243b 100%
        );
}

.transaction-ghost {
    position: absolute;
    right: -12px;
    top: 58px;

    color: rgba(16, 48, 75, .045);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(6rem, 9vw, 9.5rem);
    line-height: .75;
    letter-spacing: -.055em;

    pointer-events: none;
    user-select: none;
}

.transaction-side-sell .transaction-ghost {
    color: rgba(255, 255, 255, .045);

    font-size: clamp(4.7rem, 7vw, 7.4rem);
}

.transaction-side-top {
    position: relative;
    z-index: 2;

    display: flex;
    justify-content: space-between;

    gap: 22px;

    padding-bottom: 22px;

    border-bottom:
        1px
        solid
        rgba(84, 119, 147, .24);
}

.transaction-side-sell .transaction-side-top {
    border-color:
        rgba(167, 194, 214, .22);
}

.transaction-number {
    color: #d06b2c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: .82rem;
    font-style: italic;
}

.transaction-side-top strong {
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.transaction-side-buy .transaction-side-top strong {
    color: #526f87;
}

.transaction-side-sell .transaction-side-top strong {
    color: #bad0df;
}

.transaction-drawing {
    position: absolute;

    width: 58%;
    height: auto;

    opacity: .34;

    pointer-events: none;
}

.transaction-drawing-buy {
    right: -4%;
    top: 15%;
}

.transaction-drawing-sell {
    right: -2%;
    top: 14%;

    opacity: .24;
}

.transaction-drawing g {
    fill: none;

    stroke: currentColor;
    stroke-width: 1.25;

    vector-effect: non-scaling-stroke;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.transaction-side-buy
.transaction-drawing {
    color: #507fa5;
}

.transaction-side-sell
.transaction-drawing {
    color: #a8c2d6;
}

.transaction-copy {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    min-height: 540px;

    padding-top:
        clamp(92px, 9vw, 128px);
}

.transaction-kicker {
    margin: 0 0 15px;

    color: #d06b2c;

    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.transaction-copy h2 {
    max-width: 520px;
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.75rem, 3.7vw, 4.15rem);
    font-weight: 400;
    line-height: .97;
    letter-spacing: -.045em;
}

.transaction-copy h2 em {
    display: block;

    margin-top: .08em;

    font-style: italic;
    font-weight: 400;
}

.transaction-side-buy
.transaction-copy h2 em {
    color: #6e91ad;
}

.transaction-side-sell
.transaction-copy h2 em {
    color: #9bb8ce;
}

.transaction-joke {
    max-width: 410px;

    display: grid;
    gap: 4px;

    margin-top: 28px;
    padding-left: 16px;

    border-left:
        2px
        solid
        #d06b2c;
}

.transaction-joke strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: .98rem;
    font-weight: 400;
    line-height: 1.45;
}

.transaction-joke span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: .9rem;
    font-style: italic;
}

.transaction-side-buy
.transaction-joke span {
    color: #6b859b;
}

.transaction-side-sell
.transaction-joke span {
    color: #a8c0d2;
}

.transaction-route {
    position: relative;

    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 8px;

    margin:
        46px
        0
        36px;

    padding-top: 20px;
}

.transaction-route::before {
    content: "";

    position: absolute;
    left: 2px;
    right: 2px;
    top: 5px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            #d06b2c,
            rgba(208, 107, 44, .28)
        );
}

.transaction-route span {
    position: relative;

    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.transaction-route span::before {
    content: "";

    position: absolute;
    left: 0;
    top: -20px;

    width: 7px;
    height: 7px;

    background: #d06b2c;

    border-radius: 50%;
}

.transaction-side-buy
.transaction-route span {
    color: #566f84;
}

.transaction-side-sell
.transaction-route span {
    color: #bad0df;
}

.transaction-side-buy
.transaction-copy > a {
    color: #102947;

    margin-top: auto;
}

.transaction-side-sell
.transaction-copy > a {
    color: #ffffff;

    margin-top: auto;
}

.transaction-spine {
    position: relative;

    z-index: 3;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding:
        28px
        12px
        34px;

    color: #547087;

    background:
        linear-gradient(
            180deg,
            #e8f1f7,
            #dceaf3
        );

    border-left:
        1px
        solid
        rgba(75, 112, 143, .2);

    border-right:
        1px
        solid
        rgba(75, 112, 143, .2);
}

.transaction-spine-top,
.transaction-spine-bottom {
    writing-mode: vertical-rl;

    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.transaction-spine-line {
    width: 1px;
    flex: 1;

    margin:
        18px
        0;

    background:
        linear-gradient(
            180deg,
            rgba(208, 107, 44, .2),
            #d06b2c,
            rgba(208, 107, 44, .2)
        );
}

.transaction-spine-house {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    flex: 0 0 auto;

    background: #edf5fa;

    border:
        1px
        solid
        #d06b2c;

    border-radius: 50%;
}

.transaction-spine-house svg {
    width: 27px;
    height: 27px;

    fill: none;

    stroke: #527795;
    stroke-width: 1.7;

    stroke-linejoin: round;
}

.transaction-spine p {
    margin:
        26px
        0
        0;

    color: #6b8295;

    font-size: .54rem;
    font-weight: 800;
    line-height: 1.8;
    letter-spacing: .14em;
    text-align: center;
    text-transform: uppercase;
}

.buy-sell-hero-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;

    padding-top: 28px;

    color: #5b7489;

    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.buy-sell-hero-footer span {
    position: relative;
}

.buy-sell-hero-footer span + span::before {
    content: "";

    position: absolute;
    left: -42px;
    top: 50%;

    width: 4px;
    height: 4px;

    transform: translateY(-50%);

    background: #d06b2c;

    border-radius: 50%;
}

@media (max-width: 1050px) {
    .buy-sell-hero-intro {
        grid-template-columns: 1fr;

        gap: 32px;
    }

    .buy-sell-hero-copy {
        max-width: 620px;
        margin-left: 0;
    }

    .transaction-board {
        grid-template-columns: 1fr;
    }

    .transaction-spine {
        min-height: 76px;

        flex-direction: row;
        justify-content: center;

        gap: 14px;

        padding:
            14px
            22px;
    }

    .transaction-spine-top,
    .transaction-spine-bottom {
        writing-mode: horizontal-tb;
    }

    .transaction-spine-line {
        width: 70px;
        height: 1px;

        flex: 0 0 auto;

        margin: 0;
    }

    .transaction-spine-house {
        width: 46px;
        height: 46px;
    }

    .transaction-spine p {
        display: none;
    }

    .transaction-copy {
        min-height: 0;

        padding-top: 80px;
    }
}

@media (max-width: 700px) {
    .buy-sell-hero {
        padding:
            76px
            0
            88px;
    }

    .buy-sell-hero-ghost {
        top: 24px;

        font-size: 8rem;
    }

    .buy-sell-hero-heading h1 {
        font-size: clamp(
            3rem,
            12vw,
            4.6rem
        );
    }

    .buy-sell-hero-copy {
        padding-left: 18px;
    }

    .transaction-side {
        padding:
            24px
            22px
            32px;
    }

    .transaction-drawing {
        width: 78%;

        opacity: .2;
    }

    .transaction-copy {
        padding-top: 72px;
    }

    .transaction-copy h2 {
        font-size: clamp(
            2.45rem,
            10vw,
            3.5rem
        );
    }

    .transaction-route {
        grid-template-columns: 1fr;

        gap: 12px;

        padding:
            0
            0
            0
            24px;
    }

    .transaction-route::before {
        left: 5px;
        right: auto;
        top: 0;
        bottom: 0;

        width: 1px;
        height: auto;

        background:
            linear-gradient(
                180deg,
                #d06b2c,
                rgba(208, 107, 44, .2)
            );
    }

    .transaction-route span::before {
        left: -22px;
        top: 50%;

        transform: translateY(-50%);
    }

    .transaction-spine {
        gap: 10px;
    }

    .transaction-spine-line {
        width: 32px;
    }

    .buy-sell-hero-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 12px;
    }

    .buy-sell-hero-footer span {
        padding-left: 16px;
    }

    .buy-sell-hero-footer span::before,
    .buy-sell-hero-footer span + span::before {
        content: "";

        position: absolute;
        left: 0;
        top: 50%;

        width: 4px;
        height: 4px;

        transform: translateY(-50%);

        background: #d06b2c;

        border-radius: 50%;
    }
}

/* BUY SELL HERO END */

/* BUY SELL HERO MOTION START */

/*
    Typography correction.
    Give the italic lines enough vertical room that "goal:"
    cannot collide with "a good move."
*/

.buy-sell-hero-heading h1 em {
    line-height: .96;
}

.buy-sell-hero-heading h1 em > span + span {
    margin-top: .16em;
}

/*
    Motion is activated only after JavaScript marks the hero ready.
    Without JavaScript the finished design remains completely visible.
*/

.buy-sell-motion-ready
.buy-sell-hero-heading,

.buy-sell-motion-ready
.buy-sell-hero-copy {
    opacity: 0;

    transform: translateY(16px);

    transition:
        opacity .42s ease,
        transform .52s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-motion-ready
.buy-sell-hero-copy {
    transition-delay: .08s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.buy-sell-hero-heading,

.buy-sell-motion-ready.is-buy-sell-visible
.buy-sell-hero-copy {
    opacity: 1;

    transform: translateY(0);
}

/*
    The board itself stays visible.
    We animate the information inside it instead of making
    two giant rectangles perform a generic card entrance.
*/

.buy-sell-motion-ready
.transaction-side-top,

.buy-sell-motion-ready
.transaction-copy {
    opacity: 0;

    transform: translateY(14px);

    transition:
        opacity .34s ease,
        transform .46s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-side-top {
    opacity: 1;

    transform: none;

    transition-delay: .28s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-copy {
    opacity: 1;

    transform: none;

    transition-delay: .48s;
}

/*
    Architectural drawings physically draw themselves.
    JavaScript gives every SVG stroke pathLength="1".
*/

.buy-sell-motion-ready
.transaction-drawing path,

.buy-sell-motion-ready
.transaction-drawing rect,

.buy-sell-motion-ready
.transaction-drawing circle,

.buy-sell-motion-ready
.transaction-drawing line {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;

    transition:
        stroke-dashoffset
        .82s
        cubic-bezier(.22, .61, .36, 1);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing path,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing rect,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing circle,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing line {
    stroke-dashoffset: 0;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-buy path,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-buy rect,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-buy circle,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-buy line {
    transition-delay: .18s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-sell path,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-sell rect,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-sell circle,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-drawing-sell line {
    transition-delay: .28s;
}

/*
    Central transaction spine draws downward.
*/

.buy-sell-motion-ready
.transaction-spine-line {
    transform: scaleY(0);
    transform-origin: top center;

    transition:
        transform
        .58s
        cubic-bezier(.22, .61, .36, 1);
}

.buy-sell-motion-ready
.transaction-spine-house {
    opacity: 0;

    transform: scale(.72);

    transition:
        opacity .22s ease,
        transform .38s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-motion-ready
.transaction-spine-top,

.buy-sell-motion-ready
.transaction-spine-bottom,

.buy-sell-motion-ready
.transaction-spine p {
    opacity: 0;

    transition:
        opacity
        .3s
        ease;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-spine-line {
    transform: scaleY(1);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-spine-line:first-of-type {
    transition-delay: .32s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-spine-house {
    opacity: 1;

    transform: scale(1);

    transition-delay: .62s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-spine-line:nth-of-type(2) {
    transition-delay: .68s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-spine-top,

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-spine-bottom {
    opacity: 1;

    transition-delay: .48s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-spine p {
    opacity: 1;

    transition-delay: .82s;
}

/*
    BUY and SELL progress routes draw across the panel.
*/

.buy-sell-motion-ready
.transaction-route::before {
    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform
        .7s
        cubic-bezier(.22, .61, .36, 1);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route::before {
    transform: scaleX(1);

    transition-delay: .70s;
}

/*
    Each milestone appears immediately behind the progress front.
*/

.buy-sell-motion-ready
.transaction-route span {
    opacity: 0;

    transform: translateY(7px);

    transition:
        opacity .18s ease,
        transform .26s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-motion-ready
.transaction-route span::before {
    transform:
        scale(0);

    transition:
        transform
        .24s
        cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span {
    opacity: 1;

    transform: translateY(0);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span::before {
    transform: scale(1);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(1) {
    transition-delay: .73s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(1)::before {
    transition-delay: .73s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(2) {
    transition-delay: .84s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(2)::before {
    transition-delay: .84s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(3) {
    transition-delay: .95s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(3)::before {
    transition-delay: .95s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(4) {
    transition-delay: 1.06s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(4)::before {
    transition-delay: 1.06s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(5) {
    transition-delay: 1.17s;
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-route span:nth-child(5)::before {
    transition-delay: 1.17s;
}

/*
    The two punchlines arrive after the main message,
    almost like handwritten margin notes.
*/

.buy-sell-motion-ready
.transaction-joke {
    opacity: 0;

    transform: translateX(-10px);

    transition:
        opacity .28s ease,
        transform .36s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-motion-ready.is-buy-sell-visible
.transaction-joke {
    opacity: 1;

    transform: translateX(0);

    transition-delay: .62s;
}

/*
    Footer closes the composition after the diagram finishes.
*/

.buy-sell-motion-ready
.buy-sell-hero-footer {
    opacity: 0;

    transform: translateY(8px);

    transition:
        opacity .3s ease,
        transform .35s ease;
}

.buy-sell-motion-ready.is-buy-sell-visible
.buy-sell-hero-footer {
    opacity: 1;

    transform: none;

    transition-delay: 1.18s;
}

@media (max-width: 1050px) {
    .buy-sell-motion-ready
    .transaction-spine-line {
        transform: scaleX(0);
        transform-origin: left center;
    }

    .buy-sell-motion-ready.is-buy-sell-visible
    .transaction-spine-line {
        transform: scaleX(1);
    }
}

@media (max-width: 700px) {
    /*
        Mobile keeps the animation but trims the sequence.
    */

    .buy-sell-motion-ready
    .transaction-side-top,

    .buy-sell-motion-ready
    .transaction-copy {
        transition-delay: 0s;
    }

    .buy-sell-motion-ready.is-buy-sell-visible
    .transaction-side-top {
        transition-delay: .18s;
    }

    .buy-sell-motion-ready.is-buy-sell-visible
    .transaction-copy {
        transition-delay: .32s;
    }

    .buy-sell-motion-ready
    .transaction-route::before {
        transform: scaleY(0);
        transform-origin: top center;
    }

    .buy-sell-motion-ready.is-buy-sell-visible
    .transaction-route::before {
        transform: scaleY(1);
    }

    .buy-sell-motion-ready
    .transaction-route span::before {
        transform:
            translateY(-50%)
            scale(0);
    }

    .buy-sell-motion-ready.is-buy-sell-visible
    .transaction-route span::before {
        transform:
            translateY(-50%)
            scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .buy-sell-motion-ready
    .buy-sell-hero-heading,

    .buy-sell-motion-ready
    .buy-sell-hero-copy,

    .buy-sell-motion-ready
    .transaction-side-top,

    .buy-sell-motion-ready
    .transaction-copy,

    .buy-sell-motion-ready
    .transaction-joke,

    .buy-sell-motion-ready
    .buy-sell-hero-footer,

    .buy-sell-motion-ready
    .transaction-spine-house,

    .buy-sell-motion-ready
    .transaction-spine-top,

    .buy-sell-motion-ready
    .transaction-spine-bottom,

    .buy-sell-motion-ready
    .transaction-spine p,

    .buy-sell-motion-ready
    .transaction-route span {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .buy-sell-motion-ready
    .transaction-drawing path,

    .buy-sell-motion-ready
    .transaction-drawing rect,

    .buy-sell-motion-ready
    .transaction-drawing circle,

    .buy-sell-motion-ready
    .transaction-drawing line {
        stroke-dashoffset: 0;

        transition: none;
    }

    .buy-sell-motion-ready
    .transaction-spine-line,

    .buy-sell-motion-ready
    .transaction-route::before {
        transform: none;

        transition: none;
    }
}

/* BUY SELL HERO MOTION END */

/* BUY SELL HERO VIEWPORT FIT START */

/*
    Desktop hero compression.

    Goal:
    headline + strategy note + transaction board + footer should
    read as one hero composition inside a normal desktop viewport.
*/

@media (min-width: 1051px) {

    .buy-sell-hero {
        padding:
            clamp(28px, 3.8vh, 42px)
            0
            clamp(26px, 3.4vh, 38px);
    }

    .buy-sell-hero-intro {
        grid-template-columns:
            minmax(0, 1.18fr)
            minmax(300px, .55fr);

        gap:
            clamp(48px, 6vw, 86px);

        margin-bottom:
            clamp(24px, 3vh, 34px);
    }

    .buy-sell-hero-heading h1 {
        max-width: 760px;

        font-size:
            clamp(
                3.45rem,
                6.8vh,
                5.35rem
            );

        line-height: .88;
    }

    .buy-sell-hero-heading h1 em {
        margin-top: .06em;
        line-height: .91;
    }

    .buy-sell-hero-heading h1 em > span + span {
        margin-top: .09em;
    }

    .buy-sell-hero-copy {
        max-width: 350px;

        padding-left: 22px;
    }

    .buy-sell-plan-label {
        margin-bottom: 12px;
    }

    .buy-sell-hero-copy p {
        margin-bottom: 18px;

        font-size: .9rem;
        line-height: 1.6;
    }

    /*
        The transaction board should support the hero,
        not become an entire second screen.
    */

    .transaction-board {
        min-height: 370px;
    }

    .transaction-side {
        padding:
            20px
            clamp(26px, 2.4vw, 36px)
            24px;
    }

    .transaction-side-top {
        padding-bottom: 14px;
    }

    .transaction-ghost {
        top: 38px;

        font-size:
            clamp(
                4.8rem,
                7vw,
                7rem
            );
    }

    .transaction-side-sell
    .transaction-ghost {
        font-size:
            clamp(
                4rem,
                5.8vw,
                5.8rem
            );
    }

    .transaction-drawing {
        width: 46%;
    }

    .transaction-drawing-buy {
        top: 13%;
    }

    .transaction-drawing-sell {
        top: 12%;
    }

    .transaction-copy {
        min-height: 290px;

        padding-top:
            clamp(44px, 5vh, 58px);
    }

    .transaction-kicker {
        margin-bottom: 10px;
    }

    .transaction-copy h2 {
        max-width: 460px;

        font-size:
            clamp(
                2.2rem,
                3.3vh,
                3rem
            );

        line-height: .95;
    }

    .transaction-copy h2 em {
        margin-top: .055em;
    }

    .transaction-joke {
        margin-top: 16px;

        gap: 2px;
    }

    .transaction-joke strong {
        font-size: .88rem;
    }

    .transaction-joke span {
        font-size: .82rem;
    }

    .transaction-route {
        margin:
            24px
            0
            18px;

        padding-top: 17px;
    }

    .transaction-route span {
        font-size: .51rem;
    }

    .transaction-route span::before {
        top: -17px;

        width: 6px;
        height: 6px;
    }

    /*
        Slim the central spine to match the tighter board.
    */

    .transaction-spine {
        padding:
            18px
            10px
            20px;
    }

    .transaction-spine-line {
        margin:
            11px
            0;
    }

    .transaction-spine-house {
        width: 46px;
        height: 46px;
    }

    .transaction-spine-house svg {
        width: 23px;
        height: 23px;
    }

    .transaction-spine p {
        margin-top: 16px;

        font-size: .48rem;
        line-height: 1.65;
    }

    .buy-sell-hero-footer {
        padding-top: 16px;

        font-size: .58rem;
    }
}

/*
    Extra compression for shorter desktop screens.
*/

@media (min-width: 1051px) and (max-height: 900px) {

    .buy-sell-hero {
        padding:
            22px
            0
            24px;
    }

    .buy-sell-hero-intro {
        margin-bottom: 20px;
    }

    .buy-sell-hero-heading h1 {
        font-size:
            clamp(
                3.15rem,
                6.2vh,
                4.55rem
            );
    }

    .transaction-board {
        min-height: 330px;
    }

    .transaction-copy {
        min-height: 250px;
        padding-top: 36px;
    }

    .transaction-copy h2 {
        font-size:
            clamp(
                2rem,
                3vh,
                2.65rem
            );
    }

    .transaction-joke {
        margin-top: 12px;
    }

    .transaction-route {
        margin:
            19px
            0
            14px;
    }

    .transaction-spine p {
        display: none;
    }

    .buy-sell-hero-footer {
        padding-top: 12px;
    }
}

/* BUY SELL HERO VIEWPORT FIT END */

/* BUY SELL HEADLINE UNSTACK START */

@media (min-width: 1051px) {

    /*
        Desktop headline is intentionally only two lines:

        Different sides of the table.
        Same goal: a good move.
    */

    .buy-sell-hero-heading h1 {
        max-width: none;

        font-size:
            clamp(
                3.35rem,
                5.15vw,
                4.9rem
            );

        line-height: .92;

        white-space: nowrap;
    }

    .buy-sell-hero-heading h1 > span {
        display: inline;
    }

    .buy-sell-hero-heading h1 em {
        display: block;

        margin-top: .11em;

        white-space: nowrap;
    }

    .buy-sell-hero-heading h1 em > span {
        display: inline;
    }

    .buy-sell-hero-heading h1 em > span + span {
        margin-top: 0;
    }
}

/*
    Let smaller screens wrap naturally.
*/

@media (max-width: 1050px) {

    .buy-sell-hero-heading h1 {
        white-space: normal;
    }

    .buy-sell-hero-heading h1 > span,
    .buy-sell-hero-heading h1 em > span {
        display: block;
    }
}

/* BUY SELL HEADLINE UNSTACK END */

/* BUYER STRATEGY START */

.buyer-strategy {
    position: relative;
    overflow: hidden;

    padding:
        clamp(92px, 8vw, 132px)
        0
        clamp(94px, 8vw, 134px);

    background:
        radial-gradient(
            circle at 10% 12%,
            rgba(65, 119, 159, .12),
            transparent 26%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(79, 118, 151, .035) 0,
            rgba(79, 118, 151, .035) 1px,
            transparent 1px,
            transparent 54px
        ),
        linear-gradient(
            180deg,
            #edf5fa 0%,
            #e6f0f6 100%
        );

    border-top:
        1px
        solid
        rgba(72, 111, 143, .16);

    border-bottom:
        1px
        solid
        rgba(72, 111, 143, .16);
}

.buyer-strategy::before {
    content: "";

    position: absolute;
    left: -110px;
    top: 20%;

    width: 340px;
    height: 340px;

    border:
        1px
        solid
        rgba(92, 137, 173, .18);

    border-radius: 50%;
}

.buyer-strategy::after {
    content: "";

    position: absolute;
    left: 57px;
    top: calc(20% + 168px);

    width: 170px;
    height: 1px;

    background:
        rgba(92, 137, 173, .23);

    box-shadow:
        0 -84px 0 rgba(92, 137, 173, .12),
        0 84px 0 rgba(92, 137, 173, .12);
}

.buyer-strategy-ghost {
    position: absolute;
    right: -20px;
    top: 20px;

    color:
        rgba(15, 38, 68, .035);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            10rem,
            19vw,
            19rem
        );

    line-height: .78;
    letter-spacing: -.07em;

    pointer-events: none;
    user-select: none;
}

.buyer-strategy-shell {
    position: relative;
    z-index: 1;
}

.buyer-strategy-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(300px, .55fr);

    gap:
        clamp(
            58px,
            8vw,
            112px
        );

    align-items: end;

    margin-bottom:
        clamp(
            54px,
            6vw,
            82px
        );
}

.buyer-strategy-intro h2 {
    max-width: 760px;

    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.7rem,
            5.8vw,
            6rem
        );

    font-weight: 400;
    line-height: .94;
    letter-spacing: -.05em;
}

.buyer-strategy-intro h2 em {
    display: block;

    margin-top: .08em;

    color: #6e91ad;

    font-style: italic;
    font-weight: 400;
}

.buyer-strategy-intro-copy {
    max-width: 390px;

    margin-left: auto;
    padding-left: 24px;

    border-left:
        1px
        solid
        rgba(75, 113, 144, .26);
}

.buyer-strategy-intro-copy > span {
    display: block;

    margin-bottom: 16px;

    color: #607f98;

    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.buyer-strategy-intro-copy p {
    margin: 0;

    color: #405b71;

    font-size: .96rem;
    line-height: 1.7;
}

.buyer-filter-board {
    position: relative;

    background:
        rgba(248, 251, 253, .82);

    border:
        1px
        solid
        rgba(69, 105, 135, .26);

    box-shadow:
        0
        30px
        68px
        rgba(23, 60, 90, .08);
}

.buyer-filter-board-top {
    min-height: 66px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        0
        clamp(
            28px,
            3vw,
            42px
        );

    color: #536e84;

    border-bottom:
        1px
        solid
        rgba(69, 105, 135, .2);
}

.buyer-filter-board-top span,
.buyer-filter-board-top strong {
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.buyer-filter-board-top span {
    color: #d06b2c;
}

.buyer-filter-columns {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
}

.buyer-filter-column {
    min-width: 0;

    padding:
        clamp(
            30px,
            3vw,
            44px
        );

    border-right:
        1px
        solid
        rgba(69, 105, 135, .2);
}

.buyer-filter-column:last-child {
    border-right: 0;
}

.buyer-filter-column-head {
    display: flex;
    align-items: center;

    gap: 14px;

    padding-bottom: 20px;

    border-bottom:
        1px
        solid
        rgba(69, 105, 135, .18);
}

.buyer-filter-column-head > span {
    color: #d06b2c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .78rem;
    font-style: italic;
}

.buyer-filter-column-head h3 {
    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.55rem,
            2vw,
            2rem
        );

    font-weight: 400;
    letter-spacing: -.025em;
}

.buyer-filter-column ul {
    display: grid;

    gap: 20px;

    margin:
        28px
        0
        0;

    padding: 0;

    list-style: none;
}

.buyer-filter-column li {
    display: grid;

    grid-template-columns:
        12px
        minmax(0, 1fr);

    gap: 12px;
    align-items: start;

    color: #425d73;

    font-size: .9rem;
    line-height: 1.5;
}

.buyer-filter-column li > span {
    width: 8px;
    height: 8px;

    margin-top: .38em;

    border:
        1px
        solid
        #6f93af;
}

.buyer-filter-column li > span::after {
    content: "";

    display: block;

    width: 4px;
    height: 4px;

    margin: 1px;

    background: #6f93af;
}

.buyer-filter-column-no {
    background:
        linear-gradient(
            145deg,
            rgba(14, 45, 70, .035),
            rgba(14, 45, 70, .07)
        );
}

.buyer-filter-column-no
.buyer-filter-column-head h3 {
    color: #173a57;
}

.buyer-filter-column-no
li > span {
    border-color: #d06b2c;
}

.buyer-filter-column-no
li > span::after {
    background: #d06b2c;
}

.buyer-filter-route {
    min-height: 86px;

    display: grid;

    grid-template-columns:
        auto
        1fr
        auto
        1fr
        auto
        1fr
        auto;

    align-items: center;

    gap: 14px;

    padding:
        0
        clamp(
            28px,
            3vw,
            42px
        );

    background:
        #102f4a;

    color: #ffffff;
}

.buyer-filter-route-step {
    display: flex;
    align-items: center;

    gap: 9px;
}

.buyer-filter-route-step span {
    color: #f09a58;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .72rem;
    font-style: italic;
}

.buyer-filter-route-step strong {
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.buyer-filter-route-line {
    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(240, 154, 88, .95),
            rgba(130, 167, 195, .38)
        );
}

.buyer-strategy-footer {
    display: flex;
    align-items: end;
    justify-content: space-between;

    gap: 54px;

    padding-top:
        clamp(
            34px,
            4vw,
            50px
        );
}

.buyer-strategy-rule > span {
    display: block;

    margin-bottom: 8px;

    color: #d06b2c;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.buyer-strategy-rule p {
    margin: 0;

    color: #17324d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.35rem,
            2vw,
            1.9rem
        );

    line-height: 1.35;
}

.buyer-strategy-rule p em {
    display: block;

    margin-top: 5px;

    color: #6e91ad;

    font-size: .8em;
    font-style: italic;
}

.buyer-strategy-footer > a {
    display: inline-flex;
    align-items: center;

    gap: 18px;

    flex: 0 0 auto;

    padding-bottom: 8px;

    color: #102947;

    border-bottom:
        1px
        solid
        #d06b2c;

    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
}

.buyer-strategy-footer > a span {
    color: #d06b2c;
}

@media (max-width: 1000px) {
    .buyer-strategy-intro {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .buyer-strategy-intro-copy {
        max-width: 640px;

        margin-left: 0;
    }

    .buyer-filter-columns {
        grid-template-columns: 1fr;
    }

    .buyer-filter-column {
        border-right: 0;

        border-bottom:
            1px
            solid
            rgba(69, 105, 135, .2);
    }

    .buyer-filter-column:last-child {
        border-bottom: 0;
    }

    .buyer-strategy-footer {
        align-items: start;

        flex-direction: column;
    }
}

@media (max-width: 700px) {
    .buyer-strategy {
        padding:
            76px
            0
            86px;
    }

    .buyer-strategy-ghost {
        font-size: 8rem;
    }

    .buyer-strategy-intro h2 {
        font-size:
            clamp(
                3rem,
                12vw,
                4.5rem
            );
    }

    .buyer-filter-board-top {
        min-height: 58px;

        padding:
            0
            20px;
    }

    .buyer-filter-board-top strong {
        display: none;
    }

    .buyer-filter-column {
        padding:
            26px
            22px;
    }

    .buyer-filter-route {
        grid-template-columns:
            1fr;

        gap: 12px;

        padding:
            22px;
    }

    .buyer-filter-route-line {
        width: 1px;
        height: 18px;

        margin-left: 8px;

        background:
            linear-gradient(
                180deg,
                rgba(240, 154, 88, .95),
                rgba(130, 167, 195, .38)
            );
    }
}

/* BUYER STRATEGY END */

/* BUYER STRATEGY MOTION START */

/*
    Visual polish.
*/

.buyer-strategy-ghost {
    color: rgba(15, 38, 68, .022);
}

@media (min-width: 1001px) {
    .buyer-strategy-footer > a {
        position: relative;

        right: clamp(34px, 4vw, 58px);
        bottom: 8px;
    }
}

/*
    Progressive enhancement.

    Everything remains visible unless JavaScript explicitly
    marks the section as animation-ready.
*/

.buyer-strategy-motion-ready
.buyer-strategy-intro > div:first-child,

.buyer-strategy-motion-ready
.buyer-strategy-intro-copy {
    opacity: 0;

    transform: translateY(10px);

    transition:
        opacity .28s ease,
        transform .38s cubic-bezier(.22, 1, .36, 1);
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-strategy-intro > div:first-child,

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-strategy-intro-copy {
    opacity: 1;

    transform: none;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-strategy-intro-copy {
    transition-delay: .08s;
}

/*
    The shortlist board header appears first.
*/

.buyer-strategy-motion-ready
.buyer-filter-board-top {
    opacity: 0;

    transform: translateY(8px);

    transition:
        opacity .22s ease,
        transform .3s cubic-bezier(.22, 1, .36, 1);
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-board-top {
    opacity: 1;

    transform: none;

    transition-delay: .16s;
}

/*
    Build the three decision columns from left to right.
*/

.buyer-strategy-motion-ready
.buyer-filter-column {
    opacity: 0;

    transform: translateY(12px);

    transition:
        opacity .25s ease,
        transform .34s cubic-bezier(.22, 1, .36, 1);
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column {
    opacity: 1;

    transform: none;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(1) {
    transition-delay: .24s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(2) {
    transition-delay: .36s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(3) {
    transition-delay: .48s;
}

/*
    Checkbox contents click on one by one.
*/

.buyer-strategy-motion-ready
.buyer-filter-column li > span::after {
    transform: scale(0);

    transform-origin: center;

    transition:
        transform
        .16s
        cubic-bezier(.18, 1.35, .42, 1);
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(1)
li:nth-child(1) > span::after {
    transform: scale(1);

    transition-delay: .38s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(1)
li:nth-child(2) > span::after {
    transform: scale(1);

    transition-delay: .46s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(1)
li:nth-child(3) > span::after {
    transform: scale(1);

    transition-delay: .54s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(2)
li:nth-child(1) > span::after {
    transform: scale(1);

    transition-delay: .50s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(2)
li:nth-child(2) > span::after {
    transform: scale(1);

    transition-delay: .58s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(2)
li:nth-child(3) > span::after {
    transform: scale(1);

    transition-delay: .66s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(3)
li:nth-child(1) > span::after {
    transform: scale(1);

    transition-delay: .62s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(3)
li:nth-child(2) > span::after {
    transform: scale(1);

    transition-delay: .70s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-column:nth-child(3)
li:nth-child(3) > span::after {
    transform: scale(1);

    transition-delay: .78s;
}

/*
    Search to Offer route.

    The lines physically grow into the next stage so the stage
    appears to be caused by the route reaching it.
*/

.buyer-strategy-motion-ready
.buyer-filter-route-step {
    opacity: 0;

    transform: translateY(5px);

    transition:
        opacity .14s ease,
        transform .2s cubic-bezier(.22, 1, .36, 1);
}

.buyer-strategy-motion-ready
.buyer-filter-route-line {
    transform: scaleX(0);

    transform-origin: left center;

    transition:
        transform
        .18s
        linear;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-route > :nth-child(1) {
    opacity: 1;

    transform: none;

    transition-delay: .84s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-route > :nth-child(2) {
    transform: scaleX(1);

    transition-delay: .91s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-route > :nth-child(3) {
    opacity: 1;

    transform: none;

    transition-delay: 1.02s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-route > :nth-child(4) {
    transform: scaleX(1);

    transition-delay: 1.09s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-route > :nth-child(5) {
    opacity: 1;

    transform: none;

    transition-delay: 1.20s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-route > :nth-child(6) {
    transform: scaleX(1);

    transition-delay: 1.27s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-filter-route > :nth-child(7) {
    opacity: 1;

    transform: none;

    transition-delay: 1.38s;
}

/*
    The rule and CTA close the sequence.
*/

.buyer-strategy-motion-ready
.buyer-strategy-rule,

.buyer-strategy-motion-ready
.buyer-strategy-footer > a {
    opacity: 0;

    transform: translateY(8px);

    transition:
        opacity .22s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1);
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-strategy-rule {
    opacity: 1;

    transform: none;

    transition-delay: 1.44s;
}

.buyer-strategy-motion-ready.is-buyer-strategy-visible
.buyer-strategy-footer > a {
    opacity: 1;

    transform: none;

    transition-delay: 1.50s;
}

/*
    Keep the desktop CTA positioning after the reveal.
*/

@media (min-width: 1001px) {
    .buyer-strategy-motion-ready
    .buyer-strategy-footer > a,

    .buyer-strategy-motion-ready.is-buyer-strategy-visible
    .buyer-strategy-footer > a {
        position: relative;

        right: clamp(34px, 4vw, 58px);
        bottom: 8px;
    }
}

/*
    Mobile route is vertical.
*/

@media (max-width: 700px) {
    .buyer-strategy-motion-ready
    .buyer-filter-route-line {
        transform: scaleY(0);

        transform-origin: top center;
    }

    .buyer-strategy-motion-ready.is-buyer-strategy-visible
    .buyer-filter-route > :nth-child(2),

    .buyer-strategy-motion-ready.is-buyer-strategy-visible
    .buyer-filter-route > :nth-child(4),

    .buyer-strategy-motion-ready.is-buyer-strategy-visible
    .buyer-filter-route > :nth-child(6) {
        transform: scaleY(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .buyer-strategy-motion-ready
    .buyer-strategy-intro > div:first-child,

    .buyer-strategy-motion-ready
    .buyer-strategy-intro-copy,

    .buyer-strategy-motion-ready
    .buyer-filter-board-top,

    .buyer-strategy-motion-ready
    .buyer-filter-column,

    .buyer-strategy-motion-ready
    .buyer-filter-route-step,

    .buyer-strategy-motion-ready
    .buyer-strategy-rule,

    .buyer-strategy-motion-ready
    .buyer-strategy-footer > a {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .buyer-strategy-motion-ready
    .buyer-filter-column li > span::after {
        transform: scale(1);

        transition: none;
    }

    .buyer-strategy-motion-ready
    .buyer-filter-route-line {
        transform: none;

        transition: none;
    }
}

/* BUYER STRATEGY MOTION END */

/* BUYER STRATEGY IDENTITY START */

/*
    BUYER FIELD FILE
    Same GOOD MOVE language, different environment from the hero.
*/

.buyer-strategy {
    position: relative;

    background:
        radial-gradient(
            circle at 78% 14%,
            rgba(61, 114, 153, .24),
            transparent 28%
        ),
        radial-gradient(
            circle at 14% 82%,
            rgba(35, 86, 122, .18),
            transparent 30%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(157, 190, 213, .045) 0,
            rgba(157, 190, 213, .045) 1px,
            transparent 1px,
            transparent 48px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(157, 190, 213, .038) 0,
            rgba(157, 190, 213, .038) 1px,
            transparent 1px,
            transparent 48px
        ),
        linear-gradient(
            145deg,
            #0c2a43 0%,
            #0a2137 52%,
            #071c30 100%
        );

    border-top:
        1px
        solid
        rgba(133, 169, 196, .22);

    border-bottom:
        1px
        solid
        rgba(133, 169, 196, .18);
}

.buyer-strategy::before {
    content: "SHORTLIST";

    position: absolute;
    left: auto;
    right: -22px;
    top: 8px;

    width: auto;
    height: auto;

    color:
        rgba(190, 216, 233, .045);

    border: 0;
    border-radius: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            9rem,
            17vw,
            17rem
        );

    font-weight: 400;
    line-height: .78;
    letter-spacing: -.065em;

    white-space: nowrap;

    pointer-events: none;
}

.buyer-strategy::after {
    content: "";

    position: absolute;
    left: clamp(24px, 4vw, 68px);
    top: 50%;

    width: 84px;
    height: 84px;

    transform:
        translateY(-50%);

    background:
        linear-gradient(
            90deg,
            transparent calc(50% - .5px),
            rgba(145, 181, 207, .22) calc(50% - .5px),
            rgba(145, 181, 207, .22) calc(50% + .5px),
            transparent calc(50% + .5px)
        ),
        linear-gradient(
            0deg,
            transparent calc(50% - .5px),
            rgba(145, 181, 207, .22) calc(50% - .5px),
            rgba(145, 181, 207, .22) calc(50% + .5px),
            transparent calc(50% + .5px)
        );

    border:
        1px
        solid
        rgba(145, 181, 207, .18);

    border-radius: 50%;

    box-shadow: none;

    pointer-events: none;
}

.buyer-strategy-ghost {
    display: none;
}

.buyer-strategy .section-kicker {
    color: #f09a58;
}

.buyer-strategy-intro h2 {
    color: #ffffff;
}

.buyer-strategy-intro h2 em {
    color: #8fadc4;
}

.buyer-strategy-intro-copy {
    border-left:
        1px
        solid
        rgba(152, 187, 211, .34);
}

.buyer-strategy-intro-copy > span {
    color: #86a9c2;
}

.buyer-strategy-intro-copy p {
    color: #cfdee8;
}

.buyer-filter-board {
    background: #f5f8fb;

    border:
        1px
        solid
        rgba(150, 182, 205, .34);

    box-shadow:
        0
        34px
        80px
        rgba(0, 0, 0, .24),
        0
        1px
        0
        rgba(255, 255, 255, .78)
        inset;
}

.buyer-filter-board-top {
    min-height: 62px;

    color: #8ca7ba;

    background: #0f324e;

    border-bottom:
        1px
        solid
        rgba(136, 173, 199, .3);
}

.buyer-filter-board-top span {
    color: #f09a58;
}

.buyer-filter-board-top strong {
    color: #b7ccda;
}

.buyer-filter-column {
    position: relative;

    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #f1f6f9 100%
        );

    border-right:
        1px
        solid
        #d4e0e8;
}

.buyer-filter-column:nth-child(2) {
    background:
        linear-gradient(
            180deg,
            #f3f8fb 0%,
            #ebf3f8 100%
        );
}

.buyer-filter-column-no {
    background:
        linear-gradient(
            180deg,
            #eef4f8 0%,
            #e4edf3 100%
        );
}

.buyer-filter-column::before {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    top: 0;

    height: 3px;

    background: #7196b2;
}

.buyer-filter-column:nth-child(2)::before {
    background: #557f9f;
}

.buyer-filter-column:nth-child(3)::before {
    background: #d06b2c;
}

.buyer-filter-column-head {
    border-bottom:
        1px
        solid
        #d2dee6;
}

.buyer-filter-column-head h3 {
    color: #102947;
}

.buyer-filter-column li {
    color: #38556c;
}

.buyer-filter-route {
    background:
        linear-gradient(
            90deg,
            #071d30 0%,
            #0b2a43 45%,
            #103650 100%
        );

    border-top:
        1px
        solid
        rgba(240, 154, 88, .32);

    box-shadow:
        0
        -1px
        0
        rgba(255, 255, 255, .04)
        inset;
}

.buyer-filter-route-line {
    background:
        linear-gradient(
            90deg,
            #f09a58 0%,
            rgba(240, 154, 88, .66) 34%,
            rgba(117, 164, 196, .32) 100%
        );
}

.buyer-strategy-rule > span {
    color: #f09a58;
}

.buyer-strategy-rule p {
    color: #ffffff;
}

.buyer-strategy-rule p em {
    color: #91afc5;
}

.buyer-strategy-footer > a {
    color: #ffffff;

    border-bottom-color:
        #f09a58;
}

.buyer-strategy-footer > a span {
    color: #f09a58;
}

.buyer-filter-board::before {
    content: "BUYER FILE / 01";

    position: absolute;
    left: -34px;
    top: 50%;

    transform:
        translateY(-50%)
        rotate(-90deg);

    transform-origin: center;

    color:
        rgba(167, 197, 217, .66);

    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;

    white-space: nowrap;
}

@media (max-width: 1000px) {
    .buyer-filter-board::before {
        display: none;
    }

    .buyer-strategy::after {
        left: -28px;

        width: 70px;
        height: 70px;
    }
}

@media (max-width: 700px) {
    .buyer-strategy::before {
        top: 24px;
        right: -6px;

        font-size: 7rem;
    }

    .buyer-strategy::after {
        display: none;
    }

    .buyer-filter-column {
        border-right: 0;
    }
}

/* BUYER STRATEGY IDENTITY END */

/* SELLER STRATEGY START */

.seller-strategy {
    position: relative;
    overflow: hidden;

    padding:
        clamp(92px, 8vw, 130px)
        0
        clamp(96px, 8vw, 136px);

    background:
        radial-gradient(
            circle at 86% 14%,
            rgba(75, 126, 164, .13),
            transparent 26%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(76, 113, 143, .04) 0,
            rgba(76, 113, 143, .04) 1px,
            transparent 1px,
            transparent 52px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(76, 113, 143, .035) 0,
            rgba(76, 113, 143, .035) 1px,
            transparent 1px,
            transparent 52px
        ),
        linear-gradient(
            180deg,
            #f3f8fb 0%,
            #e8f1f6 100%
        );

    border-bottom:
        1px
        solid
        rgba(74, 109, 137, .2);
}

.seller-strategy-ghost {
    position: absolute;
    left: -18px;
    bottom: 6px;

    color:
        rgba(16, 42, 67, .035);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            10rem,
            19vw,
            19rem
        );

    line-height: .76;
    letter-spacing: -.07em;

    pointer-events: none;
    user-select: none;
}

.seller-strategy-shell {
    position: relative;
    z-index: 1;
}

.seller-strategy-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(300px, .5fr);

    gap:
        clamp(58px, 7vw, 100px);

    align-items: end;

    margin-bottom:
        clamp(54px, 6vw, 82px);
}

.seller-strategy-heading h2 {
    max-width: 820px;

    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.6rem,
            5.4vw,
            5.7rem
        );

    font-weight: 400;
    line-height: .93;
    letter-spacing: -.05em;
}

.seller-strategy-heading h2 > span {
    display: block;
}

.seller-strategy-heading h2 em {
    display: block;

    margin-top: .1em;

    color: #6c8eaa;

    font-style: italic;
    font-weight: 400;
}

.seller-strategy-copy {
    max-width: 390px;

    margin-left: auto;
    padding-left: 24px;

    border-left:
        1px
        solid
        rgba(77, 114, 144, .28);
}

.seller-strategy-copy > span {
    display: block;

    margin-bottom: 16px;

    color: #607f98;

    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.seller-strategy-copy p {
    margin: 0;

    color: #405b71;

    font-size: .95rem;
    line-height: 1.68;
}

.seller-launch-sheet {
    position: relative;

    background: #f8fafc;

    border:
        1px
        solid
        rgba(71, 106, 134, .28);

    box-shadow:
        0
        30px
        72px
        rgba(24, 57, 83, .1);
}

.seller-launch-sheet-top {
    min-height: 62px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        0
        clamp(28px, 3vw, 42px);

    background: #102f4a;

    color: #b8cddd;

    border-bottom:
        1px
        solid
        rgba(163, 194, 215, .22);
}

.seller-launch-sheet-top span,
.seller-launch-sheet-top strong {
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.seller-launch-sheet-top span {
    color: #f09a58;
}

.seller-launch-inputs {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
}

.seller-launch-input {
    min-width: 0;

    padding:
        clamp(30px, 3vw, 42px);

    border-right:
        1px
        solid
        #d3dfe7;

    background:
        linear-gradient(
            180deg,
            #fbfcfd 0%,
            #f3f7fa 100%
        );
}

.seller-launch-input:nth-child(2) {
    background:
        linear-gradient(
            180deg,
            #f6f9fb 0%,
            #edf4f8 100%
        );
}

.seller-launch-input:nth-child(3) {
    border-right: 0;

    background:
        linear-gradient(
            180deg,
            #f2f7fa 0%,
            #e8f1f6 100%
        );
}

.seller-launch-input-head {
    display: flex;
    align-items: baseline;

    gap: 14px;

    padding-bottom: 18px;

    border-bottom:
        1px
        solid
        #d2dee6;
}

.seller-launch-input-head span {
    color: #d06b2c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .78rem;
    font-style: italic;
}

.seller-launch-input-head h3 {
    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.45rem,
            2vw,
            1.95rem
        );

    font-weight: 400;
    letter-spacing: -.025em;
}

.seller-launch-input > p {
    min-height: 88px;

    margin:
        24px
        0
        26px;

    color: #415d73;

    font-size: .86rem;
    line-height: 1.58;
}

.seller-launch-data {
    display: grid;

    gap: 8px;
}

.seller-launch-data span {
    position: relative;

    padding-left: 16px;

    color: #647f94;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.seller-launch-data span::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 6px;
    height: 6px;

    transform: translateY(-50%);

    border:
        1px
        solid
        #7094ae;
}

.seller-launch-flow {
    position: relative;

    height: 64px;

    display: grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    background:
        #edf4f8;

    border-top:
        1px
        solid
        #d2dee6;

    border-bottom:
        1px
        solid
        #d2dee6;
}

.seller-launch-flow::after {
    content: "";

    position: absolute;
    left: 16%;
    right: 16%;
    top: 50%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(92, 137, 173, .35),
            #d06b2c,
            rgba(92, 137, 173, .35)
        );
}

.seller-launch-flow span {
    position: relative;
    z-index: 1;

    align-self: center;
    justify-self: center;

    width: 10px;
    height: 10px;

    background: #edf4f8;

    border:
        2px
        solid
        #d06b2c;

    border-radius: 50%;
}

.seller-launch-position {
    display: grid;

    grid-template-columns:
        minmax(160px, .38fr)
        minmax(0, 1.2fr)
        minmax(260px, .55fr);

    align-items: stretch;

    background:
        linear-gradient(
            135deg,
            #123955 0%,
            #09253d 100%
        );

    color: #ffffff;
}

.seller-launch-position-label,
.seller-launch-position-copy,
.seller-launch-position-note {
    padding:
        clamp(28px, 3vw, 40px);
}

.seller-launch-position-label {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    gap: 34px;

    border-right:
        1px
        solid
        rgba(175, 203, 222, .18);
}

.seller-launch-position-label span {
    color: #f09a58;

    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.seller-launch-position-label strong {
    color: #9db8cb;

    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.seller-launch-position-copy {
    border-right:
        1px
        solid
        rgba(175, 203, 222, .18);
}

.seller-launch-position-copy > p {
    margin: 0 0 11px;

    color: #aec4d3;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.seller-launch-position-copy h3 {
    max-width: 540px;

    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            2.25rem,
            3.5vw,
            3.7rem
        );

    font-weight: 400;
    line-height: .98;
    letter-spacing: -.04em;
}

.seller-launch-position-copy h3 em {
    display: block;

    color: #96b4c9;

    font-style: italic;
    font-weight: 400;
}

.seller-launch-position-note {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 10px;
}

.seller-launch-position-note span {
    color: #f09a58;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.seller-launch-position-note p {
    margin: 0;

    color: #bdd0dc;

    font-size: .83rem;
    line-height: 1.55;
}

.seller-launch-sequence {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    background: #071d30;

    border-top:
        1px
        solid
        rgba(240, 154, 88, .28);
}

.seller-launch-sequence article {
    min-width: 0;

    padding:
        23px
        clamp(22px, 2.3vw, 32px)
        26px;

    border-right:
        1px
        solid
        rgba(164, 195, 215, .18);
}

.seller-launch-sequence article:last-child {
    border-right: 0;
}

.seller-launch-sequence article > span {
    display: block;

    margin-bottom: 8px;

    color: #f09a58;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .7rem;
    font-style: italic;
}

.seller-launch-sequence strong {
    display: block;

    margin-bottom: 6px;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.25rem;
    font-weight: 400;
}

.seller-launch-sequence p {
    margin: 0;

    color: #9fb9ca;

    font-size: .76rem;
    line-height: 1.5;
}

.seller-strategy-footer {
    display: flex;
    align-items: end;
    justify-content: space-between;

    gap: 54px;

    padding-top:
        clamp(34px, 4vw, 50px);
}

.seller-strategy-rule > span {
    display: block;

    margin-bottom: 8px;

    color: #d06b2c;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.seller-strategy-rule p {
    margin: 0;

    color: #17324d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.35rem,
            2vw,
            1.9rem
        );

    line-height: 1.35;
}

.seller-strategy-rule p em {
    display: block;

    margin-top: 5px;

    color: #6d8eaa;

    font-size: .8em;
    font-style: italic;
}

.seller-strategy-footer > a {
    display: inline-flex;
    align-items: center;

    gap: 18px;

    flex: 0 0 auto;

    padding-bottom: 8px;

    color: #102947;

    border-bottom:
        1px
        solid
        #d06b2c;

    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
}

.seller-strategy-footer > a span {
    color: #d06b2c;
}

@media (max-width: 1000px) {
    .seller-strategy-intro {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .seller-strategy-copy {
        max-width: 640px;

        margin-left: 0;
    }

    .seller-launch-inputs {
        grid-template-columns: 1fr;
    }

    .seller-launch-input {
        border-right: 0;

        border-bottom:
            1px
            solid
            #d3dfe7;
    }

    .seller-launch-input:nth-child(3) {
        border-bottom: 0;
    }

    .seller-launch-input > p {
        min-height: 0;
    }

    .seller-launch-position {
        grid-template-columns: 1fr;
    }

    .seller-launch-position-label,
    .seller-launch-position-copy {
        border-right: 0;

        border-bottom:
            1px
            solid
            rgba(175, 203, 222, .18);
    }

    .seller-launch-sequence {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .seller-strategy-footer {
        flex-direction: column;
        align-items: start;
    }
}

@media (max-width: 700px) {
    .seller-strategy {
        padding:
            76px
            0
            88px;
    }

    .seller-strategy-ghost {
        font-size: 7rem;
    }

    .seller-strategy-heading h2 {
        font-size:
            clamp(
                3rem,
                12vw,
                4.4rem
            );
    }

    .seller-launch-sheet-top {
        min-height: 58px;

        padding:
            0
            20px;
    }

    .seller-launch-sheet-top strong {
        display: none;
    }

    .seller-launch-input {
        padding:
            26px
            22px;
    }

    .seller-launch-flow {
        display: none;
    }

    .seller-launch-position-label,
    .seller-launch-position-copy,
    .seller-launch-position-note {
        padding:
            26px
            22px;
    }

    .seller-launch-sequence {
        grid-template-columns: 1fr;
    }

    .seller-launch-sequence article {
        border-right: 0;

        border-bottom:
            1px
            solid
            rgba(164, 195, 215, .18);
    }

    .seller-launch-sequence article:last-child {
        border-bottom: 0;
    }
}

/* SELLER STRATEGY END */

/* SELLER STRATEGY HEADLINE UNSTACK START */

@media (min-width: 1001px) {

    .seller-strategy-intro {
        grid-template-columns:
            minmax(0, 1.48fr)
            minmax(285px, .42fr);

        gap:
            clamp(
                44px,
                5vw,
                68px
            );
    }

    .seller-strategy-heading h2 {
        max-width: none;

        font-size:
            clamp(
                3.25rem,
                4.25vw,
                4.45rem
            );

        line-height: .93;

        white-space: nowrap;
    }

    .seller-strategy-heading h2 > span {
        display: inline;
    }

    .seller-strategy-heading h2 em {
        display: block;

        max-width: 920px;

        margin-top: .12em;

        line-height: .96;

        white-space: normal;
    }
}

@media (max-width: 1000px) {

    .seller-strategy-heading h2 {
        white-space: normal;
    }

    .seller-strategy-heading h2 > span {
        display: block;
    }

}

/* SELLER STRATEGY HEADLINE UNSTACK END */

/* SELLER LAUNCH MOTION START */

/*
    Progressive enhancement.
    The approved static section remains fully visible
    unless JavaScript marks it animation-ready.
*/

.seller-launch-motion-ready
.seller-strategy-heading,

.seller-launch-motion-ready
.seller-strategy-copy {
    opacity: 0;

    transform: translateY(9px);

    transition:
        opacity .26s ease,
        transform .34s cubic-bezier(.22, 1, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-strategy-heading,

.seller-launch-motion-ready.is-seller-launch-visible
.seller-strategy-copy {
    opacity: 1;

    transform: none;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-strategy-copy {
    transition-delay: .07s;
}

/*
    LAUNCH stays atmospheric.
*/

.seller-launch-motion-ready
.seller-strategy-ghost {
    opacity: 0;

    transition:
        opacity
        .42s
        ease;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-strategy-ghost {
    opacity: 1;

    transition-delay: .08s;
}

/*
    Worksheet header arrives first.
*/

.seller-launch-motion-ready
.seller-launch-sheet-top {
    opacity: 0;

    transform: translateY(6px);

    transition:
        opacity .2s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-sheet-top {
    opacity: 1;

    transform: none;

    transition-delay: .17s;
}

/*
    Three evidence columns build left to right.
*/

.seller-launch-motion-ready
.seller-launch-input {
    opacity: 0;

    transform: translateY(11px);

    transition:
        opacity .24s ease,
        transform .32s cubic-bezier(.22, 1, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(1) {
    opacity: 1;
    transform: none;
    transition-delay: .26s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: .36s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: .46s;
}

/*
    Data boxes click on after each column arrives.
*/

.seller-launch-motion-ready
.seller-launch-data span::before {
    transform:
        translateY(-50%)
        scale(0);

    transition:
        transform
        .15s
        cubic-bezier(.18, 1.35, .42, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(1)
.seller-launch-data span:nth-child(1)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .40s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(1)
.seller-launch-data span:nth-child(2)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .47s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(1)
.seller-launch-data span:nth-child(3)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .54s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(2)
.seller-launch-data span:nth-child(1)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .50s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(2)
.seller-launch-data span:nth-child(2)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .57s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(2)
.seller-launch-data span:nth-child(3)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .64s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(3)
.seller-launch-data span:nth-child(1)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .60s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(3)
.seller-launch-data span:nth-child(2)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .67s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-input:nth-child(3)
.seller-launch-data span:nth-child(3)::before {
    transform:
        translateY(-50%)
        scale(1);

    transition-delay: .74s;
}

/*
    The three inputs now feed toward the result.
*/

.seller-launch-motion-ready
.seller-launch-flow::after {
    transform: scaleX(0);

    transform-origin: center;

    transition:
        transform
        .38s
        cubic-bezier(.22, .61, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-flow::after {
    transform: scaleX(1);

    transition-delay: .70s;
}

.seller-launch-motion-ready
.seller-launch-flow span {
    opacity: 0;

    transform: scale(.35);

    transition:
        opacity .12s ease,
        transform .2s cubic-bezier(.18, 1.35, .42, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-flow span:nth-child(1) {
    opacity: 1;
    transform: scale(1);
    transition-delay: .76s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-flow span:nth-child(2) {
    opacity: 1;
    transform: scale(1);
    transition-delay: .84s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-flow span:nth-child(3) {
    opacity: 1;
    transform: scale(1);
    transition-delay: .92s;
}

/*
    THE POSITION opens outward from the center.
    This is the payoff of the three evidence sources above.
*/

.seller-launch-motion-ready
.seller-launch-position {
    clip-path:
        inset(
            0
            50%
            0
            50%
        );

    transition:
        clip-path
        .38s
        cubic-bezier(.22, .61, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-position {
    clip-path:
        inset(
            0
            0
            0
            0
        );

    transition-delay: .92s;
}

.seller-launch-motion-ready
.seller-launch-position-label,

.seller-launch-motion-ready
.seller-launch-position-copy,

.seller-launch-motion-ready
.seller-launch-position-note {
    opacity: 0;

    transform: translateY(7px);

    transition:
        opacity .2s ease,
        transform .26s cubic-bezier(.22, 1, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-position-label {
    opacity: 1;
    transform: none;
    transition-delay: 1.08s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-position-copy {
    opacity: 1;
    transform: none;
    transition-delay: 1.13s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-position-note {
    opacity: 1;
    transform: none;
    transition-delay: 1.18s;
}

/*
    PREP, PRICE, PRESENT, LAUNCH only begin after
    the market position has been established.
*/

.seller-launch-motion-ready
.seller-launch-sequence article {
    opacity: 0;

    transform: translateY(9px);

    transition:
        opacity .18s ease,
        transform .26s cubic-bezier(.22, 1, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-sequence article:nth-child(1) {
    opacity: 1;
    transform: none;
    transition-delay: 1.22s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-sequence article:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: 1.32s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-sequence article:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: 1.42s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-launch-sequence article:nth-child(4) {
    opacity: 1;
    transform: none;
    transition-delay: 1.52s;
}

/*
    Seller rule and CTA close the story.
*/

.seller-launch-motion-ready
.seller-strategy-rule,

.seller-launch-motion-ready
.seller-strategy-footer > a {
    opacity: 0;

    transform: translateY(7px);

    transition:
        opacity .18s ease,
        transform .24s cubic-bezier(.22, 1, .36, 1);
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-strategy-rule {
    opacity: 1;

    transform: none;

    transition-delay: 1.60s;
}

.seller-launch-motion-ready.is-seller-launch-visible
.seller-strategy-footer > a {
    opacity: 1;

    transform: none;

    transition-delay: 1.66s;
}

@media (prefers-reduced-motion: reduce) {

    .seller-launch-motion-ready
    .seller-strategy-heading,

    .seller-launch-motion-ready
    .seller-strategy-copy,

    .seller-launch-motion-ready
    .seller-strategy-ghost,

    .seller-launch-motion-ready
    .seller-launch-sheet-top,

    .seller-launch-motion-ready
    .seller-launch-input,

    .seller-launch-motion-ready
    .seller-launch-flow span,

    .seller-launch-motion-ready
    .seller-launch-position-label,

    .seller-launch-motion-ready
    .seller-launch-position-copy,

    .seller-launch-motion-ready
    .seller-launch-position-note,

    .seller-launch-motion-ready
    .seller-launch-sequence article,

    .seller-launch-motion-ready
    .seller-strategy-rule,

    .seller-launch-motion-ready
    .seller-strategy-footer > a {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .seller-launch-motion-ready
    .seller-launch-data span::before {
        transform:
            translateY(-50%)
            scale(1);

        transition: none;
    }

    .seller-launch-motion-ready
    .seller-launch-flow::after {
        transform: none;

        transition: none;
    }

    .seller-launch-motion-ready
    .seller-launch-position {
        clip-path: none;

        transition: none;
    }
}

/* SELLER LAUNCH MOTION END */

/* UNDER CONTRACT START */

.contract-ops {
    position: relative;
    overflow: hidden;

    padding:
        clamp(94px, 8vw, 132px)
        0
        clamp(98px, 8vw, 138px);

    color: #ffffff;

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(116, 169, 204, .14),
            transparent 26%
        ),
        radial-gradient(
            circle at 88% 78%,
            rgba(55, 112, 151, .18),
            transparent 28%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(164, 199, 221, .035) 0,
            rgba(164, 199, 221, .035) 1px,
            transparent 1px,
            transparent 50px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(164, 199, 221, .03) 0,
            rgba(164, 199, 221, .03) 1px,
            transparent 1px,
            transparent 50px
        ),
        linear-gradient(
            145deg,
            #163f5d 0%,
            #103550 52%,
            #0b2a43 100%
        );

    border-bottom:
        1px
        solid
        rgba(170, 202, 222, .18);
}

.contract-ops-ghost {
    position: absolute;
    right: -20px;
    top: 10px;

    color:
        rgba(220, 235, 245, .04);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            10rem,
            19vw,
            19rem
        );

    line-height: .76;
    letter-spacing: -.07em;

    pointer-events: none;
    user-select: none;
}

.contract-ops-shell {
    position: relative;
    z-index: 1;
}

.contract-ops .section-kicker {
    color: #f09a58;
}

.contract-ops-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(300px, .52fr);

    gap:
        clamp(58px, 7vw, 102px);

    align-items: end;

    margin-bottom:
        clamp(54px, 6vw, 82px);
}

.contract-ops-intro h2 {
    max-width: 820px;

    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.5rem,
            5.4vw,
            5.7rem
        );

    font-weight: 400;
    line-height: .93;
    letter-spacing: -.05em;
}

.contract-ops-intro h2 em {
    display: block;

    margin-top: .09em;

    color: #9ab8cc;

    font-style: italic;
    font-weight: 400;
}

.contract-ops-copy {
    max-width: 390px;

    margin-left: auto;
    padding-left: 24px;

    border-left:
        1px
        solid
        rgba(177, 205, 223, .28);
}

.contract-ops-copy > span {
    display: block;

    margin-bottom: 16px;

    color: #9cb9cc;

    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.contract-ops-copy p {
    margin: 0;

    color: #d2e0e9;

    font-size: .95rem;
    line-height: 1.68;
}

.contract-board {
    border:
        1px
        solid
        rgba(171, 202, 222, .24);

    background:
        rgba(7, 29, 48, .4);

    box-shadow:
        0
        30px
        70px
        rgba(0, 0, 0, .18);
}

.contract-board-top {
    min-height: 62px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        0
        clamp(28px, 3vw, 42px);

    background:
        rgba(5, 25, 42, .68);

    border-bottom:
        1px
        solid
        rgba(174, 204, 223, .18);
}

.contract-board-top span,
.contract-board-top strong {
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.contract-board-top span {
    color: #f09a58;
}

.contract-board-top strong {
    color: #a9c2d2;
}

.contract-progress {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
}

.contract-progress article {
    min-width: 0;

    padding:
        clamp(28px, 3vw, 40px);

    border-right:
        1px
        solid
        rgba(173, 203, 222, .16);

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .035),
            rgba(255, 255, 255, .012)
        );
}

.contract-progress article:last-child {
    border-right: 0;
}

.contract-progress-head {
    display: grid;

    grid-template-columns:
        auto
        1fr
        auto;

    gap: 10px;
    align-items: center;

    padding-bottom: 18px;

    border-bottom:
        1px
        solid
        rgba(174, 204, 223, .18);
}

.contract-progress-head > span {
    color: #f09a58;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .75rem;
    font-style: italic;
}

.contract-progress-head > strong {
    color: #ffffff;

    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.contract-progress-head i {
    padding:
        5px
        7px;

    color: #9db7c9;

    border:
        1px
        solid
        rgba(157, 187, 207, .26);

    font-size: .48rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.contract-progress article:first-child
.contract-progress-head i {
    color: #f09a58;

    border-color:
        rgba(240, 154, 88, .55);
}

.contract-progress h3 {
    margin:
        28px
        0
        18px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.65rem,
            2.15vw,
            2.25rem
        );

    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.03em;
}

.contract-progress h3 em {
    display: block;

    color: #9db9cc;

    font-style: italic;
    font-weight: 400;
}

.contract-progress article > p {
    margin: 0;

    color: #b9cedc;

    font-size: .82rem;
    line-height: 1.6;
}

.contract-rail {
    position: relative;

    min-height: 64px;

    display: grid;

    grid-template-columns:
        repeat(
            4,
            1fr
        );

    align-items: center;

    background:
        #071d30;

    border-top:
        1px
        solid
        rgba(240, 154, 88, .28);

    border-bottom:
        1px
        solid
        rgba(169, 200, 220, .15);
}

.contract-rail::before {
    content: "";

    position: absolute;
    left: 12.5%;
    right: 12.5%;
    top: 50%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            #f09a58 0%,
            #f09a58 30%,
            rgba(133, 173, 200, .48) 54%,
            rgba(133, 173, 200, .24) 100%
        );
}

.contract-rail span {
    position: relative;
    z-index: 1;

    justify-self: center;

    width: 12px;
    height: 12px;

    background: #071d30;

    border:
        2px
        solid
        #6f94ae;

    border-radius: 50%;
}

.contract-rail span:first-child {
    border-color: #f09a58;

    box-shadow:
        0
        0
        0
        5px
        rgba(240, 154, 88, .08);
}

.contract-status {
    display: grid;

    grid-template-columns:
        minmax(180px, .45fr)
        minmax(0, 1fr)
        minmax(220px, .55fr);

    align-items: center;

    background:
        rgba(255, 255, 255, .045);
}

.contract-status > * {
    min-height: 118px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        24px
        clamp(24px, 2.6vw, 36px);

    border-right:
        1px
        solid
        rgba(174, 204, 223, .16);
}

.contract-status > *:last-child {
    border-right: 0;
}

.contract-status span {
    display: block;

    margin-bottom: 8px;

    color: #8facc0;

    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.contract-status strong {
    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.2rem;
    font-weight: 400;
}

.contract-status > p {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.35rem,
            2vw,
            1.9rem
        );

    font-style: italic;
    line-height: 1.25;
}

.contract-ops-footer {
    display: flex;
    align-items: end;
    justify-content: space-between;

    gap: 54px;

    padding-top:
        clamp(34px, 4vw, 50px);
}

.contract-ops-footer > p {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.3rem,
            1.8vw,
            1.75rem
        );

    line-height: 1.35;
}

.contract-ops-footer > p em {
    display: block;

    margin-top: 4px;

    color: #9ab7ca;

    font-style: italic;
}

.contract-ops-footer > a {
    display: inline-flex;
    align-items: center;

    gap: 18px;

    flex: 0 0 auto;

    padding-bottom: 8px;

    color: #ffffff;

    border-bottom:
        1px
        solid
        #f09a58;

    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
}

.contract-ops-footer > a span {
    color: #f09a58;
}

@media (max-width: 1000px) {
    .contract-ops-intro {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .contract-ops-copy {
        max-width: 640px;

        margin-left: 0;
    }

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

    .contract-progress article:nth-child(2) {
        border-right: 0;
    }

    .contract-progress article:nth-child(-n + 2) {
        border-bottom:
            1px
            solid
            rgba(173, 203, 222, .16);
    }

    .contract-status {
        grid-template-columns: 1fr;
    }

    .contract-status > * {
        border-right: 0;

        border-bottom:
            1px
            solid
            rgba(174, 204, 223, .16);
    }

    .contract-status > *:last-child {
        border-bottom: 0;
    }

    .contract-ops-footer {
        flex-direction: column;
        align-items: start;
    }
}

@media (max-width: 700px) {
    .contract-ops {
        padding:
            76px
            0
            88px;
    }

    .contract-ops-ghost {
        font-size: 7rem;
    }

    .contract-ops-intro h2 {
        font-size:
            clamp(
                3rem,
                12vw,
                4.4rem
            );
    }

    .contract-board-top {
        min-height: 58px;

        padding:
            0
            20px;
    }

    .contract-board-top strong {
        display: none;
    }

    .contract-progress {
        grid-template-columns: 1fr;
    }

    .contract-progress article {
        border-right: 0;

        border-bottom:
            1px
            solid
            rgba(173, 203, 222, .16);
    }

    .contract-progress article:last-child {
        border-bottom: 0;
    }

    .contract-rail {
        display: none;
    }
}

/* UNDER CONTRACT END */

/* UNDER CONTRACT MOTION START */

/*
    Progressive enhancement.
    The approved static design remains visible unless
    JavaScript marks the section ready for motion.
*/

.contract-ops-motion-ready
.contract-ops-intro > div:first-child,

.contract-ops-motion-ready
.contract-ops-copy {
    opacity: 0;
    transform: translateY(9px);

    transition:
        opacity .24s ease,
        transform .32s cubic-bezier(.22, 1, .36, 1);
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-ops-intro > div:first-child,

.contract-ops-motion-ready.is-contract-ops-visible
.contract-ops-copy {
    opacity: 1;
    transform: none;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-ops-copy {
    transition-delay: .07s;
}

/*
    Control board header.
*/

.contract-ops-motion-ready
.contract-board-top {
    opacity: 0;
    transform: translateY(6px);

    transition:
        opacity .18s ease,
        transform .26s cubic-bezier(.22, 1, .36, 1);
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-board-top {
    opacity: 1;
    transform: none;

    transition-delay: .16s;
}

/*
    Operation panels remain waiting until the rail reaches them.
*/

.contract-ops-motion-ready
.contract-progress article {
    opacity: 0;
    transform: translateY(10px);

    transition:
        opacity .2s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1);
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(1) {
    opacity: 1;
    transform: none;

    transition-delay: .32s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(2) {
    opacity: 1;
    transform: none;

    transition-delay: .58s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(3) {
    opacity: 1;
    transform: none;

    transition-delay: .84s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(4) {
    opacity: 1;
    transform: none;

    transition-delay: 1.10s;
}

/*
    The rail physically travels from Verify to Close.
*/

.contract-ops-motion-ready
.contract-rail::before {
    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform
        .96s
        linear;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-rail::before {
    transform: scaleX(1);

    transition-delay: .28s;
}

/*
    Each node wakes up as the rail reaches it.
*/

.contract-ops-motion-ready
.contract-rail span {
    opacity: .38;

    transform: scale(.65);

    transition:
        opacity .14s ease,
        transform .2s cubic-bezier(.18, 1.35, .42, 1),
        border-color .15s ease,
        box-shadow .15s ease;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-rail span:nth-child(1) {
    opacity: 1;
    transform: scale(1);

    border-color: #f09a58;

    box-shadow:
        0
        0
        0
        5px
        rgba(240, 154, 88, .08);

    transition-delay: .30s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-rail span:nth-child(2) {
    opacity: 1;
    transform: scale(1);

    border-color: #f09a58;

    box-shadow:
        0
        0
        0
        5px
        rgba(240, 154, 88, .06);

    transition-delay: .56s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-rail span:nth-child(3) {
    opacity: 1;
    transform: scale(1);

    border-color: #f09a58;

    box-shadow:
        0
        0
        0
        5px
        rgba(240, 154, 88, .06);

    transition-delay: .82s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-rail span:nth-child(4) {
    opacity: 1;
    transform: scale(1);

    border-color: #f09a58;

    box-shadow:
        0
        0
        0
        5px
        rgba(240, 154, 88, .06);

    transition-delay: 1.08s;
}

/*
    ACTIVE / QUEUED badges sharpen with their panel.
*/

.contract-ops-motion-ready
.contract-progress-head i {
    opacity: .45;

    transition:
        opacity .16s ease,
        border-color .16s ease,
        color .16s ease;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(1)
.contract-progress-head i {
    opacity: 1;

    transition-delay: .32s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(2)
.contract-progress-head i {
    opacity: 1;

    transition-delay: .58s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(3)
.contract-progress-head i {
    opacity: 1;

    transition-delay: .84s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-progress article:nth-child(4)
.contract-progress-head i {
    opacity: 1;

    transition-delay: 1.10s;
}

/*
    Status strip appears after the rail reaches Close.
*/

.contract-ops-motion-ready
.contract-status > * {
    opacity: 0;
    transform: translateY(7px);

    transition:
        opacity .18s ease,
        transform .24s cubic-bezier(.22, 1, .36, 1);
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-status > *:nth-child(1) {
    opacity: 1;
    transform: none;

    transition-delay: 1.20s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-status > *:nth-child(2) {
    opacity: 1;
    transform: none;

    transition-delay: 1.28s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-status > *:nth-child(3) {
    opacity: 1;
    transform: none;

    transition-delay: 1.36s;
}

/*
    Footer closes the sequence.
*/

.contract-ops-motion-ready
.contract-ops-footer > p,

.contract-ops-motion-ready
.contract-ops-footer > a {
    opacity: 0;
    transform: translateY(7px);

    transition:
        opacity .18s ease,
        transform .24s cubic-bezier(.22, 1, .36, 1);
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-ops-footer > p {
    opacity: 1;
    transform: none;

    transition-delay: 1.44s;
}

.contract-ops-motion-ready.is-contract-ops-visible
.contract-ops-footer > a {
    opacity: 1;
    transform: none;

    transition-delay: 1.50s;
}

@media (prefers-reduced-motion: reduce) {

    .contract-ops-motion-ready
    .contract-ops-intro > div:first-child,

    .contract-ops-motion-ready
    .contract-ops-copy,

    .contract-ops-motion-ready
    .contract-board-top,

    .contract-ops-motion-ready
    .contract-progress article,

    .contract-ops-motion-ready
    .contract-rail span,

    .contract-ops-motion-ready
    .contract-status > *,

    .contract-ops-motion-ready
    .contract-ops-footer > p,

    .contract-ops-motion-ready
    .contract-ops-footer > a {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .contract-ops-motion-ready
    .contract-rail::before {
        transform: none;
        transition: none;
    }
}

/* UNDER CONTRACT MOTION END */

/* BUY SELL CLOSING START */

.buy-sell-closing {
    position: relative;
    overflow: hidden;

    padding:
        clamp(96px, 8vw, 138px)
        0
        clamp(92px, 8vw, 132px);

    background:
        radial-gradient(
            circle at 82% 24%,
            rgba(82, 132, 169, .13),
            transparent 27%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(74, 111, 141, .035) 0,
            rgba(74, 111, 141, .035) 1px,
            transparent 1px,
            transparent 54px
        ),
        linear-gradient(
            180deg,
            #f4f9fc 0%,
            #eaf2f7 100%
        );

    border-bottom:
        1px
        solid
        rgba(76, 109, 136, .18);
}

.buy-sell-closing-ghost {
    position: absolute;
    left: -14px;
    bottom: -26px;

    color:
        rgba(15, 39, 66, .035);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            11rem,
            21vw,
            21rem
        );

    line-height: .76;
    letter-spacing: -.075em;

    pointer-events: none;
    user-select: none;
}

.buy-sell-closing-shell {
    position: relative;
    z-index: 1;
}

.buy-sell-closing-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(300px, .5fr);

    gap:
        clamp(58px, 7vw, 104px);

    align-items: end;

    margin-bottom:
        clamp(54px, 6vw, 82px);
}

.buy-sell-closing-intro h2 {
    max-width: 830px;

    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.5rem,
            5.3vw,
            5.7rem
        );

    font-weight: 400;
    line-height: .93;
    letter-spacing: -.05em;
}

.buy-sell-closing-intro h2 > span {
    display: block;
}

.buy-sell-closing-intro h2 em {
    display: block;

    margin-top: .1em;

    color: #6d8eaa;

    font-style: italic;
    font-weight: 400;
}

.buy-sell-closing-copy {
    max-width: 390px;

    margin-left: auto;
    padding-left: 24px;

    border-left:
        1px
        solid
        rgba(77, 114, 144, .28);
}

.buy-sell-closing-copy > span {
    display: block;

    margin-bottom: 16px;

    color: #607f98;

    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.buy-sell-closing-copy p {
    margin: 0;

    color: #405b71;

    font-size: .95rem;
    line-height: 1.68;
}

.buy-sell-start-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    border:
        1px
        solid
        rgba(70, 106, 135, .26);

    box-shadow:
        0
        30px
        70px
        rgba(24, 57, 83, .08);
}

.buy-sell-start-card {
    position: relative;

    min-width: 0;
    min-height: 430px;

    display: flex;
    flex-direction: column;

    padding:
        clamp(30px, 3vw, 42px);

    color: #102947;

    background:
        linear-gradient(
            180deg,
            #fbfcfd 0%,
            #f2f7fa 100%
        );

    border-right:
        1px
        solid
        #d3dfe7;

    text-decoration: none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.buy-sell-start-card:nth-child(2) {
    background:
        linear-gradient(
            180deg,
            #f5f9fb 0%,
            #eaf2f7 100%
        );
}

.buy-sell-start-card:last-child {
    border-right: 0;
}

.buy-sell-start-card-both {
    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #123955 0%,
            #09253d 100%
        );
}

.buy-sell-start-card:hover {
    transform: translateY(-4px);
}

.buy-sell-start-card-top {
    display: flex;
    justify-content: space-between;

    gap: 24px;

    padding-bottom: 20px;

    border-bottom:
        1px
        solid
        rgba(75, 111, 140, .2);
}

.buy-sell-start-card-both
.buy-sell-start-card-top {
    border-color:
        rgba(174, 203, 222, .2);
}

.buy-sell-start-card-top span {
    color: #d06b2c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .8rem;
    font-style: italic;
}

.buy-sell-start-card-both
.buy-sell-start-card-top span {
    color: #f09a58;
}

.buy-sell-start-card-top strong {
    color: #607d94;

    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.buy-sell-start-card-both
.buy-sell-start-card-top strong {
    color: #adc4d3;
}

.buy-sell-start-card h3 {
    margin:
        clamp(54px, 6vw, 82px)
        0
        22px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            2.2rem,
            3.1vw,
            3.4rem
        );

    font-weight: 400;
    line-height: .98;
    letter-spacing: -.04em;
}

.buy-sell-start-card h3 em {
    display: block;

    color: #6d90ab;

    font-style: italic;
    font-weight: 400;
}

.buy-sell-start-card-both h3 em {
    color: #9bb7cb;
}

.buy-sell-start-card > p {
    max-width: 360px;

    margin: 0 0 34px;

    color: #496378;

    font-size: .86rem;
    line-height: 1.6;
}

.buy-sell-start-card-both > p {
    color: #bfd1dc;
}

.buy-sell-start-action {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: auto;
    padding-top: 18px;

    color: #102947;

    border-top:
        1px
        solid
        rgba(75, 111, 140, .2);

    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.buy-sell-start-action span {
    color: #d06b2c;

    font-size: 1rem;
}

.buy-sell-start-card-both
.buy-sell-start-action {
    color: #ffffff;

    border-color:
        rgba(174, 203, 222, .2);
}

.buy-sell-start-card-both
.buy-sell-start-action span {
    color: #f09a58;
}

.buy-sell-closing-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 26px;

    padding-top:
        clamp(30px, 4vw, 46px);

    color: #60798e;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.buy-sell-closing-footer span {
    position: relative;
}

.buy-sell-closing-footer span + span::before {
    content: "";

    position: absolute;
    left: -38px;
    top: 50%;

    width: 4px;
    height: 4px;

    transform: translateY(-50%);

    background: #d06b2c;

    border-radius: 50%;
}

@media (max-width: 1000px) {
    .buy-sell-closing-intro {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .buy-sell-closing-copy {
        max-width: 640px;

        margin-left: 0;
    }

    .buy-sell-start-grid {
        grid-template-columns: 1fr;
    }

    .buy-sell-start-card {
        min-height: 0;

        border-right: 0;

        border-bottom:
            1px
            solid
            #d3dfe7;
    }

    .buy-sell-start-card:last-child {
        border-bottom: 0;
    }

    .buy-sell-start-card h3 {
        margin-top: 42px;
    }
}

@media (max-width: 700px) {
    .buy-sell-closing {
        padding:
            76px
            0
            88px;
    }

    .buy-sell-closing-ghost {
        font-size: 8rem;
    }

    .buy-sell-closing-intro h2 {
        font-size:
            clamp(
                3rem,
                12vw,
                4.4rem
            );
    }

    .buy-sell-start-card {
        padding:
            26px
            22px;
    }

    .buy-sell-closing-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 12px;
    }

    .buy-sell-closing-footer span {
        padding-left: 16px;
    }

    .buy-sell-closing-footer span::before,
    .buy-sell-closing-footer span + span::before {
        content: "";

        position: absolute;
        left: 0;
        top: 50%;

        width: 4px;
        height: 4px;

        transform: translateY(-50%);

        background: #d06b2c;

        border-radius: 50%;
    }
}

/* BUY SELL CLOSING END */

/* BUY SELL CLOSING MOTION START */

/*
    Keep the Selling headline as two deliberate lines on desktop.
*/

@media (min-width: 1001px) {
    .buy-sell-start-title-line {
        display: block;
        white-space: nowrap;
    }

    .buy-sell-start-card:nth-child(2) h3 {
        font-size:
            clamp(
                2.05rem,
                2.75vw,
                3.05rem
            );
    }
}

/*
    Progressive enhancement.
    Static design stays visible unless JavaScript marks
    the section ready to animate.
*/

.buy-sell-closing-motion-ready
.buy-sell-closing-intro > div:first-child,

.buy-sell-closing-motion-ready
.buy-sell-closing-copy {
    opacity: 0;

    transform: translateY(9px);

    transition:
        opacity .24s ease,
        transform .32s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-closing-intro > div:first-child,

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-closing-copy {
    opacity: 1;

    transform: none;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-closing-copy {
    transition-delay: .07s;
}

/*
    START stays atmospheric.
*/

.buy-sell-closing-motion-ready
.buy-sell-closing-ghost {
    opacity: 0;

    transition:
        opacity
        .42s
        ease;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-closing-ghost {
    opacity: 1;

    transition-delay: .10s;
}

/*
    Three starting points arrive in order.
*/

.buy-sell-closing-motion-ready
.buy-sell-start-card {
    opacity: 0;

    transform: translateY(14px);

    transition:
        opacity .22s ease,
        transform .32s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(1) {
    opacity: 1;

    transform: none;

    transition-delay: .24s;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(2) {
    opacity: 1;

    transform: none;

    transition-delay: .38s;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(3) {
    opacity: 1;

    transform: none;

    transition-delay: .52s;
}

/*
    Each card's top rule draws after the card arrives.
*/

.buy-sell-closing-motion-ready
.buy-sell-start-card-top {
    position: relative;
}

.buy-sell-closing-motion-ready
.buy-sell-start-card-top::after {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            #d06b2c,
            rgba(208, 107, 44, .18)
        );

    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform
        .28s
        cubic-bezier(.22, .61, .36, 1);
}

.buy-sell-closing-motion-ready
.buy-sell-start-card-both
.buy-sell-start-card-top::after {
    background:
        linear-gradient(
            90deg,
            #f09a58,
            rgba(240, 154, 88, .18)
        );
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(1)
.buy-sell-start-card-top::after {
    transform: scaleX(1);

    transition-delay: .34s;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(2)
.buy-sell-start-card-top::after {
    transform: scaleX(1);

    transition-delay: .48s;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(3)
.buy-sell-start-card-top::after {
    transform: scaleX(1);

    transition-delay: .62s;
}

/*
    Action rows appear after each choice is readable.
*/

.buy-sell-closing-motion-ready
.buy-sell-start-action {
    opacity: 0;

    transform: translateY(5px);

    transition:
        opacity .18s ease,
        transform .24s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(1)
.buy-sell-start-action {
    opacity: 1;

    transform: none;

    transition-delay: .56s;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(2)
.buy-sell-start-action {
    opacity: 1;

    transform: none;

    transition-delay: .68s;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:nth-child(3)
.buy-sell-start-action {
    opacity: 1;

    transform: none;

    transition-delay: .80s;
}

/*
    Footer closes the conversion sequence.
*/

.buy-sell-closing-motion-ready
.buy-sell-closing-footer {
    opacity: 0;

    transform: translateY(6px);

    transition:
        opacity .2s ease,
        transform .26s cubic-bezier(.22, 1, .36, 1);
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-closing-footer {
    opacity: 1;

    transform: none;

    transition-delay: .90s;
}

/*
    Preserve the approved hover movement after animation.
*/

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible
.buy-sell-start-card:hover {
    transform: translateY(-4px);
}

@media (max-width: 1000px) {
    .buy-sell-start-title-line {
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {

    .buy-sell-closing-motion-ready
    .buy-sell-closing-intro > div:first-child,

    .buy-sell-closing-motion-ready
    .buy-sell-closing-copy,

    .buy-sell-closing-motion-ready
    .buy-sell-closing-ghost,

    .buy-sell-closing-motion-ready
    .buy-sell-start-card,

    .buy-sell-closing-motion-ready
    .buy-sell-start-action,

    .buy-sell-closing-motion-ready
    .buy-sell-closing-footer {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .buy-sell-closing-motion-ready
    .buy-sell-start-card-top::after {
        transform: scaleX(1);

        transition: none;
    }
}

/* BUY SELL CLOSING MOTION END */

/* BUY SELL CLOSING VISUAL POLISH START */

/*
    Give the closing section its own environmental identity.

    The left graphic is a wayfinding target.
    The right graphic is a three-path routing diagram that
    echoes the Buying / Selling / Both choices.
*/

.buy-sell-closing {
    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(71, 125, 164, .12),
            transparent 24%
        ),
        radial-gradient(
            circle at 90% 66%,
            rgba(87, 137, 174, .1),
            transparent 24%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(74, 111, 141, .04) 0,
            rgba(74, 111, 141, .04) 1px,
            transparent 1px,
            transparent 54px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(74, 111, 141, .032) 0,
            rgba(74, 111, 141, .032) 1px,
            transparent 1px,
            transparent 54px
        ),
        linear-gradient(
            180deg,
            #f4f9fc 0%,
            #e9f2f7 100%
        );
}

/*
    Left waypoint.
*/

.buy-sell-closing::before {
    content: "";

    position: absolute;
    z-index: 0;

    left: -172px;
    top: 176px;

    width: 330px;
    height: 330px;

    border:
        1px
        solid
        rgba(82, 133, 170, .22);

    border-radius: 50%;

    background:
        radial-gradient(
            circle at center,
            transparent 0 25px,
            rgba(82, 133, 170, .22) 26px 27px,
            transparent 28px 74px,
            rgba(82, 133, 170, .15) 75px 76px,
            transparent 77px
        ),
        linear-gradient(
            90deg,
            transparent calc(50% - .5px),
            rgba(82, 133, 170, .2) calc(50% - .5px),
            rgba(82, 133, 170, .2) calc(50% + .5px),
            transparent calc(50% + .5px)
        ),
        linear-gradient(
            0deg,
            transparent calc(50% - .5px),
            rgba(82, 133, 170, .2) calc(50% - .5px),
            rgba(82, 133, 170, .2) calc(50% + .5px),
            transparent calc(50% + .5px)
        );

    box-shadow:
        0 0 0 42px rgba(82, 133, 170, .025),
        0 0 0 84px rgba(82, 133, 170, .018);

    pointer-events: none;
}

/*
    Right-side routing diagram.

    Three separate paths converge into one exit route.
*/

.buy-sell-closing::after {
    content: "";

    position: absolute;
    z-index: 0;

    right: -54px;
    top: 190px;

    width: 390px;
    height: 260px;

    background:
        radial-gradient(
            circle at 14% 22%,
            #edf5fa 0 5px,
            rgba(84, 135, 171, .48) 5.5px 6.5px,
            transparent 7px
        ),
        radial-gradient(
            circle at 14% 50%,
            #edf5fa 0 5px,
            rgba(84, 135, 171, .48) 5.5px 6.5px,
            transparent 7px
        ),
        radial-gradient(
            circle at 14% 78%,
            #edf5fa 0 5px,
            rgba(84, 135, 171, .48) 5.5px 6.5px,
            transparent 7px
        ),
        radial-gradient(
            circle at 86% 50%,
            #edf5fa 0 6px,
            rgba(208, 107, 44, .68) 6.5px 7.5px,
            transparent 8px
        ),
        linear-gradient(
            rgba(84, 135, 171, .28),
            rgba(84, 135, 171, .28)
        )
        14% 22% / 52% 1px no-repeat,
        linear-gradient(
            rgba(84, 135, 171, .28),
            rgba(84, 135, 171, .28)
        )
        14% 50% / 52% 1px no-repeat,
        linear-gradient(
            rgba(84, 135, 171, .28),
            rgba(84, 135, 171, .28)
        )
        14% 78% / 52% 1px no-repeat,
        linear-gradient(
            rgba(84, 135, 171, .28),
            rgba(84, 135, 171, .28)
        )
        66% 22% / 1px 56% no-repeat,
        linear-gradient(
            90deg,
            rgba(84, 135, 171, .28),
            rgba(208, 107, 44, .5)
        )
        66% 50% / 20% 1px no-repeat;

    border-top:
        1px
        solid
        rgba(84, 135, 171, .12);

    border-bottom:
        1px
        solid
        rgba(84, 135, 171, .12);

    pointer-events: none;
}

/*
    Keep content above the new drafting graphics.
*/

.buy-sell-closing-shell {
    position: relative;
    z-index: 2;
}

.buy-sell-closing-ghost {
    z-index: 1;
}

/*
    Desktop headline is intentionally two lines:

    You do not need the whole plan.
    You just need somewhere to start.
*/

@media (min-width: 1001px) {

    .buy-sell-closing-intro {
        grid-template-columns:
            minmax(0, 1.58fr)
            minmax(270px, .42fr);

        gap:
            clamp(
                34px,
                4vw,
                56px
            );
    }

    .buy-sell-closing-intro h2 {
        max-width: none;

        font-size:
            clamp(
                3rem,
                3.55vw,
                3.75rem
            );

        line-height: .94;

        white-space: nowrap;
    }

    .buy-sell-closing-intro h2 > span {
        display: inline;
    }

    .buy-sell-closing-intro h2 em {
        display: block;

        max-width: none;

        margin-top: .12em;

        line-height: .96;

        white-space: nowrap;
    }

    .buy-sell-closing-copy {
        max-width: 330px;
    }
}

/*
    Let the background graphics reveal with the existing
    section animation instead of simply appearing.
*/

.buy-sell-closing-motion-ready::before {
    clip-path:
        inset(
            0
            100%
            0
            0
        );

    transition:
        clip-path
        .7s
        cubic-bezier(.22, .61, .36, 1);
}

.buy-sell-closing-motion-ready::after {
    clip-path:
        inset(
            0
            0
            0
            100%
        );

    transition:
        clip-path
        .72s
        cubic-bezier(.22, .61, .36, 1);
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible::before,
.buy-sell-closing-motion-ready.is-buy-sell-closing-visible::after {
    clip-path:
        inset(
            0
            0
            0
            0
        );
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible::before {
    transition-delay: .08s;
}

.buy-sell-closing-motion-ready.is-buy-sell-closing-visible::after {
    transition-delay: .16s;
}

@media (max-width: 1000px) {

    .buy-sell-closing-intro h2 {
        white-space: normal;
    }

    .buy-sell-closing-intro h2 > span {
        display: block;
    }

    .buy-sell-closing-intro h2 em {
        white-space: normal;
    }

    .buy-sell-closing::before {
        left: -240px;
    }

    .buy-sell-closing::after {
        right: -250px;
    }
}

@media (max-width: 700px) {

    .buy-sell-closing::before,
    .buy-sell-closing::after {
        display: none;
    }
}

/* BUY SELL CLOSING VISUAL POLISH END */

/* CONTACT HERO START */

.contact-router-hero {
    position: relative;
    overflow: hidden;

    min-height:
        calc(100vh - 116px);

    display: flex;
    align-items: center;

    padding:
        clamp(52px, 6vh, 78px)
        0
        clamp(54px, 6vh, 82px);

    background:
        radial-gradient(
            circle at 12% 16%,
            rgba(70, 124, 165, .13),
            transparent 26%
        ),
        radial-gradient(
            circle at 84% 78%,
            rgba(67, 119, 158, .09),
            transparent 28%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(72, 111, 142, .04) 0,
            rgba(72, 111, 142, .04) 1px,
            transparent 1px,
            transparent 54px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(72, 111, 142, .035) 0,
            rgba(72, 111, 142, .035) 1px,
            transparent 1px,
            transparent 54px
        ),
        linear-gradient(
            180deg,
            #f3f8fb 0%,
            #e9f2f7 100%
        );
}

.contact-router-hero::before {
    content: "";

    position: absolute;
    left: -120px;
    bottom: -120px;

    width: 360px;
    height: 360px;

    border:
        1px
        solid
        rgba(82, 132, 169, .18);

    border-radius: 50%;

    box-shadow:
        0 0 0 52px rgba(82, 132, 169, .025),
        0 0 0 104px rgba(82, 132, 169, .018);

    pointer-events: none;
}

.contact-router-hero::after {
    content: "";

    position: absolute;
    left: 58px;
    bottom: 58px;

    width: 1px;
    height: 190px;

    background:
        rgba(82, 132, 169, .18);

    box-shadow:
        95px 95px 0 rgba(82, 132, 169, .14),
        -95px 95px 0 rgba(82, 132, 169, .14);

    pointer-events: none;
}

.contact-router-ghost {
    position: absolute;
    right: -22px;
    top: 14px;

    color:
        rgba(15, 39, 66, .035);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            11rem,
            22vw,
            22rem
        );

    line-height: .76;
    letter-spacing: -.075em;

    pointer-events: none;
    user-select: none;
}

.contact-router-shell {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, .92fr)
        minmax(500px, 1.08fr);

    gap:
        clamp(
            58px,
            7vw,
            104px
        );

    align-items: center;
}

.contact-router-copy h1 {
    max-width: 720px;

    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.6rem,
            5vw,
            5.4rem
        );

    font-weight: 400;
    line-height: .92;
    letter-spacing: -.05em;
}

.contact-router-copy h1 em {
    display: block;

    margin-top: .1em;

    color: #6d8faa;

    font-style: italic;
    font-weight: 400;
}

.contact-router-lead {
    max-width: 540px;

    margin:
        30px
        0
        0;

    color: #405b71;

    font-size: .98rem;
    line-height: 1.7;
}

.contact-router-notes {
    display: flex;
    flex-wrap: wrap;

    gap:
        0
        28px;

    margin-top: 34px;

    padding:
        18px
        0;

    border-top:
        1px
        solid
        rgba(78, 113, 141, .2);

    border-bottom:
        1px
        solid
        rgba(78, 113, 141, .2);
}

.contact-router-notes span {
    position: relative;

    color: #5b7489;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .83rem;
    font-style: italic;
}

.contact-router-notes span + span {
    padding-left: 18px;
}

.contact-router-notes span + span::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 4px;
    height: 4px;

    transform: translateY(-50%);

    background: #d06b2c;

    border-radius: 50%;
}

.contact-router-board {
    position: relative;

    min-height: 520px;

    background:
        linear-gradient(
            145deg,
            #123955 0%,
            #09263e 100%
        );

    border:
        1px
        solid
        rgba(154, 187, 210, .26);

    box-shadow:
        0
        34px
        76px
        rgba(20, 53, 80, .18);
}

.contact-router-board-top {
    min-height: 62px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 22px;

    padding:
        0
        clamp(26px, 3vw, 38px);

    border-bottom:
        1px
        solid
        rgba(170, 201, 221, .18);
}

.contact-router-board-top span,
.contact-router-board-top strong {
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.contact-router-board-top span {
    color: #f09a58;
}

.contact-router-board-top strong {
    color: #a9c2d2;
}

.contact-router-map {
    position: relative;

    min-height: 382px;

    display: grid;

    grid-template-columns:
        minmax(0, .95fr)
        minmax(180px, .55fr);

    grid-template-rows:
        repeat(
            3,
            1fr
        );

    align-items: stretch;
}

.contact-router-path {
    grid-column: 1;

    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(70px, .36fr);

    align-items: center;

    padding-left:
        clamp(26px, 3vw, 38px);

    border-bottom:
        1px
        solid
        rgba(170, 201, 221, .12);
}

.contact-router-path:nth-child(3) {
    border-bottom: 0;
}

.contact-router-path-buy {
    grid-row: 1;
}

.contact-router-path-sell {
    grid-row: 2;
}

.contact-router-path-both {
    grid-row: 3;
}

.contact-router-source {
    max-width: 290px;
}

.contact-router-source > span {
    display: block;

    margin-bottom: 5px;

    color: #f09a58;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .69rem;
    font-style: italic;
}

.contact-router-source strong {
    display: block;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.42rem;
    font-weight: 400;
}

.contact-router-source p {
    margin:
        4px
        0
        0;

    color: #9fb9ca;

    font-size: .75rem;
    line-height: 1.45;
}

.contact-router-line {
    position: relative;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(240, 154, 88, .9),
            rgba(132, 173, 201, .34)
        );
}

.contact-router-line::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 8px;
    height: 8px;

    transform:
        translate(-50%, -50%);

    background: #102f4a;

    border:
        2px
        solid
        #f09a58;

    border-radius: 50%;
}

.contact-router-line::after {
    content: "";

    position: absolute;
    right: 0;
    top: 50%;

    width: 6px;
    height: 6px;

    transform:
        translate(50%, -50%);

    background: #f09a58;

    border-radius: 50%;
}

.contact-router-destination {
    grid-column: 2;
    grid-row: 1 / 4;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding:
        28px
        22px;

    text-align: center;

    border-left:
        1px
        solid
        rgba(170, 201, 221, .16);

    background:
        rgba(255, 255, 255, .025);
}

.contact-router-destination-ring {
    width: 94px;
    height: 94px;

    display: grid;
    place-items: center;

    margin-bottom: 24px;

    border:
        1px
        solid
        rgba(155, 189, 212, .38);

    border-radius: 50%;

    box-shadow:
        0
        0
        0
        13px
        rgba(155, 189, 212, .04),
        0
        0
        0
        27px
        rgba(155, 189, 212, .025);
}

.contact-router-destination-ring span {
    width: 18px;
    height: 18px;

    background: #f09a58;

    border:
        5px
        solid
        #123955;

    border-radius: 50%;

    box-shadow:
        0
        0
        0
        1px
        #f09a58;
}

.contact-router-destination > p {
    margin: 0 0 6px;

    color: #f09a58;

    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.contact-router-destination > strong {
    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.45rem,
            2vw,
            1.9rem
        );

    font-weight: 400;
}

.contact-router-destination > span {
    max-width: 150px;

    margin-top: 8px;

    color: #9fb9ca;

    font-size: .7rem;
    line-height: 1.45;
}

.contact-router-board-footer {
    min-height: 74px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    padding:
        0
        clamp(26px, 3vw, 38px);

    border-top:
        1px
        solid
        rgba(170, 201, 221, .16);

    background:
        #071d30;
}

.contact-router-board-footer span {
    position: relative;

    color: #9fb9ca;

    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.contact-router-board-footer span + span::before {
    content: "";

    position: absolute;
    left: -16px;
    top: 50%;

    width: 4px;
    height: 4px;

    transform: translateY(-50%);

    background: #f09a58;

    border-radius: 50%;
}

@media (max-width: 1050px) {
    .contact-router-hero {
        min-height: 0;
    }

    .contact-router-shell {
        grid-template-columns: 1fr;

        gap: 54px;
    }

    .contact-router-copy {
        max-width: 760px;
    }

    .contact-router-board {
        min-height: 0;
    }
}

@media (max-width: 700px) {
    .contact-router-hero {
        padding:
            76px
            0
            86px;
    }

    .contact-router-ghost {
        font-size: 8rem;
    }

    .contact-router-copy h1 {
        font-size:
            clamp(
                3rem,
                12vw,
                4.5rem
            );
    }

    .contact-router-notes {
        display: grid;

        gap: 10px;
    }

    .contact-router-notes span {
        padding-left: 16px;
    }

    .contact-router-notes span::before,
    .contact-router-notes span + span::before {
        content: "";

        position: absolute;
        left: 0;
        top: 50%;

        width: 4px;
        height: 4px;

        transform: translateY(-50%);

        background: #d06b2c;

        border-radius: 50%;
    }

    .contact-router-map {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .contact-router-path,
    .contact-router-path-buy,
    .contact-router-path-sell,
    .contact-router-path-both {
        grid-column: 1;
        grid-row: auto;

        min-height: 118px;

        padding:
            22px;
    }

    .contact-router-destination {
        grid-column: 1;
        grid-row: auto;

        min-height: 240px;

        border-left: 0;

        border-top:
            1px
            solid
            rgba(170, 201, 221, .16);
    }

    .contact-router-board-footer {
        flex-wrap: wrap;

        justify-content: flex-start;

        padding:
            18px
            22px;
    }

    .contact-router-board-footer span {
        margin-right: 20px;
    }
}

/* CONTACT HERO END */

/* CONTACT ROUTER POLISH START */

/*
    Give the first headline phrase its own controlled line.
*/

.contact-router-title-line {
    display: block;
}

/*
    Wide desktop gets more horizontal room so the headline
    reads as two deliberate editorial lines.
*/

@media (min-width: 1180px) {

    .contact-router-shell {
        width:
            calc(100% - 56px);

        max-width: 1380px;

        grid-template-columns:
            minmax(0, 1.08fr)
            minmax(520px, .92fr);

        gap:
            clamp(
                48px,
                4.2vw,
                64px
            );
    }

    .contact-router-copy h1 {
        max-width: none;

        font-size:
            clamp(
                2.75rem,
                3.25vw,
                3.35rem
            );

        line-height: .94;
    }

    .contact-router-title-line,
    .contact-router-copy h1 em {
        white-space: nowrap;
    }
}

/*
    Complete the Conversation Router.

    All three routes now meet one vertical trunk.
    The trunk then feeds one horizontal route directly
    into the GOOD MOVE target.
*/

@media (min-width: 701px) {

    .contact-router-destination {
        position: relative;

        overflow: hidden;

        display: block;
    }

    /*
        Shared vertical trunk.
        It begins at the center of Buying and ends
        at the center of Both.
    */

    .contact-router-destination::before {
        content: "";

        position: absolute;
        z-index: 0;

        left: -1px;
        top: 16.666%;
        bottom: 16.666%;

        width: 1px;

        background:
            linear-gradient(
                180deg,
                rgba(240, 154, 88, .55) 0%,
                rgba(240, 154, 88, .9) 50%,
                rgba(240, 154, 88, .55) 100%
            );

        box-shadow:
            0
            0
            10px
            rgba(240, 154, 88, .08);

        pointer-events: none;
    }

    /*
        One shared route leaves the trunk and feeds
        the exact center of the GOOD MOVE target.
    */

    .contact-router-destination::after {
        content: "";

        position: absolute;
        z-index: 0;

        left: -1px;
        top: 50%;

        width: calc(50% + 1px);
        height: 1px;

        background:
            linear-gradient(
                90deg,
                rgba(240, 154, 88, .92) 0%,
                rgba(240, 154, 88, .72) 62%,
                rgba(154, 190, 213, .55) 100%
            );

        pointer-events: none;
    }

    /*
        Put the target directly on the shared route.
    */

    .contact-router-destination-ring {
        position: absolute;
        z-index: 2;

        left: 50%;
        top: 50%;

        margin: 0;

        transform:
            translate(
                -50%,
                -50%
            );

        background:
            #0d304a;
    }

    /*
        Destination copy sits below the target without
        interfering with the routing lines.
    */

    .contact-router-destination > p {
        position: absolute;
        z-index: 2;

        left: 20px;
        right: 20px;
        top: calc(50% + 66px);

        margin: 0;

        text-align: center;
    }

    .contact-router-destination > strong {
        position: absolute;
        z-index: 2;

        left: 20px;
        right: 20px;
        top: calc(50% + 88px);

        text-align: center;
    }

    .contact-router-destination > span {
        position: absolute;
        z-index: 2;

        left: 50%;
        top: calc(50% + 132px);

        width: 160px;

        margin: 0;

        transform:
            translateX(-50%);

        text-align: center;
    }

    /*
        Strengthen the three joining points where each
        source route reaches the shared trunk.
    */

    .contact-router-line::after {
        width: 7px;
        height: 7px;

        background: #f09a58;

        border:
            2px
            solid
            #123955;

        box-shadow:
            0
            0
            0
            1px
            rgba(240, 154, 88, .82);
    }
}

@media (max-width: 1179px) {

    .contact-router-title-line,
    .contact-router-copy h1 em {
        white-space: normal;
    }
}

/* CONTACT ROUTER POLISH END */

/* CONTACT FORM START */

html {
    scroll-behavior: smooth;
}

.contact-router-destination {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.contact-router-destination-ring {
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.contact-router-destination:hover
.contact-router-destination-ring {
    transform:
        translate(
            -50%,
            -50%
        )
        scale(1.06);

    box-shadow:
        0
        0
        0
        13px
        rgba(240, 154, 88, .07),
        0
        0
        0
        27px
        rgba(155, 189, 212, .035);
}

.contact-router-destination:hover > p {
    color: #ffffff;
}

.contact-form-section {
    position: relative;
    overflow: hidden;

    scroll-margin-top: 90px;

    padding:
        clamp(96px, 8vw, 138px)
        0
        clamp(104px, 9vw, 148px);

    background:
        radial-gradient(
            circle at 86% 14%,
            rgba(86, 137, 174, .12),
            transparent 27%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(72, 111, 142, .04) 0,
            rgba(72, 111, 142, .04) 1px,
            transparent 1px,
            transparent 54px
        ),
        linear-gradient(
            180deg,
            #edf5f9 0%,
            #e4eef4 100%
        );

    border-top:
        1px
        solid
        rgba(73, 109, 137, .18);
}

.contact-form-section::before {
    content: "";

    position: absolute;
    right: -138px;
    top: 100px;

    width: 310px;
    height: 310px;

    border:
        1px
        solid
        rgba(84, 133, 169, .18);

    border-radius: 50%;

    box-shadow:
        0
        0
        0
        46px
        rgba(84, 133, 169, .024),
        0
        0
        0
        92px
        rgba(84, 133, 169, .016);

    pointer-events: none;
}

.contact-form-ghost {
    position: absolute;
    left: -14px;
    bottom: -20px;

    color:
        rgba(15, 39, 66, .035);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            11rem,
            21vw,
            21rem
        );

    line-height: .76;
    letter-spacing: -.075em;

    pointer-events: none;
    user-select: none;
}

.contact-form-shell {
    position: relative;
    z-index: 1;
}

.contact-form-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(280px, .48fr);

    gap:
        clamp(
            54px,
            7vw,
            100px
        );

    align-items: end;

    margin-bottom:
        clamp(52px, 6vw, 78px);
}

.contact-form-intro h2 {
    max-width: 820px;

    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.5rem,
            5vw,
            5.4rem
        );

    font-weight: 400;
    line-height: .92;
    letter-spacing: -.05em;
}

.contact-form-intro h2 > span {
    display: block;
}

.contact-form-intro h2 em {
    display: block;

    margin-top: .1em;

    color: #6d8faa;

    font-style: italic;
    font-weight: 400;
}

.contact-form-intro-copy {
    max-width: 380px;

    margin-left: auto;
    padding-left: 24px;

    border-left:
        1px
        solid
        rgba(77, 114, 144, .28);
}

.contact-form-intro-copy > span {
    display: block;

    margin-bottom: 16px;

    color: #607f98;

    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.contact-form-intro-copy p {
    margin: 0;

    color: #405b71;

    font-size: .95rem;
    line-height: 1.68;
}

.contact-form-board {
    background: #f8fbfd;

    border:
        1px
        solid
        rgba(68, 105, 135, .24);

    box-shadow:
        0
        30px
        74px
        rgba(21, 54, 81, .09);
}

.contact-form-board-top {
    min-height: 66px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        0
        clamp(26px, 3vw, 40px);

    background: #0b2b45;

    border-bottom:
        1px
        solid
        rgba(169, 199, 219, .18);
}

.contact-form-board-top span,
.contact-form-board-top strong {
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.contact-form-board-top span {
    color: #f09a58;
}

.contact-form-board-top strong {
    color: #abc3d3;
}

.contact-form {
    padding:
        clamp(30px, 4vw, 54px);
}

.contact-form-path {
    margin: 0;
    padding: 0;

    border: 0;
}

.contact-form-path legend {
    margin-bottom: 22px;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.7rem,
            2.4vw,
            2.35rem
        );

    font-weight: 400;
}

.contact-form-options {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    border:
        1px
        solid
        #ccdbe4;
}

.contact-form-options label {
    min-width: 0;
}

.contact-form-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.contact-form-options label > span {
    min-height: 144px;

    display: flex;
    flex-direction: column;

    padding:
        22px
        20px;

    background: #f3f8fb;

    border-right:
        1px
        solid
        #ccdbe4;

    cursor: pointer;

    transition:
        background .18s ease,
        color .18s ease;
}

.contact-form-options label:last-child > span {
    border-right: 0;
}

.contact-form-options small {
    margin-bottom: 20px;

    color: #d06b2c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-style: italic;
}

.contact-form-options strong {
    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.35rem;
    font-weight: 400;
}

.contact-form-options em {
    margin-top: 6px;

    color: #617c91;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .8rem;
    line-height: 1.4;
}

.contact-form-options input:checked + span {
    color: #ffffff;
    background: #0d304a;
}

.contact-form-options input:checked + span strong {
    color: #ffffff;
}

.contact-form-options input:checked + span em {
    color: #adc4d3;
}

.contact-form-options input:focus-visible + span {
    outline:
        2px
        solid
        #d06b2c;

    outline-offset: -3px;
}

.contact-form-fields {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        28px
        34px;

    margin-top:
        clamp(42px, 5vw, 62px);
}

.contact-field {
    display: grid;
    gap: 10px;
}

.contact-field-message {
    grid-column: 1 / -1;
}

.contact-field label {
    color: #5d778c;

    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.contact-field input,
.contact-field select,
.contact-field textarea {
    width: 100%;

    padding:
        15px
        0;

    color: #102947;

    background: transparent;

    border: 0;
    border-bottom:
        1px
        solid
        #aebfca;

    border-radius: 0;

    font: inherit;

    outline: none;

    transition:
        border-color .18s ease;
}

.contact-field textarea {
    min-height: 150px;
    resize: vertical;
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
    color: #869ba9;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
    border-color: #d06b2c;
}

.contact-form-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;

    margin-top:
        clamp(42px, 5vw, 62px);

    padding-top: 26px;

    border-top:
        1px
        solid
        #ccd9e1;
}

.contact-form-submit > div > span {
    display: block;

    margin-bottom: 5px;

    color: #d06b2c;

    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.contact-form-submit p {
    margin: 0;

    color: #60798d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .9rem;
    font-style: italic;
}

.contact-form-submit button {
    min-width: 270px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;

    padding:
        19px
        22px;

    color: #ffffff;

    background: #0b2b45;

    border: 0;

    cursor: pointer;

    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;

    transition:
        background .18s ease,
        transform .18s ease;
}

.contact-form-submit button:hover {
    background: #123d5d;

    transform: translateY(-2px);
}

.contact-form-submit button span {
    color: #f09a58;

    font-size: 1rem;
}

@media (max-width: 1000px) {

    .contact-form-intro {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .contact-form-intro-copy {
        max-width: 640px;

        margin-left: 0;
    }

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

    .contact-form-options label:nth-child(2) > span {
        border-right: 0;
    }

    .contact-form-options label:nth-child(-n+2) > span {
        border-bottom:
            1px
            solid
            #ccdbe4;
    }
}

@media (max-width: 700px) {

    html {
        scroll-behavior: auto;
    }

    .contact-form-section {
        padding:
            78px
            0
            92px;
    }

    .contact-form-ghost {
        font-size: 8rem;
    }

    .contact-form-intro h2 {
        font-size:
            clamp(
                3rem,
                12vw,
                4.4rem
            );
    }

    .contact-form-options {
        grid-template-columns: 1fr;
    }

    .contact-form-options label > span,
    .contact-form-options label:nth-child(2) > span {
        min-height: 0;

        border-right: 0;

        border-bottom:
            1px
            solid
            #ccdbe4;
    }

    .contact-form-options label:last-child > span {
        border-bottom: 0;
    }

    .contact-form-fields {
        grid-template-columns: 1fr;
    }

    .contact-field-message {
        grid-column: auto;
    }

    .contact-form-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-form-submit button {
        width: 100%;
        min-width: 0;
    }
}

/* CONTACT FORM END */

/* CONTACT FORM HEADLINE POLISH START */

@media (min-width: 1100px) {

    .contact-form-intro {
        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(270px, .38fr);

        gap:
            clamp(
                36px,
                4vw,
                58px
            );
    }

    .contact-form-intro h2 {
        max-width: none;

        font-size:
            clamp(
                2.8rem,
                3.2vw,
                3.35rem
            );

        line-height: .95;

        white-space: nowrap;
    }

    .contact-form-intro h2 em {
        display: block;

        white-space: nowrap;
    }
}

/* CONTACT FORM HEADLINE POLISH END */

/* CONTACT HERO MOTION START */

/*
    Main-character headline.
    Larger than the previous version, but deliberately kept
    to two clean lines on wide desktop.
*/

@media (min-width: 1180px) {

    .contact-router-shell {
        grid-template-columns:
            minmax(0, 1.03fr)
            minmax(520px, .97fr);

        gap:
            clamp(
                50px,
                4.6vw,
                72px
            );
    }

    .contact-router-copy h1 {
        max-width: none;

        font-size:
            clamp(
                3.55rem,
                4.25vw,
                4.4rem
            );

        line-height: .92;
        letter-spacing: -.055em;
    }

    .contact-router-title-line,
    .contact-router-copy h1 em {
        white-space: nowrap;
    }
}

/*
    START HERE now looks like an intentional control.
    The entire GOOD MOVE destination remains clickable.
*/

.contact-router-destination {
    cursor: pointer;
}

.contact-router-destination > p {
    left: 50%;
    right: auto;

    width: max-content;
    min-width: 112px;

    padding:
        9px
        16px;

    transform:
        translateX(-50%);

    color: #0b2b45;

    background: #f09a58;

    border:
        1px
        solid
        #f09a58;

    border-radius: 999px;

    text-align: center;

    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.contact-router-destination:hover > p {
    color: #ffffff;

    background: transparent;

    border-color:
        rgba(240, 154, 88, .95);

    transform:
        translate(
            -50%,
            -2px
        );
}

.contact-router-destination:focus-visible {
    outline:
        2px
        solid
        #f09a58;

    outline-offset: -4px;
}

/*
    Progressive enhancement.
*/

.contact-router-motion-ready
.contact-router-copy > * {
    opacity: 0;

    transform:
        translateY(9px);

    transition:
        opacity .2s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1);
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-copy > * {
    opacity: 1;

    transform: none;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-copy > *:nth-child(1) {
    transition-delay: .03s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-copy > *:nth-child(2) {
    transition-delay: .08s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-copy > *:nth-child(3) {
    transition-delay: .13s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-copy > *:nth-child(4) {
    transition-delay: .18s;
}

/*
    Board enters first.
*/

.contact-router-motion-ready
.contact-router-board {
    opacity: 0;

    transform:
        translateY(9px);

    transition:
        opacity .2s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1);
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-board {
    opacity: 1;

    transform: none;

    transition-delay: .10s;
}

/*
    Source rows appear as their routes begin.
*/

.contact-router-motion-ready
.contact-router-source {
    opacity: 0;

    transform:
        translateX(-7px);

    transition:
        opacity .16s ease,
        transform .22s cubic-bezier(.22, 1, .36, 1);
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-path:nth-child(1)
.contact-router-source {
    opacity: 1;
    transform: none;
    transition-delay: .27s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-path:nth-child(2)
.contact-router-source {
    opacity: 1;
    transform: none;
    transition-delay: .43s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-path:nth-child(3)
.contact-router-source {
    opacity: 1;
    transform: none;
    transition-delay: .59s;
}

/*
    Buying, Selling, and Both physically travel toward
    the shared trunk.
*/

@media (min-width: 701px) {

    .contact-router-motion-ready
    .contact-router-line {
        transform:
            scaleX(0);

        transform-origin:
            left
            center;

        transition:
            transform
            .22s
            linear;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-path:nth-child(1)
    .contact-router-line {
        transform:
            scaleX(1);

        transition-delay: .31s;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-path:nth-child(2)
    .contact-router-line {
        transform:
            scaleX(1);

        transition-delay: .47s;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-path:nth-child(3)
    .contact-router-line {
        transform:
            scaleX(1);

        transition-delay: .63s;
    }

    /*
        Shared vertical trunk connects after all three inputs arrive.
    */

    .contact-router-motion-ready
    .contact-router-destination::before {
        transform:
            scaleY(0);

        transform-origin:
            center
            top;

        transition:
            transform
            .25s
            linear;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-destination::before {
        transform:
            scaleY(1);

        transition-delay: .72s;
    }

    /*
        Final route feeds the target.
    */

    .contact-router-motion-ready
    .contact-router-destination::after {
        transform:
            scaleX(0);

        transform-origin:
            left
            center;

        transition:
            transform
            .2s
            linear;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-destination::after {
        transform:
            scaleX(1);

        transition-delay: .94s;
    }

    /*
        Target wakes when the route reaches it.
    */

    .contact-router-motion-ready
    .contact-router-destination-ring {
        opacity: .32;

        transform:
            translate(
                -50%,
                -50%
            )
            scale(.78);

        transition:
            opacity .16s ease,
            transform .25s cubic-bezier(.18, 1.35, .42, 1),
            box-shadow .22s ease;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-destination-ring {
        opacity: 1;

        transform:
            translate(
                -50%,
                -50%
            )
            scale(1);

        box-shadow:
            0
            0
            0
            13px
            rgba(240, 154, 88, .06),
            0
            0
            0
            27px
            rgba(155, 189, 212, .03);

        transition-delay: 1.08s;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-destination:hover
    .contact-router-destination-ring {
        transform:
            translate(
                -50%,
                -50%
            )
            scale(1.055);

        transition-delay: 0s;
    }
}

/*
    Destination copy and button appear last.
*/

.contact-router-motion-ready
.contact-router-destination > p,

.contact-router-motion-ready
.contact-router-destination > strong,

.contact-router-motion-ready
.contact-router-destination > span {
    opacity: 0;

    transition:
        opacity
        .16s
        ease;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-destination > p {
    opacity: 1;

    transition-delay: 1.12s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-destination > strong {
    opacity: 1;

    transition-delay: 1.18s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-destination > span {
    opacity: 1;

    transition-delay: 1.24s;
}

.contact-router-motion-ready
.contact-router-board-footer {
    opacity: 0;

    transform:
        translateY(4px);

    transition:
        opacity .16s ease,
        transform .2s cubic-bezier(.22, 1, .36, 1);
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-board-footer {
    opacity: 1;

    transform: none;

    transition-delay: 1.31s;
}

/*
    Mobile keeps the routing geometry stable and uses
    only the lighter reveal animation.
*/

@media (max-width: 700px) {

    .contact-router-motion-ready
    .contact-router-line {
        transform: none;
    }

    .contact-router-motion-ready
    .contact-router-destination-ring {
        opacity: 0;

        transform:
            scale(.9);

        transition:
            opacity .18s ease,
            transform .22s ease;
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-destination-ring {
        opacity: 1;

        transform: none;

        transition-delay: .82s;
    }

    .contact-router-destination > p {
        position: static;

        width: max-content;

        margin:
            22px
            auto
            0;

        transform: none;
    }

    .contact-router-destination:hover > p {
        transform:
            translateY(-2px);
    }
}

@media (prefers-reduced-motion: reduce) {

    .contact-router-motion-ready
    .contact-router-copy > *,

    .contact-router-motion-ready
    .contact-router-board,

    .contact-router-motion-ready
    .contact-router-source,

    .contact-router-motion-ready
    .contact-router-destination-ring,

    .contact-router-motion-ready
    .contact-router-destination > p,

    .contact-router-motion-ready
    .contact-router-destination > strong,

    .contact-router-motion-ready
    .contact-router-destination > span,

    .contact-router-motion-ready
    .contact-router-board-footer {
        opacity: 1;

        transition: none;
    }

    .contact-router-motion-ready
    .contact-router-copy > *,

    .contact-router-motion-ready
    .contact-router-board,

    .contact-router-motion-ready
    .contact-router-source,

    .contact-router-motion-ready
    .contact-router-board-footer {
        transform: none;
    }

    .contact-router-motion-ready
    .contact-router-line,

    .contact-router-motion-ready
    .contact-router-destination::before,

    .contact-router-motion-ready
    .contact-router-destination::after {
        transform: none;

        transition: none;
    }

    @media (min-width: 701px) {
        .contact-router-motion-ready
        .contact-router-destination-ring {
            transform:
                translate(
                    -50%,
                    -50%
                );
        }
    }
}

/* CONTACT HERO MOTION END */

/* CONTACT TARGET FIX START */

/*
    START HERE is a label again.
*/

.contact-router-destination > p {
    left: 20px;
    right: 20px;
    top: calc(50% + 66px);

    width: auto;
    min-width: 0;

    margin: 0;
    padding: 0;

    transform: none;

    color: #f09a58;
    background: transparent;

    border: 0;
    border-radius: 0;

    text-align: center;

    cursor: default;
}

/*
    Prevent older destination hover rules from turning
    the label into an interactive control.
*/

.contact-router-destination:hover > p {
    color: #f09a58;
    background: transparent;
    border-color: transparent;

    transform: none;
}

/*
    The circular target is now the actual button.
*/

.contact-router-destination-ring {
    color: inherit;
    text-decoration: none;

    cursor: pointer;
}

.contact-router-destination-ring:focus-visible {
    outline:
        2px
        solid
        #f09a58;

    outline-offset: 7px;
}

/*
    Neutralize old whole-panel hover behavior.
*/

.contact-router-destination:hover
.contact-router-destination-ring {
    transform:
        translate(
            -50%,
            -50%
        )
        scale(1);
}

/*
    Only hovering the target circle activates it.
*/

.contact-router-destination
.contact-router-destination-ring:hover {
    transform:
        translate(
            -50%,
            -50%
        )
        scale(1.07);

    box-shadow:
        0
        0
        0
        13px
        rgba(240, 154, 88, .08),
        0
        0
        0
        28px
        rgba(155, 189, 212, .04);
}

/*
    Preserve the same behavior after the entrance animation.
*/

.contact-router-motion-ready.is-contact-router-visible
.contact-router-destination:hover
.contact-router-destination-ring {
    transform:
        translate(
            -50%,
            -50%
        )
        scale(1);

    transition-delay: 0s;
}

.contact-router-motion-ready.is-contact-router-visible
.contact-router-destination
.contact-router-destination-ring:hover {
    transform:
        translate(
            -50%,
            -50%
        )
        scale(1.07);

    transition-delay: 0s;

    box-shadow:
        0
        0
        0
        13px
        rgba(240, 154, 88, .08),
        0
        0
        0
        28px
        rgba(155, 189, 212, .04);
}

@media (max-width: 700px) {

    .contact-router-destination > p {
        position: static;

        width: auto;

        margin:
            22px
            auto
            0;

        padding: 0;

        transform: none;

        background: transparent;
        border: 0;
    }

    .contact-router-destination:hover > p {
        transform: none;
    }

    .contact-router-destination
    .contact-router-destination-ring:hover {
        transform:
            scale(1.06);
    }

    .contact-router-motion-ready.is-contact-router-visible
    .contact-router-destination
    .contact-router-destination-ring:hover {
        transform:
            scale(1.06);
    }
}

/* CONTACT TARGET FIX END */

/* CONTACT FORM MOTION START */

/*
    Progressive enhancement.
    The approved static form stays fully visible unless
    JavaScript marks the section ready for motion.
*/

.contact-form-motion-ready
.contact-form-intro > div:first-child,

.contact-form-motion-ready
.contact-form-intro-copy {
    opacity: 0;

    transform:
        translateY(9px);

    transition:
        opacity .2s ease,
        transform .28s cubic-bezier(.22, 1, .36, 1);
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-intro > div:first-child {
    opacity: 1;

    transform: none;

    transition-delay: .04s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-intro-copy {
    opacity: 1;

    transform: none;

    transition-delay: .10s;
}

/*
    TALK ghost and technical background wake softly.
*/

.contact-form-motion-ready
.contact-form-ghost {
    opacity: 0;

    transition:
        opacity
        .38s
        ease;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-ghost {
    opacity: 1;

    transition-delay: .08s;
}

.contact-form-motion-ready::before {
    opacity: 0;

    transform:
        scale(.92);

    transition:
        opacity .38s ease,
        transform .5s cubic-bezier(.22, 1, .36, 1);
}

.contact-form-motion-ready.is-contact-form-visible::before {
    opacity: 1;

    transform: none;

    transition-delay: .10s;
}

.contact-form-motion-ready::after {
    opacity: 0;

    clip-path:
        inset(
            0
            0
            100%
            0
        );

    transition:
        opacity .25s ease,
        clip-path .5s cubic-bezier(.22, .61, .36, 1);
}

.contact-form-motion-ready.is-contact-form-visible::after {
    opacity: 1;

    clip-path:
        inset(
            0
            0
            0
            0
        );

    transition-delay: .16s;
}

/*
    Board frame arrives before the form contents.
*/

.contact-form-motion-ready
.contact-form-board {
    opacity: 0;

    transform:
        translateY(10px);

    transition:
        opacity .2s ease,
        transform .3s cubic-bezier(.22, 1, .36, 1);
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-board {
    opacity: 1;

    transform: none;

    transition-delay: .16s;
}

.contact-form-motion-ready
.contact-form-board-top {
    opacity: 0;

    transition:
        opacity
        .16s
        ease;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-board-top {
    opacity: 1;

    transition-delay: .24s;
}

/*
    Move choices arrive left to right.
*/

.contact-form-motion-ready
.contact-form-options label {
    opacity: 0;

    transform:
        translateY(8px);

    transition:
        opacity .16s ease,
        transform .24s cubic-bezier(.22, 1, .36, 1);
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-options label:nth-child(1) {
    opacity: 1;
    transform: none;
    transition-delay: .32s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-options label:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: .42s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-options label:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: .52s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-options label:nth-child(4) {
    opacity: 1;
    transform: none;
    transition-delay: .62s;
}

/*
    Selection gets a small physical response.
*/

.contact-form-options label > span {
    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.contact-form-options label:hover > span {
    transform:
        translateY(-2px);
}

.contact-form-options input:checked + span {
    transform:
        translateY(-2px);

    box-shadow:
        inset
        0
        3px
        0
        #f09a58;
}

/*
    Fields unlock in the same visual order a person reads them.
*/

.contact-form-motion-ready
.contact-field {
    opacity: 0;

    transform:
        translateY(7px);

    transition:
        opacity .16s ease,
        transform .24s cubic-bezier(.22, 1, .36, 1);
}

.contact-form-motion-ready.is-contact-form-visible
.contact-field:nth-child(1) {
    opacity: 1;
    transform: none;
    transition-delay: .72s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-field:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: .78s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-field:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: .84s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-field:nth-child(4) {
    opacity: 1;
    transform: none;
    transition-delay: .90s;
}

.contact-form-motion-ready.is-contact-form-visible
.contact-field:nth-child(5) {
    opacity: 1;
    transform: none;
    transition-delay: .98s;
}

/*
    Field focus feels intentional without getting flashy.
*/

.contact-field input,
.contact-field select,
.contact-field textarea {
    transition:
        border-color .18s ease,
        background .18s ease;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
    background:
        rgba(91, 139, 174, .025);
}

/*
    Submit area closes the sequence.
*/

.contact-form-motion-ready
.contact-form-submit {
    opacity: 0;

    transform:
        translateY(7px);

    transition:
        opacity .18s ease,
        transform .25s cubic-bezier(.22, 1, .36, 1);
}

.contact-form-motion-ready.is-contact-form-visible
.contact-form-submit {
    opacity: 1;

    transform: none;

    transition-delay: 1.08s;
}

.contact-form-submit button span {
    transition:
        transform
        .18s
        ease;
}

.contact-form-submit button:hover span {
    transform:
        translateX(4px);
}

/*
    Reduced motion keeps everything immediately usable.
*/

@media (prefers-reduced-motion: reduce) {

    .contact-form-motion-ready
    .contact-form-intro > div:first-child,

    .contact-form-motion-ready
    .contact-form-intro-copy,

    .contact-form-motion-ready
    .contact-form-ghost,

    .contact-form-motion-ready
    .contact-form-board,

    .contact-form-motion-ready
    .contact-form-board-top,

    .contact-form-motion-ready
    .contact-form-options label,

    .contact-form-motion-ready
    .contact-field,

    .contact-form-motion-ready
    .contact-form-submit {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .contact-form-motion-ready::before,
    .contact-form-motion-ready::after {
        opacity: 1;

        transform: none;
        clip-path: none;

        transition: none;
    }
}

/* CONTACT FORM MOTION END */

/* VALUATION HERO START */

.valuation-hero {
    position: relative;
    overflow: hidden;

    min-height:
        calc(100vh - 116px);

    display: flex;
    align-items: center;

    padding:
        clamp(54px, 6vh, 78px)
        0
        clamp(58px, 7vh, 88px);

    background:
        radial-gradient(
            circle at 13% 20%,
            rgba(69, 123, 164, .12),
            transparent 25%
        ),
        radial-gradient(
            circle at 86% 78%,
            rgba(74, 127, 165, .08),
            transparent 26%
        ),
        repeating-linear-gradient(
            90deg,
            rgba(72, 111, 142, .04) 0,
            rgba(72, 111, 142, .04) 1px,
            transparent 1px,
            transparent 54px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(72, 111, 142, .032) 0,
            rgba(72, 111, 142, .032) 1px,
            transparent 1px,
            transparent 54px
        ),
        linear-gradient(
            180deg,
            #f3f8fb 0%,
            #e8f1f6 100%
        );
}

.valuation-hero::before {
    content: "";

    position: absolute;
    left: -148px;
    bottom: -150px;

    width: 360px;
    height: 360px;

    border:
        1px
        solid
        rgba(81, 133, 170, .18);

    border-radius: 50%;

    box-shadow:
        0 0 0 50px rgba(81, 133, 170, .024),
        0 0 0 100px rgba(81, 133, 170, .016);

    pointer-events: none;
}

.valuation-hero::after {
    content: "";

    position: absolute;
    right: 70px;
    top: 74px;

    width: 220px;
    height: 220px;

    background:
        linear-gradient(
            90deg,
            transparent calc(50% - .5px),
            rgba(81, 133, 170, .15) calc(50% - .5px),
            rgba(81, 133, 170, .15) calc(50% + .5px),
            transparent calc(50% + .5px)
        ),
        linear-gradient(
            0deg,
            transparent calc(50% - .5px),
            rgba(81, 133, 170, .15) calc(50% - .5px),
            rgba(81, 133, 170, .15) calc(50% + .5px),
            transparent calc(50% + .5px)
        );

    border:
        1px
        solid
        rgba(81, 133, 170, .13);

    border-radius: 50%;

    pointer-events: none;
}

.valuation-hero-ghost {
    position: absolute;
    right: -20px;
    top: 6px;

    color:
        rgba(15, 39, 66, .035);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            10rem,
            20vw,
            20rem
        );

    line-height: .78;
    letter-spacing: -.075em;

    pointer-events: none;
    user-select: none;
}

.valuation-hero-shell {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, .86fr)
        minmax(560px, 1.14fr);

    gap:
        clamp(
            52px,
            6vw,
            92px
        );

    align-items: center;
}

.valuation-hero-copy h1 {
    max-width: 700px;

    margin: 0;

    color: #102947;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.45rem,
            4.65vw,
            5rem
        );

    font-weight: 400;
    line-height: .92;
    letter-spacing: -.052em;
}

.valuation-hero-copy h1 em {
    display: block;

    margin-top: .1em;

    color: #6b8da8;

    font-style: italic;
    font-weight: 400;
}

.valuation-hero-lead {
    max-width: 550px;

    margin:
        30px
        0
        0;

    color: #405b71;

    font-size: .98rem;
    line-height: 1.7;
}

.valuation-hero-notes {
    display: flex;
    flex-wrap: wrap;

    gap:
        0
        28px;

    margin-top: 34px;

    padding:
        18px
        0;

    border-top:
        1px
        solid
        rgba(75, 111, 140, .2);

    border-bottom:
        1px
        solid
        rgba(75, 111, 140, .2);
}

.valuation-hero-notes span {
    position: relative;

    color: #5c768b;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .82rem;
    font-style: italic;
}

.valuation-hero-notes span + span {
    padding-left: 18px;
}

.valuation-hero-notes span + span::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 4px;
    height: 4px;

    transform:
        translateY(-50%);

    background: #d06b2c;

    border-radius: 50%;
}

.valuation-board {
    background:
        linear-gradient(
            145deg,
            #123955 0%,
            #09253d 100%
        );

    border:
        1px
        solid
        rgba(157, 188, 209, .25);

    box-shadow:
        0
        34px
        78px
        rgba(18, 51, 77, .18);
}

.valuation-board-top {
    min-height: 62px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        0
        clamp(
            26px,
            3vw,
            38px
        );

    border-bottom:
        1px
        solid
        rgba(170, 201, 221, .17);
}

.valuation-board-top span,
.valuation-board-top strong {
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.valuation-board-top span {
    color: #f09a58;
}

.valuation-board-top strong {
    color: #abc3d2;
}

.valuation-board-body {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(210px, .62fr);
}

.valuation-inputs article {
    min-height: 126px;

    padding:
        24px
        clamp(
            26px,
            3vw,
            38px
        );

    border-bottom:
        1px
        solid
        rgba(169, 200, 219, .12);
}

.valuation-inputs article:last-child {
    border-bottom: 0;
}

.valuation-input-head {
    display: flex;
    align-items: center;

    gap: 14px;
}

.valuation-input-head span {
    color: #f09a58;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .69rem;
    font-style: italic;
}

.valuation-input-head strong {
    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.27rem;
    font-weight: 400;
}

.valuation-inputs article > p {
    max-width: 480px;

    margin:
        8px
        0
        14px;

    color: #a7bfce;

    font-size: .73rem;
    line-height: 1.5;
}

.valuation-data-row {
    display: flex;
    flex-wrap: wrap;

    gap:
        8px
        18px;
}

.valuation-data-row span {
    position: relative;

    padding-left: 11px;

    color: #7fa1b7;

    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.valuation-data-row span::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 4px;
    height: 4px;

    transform:
        translateY(-50%);

    background: #f09a58;

    border-radius: 50%;
}

.valuation-result {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding:
        34px
        28px;

    text-align: center;

    border-left:
        1px
        solid
        rgba(170, 201, 221, .16);

    background:
        rgba(255, 255, 255, .025);
}

.valuation-result-target {
    width: 86px;
    height: 86px;

    display: grid;
    place-items: center;

    margin-bottom: 22px;

    border:
        1px
        solid
        rgba(158, 191, 213, .42);

    border-radius: 50%;

    box-shadow:
        0
        0
        0
        12px
        rgba(158, 191, 213, .035),
        0
        0
        0
        25px
        rgba(158, 191, 213, .02);
}

.valuation-result-target span {
    width: 18px;
    height: 18px;

    background: #f09a58;

    border:
        5px
        solid
        #123955;

    border-radius: 50%;

    box-shadow:
        0
        0
        0
        1px
        #f09a58;
}

.valuation-result > p {
    margin:
        0
        0
        6px;

    color: #f09a58;

    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.valuation-result > strong {
    color: #a8c2d2;

    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.valuation-result h2 {
    max-width: 240px;

    margin:
        15px
        0
        20px;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.8rem,
            2.5vw,
            2.55rem
        );

    font-weight: 400;
    line-height: .98;
    letter-spacing: -.035em;
}

.valuation-result h2 em {
    display: block;

    color: #9cb8ca;

    font-style: italic;
    font-weight: 400;
}

.valuation-result-rule {
    display: grid;

    gap: 6px;

    padding-top: 16px;

    border-top:
        1px
        solid
        rgba(169, 201, 221, .16);
}

.valuation-result-rule span {
    color: #92afc1;

    font-size: .62rem;
    line-height: 1.4;
}

.valuation-board-footer {
    min-height: 68px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        0
        clamp(
            26px,
            3vw,
            38px
        );

    background: #071d30;

    border-top:
        1px
        solid
        rgba(170, 201, 221, .15);
}

.valuation-board-footer span {
    position: relative;

    color: #9db6c7;

    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-board-footer span + span::before {
    content: "";

    position: absolute;
    left: -34px;
    top: 50%;

    width: 4px;
    height: 4px;

    transform:
        translateY(-50%);

    background: #f09a58;

    border-radius: 50%;
}

@media (max-width: 1080px) {

    .valuation-hero {
        min-height: 0;
    }

    .valuation-hero-shell {
        grid-template-columns: 1fr;

        gap: 56px;
    }

    .valuation-hero-copy {
        max-width: 800px;
    }
}

@media (max-width: 700px) {

    .valuation-hero {
        padding:
            78px
            0
            88px;
    }

    .valuation-hero-ghost {
        font-size: 8rem;
    }

    .valuation-hero-copy h1 {
        font-size:
            clamp(
                3rem,
                12vw,
                4.4rem
            );
    }

    .valuation-hero-notes {
        display: grid;

        gap: 10px;
    }

    .valuation-hero-notes span {
        padding-left: 16px;
    }

    .valuation-hero-notes span::before,
    .valuation-hero-notes span + span::before {
        content: "";

        position: absolute;
        left: 0;
        top: 50%;

        width: 4px;
        height: 4px;

        transform:
            translateY(-50%);

        background: #d06b2c;

        border-radius: 50%;
    }

    .valuation-board-body {
        grid-template-columns: 1fr;
    }

    .valuation-result {
        min-height: 360px;

        border-left: 0;

        border-top:
            1px
            solid
            rgba(170, 201, 221, .16);
    }

    .valuation-board-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 10px;

        padding:
            20px
            24px;
    }

    .valuation-board-footer span {
        padding-left: 14px;
    }

    .valuation-board-footer span::before,
    .valuation-board-footer span + span::before {
        content: "";

        position: absolute;
        left: 0;
        top: 50%;

        width: 4px;
        height: 4px;

        transform:
            translateY(-50%);

        background: #f09a58;

        border-radius: 50%;
    }
}

/* VALUATION HERO END */

/* CONTACT FORM ANCHOR START */

#contact-form-start {
    scroll-margin-top: 8px;
}

/* CONTACT FORM ANCHOR END */

/* VALUATION HEADLINE POLISH */
@media (min-width: 1180px) {
    .valuation-hero-shell {
        grid-template-columns: minmax(500px, .95fr) minmax(560px, 1.05fr);
        gap: clamp(42px, 4vw, 58px);
    }

    .valuation-hero-copy h1 {
        max-width: none;
        font-size: clamp(3.2rem, 3.7vw, 3.8rem);
    }

    .valuation-title-line,
    .valuation-hero-copy h1 em {
        display: block;
        white-space: nowrap;
    }
}

/* VALUATION OPINION FIT */
@media (min-width: 1180px) {
    .valuation-hero-copy h1 em {
        font-size: .84em;
        letter-spacing: -.045em;
    }
}

/* VALUATION RESULT FIT */
@media (min-width: 1180px) {
    .valuation-result h2 {
        max-width: none;
        font-size: 1.7rem;
        line-height: .96;
    }

    .valuation-result h2 em {
        white-space: nowrap;
    }
}


/* VALUATION STACKED COMPOSITION */
@media (min-width: 1180px) {

    .valuation-hero {
        min-height: 0;
        align-items: flex-start;
        padding-top: 82px;
        padding-bottom: 96px;
    }

    .valuation-hero-shell {
        width: calc(100% - 72px);
        max-width: 1180px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 48px;
        align-items: start;
    }

    .valuation-hero-copy {
        width: 100%;
        max-width: 920px;
        padding-top: 0;
    }

    .valuation-hero-copy h1 {
        max-width: none;
        font-size: clamp(3.7rem, 4.5vw, 4.7rem);
        line-height: .92;
    }

    .valuation-title-line {
        display: block;
        white-space: nowrap;
    }

    .valuation-hero-copy h1 em {
        display: block;
        font-size: .82em;
        white-space: nowrap;
    }

    .valuation-hero-lead {
        max-width: 680px;
        margin-top: 26px;
    }

    .valuation-hero-notes {
        max-width: 680px;
        margin-top: 28px;
    }

    .valuation-board {
        width: 100%;
        max-width: 1100px;
        margin-left: auto;
        margin-right: 0;
    }

    .valuation-board-body {
        display: block;
    }

    .valuation-inputs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .valuation-inputs article {
        min-height: 154px;
        padding: 26px 34px;
        border-bottom: 0;
    }

    .valuation-inputs article:nth-child(odd) {
        border-right: 1px solid rgba(169, 200, 219, .12);
    }

    .valuation-inputs article:nth-child(-n+2) {
        border-bottom: 1px solid rgba(169, 200, 219, .12);
    }

    .valuation-input-head strong {
        font-size: 1.3rem;
    }

    .valuation-inputs article > p {
        max-width: 440px;
        margin: 9px 0 16px;
        font-size: .76rem;
        line-height: 1.5;
    }

    .valuation-result {
        display: grid;
        grid-template-columns: 110px 145px minmax(0, 1fr) 220px;
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: 28px;
        row-gap: 4px;
        min-height: 168px;
        padding: 28px 34px;
        text-align: left;
        border-left: 0;
        border-top: 1px solid rgba(170, 201, 221, .16);
        background: rgba(255, 255, 255, .025);
    }

    .valuation-result-target {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 86px;
        height: 86px;
        margin: 0;
        justify-self: center;
    }

    .valuation-result > p {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        margin: 0;
    }

    .valuation-result > strong {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
    }

    .valuation-result h2 {
        grid-column: 3;
        grid-row: 1 / 3;
        max-width: none;
        margin: 0;
        font-size: clamp(2.55rem, 3vw, 3.25rem);
        line-height: .94;
        letter-spacing: -.045em;
    }

    .valuation-result h2 em {
        display: block;
        white-space: nowrap;
    }

    .valuation-result-rule {
        grid-column: 4;
        grid-row: 1 / 3;
        width: 100%;
        margin: 0;
        padding: 4px 0 4px 26px;
        border-top: 0;
        border-left: 1px solid rgba(169, 201, 221, .16);
    }

    .valuation-board-footer {
        min-height: 66px;
    }
}


/* VALUATION STACKED ALIGNMENT POLISH */
@media (min-width: 1180px) {

    .valuation-board {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }

    .valuation-hero-ghost {
        top: -24px;
        color: rgba(15, 39, 66, .022);
    }
}

/* VALUATION CINEMATIC HERO START */

.valuation-cinematic-hero {
    position: relative;
    overflow: hidden;
    min-height: calc(100vh - 104px);
    display: flex;
    align-items: center;
    padding: 64px 0 72px;
    background:
        radial-gradient(circle at 78% 42%, rgba(57, 109, 149, .12), transparent 29%),
        repeating-linear-gradient(90deg, rgba(72, 111, 142, .04) 0, rgba(72, 111, 142, .04) 1px, transparent 1px, transparent 54px),
        repeating-linear-gradient(0deg, rgba(72, 111, 142, .035) 0, rgba(72, 111, 142, .035) 1px, transparent 1px, transparent 54px),
        linear-gradient(180deg, #f4f9fc 0%, #eaf3f8 100%);
}

.valuation-cinematic-hero::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    right: -210px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(61, 112, 150, .13);
    border-radius: 50%;
    box-shadow:
        0 0 0 80px rgba(61, 112, 150, .025),
        0 0 0 160px rgba(61, 112, 150, .018);
    pointer-events: none;
}

.valuation-cinematic-ghost {
    position: absolute;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);
    color: rgba(15, 39, 66, .026);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(12rem, 24vw, 24rem);
    line-height: .72;
    letter-spacing: -.08em;
    pointer-events: none;
    user-select: none;
}

.valuation-cinematic-shell {
    position: relative;
    z-index: 2;
    width: calc(100% - 64px);
    max-width: 1220px;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
    gap: clamp(54px, 6vw, 88px);
    align-items: center;
}

.valuation-cinematic-copy {
    max-width: 650px;
}

.valuation-cinematic-copy h1 {
    margin: 0;
    color: #102947;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.8rem, 5vw, 5.45rem);
    font-weight: 400;
    line-height: .9;
    letter-spacing: -.055em;
}

.valuation-cinematic-copy h1 span,
.valuation-cinematic-copy h1 em {
    display: block;
}

.valuation-cinematic-copy h1 em {
    margin-top: .08em;
    color: #6d90aa;
    font-size: .8em;
    font-style: italic;
    font-weight: 400;
}

.valuation-cinematic-lead {
    max-width: 560px;
    margin: 28px 0 0;
    color: #405b71;
    font-size: 1rem;
    line-height: 1.7;
}

.valuation-cinematic-cta {
    width: fit-content;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    gap: 24px;
    margin-top: 32px;
    padding: 0 22px;
    color: #ffffff;
    background: #102f4b;
    border: 1px solid #102f4b;
    text-decoration: none;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-cinematic-cta span {
    color: #f08b45;
    font-size: 1rem;
}

.valuation-cinematic-note {
    margin: 13px 0 0;
    color: #718a9d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .78rem;
    font-style: italic;
}

.valuation-market-instrument {
    position: relative;
    width: min(100%, 570px);
    aspect-ratio: 1 / 1;
    justify-self: end;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(circle at center, rgba(255,255,255,.045) 0, rgba(255,255,255,.018) 35%, transparent 36%),
        linear-gradient(145deg, #123d5b 0%, #08253d 100%);
    border: 1px solid rgba(141, 182, 207, .35);
    box-shadow: 0 34px 80px rgba(18, 51, 77, .22);
}

.valuation-market-instrument::before,
.valuation-market-instrument::after {
    content: "";
    position: absolute;
    z-index: 1;
    background: rgba(154, 193, 216, .22);
}

.valuation-market-instrument::before {
    left: 50%;
    top: 72px;
    bottom: 58px;
    width: 1px;
}

.valuation-market-instrument::after {
    top: 50%;
    left: 58px;
    right: 58px;
    height: 1px;
}

.valuation-instrument-topline {
    position: absolute;
    z-index: 5;
    left: 26px;
    right: 26px;
    top: 22px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(169, 201, 221, .17);
}

.valuation-instrument-topline span,
.valuation-instrument-topline strong {
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.valuation-instrument-topline span {
    color: #f09a58;
}

.valuation-instrument-topline strong {
    color: #a9c2d2;
}

.valuation-signal {
    position: absolute;
    z-index: 4;
    min-width: 118px;
    padding: 10px 12px;
    color: #d8e6ee;
    background: #0b2c46;
    border: 1px solid rgba(157, 190, 210, .25);
    text-align: center;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.valuation-signal small {
    display: block;
    margin-bottom: 4px;
    color: #f09a58;
    font-size: .48rem;
    letter-spacing: .12em;
}

.valuation-signal-property {
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
}

.valuation-signal-competition {
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
}

.valuation-signal-sales {
    left: 50%;
    bottom: 76px;
    transform: translateX(-50%);
}

.valuation-signal-timing {
    left: 28px;
    top: 50%;
    transform: translateY(-50%);
}

.valuation-instrument-core {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    width: 220px;
    height: 220px;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #0d304b;
    border: 1px solid rgba(170, 205, 225, .34);
    border-radius: 50%;
    box-shadow:
        0 0 0 22px rgba(150, 190, 214, .035),
        0 0 0 48px rgba(150, 190, 214, .018);
}

.valuation-instrument-core-ring {
    position: absolute;
    inset: 22px;
    border: 1px solid rgba(155, 196, 219, .24);
    border-radius: 50%;
}

.valuation-instrument-core p {
    position: relative;
    z-index: 2;
    margin: 0 0 7px;
    color: #f09a58;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.valuation-instrument-core strong {
    position: relative;
    z-index: 2;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.9rem;
    font-weight: 400;
    line-height: .9;
}

.valuation-instrument-core > span:last-child {
    position: relative;
    z-index: 2;
    margin-top: 9px;
    color: #9eb9ca;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-instrument-status {
    position: absolute;
    z-index: 5;
    left: 26px;
    right: 26px;
    bottom: 20px;
    display: flex;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid rgba(169, 201, 221, .17);
}

.valuation-instrument-status span {
    color: #9eb8c9;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-methodology {
    position: relative;
    padding: 100px 0 110px;
    background:
        linear-gradient(180deg, #f8fbfd 0%, #eef5f9 100%);
}

.valuation-methodology .valuation-hero-ghost,
.valuation-methodology .valuation-hero-copy {
    display: none;
}

.valuation-methodology-intro {
    margin-bottom: 44px;
}

.valuation-methodology-intro h2 {
    max-width: 850px;
    margin: 0;
    color: #102947;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 4vw, 4.35rem);
    font-weight: 400;
    line-height: .94;
    letter-spacing: -.045em;
}

.valuation-methodology-intro h2 em {
    display: block;
    color: #6d90aa;
    font-style: italic;
    font-weight: 400;
}

.valuation-methodology-intro > p:last-child {
    max-width: 680px;
    margin: 24px 0 0;
    color: #405b71;
    line-height: 1.7;
}

.valuation-methodology .valuation-hero-shell {
    width: calc(100% - 64px);
    max-width: 1180px;
    display: block;
    margin: 0 auto;
}

.valuation-methodology .valuation-board {
    width: 100%;
    max-width: none;
    margin: 0;
}

@media (max-width: 1050px) {
    .valuation-cinematic-hero {
        min-height: 0;
        padding: 86px 0 96px;
    }

    .valuation-cinematic-shell {
        grid-template-columns: 1fr;
    }

    .valuation-cinematic-copy {
        max-width: 760px;
    }

    .valuation-market-instrument {
        justify-self: center;
        width: min(100%, 560px);
    }
}

@media (max-width: 650px) {
    .valuation-cinematic-shell,
    .valuation-methodology .valuation-hero-shell {
        width: calc(100% - 32px);
    }

    .valuation-cinematic-copy h1 {
        font-size: clamp(3rem, 13vw, 4.2rem);
    }

    .valuation-market-instrument {
        aspect-ratio: auto;
        min-height: 500px;
    }

    .valuation-instrument-core {
        width: 180px;
        height: 180px;
    }

    .valuation-signal {
        min-width: 102px;
        font-size: .48rem;
    }

    .valuation-signal-competition {
        right: 12px;
    }

    .valuation-signal-timing {
        left: 12px;
    }

    .valuation-methodology {
        padding: 78px 0 86px;
    }
}

/* VALUATION CINEMATIC HERO END */

/* VALUATION REPORT HERO START */

.valuation-hero-dashboard {
    position: relative;
    overflow: hidden;
    min-height: calc(100vh - 102px);
    display: flex;
    align-items: center;
    padding: 44px 0 64px;
    background:
        repeating-linear-gradient(90deg, rgba(78, 123, 158, .045) 0, rgba(78, 123, 158, .045) 1px, transparent 1px, transparent 54px),
        repeating-linear-gradient(0deg, rgba(78, 123, 158, .035) 0, rgba(78, 123, 158, .035) 1px, transparent 1px, transparent 54px),
        linear-gradient(180deg, #f4f9fc 0%, #edf5fa 100%);
}

.valuation-hero-watermark {
    position: absolute;
    left: 4%;
    bottom: -48px;
    color: rgba(16, 47, 75, .035);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(12rem, 24vw, 23rem);
    line-height: .7;
    letter-spacing: -.07em;
    pointer-events: none;
    user-select: none;
}

.valuation-hero-dashboard .valuation-hero-shell {
    position: relative;
    z-index: 2;
    width: calc(100% - 56px);
    max-width: 1360px;
    display: grid;
    grid-template-columns: minmax(420px, .78fr) minmax(680px, 1.22fr);
    gap: 34px;
    align-items: center;
}

.valuation-hero-dashboard .valuation-hero-copy {
    position: relative;
    z-index: 6;
    max-width: 560px;
}

.valuation-hero-dashboard .section-kicker {
    margin: 0 0 15px;
    color: #0c4d91;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.valuation-hero-dashboard h1 {
    margin: 0;
    color: #102947;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.65rem, 4.6vw, 5rem);
    font-weight: 400;
    line-height: .91;
    letter-spacing: -.05em;
}

.valuation-hero-dashboard h1 span,
.valuation-hero-dashboard h1 em {
    display: block;
}

.valuation-hero-dashboard h1 em {
    margin-top: .08em;
    color: #7196b5;
    font-size: .8em;
    font-style: italic;
    font-weight: 400;
}

.valuation-hero-dashboard .valuation-hero-lead {
    max-width: 520px;
    margin: 26px 0 0;
    color: #294a63;
    font-size: .98rem;
    line-height: 1.65;
}

.valuation-hero-dashboard .valuation-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 30px;
    min-height: 52px;
    margin-top: 28px;
    padding: 0 22px;
    color: #ffffff;
    background: #123c68;
    border: 1px solid #123c68;
    text-decoration: none;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-hero-dashboard .valuation-hero-link > span {
    color: #f58d45;
    font-size: 1rem;
}

.valuation-hero-note {
    margin: 11px 0 0;
    color: #6e889b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .78rem;
    font-style: italic;
}

.valuation-hero-media {
    min-width: 0;
}

.valuation-visual-stage {
    position: relative;
    width: 100%;
    min-height: 650px;
    padding: 68px 20px 74px 18px;
}

.valuation-tree-layer {
    position: absolute;
    z-index: 0;
    top: 0;
    right: -80px;
    width: 94%;
    height: 88%;
    background-image: url("../images/valuation-market-tree.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: .92;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 18%, #000 84%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 18%, #000 84%, transparent 100%);
}

.valuation-tree-layer::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(237,245,250,.02), rgba(237,245,250,.38));
}

.valuation-report-card {
    position: relative;
    z-index: 3;
    width: 88%;
    margin-left: 3%;
    overflow: visible;
    background: rgba(249, 252, 254, .94);
    border: 1px solid rgba(123, 157, 181, .28);
    border-radius: 20px;
    box-shadow: 0 30px 70px rgba(32, 71, 99, .20);
    backdrop-filter: blur(7px);
}

.valuation-report-upper {
    position: relative;
    display: grid;
    grid-template-columns: .84fr 1.16fr;
    min-height: 248px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}

.valuation-estimate {
    position: relative;
    z-index: 3;
    padding: 32px 20px 28px 34px;
}

.valuation-estimate > p {
    margin: 0 0 9px;
    color: #35618a;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-estimate > strong {
    display: block;
    color: #0e2d50;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 3.9vw, 4rem);
    font-weight: 400;
    line-height: .95;
    letter-spacing: -.045em;
}

.valuation-estimate-change {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 17px;
}

.valuation-estimate-change > span {
    padding: 8px 13px;
    color: #133f6c;
    background: #d8e9f7;
    border-radius: 9px;
    font-size: .76rem;
    font-weight: 800;
}

.valuation-estimate-change small {
    color: #536e84;
    font-size: .67rem;
}

.valuation-estimate-location {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.valuation-pin {
    position: relative;
    width: 17px;
    height: 17px;
    border: 2px solid #1d62a1;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

.valuation-pin::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 4px;
    height: 4px;
    transform: translate(-50%, -50%);
    background: #1d62a1;
    border-radius: 50%;
}

.valuation-estimate-location strong {
    display: block;
    color: #173553;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .87rem;
    font-weight: 400;
}

.valuation-estimate-location small {
    display: block;
    margin-top: 3px;
    color: #4e87b6;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.valuation-property-image {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
}

.valuation-property-image::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, rgba(249,252,254,.98) 0%, rgba(249,252,254,.38) 25%, transparent 54%);
}

.valuation-property-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 54%;
}

.valuation-report-lower {
    position: relative;
    min-height: 255px;
    padding: 22px 212px 24px 28px;
    background: linear-gradient(180deg, rgba(247,251,254,.94), rgba(239,247,252,.96));
    border-top: 1px solid rgba(124, 157, 180, .16);
    border-radius: 0 0 20px 20px;
}

.valuation-panel-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
}

.valuation-panel-heading strong {
    color: #2e5c85;
    font-size: .59rem;
    letter-spacing: .13em;
}

.valuation-panel-heading span {
    color: #7297b5;
    font-size: .53rem;
    letter-spacing: .09em;
}

.valuation-chart-wrap {
    position: relative;
    height: 194px;
    padding-left: 39px;
}

.valuation-chart-y {
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #5d88aa;
    font-size: .5rem;
    font-weight: 700;
}

.valuation-main-chart {
    width: 100%;
    height: 166px;
    display: block;
}

.valuation-chart-grid line {
    stroke: #d5e3ee;
    stroke-width: 1;
}

.valuation-chart-area {
    fill: url(#valuationArea);
}

.valuation-chart-line {
    fill: none;
    stroke: #155897;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.valuation-chart-points circle {
    fill: #155897;
    stroke: #ffffff;
    stroke-width: 3;
}

.valuation-chart-marker {
    stroke: #88afd0;
    stroke-width: 2;
    stroke-dasharray: 7 7;
}

.valuation-chart-months {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    padding: 0 8px;
    color: #3f739e;
    font-size: .49rem;
    font-weight: 700;
    text-align: center;
}

.valuation-current-badge {
    position: absolute;
    right: -4px;
    top: -14px;
    min-width: 104px;
    padding: 8px 10px;
    text-align: center;
    background: rgba(255,255,255,.97);
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(36,76,106,.13);
}

.valuation-current-badge strong,
.valuation-current-badge span {
    display: block;
}

.valuation-current-badge strong {
    color: #174f83;
    font-size: .8rem;
}

.valuation-current-badge span {
    margin-top: 2px;
    color: #4d83ad;
    font-size: .46rem;
}

.valuation-comparison {
    position: absolute;
    z-index: 6;
    right: -42px;
    top: 29px;
    width: 238px;
    padding: 20px 19px 17px;
    background: rgba(255,255,255,.97);
    border: 1px solid rgba(127,161,184,.20);
    border-radius: 15px;
    box-shadow: 0 19px 38px rgba(28,65,93,.18);
}

.valuation-comparison > p {
    margin: 0;
    color: #174c7c;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-comparison-bars {
    height: 149px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
    gap: 14px;
    margin-top: 14px;
}

.valuation-comparison-column {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
}

.valuation-comparison-column > strong {
    margin-bottom: 5px;
    color: #5887ad;
    font-size: .67rem;
}

.valuation-comparison-current > strong {
    color: #152e4e;
}

.valuation-comparison-bar {
    width: 42px;
    display: block;
    border-radius: 4px 4px 0 0;
}

.valuation-bar-low {
    height: 55px;
    background: #b9d0e2;
}

.valuation-bar-current {
    height: 78px;
    background: #153e69;
}

.valuation-bar-high {
    height: 92px;
    background: #aec9df;
}

.valuation-comparison-column small {
    min-height: 29px;
    margin-top: 7px;
    color: #47759b;
    font-size: .48rem;
    line-height: 1.12;
}

.valuation-comparison-current small {
    color: #132d4c;
    font-weight: 800;
}

.valuation-signal-rail {
    position: relative;
    z-index: 5;
    width: 92%;
    min-height: 92px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 15px 0 0 1%;
    overflow: hidden;
    background: rgba(251,253,255,.96);
    border: 1px solid rgba(122,157,181,.22);
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(35,72,99,.13);
}

.valuation-signal-item {
    position: relative;
    display: grid;
    grid-template-columns: 34px 1fr;
    grid-template-rows: auto auto;
    column-gap: 9px;
    align-content: center;
    padding: 13px 16px;
}

.valuation-signal-item + .valuation-signal-item {
    border-left: 1px solid rgba(114,153,180,.18);
}

.valuation-signal-icon {
    grid-row: 1 / 3;
    align-self: center;
    color: #175a97;
    font-size: 1.45rem;
}

.valuation-signal-item strong {
    color: #12375f;
    font-size: .86rem;
}

.valuation-signal-item small {
    margin-top: 3px;
    color: #4f80a8;
    font-size: .47rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.valuation-visual-note {
    position: absolute;
    z-index: 6;
    margin: 0;
    color: #5d8db3;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .82rem;
    font-style: italic;
    line-height: 1.25;
    transform: rotate(-4deg);
}

.valuation-visual-note-top {
    right: 4px;
    top: 25px;
    width: 105px;
}

.valuation-visual-note-bottom {
    right: -4px;
    bottom: 8px;
    width: 170px;
}

@media (max-width: 1180px) {

    .valuation-hero-dashboard {
        min-height: 0;
        padding: 76px 0 90px;
    }

    .valuation-hero-dashboard .valuation-hero-shell {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .valuation-hero-dashboard .valuation-hero-copy {
        max-width: 760px;
    }

    .valuation-hero-media {
        max-width: 820px;
        width: 100%;
        margin: 0 auto;
    }

}

@media (max-width: 760px) {

    .valuation-hero-dashboard .valuation-hero-shell {
        width: calc(100% - 32px);
    }

    .valuation-hero-dashboard h1 {
        font-size: clamp(3rem, 13vw, 4rem);
    }

    .valuation-visual-stage {
        min-height: 0;
        padding: 32px 0 52px;
    }

    .valuation-tree-layer,
    .valuation-visual-note {
        display: none;
    }

    .valuation-report-card {
        width: 100%;
        margin: 0;
    }

    .valuation-report-upper {
        grid-template-columns: 1fr;
    }

    .valuation-property-image {
        min-height: 230px;
        order: -1;
    }

    .valuation-property-image::before {
        background: linear-gradient(0deg, rgba(249,252,254,.96), transparent 38%);
    }

    .valuation-report-lower {
        padding: 25px 20px 260px;
    }

    .valuation-comparison {
        left: 20px;
        right: 20px;
        top: auto;
        bottom: 20px;
        width: auto;
    }

    .valuation-signal-rail {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
        margin: 14px 0 0;
    }

    .valuation-signal-item:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(114,153,180,.18);
    }

    .valuation-signal-item:nth-child(4) {
        border-top: 1px solid rgba(114,153,180,.18);
    }

}

/* VALUATION REPORT HERO END */

/* VALUATION MOCKUP COMPOSITION POLISH START */

@media (min-width: 1181px) {

    .valuation-hero-dashboard {
        min-height: 0;
        align-items: flex-start;
        padding-top: 28px;
        padding-bottom: 34px;
    }

    .valuation-hero-dashboard .valuation-hero-shell {
        width: calc(100% - 44px);
        max-width: 1430px;
        grid-template-columns: minmax(410px, 440px) minmax(0, 1fr);
        gap: 56px;
        align-items: start;
    }

    .valuation-hero-dashboard .valuation-hero-copy {
        width: 100%;
        max-width: 440px;
        padding-top: 138px;
    }

    .valuation-hero-dashboard h1 {
        width: 100%;
        max-width: 440px;
        font-size: clamp(3.65rem, 4.15vw, 4.55rem);
        line-height: .92;
    }

    .valuation-hero-dashboard h1 span {
        max-width: 440px;
    }

    .valuation-hero-dashboard h1 em {
        max-width: 430px;
        font-size: .68em;
        line-height: 1.02;
        white-space: normal;
    }

    .valuation-hero-dashboard .valuation-hero-lead {
        max-width: 430px;
    }

    .valuation-visual-stage {
        min-height: 575px;
        padding: 18px 12px 46px 0;
    }

    .valuation-tree-layer {
        z-index: 1;
        top: -54px;
        right: -112px;
        width: 128%;
        height: 102%;
        opacity: .96;
        background-image:
            url("../images/valuation-market-tree.webp"),
            url("../images/featured-residence-exterior.webp");
        background-repeat: no-repeat, no-repeat;
        background-size: cover, cover;
        background-position: center 34%, center 42%;
        -webkit-mask-image:
            linear-gradient(
                to right,
                transparent 0%,
                rgba(0,0,0,.82) 10%,
                #000 24%,
                #000 90%,
                transparent 100%
            );
        mask-image:
            linear-gradient(
                to right,
                transparent 0%,
                rgba(0,0,0,.82) 10%,
                #000 24%,
                #000 90%,
                transparent 100%
            );
    }

    .valuation-tree-layer::after {
        background:
            linear-gradient(
                180deg,
                rgba(237,245,250,.02) 0%,
                rgba(237,245,250,.10) 48%,
                rgba(237,245,250,.46) 100%
            );
    }

    .valuation-report-card {
        position: relative;
        z-index: 3;
        width: 94%;
        margin-left: 0;
        border-radius: 22px;
        box-shadow: 0 32px 76px rgba(32, 71, 99, .22);
    }

    .valuation-report-upper {
        min-height: 270px;
    }

    .valuation-report-lower {
        min-height: 270px;
        padding-right: 228px;
    }

    .valuation-comparison {
        right: -34px;
        width: 250px;
    }

    .valuation-signal-rail {
        position: relative;
        z-index: 5;
        width: 96%;
        min-height: 96px;
        margin-top: 15px;
        margin-left: 0;
    }

    .valuation-signal-item:not(:last-child)::after {
        content: "â†’";
        position: absolute;
        right: -10px;
        top: 50%;
        z-index: 4;
        transform: translateY(-50%);
        width: 20px;
        height: 20px;
        display: grid;
        place-items: center;
        color: #4e82ad;
        background: rgba(251,253,255,.98);
        font-size: .92rem;
        line-height: 1;
    }

    .valuation-visual-note {
        color: #4f83ad;
        font-size: .96rem;
        line-height: 1.18;
    }

    .valuation-visual-note-top {
        right: -4px;
        top: -6px;
        width: 132px;
    }

    .valuation-visual-note-bottom {
        right: 2px;
        bottom: 4px;
        width: 190px;
    }

    .valuation-hero-watermark {
        bottom: -5px;
        opacity: .68;
    }
}

/* VALUATION MOCKUP COMPOSITION POLISH END */

/* === VALUATION TREE ACCENT START === */
.valuation-hero-dashboard {
    position: relative;
    isolation: isolate;
    overflow: visible;
}

.valuation-hero-dashboard .valuation-hero-tree {
    position: absolute;
    right: -4%;
    top: 10%;
    width: min(30vw, 420px);
    aspect-ratio: 4 / 5;
    background-image: url('../images/valuation-market-tree.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.62;
    filter: saturate(0.92) brightness(1.03);
    pointer-events: none;
    z-index: 0;
    transform: translateZ(0);
}

.valuation-hero-dashboard .valuation-hero-tree::after {
    content: "";
    position: absolute;
    inset: 10% 12% 12% 12%;
    background: radial-gradient(circle at center, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0) 72%);
    filter: blur(14px);
    z-index: -1;
}

.valuation-hero-dashboard {
    position: relative;
    z-index: 2;
}

@media (max-width: 1280px) {
    .valuation-hero-dashboard .valuation-hero-tree {
        right: -2%;
        top: 11%;
        width: min(28vw, 360px);
        opacity: 0.56;
    }
}

@media (max-width: 1024px) {
    .valuation-hero-dashboard .valuation-hero-tree {
        right: 2%;
        top: 8%;
        width: min(32vw, 320px);
        opacity: 0.48;
    }
}

@media (max-width: 900px) {
    .valuation-hero-dashboard .valuation-hero-tree {
        display: none;
    }
}
/* === VALUATION TREE ACCENT END === */

/* VALUATION SINGLE TREE PLACEMENT START */

@media (min-width: 1181px) {

    .valuation-hero-dashboard .valuation-hero-media {
        position: relative;
        transform: translateX(34px);
    }

    .valuation-hero-dashboard .valuation-visual-stage {
        position: relative;
        overflow: visible;
    }

    .valuation-hero-dashboard .valuation-tree-layer {
        position: absolute;
        z-index: 1;
        top: -72px;
        left: 96px;
        right: auto;
        width: 710px;
        height: 690px;
        opacity: .88;
        background-image: url("../images/valuation-market-tree.webp");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: contain;
        -webkit-mask-image: none;
        mask-image: none;
        pointer-events: none;
    }

    .valuation-hero-dashboard .valuation-tree-layer::after {
        display: none;
    }

    .valuation-hero-dashboard .valuation-report-card {
        position: relative;
        z-index: 3;
    }

    .valuation-hero-dashboard .valuation-signal-rail {
        position: relative;
        z-index: 4;
    }

    .valuation-hero-dashboard .valuation-visual-note {
        z-index: 5;
    }

    .valuation-hero-tree {
        display: none !important;
    }

    .valuation-signal-item:not(:last-child)::after {
        content: "\2192";
    }
}

/* VALUATION SINGLE TREE PLACEMENT END */

/* VALUATION TREE CANOPY POLISH START */

@media (min-width: 1181px) {

    .valuation-hero-dashboard .valuation-tree-layer {
        top: -58px;
        left: 185px;
        right: auto;
        width: 790px;
        height: 535px;
        opacity: .90;
        background-image: url("../images/valuation-market-tree.webp");
        background-repeat: no-repeat;
        background-size: 790px auto;
        background-position: center -28px;
        overflow: hidden;
        pointer-events: none;
    }

    .valuation-hero-dashboard .valuation-tree-layer::after {
        display: none;
    }
}

/* VALUATION TREE CANOPY POLISH END */

/* VALUATION TREE EDGE FADE START */

@media (min-width: 1181px) {

    .valuation-hero-dashboard .valuation-tree-layer {
        opacity: .82;

        -webkit-mask-image:
            radial-gradient(
                ellipse 66% 62% at 52% 44%,
                #000 18%,
                rgba(0,0,0,.96) 30%,
                rgba(0,0,0,.76) 43%,
                rgba(0,0,0,.48) 55%,
                rgba(0,0,0,.24) 66%,
                rgba(0,0,0,.08) 76%,
                transparent 88%
            );

        mask-image:
            radial-gradient(
                ellipse 66% 62% at 52% 44%,
                #000 18%,
                rgba(0,0,0,.96) 30%,
                rgba(0,0,0,.76) 43%,
                rgba(0,0,0,.48) 55%,
                rgba(0,0,0,.24) 66%,
                rgba(0,0,0,.08) 76%,
                transparent 88%
            );

        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;

        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
    }
}

/* VALUATION TREE EDGE FADE END */

/* VALUATION SIGNAL STORY START */

.valuation-impact {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(169, 200, 219, .13);
}

.valuation-impact span {
    color: #f09a58;
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
}

.valuation-impact strong {
    color: #d8e6ee;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .78rem;
    font-weight: 400;
    line-height: 1.35;
}

@media (max-width: 700px) {
    .valuation-impact {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

/* VALUATION SIGNAL STORY END */



/* FOUR SIGNALS VISUAL POLISH START */

.valuation-methodology {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 30%, rgba(74, 124, 160, .055) 0, rgba(74, 124, 160, .055) 1px, transparent 1px),
        repeating-linear-gradient(90deg, rgba(72, 112, 145, .035) 0, rgba(72, 112, 145, .035) 1px, transparent 1px, transparent 72px),
        repeating-linear-gradient(0deg, rgba(72, 112, 145, .028) 0, rgba(72, 112, 145, .028) 1px, transparent 1px, transparent 72px),
        linear-gradient(180deg, #f8fbfd 0%, #edf5f9 100%);
}

.valuation-methodology::before {
    content: "";
    position: absolute;
    z-index: 0;
    width: 420px;
    height: 420px;
    right: -105px;
    top: 165px;
    border: 1px solid rgba(72, 119, 153, .12);
    border-radius: 50%;
    box-shadow:
        0 0 0 58px rgba(72, 119, 153, .028),
        0 0 0 118px rgba(72, 119, 153, .018);
    background:
        linear-gradient(90deg, transparent calc(50% - .5px), rgba(72,119,153,.10) 50%, transparent calc(50% + .5px)),
        linear-gradient(0deg, transparent calc(50% - .5px), rgba(72,119,153,.10) 50%, transparent calc(50% + .5px));
    pointer-events: none;
}

.valuation-methodology::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -115px;
    bottom: 100px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(72, 119, 153, .09);
    border-radius: 50%;
    box-shadow:
        0 0 0 46px rgba(72, 119, 153, .022),
        0 0 0 92px rgba(72, 119, 153, .014);
    pointer-events: none;
}

.valuation-methodology > * {
    position: relative;
    z-index: 1;
}

.valuation-methodology-intro h2 {
    line-height: 1;
}

.valuation-methodology-intro h2 em {
    display: block;
    margin-top: .13em;
    line-height: 1;
}

.valuation-input-head {
    gap: 14px;
}

.valuation-input-head > span {
    font-size: .58rem;
}

.valuation-input-head strong {
    font-size: 1.42rem;
    line-height: 1.08;
}

.valuation-inputs article > p {
    max-width: 95%;
    margin-top: 11px;
    font-size: .84rem;
    line-height: 1.55;
}

.valuation-data-row {
    margin-top: 14px;
    gap: 9px 20px;
}

.valuation-data-row span {
    font-size: .55rem;
    letter-spacing: .13em;
}

.valuation-impact {
    gap: 16px;
    margin-top: 20px;
    padding-top: 16px;
}

.valuation-impact span {
    font-size: .54rem;
}

.valuation-impact strong {
    font-size: .94rem;
    line-height: 1.42;
}

.valuation-inputs article {
    padding-top: 28px;
    padding-bottom: 28px;
}

@media (max-width: 760px) {
    .valuation-methodology::before {
        width: 260px;
        height: 260px;
        right: -120px;
        top: 220px;
    }

    .valuation-methodology::after {
        width: 220px;
        height: 220px;
        left: -120px;
        bottom: 80px;
    }

    .valuation-methodology-intro h2 em {
        margin-top: .17em;
    }

    .valuation-input-head strong {
        font-size: 1.3rem;
    }

    .valuation-inputs article > p {
        font-size: .9rem;
    }

    .valuation-impact strong {
        font-size: .96rem;
    }
}

/* FOUR SIGNALS VISUAL POLISH END */

/* VALUATION EVIDENCE DETAIL START */

.valuation-evidence-detail {
    margin-top: 17px;
    padding: 13px 15px;
    background: rgba(255,255,255,.028);
    border-left: 2px solid rgba(240,154,88,.68);
}

.valuation-evidence-detail > span {
    display: block;
    margin-bottom: 7px;
    color: #8eb0c5;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.valuation-evidence-detail > p {
    margin: 0;
    color: #d4e2eb;
    font-size: .77rem;
    line-height: 1.55;
}

.valuation-impact {
    margin-top: 16px;
}

@media (min-width: 1180px) {
    .valuation-inputs article {
        min-height: 250px;
    }
}

@media (max-width: 700px) {
    .valuation-evidence-detail > p {
        font-size: .86rem;
    }
}

/* VALUATION EVIDENCE DETAIL END */

/* VALUATION BOARD READABILITY START */

#valuation-evidence .valuation-inputs article {
    padding: 30px 32px;
}

#valuation-evidence .valuation-input-head > span {
    font-size: .68rem;
    line-height: 1;
}

#valuation-evidence .valuation-input-head strong {
    font-size: 1.5rem;
    line-height: 1.1;
}

#valuation-evidence .valuation-inputs article > p {
    max-width: 96%;
    margin-top: 12px;
    font-size: .94rem;
    line-height: 1.58;
}

#valuation-evidence .valuation-data-row {
    margin-top: 16px;
    gap: 10px 22px;
}

#valuation-evidence .valuation-data-row span {
    font-size: .64rem;
    line-height: 1.25;
    letter-spacing: .12em;
}

#valuation-evidence .valuation-evidence-detail {
    margin-top: 19px;
    padding: 16px 17px;
}

#valuation-evidence .valuation-evidence-detail > span {
    margin-bottom: 9px;
    font-size: .63rem;
    line-height: 1.2;
}

#valuation-evidence .valuation-evidence-detail > p {
    font-size: .9rem;
    line-height: 1.55;
}

#valuation-evidence .valuation-impact {
    gap: 18px;
    margin-top: 18px;
    padding-top: 17px;
}

#valuation-evidence .valuation-impact span {
    font-size: .63rem;
    line-height: 1.3;
}

#valuation-evidence .valuation-impact strong {
    font-size: 1rem;
    line-height: 1.42;
}

#valuation-evidence .valuation-result p {
    font-size: .64rem;
    line-height: 1.3;
}

#valuation-evidence .valuation-result > strong {
    font-size: .7rem;
    line-height: 1.3;
}

#valuation-evidence .valuation-result-rule {
    font-size: .68rem;
    line-height: 1.55;
}

#valuation-evidence .valuation-board-footer {
    font-size: .64rem;
    letter-spacing: .12em;
}

@media (min-width: 1180px) {
    #valuation-evidence .valuation-inputs article {
        min-height: 290px;
    }
}

@media (max-width: 760px) {
    #valuation-evidence .valuation-inputs article {
        padding: 26px 22px;
    }

    #valuation-evidence .valuation-input-head strong {
        font-size: 1.38rem;
    }

    #valuation-evidence .valuation-inputs article > p {
        font-size: .96rem;
    }

    #valuation-evidence .valuation-data-row span,
    #valuation-evidence .valuation-evidence-detail > span,
    #valuation-evidence .valuation-impact span {
        font-size: .67rem;
    }

    #valuation-evidence .valuation-evidence-detail > p {
        font-size: .94rem;
    }

    #valuation-evidence .valuation-impact strong {
        font-size: 1rem;
    }
}

/* VALUATION BOARD READABILITY END */

/* VALUATION EVIDENCE FLOW START */

.valuation-evidence-flow {
    position: relative;
    overflow: hidden;
    padding: 118px 0 94px;
    color: #f6f9fb;
    background:
        radial-gradient(circle at 78% 20%, rgba(96,151,188,.12), transparent 30%),
        radial-gradient(circle at 18% 78%, rgba(44,105,145,.13), transparent 31%),
        linear-gradient(180deg, #1a3450 0%, #0d2b42 58%, #0b2639 100%);
}

.valuation-evidence-flow::before {
    content: "04";
    position: absolute;
    right: -10px;
    top: -84px;
    color: rgba(234,242,248,.035);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(14rem, 26vw, 28rem);
    line-height: 1;
    pointer-events: none;
}

.valuation-evidence-flow::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 18%, rgba(255,255,255,.42) 0 1px, transparent 1.5px),
        radial-gradient(circle at 44% 7%, rgba(255,255,255,.25) 0 .8px, transparent 1.4px),
        radial-gradient(circle at 74% 13%, rgba(255,255,255,.26) 0 .8px, transparent 1.4px),
        radial-gradient(circle at 91% 29%, rgba(255,255,255,.18) 0 .8px, transparent 1.4px);
    opacity: .48;
}

.valuation-evidence-ghost {
    position: absolute;
    left: -30px;
    bottom: -44px;
    color: rgba(232,241,247,.025);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(12rem, 24vw, 25rem);
    line-height: .7;
    letter-spacing: -.08em;
    pointer-events: none;
}

.valuation-evidence-flow-shell {
    position: relative;
    z-index: 2;
}

.valuation-evidence-flow-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 86px;
    align-items: end;
}

.valuation-evidence-flow-heading .section-kicker {
    margin: 0 0 18px;
    color: #f39a56;
}

.valuation-evidence-flow-heading h2 {
    margin: 0;
    max-width: 760px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 5.4vw, 5.7rem);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.05em;
}

.valuation-evidence-flow-heading h2 span {
    display: block;
    margin-top: .12em;
    color: #a9c6da;
    font-style: italic;
    line-height: 1;
}

.valuation-evidence-flow-intro {
    max-width: 410px;
    padding: 8px 0 4px 28px;
    border-left: 1px solid rgba(187,210,225,.24);
}

.valuation-evidence-flow-intro > span {
    color: #f39a56;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.valuation-evidence-flow-intro p {
    margin: 18px 0 0;
    color: rgba(238,244,248,.82);
    font-size: 1rem;
    line-height: 1.65;
}

.valuation-evidence-route {
    position: relative;
    min-height: 840px;
    margin-top: 72px;
}

.valuation-evidence-route-line {
    position: absolute;
    z-index: 1;
    left: 3%;
    top: 48px;
    width: 94%;
    height: 560px;
    overflow: visible;
}

.valuation-evidence-route-line path {
    fill: none;
    stroke: rgba(126,177,207,.54);
    stroke-width: 1.3;
}

.valuation-evidence-stop {
    position: absolute;
    z-index: 3;
    width: 265px;
}

.valuation-evidence-stop-property {
    left: 2%;
    top: 102px;
}

.valuation-evidence-stop-competition {
    left: 31%;
    top: 378px;
}

.valuation-evidence-stop-sales {
    left: 59%;
    top: 144px;
}

.valuation-evidence-stop-timing {
    right: 1%;
    top: 382px;
}

.valuation-evidence-stop-number {
    margin-bottom: 12px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.65rem;
    line-height: 1;
}

.valuation-evidence-node {
    width: 15px;
    height: 15px;
    margin: 0 0 22px 1px;
    border: 2px solid #f39a56;
    border-radius: 50%;
    box-shadow: 0 0 0 7px rgba(243,154,86,.08);
}

.valuation-evidence-node::after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin: 3px;
    background: #f39a56;
    border-radius: 50%;
}

.valuation-evidence-stop-copy > span {
    color: #a9bfd0;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.valuation-evidence-stop-copy h3 {
    margin: 12px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.03;
}

.valuation-evidence-stop-copy > p {
    margin: 15px 0 0;
    color: rgba(234,241,246,.78);
    font-size: .91rem;
    line-height: 1.58;
}

.valuation-evidence-weigh {
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid rgba(184,208,223,.18);
}

.valuation-evidence-weigh strong,
.valuation-evidence-effect > span {
    color: #f39a56;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.valuation-evidence-weigh p {
    margin: 8px 0 0;
    color: rgba(225,235,242,.67);
    font-size: .78rem;
    line-height: 1.55;
}

.valuation-evidence-effect {
    margin-top: 16px;
}

.valuation-evidence-effect strong {
    display: block;
    margin-top: 7px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
}

.valuation-evidence-destination {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 0;
    width: min(760px, 72%);
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: 90px 120px minmax(0,1fr) 170px;
    gap: 24px;
    align-items: center;
    padding: 27px 30px;
    border-top: 1px solid rgba(185,209,224,.22);
    border-bottom: 1px solid rgba(185,209,224,.16);
    background: rgba(7,29,45,.42);
}

.valuation-evidence-target {
    position: relative;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(139,189,219,.7);
    border-radius: 50%;
    box-shadow:
        0 0 0 14px rgba(126,177,207,.045),
        0 0 0 28px rgba(126,177,207,.022);
}

.valuation-evidence-target span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 13px;
    height: 13px;
    transform: translate(-50%, -50%);
    border: 2px solid #f39a56;
    border-radius: 50%;
}

.valuation-evidence-destination > div:nth-child(2) span,
.valuation-evidence-destination > div:nth-child(2) strong {
    display: block;
}

.valuation-evidence-destination > div:nth-child(2) span {
    color: #f39a56;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.valuation-evidence-destination > div:nth-child(2) strong {
    margin-top: 7px;
    color: #adc6d7;
    font-size: .62rem;
    letter-spacing: .12em;
}

.valuation-evidence-destination h3 {
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.035em;
}

.valuation-evidence-destination h3 em {
    display: block;
    color: #9fbdd1;
    font-style: italic;
}

.valuation-evidence-destination > p {
    margin: 0;
    padding-left: 22px;
    color: rgba(224,235,242,.66);
    border-left: 1px solid rgba(185,209,224,.18);
    font-size: .68rem;
    line-height: 1.65;
}

.valuation-evidence-flow-footer {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 24px;
    margin-top: 48px;
    padding-top: 22px;
    border-top: 1px solid rgba(190,212,226,.14);
    color: rgba(229,238,244,.72);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-align: center;
}

.valuation-evidence-flow-footer span + span::before {
    content: "•";
    margin-right: 24px;
    color: #f39a56;
}

@media (max-width: 1050px) {
    .valuation-evidence-flow-heading {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .valuation-evidence-flow-intro {
        max-width: 640px;
    }

    .valuation-evidence-route {
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 44px;
    }

    .valuation-evidence-route-line {
        display: none;
    }

    .valuation-evidence-stop,
    .valuation-evidence-destination {
        position: relative;
        inset: auto;
        width: auto;
        transform: none;
    }

    .valuation-evidence-stop {
        padding-top: 24px;
        border-top: 1px solid rgba(185,209,224,.18);
    }

    .valuation-evidence-destination {
        grid-column: 1 / -1;
        grid-template-columns: 80px 110px minmax(0,1fr);
    }

    .valuation-evidence-destination > p {
        grid-column: 3;
        padding: 0;
        border-left: 0;
    }
}

@media (max-width: 680px) {
    .valuation-evidence-flow {
        padding: 82px 0 72px;
    }

    .valuation-evidence-flow-heading h2 {
        font-size: clamp(3.2rem, 14vw, 4.5rem);
    }

    .valuation-evidence-route {
        grid-template-columns: 1fr;
    }

    .valuation-evidence-destination {
        grid-column: auto;
        grid-template-columns: 74px 1fr;
    }

    .valuation-evidence-destination h3,
    .valuation-evidence-destination > p {
        grid-column: 1 / -1;
    }

    .valuation-evidence-flow-footer {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .valuation-evidence-flow-footer span + span::before {
        display: none;
    }
}

/* VALUATION EVIDENCE FLOW END */

/* VALUATION EVIDENCE FLOW GEOMETRY START */

@media (min-width: 1051px) {

    .valuation-evidence-flow-heading {
        grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr);
        gap: 64px;
        align-items: start;
    }

    .valuation-evidence-flow-heading h2 {
        max-width: 860px;
        font-size: clamp(4.3rem, 5vw, 5.8rem);
        line-height: .92;
        letter-spacing: -.04em;
    }

    .valuation-evidence-flow-heading h2 span {
        display: block;
        margin-top: .06em;
        font-size: .9em;
        line-height: .9;
    }

    .valuation-evidence-route {
        position: relative;
        min-height: auto;
        margin-top: 76px;
        padding: 112px 0 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: 36px;
        row-gap: 28px;
        align-items: start;
    }

    .valuation-evidence-route-line {
        display: none;
    }

    .valuation-evidence-route::before {
        content: "";
        position: absolute;
        left: 2.5%;
        right: 2.5%;
        top: 58px;
        height: 1px;
        background: rgba(185, 209, 224, .34);
        pointer-events: none;
    }

    .valuation-evidence-route::after {
        content: "";
        position: absolute;
        left: 2.5%;
        right: 2.5%;
        top: 49px;
        height: 18px;
        pointer-events: none;
        background:
            radial-gradient(circle, rgba(255, 159, 68, .98) 0 3px, rgba(9, 28, 49, .98) 3px 7px, transparent 7px) 16.666% 50% / 18px 18px no-repeat,
            radial-gradient(circle, rgba(255, 159, 68, .98) 0 3px, rgba(9, 28, 49, .98) 3px 7px, transparent 7px) 50% 50% / 18px 18px no-repeat,
            radial-gradient(circle, rgba(255, 159, 68, .98) 0 3px, rgba(9, 28, 49, .98) 3px 7px, transparent 7px) 83.333% 50% / 18px 18px no-repeat;
    }

    .valuation-evidence-stop {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        width: auto;
        min-width: 0;
        padding-top: 0;
        align-self: start;
    }

    .valuation-evidence-stop-property,
    .valuation-evidence-stop-competition,
    .valuation-evidence-stop-sales,
    .valuation-evidence-stop-timing {
        left: auto;
        right: auto;
        top: auto;
    }

    .valuation-evidence-stop-copy h3 {
        font-size: clamp(2.2rem, 2.45vw, 2.7rem);
        line-height: .96;
        letter-spacing: -.03em;
        max-width: 11ch;
        margin-bottom: 14px;
    }

    .valuation-evidence-stop-copy > p {
        max-width: none;
        font-size: 1rem;
        line-height: 1.58;
    }

    .valuation-evidence-weigh {
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid rgba(185, 209, 224, .22);
    }

    .valuation-evidence-weigh p {
        max-width: none;
        font-size: .96rem;
        line-height: 1.65;
    }

    .valuation-evidence-effect {
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid rgba(185, 209, 224, .22);
    }

    .valuation-evidence-effect strong {
        display: block;
        max-width: none;
        font-size: 1.12rem;
        line-height: 1.45;
    }

    .valuation-evidence-destination {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: auto;
        transform: none;
        grid-column: 1 / -1;
        margin-top: 10px;
        padding: 26px 0 0;
        display: grid;
        grid-template-columns: 96px 138px minmax(0, 1fr) 210px;
        gap: 28px;
        align-items: center;
        background: transparent;
        border-top: 1px solid rgba(185, 209, 224, .24);
        border-bottom: none;
    }

    .valuation-evidence-destination h3 {
        font-size: clamp(2.45rem, 3vw, 3.45rem);
        line-height: .94;
        letter-spacing: -.04em;
    }

    .valuation-evidence-flow-footer {
        margin-top: 36px;
    }
}

/* VALUATION EVIDENCE FLOW GEOMETRY END */

/* VALUATION COLUMN DIVIDERS START */

@media (min-width: 1051px) {

    .valuation-evidence-route {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: 58px;
        padding-left: 4px;
        padding-right: 4px;
    }

    .valuation-evidence-stop {
        position: relative;
        min-width: 0;
    }

    .valuation-evidence-stop-property,
    .valuation-evidence-stop-competition,
    .valuation-evidence-stop-sales,
    .valuation-evidence-stop-timing {
        padding-right: 0;
    }

    .valuation-evidence-stop-property::after,
    .valuation-evidence-stop-competition::after,
    .valuation-evidence-stop-sales::after {
        content: "";
        position: absolute;
        z-index: 2;
        top: -10px;
        right: -29px;
        bottom: 0;
        width: 1px;
        background: rgba(132, 178, 207, .34);
        pointer-events: none;
    }

    .valuation-evidence-stop-property::before,
    .valuation-evidence-stop-competition::before,
    .valuation-evidence-stop-sales::before {
        content: "";
        position: absolute;
        z-index: 3;
        right: -35px;
        top: 50%;
        width: 11px;
        height: 11px;
        transform: translateY(-50%);
        border: 2px solid #f39a56;
        border-radius: 50%;
        background: #0d2b42;
        box-shadow:
            0 0 0 4px rgba(8, 29, 45, .96),
            0 0 0 5px rgba(132, 178, 207, .20);
        pointer-events: none;
    }

    .valuation-evidence-stop-copy h3 {
        max-width: 12ch;
    }

    .valuation-evidence-stop-copy > p,
    .valuation-evidence-weigh p,
    .valuation-evidence-effect strong {
        max-width: 100%;
    }

    .valuation-evidence-weigh {
        padding-top: 19px;
    }

    .valuation-evidence-effect {
        padding-top: 19px;
    }

    .valuation-evidence-destination {
        margin-top: 22px;
    }
}

/* VALUATION COLUMN DIVIDERS END */

/* VALUATION MOTION SYSTEM START */

/* ======================================================
   HERO COPY
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-hero-copy .section-kicker,
.valuation-hero-dashboard.is-motion-ready .valuation-hero-copy h1,
.valuation-hero-dashboard.is-motion-ready .valuation-hero-lead,
.valuation-hero-dashboard.is-motion-ready .valuation-hero-link,
.valuation-hero-dashboard.is-motion-ready .valuation-hero-note {
    opacity: 0;
    transform: translateY(18px);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-hero-copy .section-kicker,
.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-hero-copy h1,
.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-hero-lead,
.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-hero-link,
.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-hero-note {
    opacity: 1;
    transform: translateY(0);
}

.valuation-hero-copy .section-kicker,
.valuation-hero-copy h1,
.valuation-hero-lead,
.valuation-hero-link,
.valuation-hero-note {
    transition:
        opacity 360ms ease,
        transform 500ms cubic-bezier(.22, 1, .36, 1);
}

.valuation-hero-copy h1 {
    transition-delay: 70ms;
}

.valuation-hero-lead {
    transition-delay: 140ms;
}

.valuation-hero-link {
    transition-delay: 210ms;
}

.valuation-hero-note {
    transition-delay: 275ms;
}


/* ======================================================
   TREE
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-tree-layer {
    opacity: 0;
    transform: translate3d(22px, 8px, 0) scale(.965);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-tree-layer {
    opacity: .82;
    transform: translate3d(0, 0, 0) scale(1);
}

.valuation-tree-layer {
    transition:
        opacity 650ms ease 120ms,
        transform 820ms cubic-bezier(.22, 1, .36, 1) 120ms;
}


/* ======================================================
   REPORT
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-report-card {
    opacity: 0;
    transform: translate3d(26px, 10px, 0) scale(.985);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-report-card {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.valuation-report-card {
    transition:
        opacity 430ms ease 220ms,
        transform 580ms cubic-bezier(.22, 1, .36, 1) 220ms;
}


/* ======================================================
   PROPERTY IMAGE
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-property-image img {
    transform: scale(1.045);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-property-image img {
    transform: scale(1);
}

.valuation-property-image img {
    transition:
        transform 1050ms cubic-bezier(.22, 1, .36, 1) 280ms;
}


/* ======================================================
   CHART
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-chart-line {
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-chart-line {
    animation:
        valuationChartDraw 700ms cubic-bezier(.22, 1, .36, 1)
        560ms forwards;
}

.valuation-hero-dashboard.is-motion-ready .valuation-chart-area {
    opacity: 0;
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-chart-area {
    animation:
        valuationAreaReveal 380ms ease
        790ms forwards;
}

.valuation-hero-dashboard.is-motion-ready .valuation-chart-points circle {
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-chart-points circle {
    animation:
        valuationPointWake 260ms cubic-bezier(.22, 1, .36, 1)
        875ms forwards;
}

.valuation-hero-dashboard.is-motion-ready .valuation-chart-marker {
    opacity: 0;
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-chart-marker {
    animation:
        valuationMarkerWake 240ms ease
        950ms forwards;
}

.valuation-hero-dashboard.is-motion-ready .valuation-current-badge {
    opacity: 0;
    transform: translateY(7px) scale(.96);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-current-badge {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.valuation-current-badge {
    transition:
        opacity 250ms ease 900ms,
        transform 340ms cubic-bezier(.22, 1, .36, 1) 900ms;
}


/* ======================================================
   MARKET COMPARISON
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-comparison {
    opacity: 0;
    transform: translate3d(12px, 10px, 0);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-comparison {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.valuation-comparison {
    transition:
        opacity 300ms ease 700ms,
        transform 410ms cubic-bezier(.22, 1, .36, 1) 700ms;
}

.valuation-hero-dashboard.is-motion-ready .valuation-comparison-bar {
    transform: scaleY(0);
    transform-origin: bottom center;
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-comparison-bar {
    transform: scaleY(1);
}

.valuation-comparison-bar {
    transition:
        transform 460ms cubic-bezier(.22, 1, .36, 1) 830ms;
}

.valuation-comparison-column:nth-child(2) .valuation-comparison-bar {
    transition-delay: 900ms;
}

.valuation-comparison-column:nth-child(3) .valuation-comparison-bar {
    transition-delay: 970ms;
}


/* ======================================================
   HERO SIGNAL RAIL
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-signal-rail {
    opacity: 0;
    transform: translateY(10px);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-signal-rail {
    opacity: 1;
    transform: translateY(0);
}

.valuation-signal-rail {
    transition:
        opacity 280ms ease 970ms,
        transform 380ms cubic-bezier(.22, 1, .36, 1) 970ms;
}

.valuation-hero-dashboard.is-motion-ready .valuation-signal-item {
    opacity: 0;
    transform: translateX(-7px);
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-signal-item {
    opacity: 1;
    transform: translateX(0);
}

.valuation-signal-item {
    transition:
        opacity 240ms ease,
        transform 320ms cubic-bezier(.22, 1, .36, 1);
}

.valuation-signal-item:nth-child(1) {
    transition-delay: 1030ms;
}

.valuation-signal-item:nth-child(2) {
    transition-delay: 1100ms;
}

.valuation-signal-item:nth-child(3) {
    transition-delay: 1170ms;
}

.valuation-signal-item:nth-child(4) {
    transition-delay: 1240ms;
}


/* ======================================================
   HERO HANDWRITTEN NOTES
   ====================================================== */

.valuation-hero-dashboard.is-motion-ready .valuation-visual-note {
    opacity: 0;
}

.valuation-hero-dashboard.is-motion-ready.is-hero-live .valuation-visual-note {
    opacity: 1;
}

.valuation-visual-note {
    transition: opacity 340ms ease 1110ms;
}


/* ======================================================
   FOUR SIGNALS INTRO
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-flow-title,
#valuation-evidence.is-motion-ready .valuation-evidence-flow-intro {
    opacity: 0;
    transform: translateY(18px);
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-flow-title,
#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-flow-intro {
    opacity: 1;
    transform: translateY(0);
}

.valuation-evidence-flow-title,
.valuation-evidence-flow-intro {
    transition:
        opacity 360ms ease,
        transform 480ms cubic-bezier(.22, 1, .36, 1);
}

.valuation-evidence-flow-intro {
    transition-delay: 65ms;
}


/* ======================================================
   TOP CONNECTOR LINE
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-route::before {
    transform: scaleX(0);
    transform-origin: left center;
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-route::before {
    transform: scaleX(1);
}

.valuation-evidence-route::before {
    transition:
        transform 580ms cubic-bezier(.22, 1, .36, 1) 150ms;
}

#valuation-evidence.is-motion-ready .valuation-evidence-route::after {
    opacity: 0;
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-route::after {
    opacity: 1;
}

.valuation-evidence-route::after {
    transition: opacity 220ms ease 570ms;
}


/* ======================================================
   FOUR SIGNAL COLUMNS
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-stop {
    opacity: 0;
    transform: translateY(18px);
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-stop {
    opacity: 1;
    transform: translateY(0);
}

.valuation-evidence-stop {
    transition:
        opacity 290ms ease,
        transform 400ms cubic-bezier(.22, 1, .36, 1);
    transition-delay:
        calc(390ms + (var(--valuation-index) * 125ms));
}


/* ======================================================
   PRIMARY SIGNAL NODES
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-node {
    opacity: 0;
    transform: scale(.35);
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-node {
    opacity: 1;
    transform: scale(1);
    animation:
        valuationNodePulse 390ms ease
        calc(470ms + (var(--valuation-index) * 125ms))
        both;
}

.valuation-evidence-node {
    transition:
        opacity 190ms ease,
        transform 280ms cubic-bezier(.22, 1, .36, 1);
    transition-delay:
        calc(450ms + (var(--valuation-index) * 125ms));
}


/* ======================================================
   VERTICAL DIVIDERS
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-stop-property::after,
#valuation-evidence.is-motion-ready .valuation-evidence-stop-competition::after,
#valuation-evidence.is-motion-ready .valuation-evidence-stop-sales::after {
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top center;
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-stop-property::after,
#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-stop-competition::after,
#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-stop-sales::after {
    opacity: 1;
    transform: scaleY(1);
}

.valuation-evidence-stop-property::after,
.valuation-evidence-stop-competition::after,
.valuation-evidence-stop-sales::after {
    transition:
        opacity 170ms ease,
        transform 340ms cubic-bezier(.22, 1, .36, 1);
    transition-delay:
        calc(580ms + (var(--valuation-index) * 125ms));
}


/* ======================================================
   DIVIDER CENTER DOTS
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-stop-property::before,
#valuation-evidence.is-motion-ready .valuation-evidence-stop-competition::before,
#valuation-evidence.is-motion-ready .valuation-evidence-stop-sales::before {
    opacity: 0;
    transform: translateY(-50%) scale(0);
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-stop-property::before,
#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-stop-competition::before,
#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-stop-sales::before {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

.valuation-evidence-stop-property::before,
.valuation-evidence-stop-competition::before,
.valuation-evidence-stop-sales::before {
    transition:
        opacity 170ms ease,
        transform 280ms cubic-bezier(.22, 1, .36, 1);
    transition-delay:
        calc(700ms + (var(--valuation-index) * 125ms));
}


/* ======================================================
   MARKET POSITION DESTINATION
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-destination {
    opacity: 0;
    transform: translateY(18px);
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-destination {
    opacity: 1;
    transform: translateY(0);
}

.valuation-evidence-destination {
    transition:
        opacity 330ms ease 980ms,
        transform 440ms cubic-bezier(.22, 1, .36, 1) 980ms;
}

#valuation-evidence.is-motion-ready .valuation-evidence-target {
    transform: scale(.82);
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-target {
    animation:
        valuationDestinationWake 520ms cubic-bezier(.22, 1, .36, 1)
        1060ms both;
}


/* ======================================================
   FOOTER
   ====================================================== */

#valuation-evidence.is-motion-ready .valuation-evidence-flow-footer {
    opacity: 0;
    transform: translateY(7px);
}

#valuation-evidence.is-motion-ready.is-flow-live .valuation-evidence-flow-footer {
    opacity: 1;
    transform: translateY(0);
}

.valuation-evidence-flow-footer {
    transition:
        opacity 280ms ease 1150ms,
        transform 330ms ease 1150ms;
}


/* ======================================================
   KEYFRAMES
   ====================================================== */

@keyframes valuationChartDraw {
    from {
        stroke-dashoffset: 1200;
    }

    to {
        stroke-dashoffset: 0;
    }
}

@keyframes valuationAreaReveal {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes valuationPointWake {
    0% {
        opacity: 0;
        transform: scale(0);
    }

    70% {
        opacity: 1;
        transform: scale(1.18);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes valuationMarkerWake {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes valuationNodePulse {
    0% {
        box-shadow:
            0 0 0 0 rgba(243,154,86,.28);
    }

    55% {
        box-shadow:
            0 0 0 12px rgba(243,154,86,.035);
    }

    100% {
        box-shadow:
            0 0 0 7px rgba(243,154,86,.08);
    }
}

@keyframes valuationDestinationWake {
    0% {
        transform: scale(.82);
        box-shadow:
            0 0 0 0 rgba(243,154,86,.20),
            0 0 0 0 rgba(126,177,207,.04);
    }

    58% {
        transform: scale(1.045);
        box-shadow:
            0 0 0 16px rgba(243,154,86,.035),
            0 0 0 34px rgba(126,177,207,.022);
    }

    100% {
        transform: scale(1);
    }
}


/* ======================================================
   REDUCED MOTION
   ====================================================== */

@media (prefers-reduced-motion: reduce) {

    .valuation-hero-dashboard *,
    .valuation-hero-dashboard *::before,
    .valuation-hero-dashboard *::after,
    #valuation-evidence *,
    #valuation-evidence *::before,
    #valuation-evidence *::after {
        animation: none !important;
        transition: none !important;
    }

    .valuation-hero-dashboard .valuation-hero-copy .section-kicker,
    .valuation-hero-dashboard .valuation-hero-copy h1,
    .valuation-hero-dashboard .valuation-hero-lead,
    .valuation-hero-dashboard .valuation-hero-link,
    .valuation-hero-dashboard .valuation-hero-note,
    .valuation-hero-dashboard .valuation-tree-layer,
    .valuation-hero-dashboard .valuation-report-card,
    .valuation-hero-dashboard .valuation-chart-area,
    .valuation-hero-dashboard .valuation-chart-points circle,
    .valuation-hero-dashboard .valuation-chart-marker,
    .valuation-hero-dashboard .valuation-current-badge,
    .valuation-hero-dashboard .valuation-comparison,
    .valuation-hero-dashboard .valuation-signal-rail,
    .valuation-hero-dashboard .valuation-signal-item,
    .valuation-hero-dashboard .valuation-visual-note,
    #valuation-evidence .valuation-evidence-flow-title,
    #valuation-evidence .valuation-evidence-flow-intro,
    #valuation-evidence .valuation-evidence-stop,
    #valuation-evidence .valuation-evidence-node,
    #valuation-evidence .valuation-evidence-destination,
    #valuation-evidence .valuation-evidence-flow-footer {
        opacity: 1 !important;
        transform: none !important;
    }

    .valuation-hero-dashboard .valuation-chart-line {
        stroke-dasharray: none !important;
        stroke-dashoffset: 0 !important;
    }

    .valuation-hero-dashboard .valuation-comparison-bar {
        transform: scaleY(1) !important;
    }

    #valuation-evidence .valuation-evidence-route::before,
    #valuation-evidence .valuation-evidence-stop-property::after,
    #valuation-evidence .valuation-evidence-stop-competition::after,
    #valuation-evidence .valuation-evidence-stop-sales::after {
        opacity: 1 !important;
        transform: none !important;
    }

    #valuation-evidence .valuation-evidence-stop-property::before,
    #valuation-evidence .valuation-evidence-stop-competition::before,
    #valuation-evidence .valuation-evidence-stop-sales::before {
        opacity: 1 !important;
        transform: translateY(-50%) scale(1) !important;
    }
}

/* VALUATION MOTION SYSTEM END */

/* VALUATION PRICING STRATEGY START */

.valuation-pricing-strategy {
    position: relative;
    overflow: hidden;
    padding: clamp(100px, 10vw, 160px) 0;
    background:
        radial-gradient(
            circle at 14% 20%,
            rgba(137, 184, 218, .14),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #f7fbfe 0%,
            #eef5fa 100%
        );
    color: #102c43;
}

.valuation-pricing-strategy::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    background-image:
        linear-gradient(
            rgba(57, 104, 137, .08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(57, 104, 137, .08) 1px,
            transparent 1px
        );
    background-size: 72px 72px;
}

.valuation-pricing-watermark {
    position: absolute;
    right: -1.5vw;
    top: 58px;
    font-size: clamp(7rem, 15vw, 16rem);
    font-weight: 800;
    line-height: .8;
    letter-spacing: -.08em;
    color: rgba(15, 50, 74, .035);
    pointer-events: none;
    user-select: none;
}

.valuation-pricing-shell {
    position: relative;
    z-index: 1;
}

.valuation-pricing-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(300px, .75fr);
    gap: clamp(50px, 7vw, 110px);
    align-items: end;
}

.valuation-pricing-heading h2 {
    max-width: 850px;
    margin: 20px 0 0;
    font-size: clamp(4rem, 5.5vw, 6.4rem);
    line-height: .9;
    letter-spacing: -.055em;
    color: #0f2d44;
}

.valuation-pricing-heading h2 span {
    display: block;
    color: #7891a3;
}

.valuation-pricing-intro {
    max-width: 430px;
    padding-bottom: 8px;
}

.valuation-pricing-label {
    margin: 0 0 16px;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #e6813f;
}

.valuation-pricing-intro > p:last-child {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.72;
    color: #486376;
}

.valuation-market-spectrum {
    margin-top: clamp(75px, 8vw, 118px);
}

.valuation-spectrum-scale {
    position: relative;
    height: 92px;
}

.valuation-spectrum-line {
    position: absolute;
    left: 0;
    right: 0;
    top: 32px;
    height: 2px;
    background:
        linear-gradient(
            90deg,
            rgba(83, 129, 158, .18),
            rgba(83, 129, 158, .72) 18%,
            rgba(83, 129, 158, .72) 82%,
            rgba(83, 129, 158, .18)
        );
}

.valuation-spectrum-node {
    position: absolute;
    top: 24px;
    width: 18px;
    height: 18px;
    border: 4px solid #eef5fa;
    border-radius: 50%;
    background: #eb8a49;
    box-shadow:
        0 0 0 1px rgba(20, 65, 94, .28),
        0 0 0 7px rgba(235, 138, 73, .08);
}

.valuation-spectrum-node-low {
    left: 16.666%;
    transform: translateX(-50%);
}

.valuation-spectrum-node-mid {
    left: 50%;
    transform: translateX(-50%);
}

.valuation-spectrum-node-high {
    left: 83.333%;
    transform: translateX(-50%);
}

.valuation-spectrum-range {
    position: absolute;
    left: 50%;
    top: 58px;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #698497;
}

.valuation-spectrum-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(42px, 5vw, 82px);
}

.valuation-spectrum-position {
    position: relative;
    min-width: 0;
    padding-top: 14px;
}

.valuation-spectrum-position + .valuation-spectrum-position {
    border-left: 1px solid rgba(67, 110, 139, .18);
    padding-left: clamp(32px, 3vw, 54px);
}

.valuation-spectrum-index {
    margin: 0 0 22px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    color: #e6813f;
}

.valuation-spectrum-position h3 {
    max-width: 9ch;
    margin: 0;
    font-size: clamp(2.5rem, 3.3vw, 3.8rem);
    line-height: .95;
    letter-spacing: -.045em;
    color: #15354d;
}

.valuation-spectrum-position h3 em {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    color: #7891a3;
}

.valuation-spectrum-position > p:not(.valuation-spectrum-index) {
    max-width: 370px;
    margin: 24px 0 0;
    font-size: 1rem;
    line-height: 1.68;
    color: #4b6577;
}

.valuation-spectrum-detail {
    margin-top: 34px;
    padding-top: 18px;
    border-top: 1px solid rgba(67, 110, 139, .18);
}

.valuation-spectrum-detail span {
    display: block;
    margin-bottom: 8px;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .17em;
    color: #8a9eac;
}

.valuation-spectrum-detail strong {
    display: block;
    max-width: 310px;
    font-size: 1rem;
    line-height: 1.48;
    color: #173a53;
}

.valuation-pricing-conclusion {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) minmax(260px, 360px);
    gap: clamp(28px, 4vw, 68px);
    align-items: center;
    margin-top: clamp(72px, 8vw, 112px);
    padding-top: 34px;
    border-top: 1px solid rgba(67, 110, 139, .26);
}

.valuation-pricing-conclusion > p {
    margin: 0;
    font-size: .69rem;
    font-weight: 800;
    line-height: 1.55;
    letter-spacing: .16em;
    color: #e6813f;
}

.valuation-pricing-conclusion h3 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(2.4rem, 3.5vw, 4rem);
    line-height: .98;
    letter-spacing: -.04em;
    color: #12334b;
}

.valuation-pricing-conclusion h3 em {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    color: #7891a3;
}

.valuation-pricing-conclusion > span {
    font-size: .98rem;
    line-height: 1.65;
    color: #526d7f;
}

@media (max-width: 1050px) {

    .valuation-pricing-heading {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .valuation-pricing-heading h2 {
        max-width: 760px;
    }

    .valuation-pricing-intro {
        max-width: 620px;
    }

    .valuation-spectrum-columns {
        gap: 28px;
    }

    .valuation-spectrum-position + .valuation-spectrum-position {
        padding-left: 28px;
    }

    .valuation-pricing-conclusion {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .valuation-pricing-conclusion > span {
        grid-column: 2;
    }
}

@media (max-width: 760px) {

    .valuation-pricing-strategy {
        padding: 88px 0;
    }

    .valuation-pricing-watermark {
        top: 32px;
        font-size: 7rem;
    }

    .valuation-pricing-heading h2 {
        font-size: clamp(3.2rem, 13vw, 4.6rem);
    }

    .valuation-market-spectrum {
        margin-top: 60px;
    }

    .valuation-spectrum-scale {
        display: none;
    }

    .valuation-spectrum-columns {
        display: block;
    }

    .valuation-spectrum-position {
        padding: 34px 0;
        border-top: 1px solid rgba(67, 110, 139, .2);
    }

    .valuation-spectrum-position + .valuation-spectrum-position {
        padding-left: 0;
        border-left: 0;
    }

    .valuation-spectrum-position::before {
        content: "";
        position: absolute;
        left: 0;
        top: -6px;
        width: 11px;
        height: 11px;
        border-radius: 50%;
        background: #eb8a49;
        box-shadow:
            0 0 0 5px #eef5fa,
            0 0 0 6px rgba(67, 110, 139, .24);
    }

    .valuation-spectrum-position h3 {
        max-width: 11ch;
    }

    .valuation-pricing-conclusion {
        display: block;
        margin-top: 48px;
    }

    .valuation-pricing-conclusion h3 {
        margin-top: 18px;
    }

    .valuation-pricing-conclusion > span {
        display: block;
        margin-top: 22px;
    }
}

/* VALUATION PRICING STRATEGY END */

/* VALUATION PRICING COMPOSITION POLISH START */

@media (min-width: 1051px) {

    .valuation-pricing-heading {
        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(320px, .65fr);
        gap: 72px;
        align-items: center;
    }

    .valuation-pricing-heading h2 {
        max-width: 920px;
        font-size: clamp(4.2rem, 5.15vw, 5.85rem);
        line-height: .91;
    }

    .valuation-pricing-heading h2 span {
        display: block;
        white-space: nowrap;
        font-size: .92em;
    }

    .valuation-pricing-intro {
        max-width: 390px;
    }

    .valuation-market-spectrum {
        margin-top: 78px;
    }

    .valuation-spectrum-scale {
        height: 82px;
    }

    .valuation-pricing-conclusion {
        grid-template-columns:
            185px
            minmax(0, 1.35fr)
            minmax(280px, .65fr);
        gap: 48px;
        margin-top: 78px;
    }

    .valuation-pricing-conclusion h3 {
        max-width: 820px;
        font-size: clamp(2.75rem, 3.3vw, 3.75rem);
        line-height: .96;
    }

    .valuation-pricing-conclusion h3 em {
        display: inline;
    }
}

/* VALUATION PRICING COMPOSITION POLISH END */

/* VALUATION PRICING MOTION START */


/* HEADING ------------------------------------------------ */

#valuation-pricing-strategy.is-motion-ready
.valuation-pricing-heading > * {
    opacity: 0;
    transform: translateY(20px);
}

#valuation-pricing-strategy.is-motion-ready.is-pricing-live
.valuation-pricing-heading > * {
    opacity: 1;
    transform: translateY(0);
}

#valuation-pricing-strategy
.valuation-pricing-heading > * {
    transition:
        opacity 360ms ease,
        transform 500ms cubic-bezier(.22, 1, .36, 1);
}

#valuation-pricing-strategy
.valuation-pricing-heading > *:nth-child(2) {
    transition-delay: 80ms;
}


/* MARKET LINE ------------------------------------------- */

#valuation-pricing-strategy.is-motion-ready
.valuation-spectrum-line {
    transform: scaleX(0);
    transform-origin: left center;
}

#valuation-pricing-strategy.is-motion-ready.is-pricing-live
.valuation-spectrum-line {
    transform: scaleX(1);
}

#valuation-pricing-strategy
.valuation-spectrum-line {
    transition:
        transform 650ms cubic-bezier(.22, 1, .36, 1) 190ms;
}


/* RANGE LABEL ------------------------------------------- */

#valuation-pricing-strategy.is-motion-ready
.valuation-spectrum-range {
    opacity: 0;
    transform: translate(-50%, 7px);
}

#valuation-pricing-strategy.is-motion-ready.is-pricing-live
.valuation-spectrum-range {
    opacity: 1;
    transform: translate(-50%, 0);
}

#valuation-pricing-strategy
.valuation-spectrum-range {
    transition:
        opacity 240ms ease 600ms,
        transform 320ms cubic-bezier(.22, 1, .36, 1) 600ms;
}


/* SPECTRUM NODES ---------------------------------------- */

#valuation-pricing-strategy.is-motion-ready
.valuation-spectrum-node {
    opacity: 0;
    transform: translateX(-50%) scale(0);
}

#valuation-pricing-strategy.is-motion-ready.is-pricing-live
.valuation-spectrum-node {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

#valuation-pricing-strategy
.valuation-spectrum-node {
    transition:
        opacity 180ms ease,
        transform 290ms cubic-bezier(.22, 1, .36, 1);
}

#valuation-pricing-strategy
.valuation-spectrum-node-low {
    transition-delay: 360ms;
}

#valuation-pricing-strategy
.valuation-spectrum-node-mid {
    transition-delay: 500ms;
}

#valuation-pricing-strategy
.valuation-spectrum-node-high {
    transition-delay: 640ms;
}


/* STRATEGY POSITIONS ------------------------------------ */

#valuation-pricing-strategy.is-motion-ready
.valuation-spectrum-position {
    opacity: 0;
    transform: translateY(20px);
}

#valuation-pricing-strategy.is-motion-ready.is-pricing-live
.valuation-spectrum-position {
    opacity: 1;
    transform: translateY(0);
}

#valuation-pricing-strategy
.valuation-spectrum-position {
    transition:
        opacity 300ms ease,
        transform 420ms cubic-bezier(.22, 1, .36, 1);
}

#valuation-pricing-strategy
.valuation-spectrum-position:nth-child(1) {
    transition-delay: 430ms;
}

#valuation-pricing-strategy
.valuation-spectrum-position:nth-child(2) {
    transition-delay: 570ms;
}

#valuation-pricing-strategy
.valuation-spectrum-position:nth-child(3) {
    transition-delay: 710ms;
}


/* FINAL CONCLUSION -------------------------------------- */

#valuation-pricing-strategy.is-motion-ready
.valuation-pricing-conclusion {
    opacity: 0;
    transform: translateY(22px);
}

#valuation-pricing-strategy.is-motion-ready.is-pricing-live
.valuation-pricing-conclusion {
    opacity: 1;
    transform: translateY(0);
}

#valuation-pricing-strategy
.valuation-pricing-conclusion {
    transition:
        opacity 340ms ease 900ms,
        transform 470ms cubic-bezier(.22, 1, .36, 1) 900ms;
}


/* WATERMARK --------------------------------------------- */

#valuation-pricing-strategy.is-motion-ready
.valuation-pricing-watermark {
    opacity: 0;
    transform: translateX(22px);
}

#valuation-pricing-strategy.is-motion-ready.is-pricing-live
.valuation-pricing-watermark {
    opacity: 1;
    transform: translateX(0);
}

#valuation-pricing-strategy
.valuation-pricing-watermark {
    transition:
        opacity 700ms ease 110ms,
        transform 900ms cubic-bezier(.22, 1, .36, 1) 110ms;
}


/* REDUCED MOTION ---------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    #valuation-pricing-strategy *,
    #valuation-pricing-strategy *::before,
    #valuation-pricing-strategy *::after {
        animation: none !important;
        transition: none !important;
    }

    #valuation-pricing-strategy
    .valuation-pricing-heading > *,

    #valuation-pricing-strategy
    .valuation-spectrum-range,

    #valuation-pricing-strategy
    .valuation-spectrum-position,

    #valuation-pricing-strategy
    .valuation-pricing-conclusion,

    #valuation-pricing-strategy
    .valuation-pricing-watermark {
        opacity: 1 !important;
        transform: none !important;
    }

    #valuation-pricing-strategy
    .valuation-spectrum-line {
        transform: none !important;
    }

    #valuation-pricing-strategy
    .valuation-spectrum-node {
        opacity: 1 !important;
        transform: translateX(-50%) scale(1) !important;
    }
}


/* VALUATION PRICING MOTION END */

/* VALUATION BRIEF START */

.valuation-brief {
    position: relative;
    overflow: hidden;
    padding: clamp(110px, 10vw, 165px) 0;
    background:
        radial-gradient(
            circle at 78% 20%,
            rgba(59, 111, 146, .20),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #102f47 0%,
            #0a273c 100%
        );
    color: #eef7fc;
}

.valuation-brief::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    pointer-events: none;
    background-image:
        linear-gradient(
            rgba(158, 197, 221, .12) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(158, 197, 221, .12) 1px,
            transparent 1px
        );
    background-size: 68px 68px;
}

.valuation-brief-watermark {
    position: absolute;
    right: -1vw;
    top: 62px;
    font-size: clamp(8rem, 16vw, 17rem);
    font-weight: 800;
    line-height: .8;
    letter-spacing: -.08em;
    color: rgba(216, 237, 250, .035);
    pointer-events: none;
    user-select: none;
}

.valuation-brief-shell {
    position: relative;
    z-index: 1;
}

.valuation-brief-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(320px, .75fr);
    gap: clamp(54px, 7vw, 110px);
    align-items: end;
}

.valuation-brief-heading h2 {
    max-width: 820px;
    margin: 18px 0 0;
    font-size: clamp(4.3rem, 5.5vw, 6.2rem);
    line-height: .9;
    letter-spacing: -.055em;
    color: #f7fbfe;
}

.valuation-brief-heading h2 span {
    display: block;
    color: #9cc1d8;
}

.valuation-brief-intro {
    max-width: 430px;
    padding-bottom: 8px;
}

.valuation-brief-label {
    margin: 0 0 16px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #f09a58;
}

.valuation-brief-intro > p:last-child {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.72;
    color: #c1d6e4;
}

.valuation-brief-stage {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    margin-top: clamp(78px, 8vw, 118px);
    border-top: 1px solid rgba(174, 208, 229, .24);
    border-bottom: 1px solid rgba(174, 208, 229, .24);
}

.valuation-brief-spine {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 28px 0;
    border-right: 1px solid rgba(174, 208, 229, .24);
}

.valuation-brief-spine-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #7fa5bd;
}

.valuation-brief-spine-number {
    font-size: 1.2rem;
    font-weight: 700;
    color: #f09a58;
}

.valuation-brief-document {
    min-width: 0;
}

.valuation-brief-document-head {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    padding: 30px 34px;
    border-bottom: 1px solid rgba(174, 208, 229, .18);
}

.valuation-brief-document-head > div span,
.valuation-brief-document-head > p {
    font-size: .63rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .16em;
    color: #789db5;
}

.valuation-brief-document-head > div strong {
    display: block;
    margin-top: 5px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.28rem;
    font-weight: 400;
    letter-spacing: -.02em;
    color: #eff7fc;
}

.valuation-brief-document-head > p {
    margin: 0;
    text-align: right;
}

.valuation-brief-document-head > p strong {
    display: block;
    margin-top: 5px;
    color: #eff7fc;
}

.valuation-brief-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
    gap: 50px;
    align-items: center;
    padding: 42px 34px;
    background: rgba(255, 255, 255, .025);
    border-bottom: 1px solid rgba(174, 208, 229, .18);
}

.valuation-brief-summary-copy span {
    display: block;
    margin-bottom: 10px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .17em;
    color: #f09a58;
}

.valuation-brief-summary-copy strong {
    display: block;
    font-size: clamp(3rem, 4.3vw, 5rem);
    line-height: .95;
    letter-spacing: -.045em;
    color: #f7fbfe;
}

.valuation-brief-summary-mark {
    display: grid;
    grid-template-columns: minmax(100px, 1fr) auto;
    gap: 20px;
    align-items: center;
}

.valuation-brief-summary-mark > span {
    position: relative;
    display: block;
    height: 1px;
    background: rgba(151, 193, 218, .46);
}

.valuation-brief-summary-mark > span::after {
    content: "";
    position: absolute;
    right: 18%;
    top: 50%;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    transform: translate(50%, -50%);
    background: #f09a58;
    box-shadow:
        0 0 0 5px #0e2d44,
        0 0 0 6px rgba(158, 198, 222, .25);
}

.valuation-brief-summary-mark small {
    font-size: .61rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .15em;
    color: #759ab2;
}

.valuation-brief-summary-mark small strong {
    display: block;
    color: #f2f8fc;
}

.valuation-brief-output {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) minmax(150px, 220px);
    gap: 28px;
    align-items: center;
    min-height: 145px;
    padding: 24px 34px;
    border-bottom: 1px solid rgba(174, 208, 229, .16);
}

.valuation-brief-output:last-child {
    border-bottom: 0;
}

.valuation-brief-output-index {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.1rem;
    line-height: 1;
    color: #9cc1d8;
}

.valuation-brief-output p {
    margin: 0 0 7px;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .17em;
    color: #f09a58;
}

.valuation-brief-output h3 {
    max-width: 590px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 2vw, 2.1rem);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.025em;
    color: #edf6fb;
}

.valuation-brief-output-value {
    justify-self: end;
    max-width: 220px;
    text-align: right;
    font-size: .9rem;
    line-height: 1.4;
    letter-spacing: .06em;
    color: #c5dbe8;
}

.valuation-brief-document-foot {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    padding: 22px 34px;
    border-top: 1px solid rgba(174, 208, 229, .18);
}

.valuation-brief-document-foot span,
.valuation-brief-document-foot strong {
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.valuation-brief-document-foot span {
    color: #7399b1;
}

.valuation-brief-document-foot strong {
    text-align: center;
    color: #d2e3ed;
}

.valuation-brief-close {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) minmax(260px, 360px);
    gap: clamp(32px, 4vw, 68px);
    align-items: center;
    margin-top: clamp(72px, 7vw, 105px);
}

.valuation-brief-close > p {
    margin: 0;
    font-size: .67rem;
    font-weight: 800;
    line-height: 1.55;
    letter-spacing: .16em;
    color: #f09a58;
}

.valuation-brief-close h3 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.65rem, 3.6vw, 4.1rem);
    line-height: .97;
    letter-spacing: -.045em;
    color: #f3f9fc;
}

.valuation-brief-close h3 em {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    color: #9cc1d8;
}

.valuation-brief-close > span {
    font-size: .98rem;
    line-height: 1.65;
    color: #b7cfdd;
}

@media (max-width: 1050px) {

    .valuation-brief-heading {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .valuation-brief-intro {
        max-width: 620px;
    }

    .valuation-brief-summary {
        grid-template-columns: 1fr;
    }

    .valuation-brief-output {
        grid-template-columns: 58px minmax(0, 1fr) 150px;
    }

    .valuation-brief-close {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .valuation-brief-close > span {
        grid-column: 2;
    }
}

@media (max-width: 760px) {

    .valuation-brief {
        padding: 88px 0;
    }

    .valuation-brief-heading h2 {
        font-size: clamp(3.2rem, 13vw, 4.6rem);
    }

    .valuation-brief-stage {
        grid-template-columns: 1fr;
        margin-top: 60px;
    }

    .valuation-brief-spine {
        display: none;
    }

    .valuation-brief-document-head {
        display: block;
        padding: 24px 20px;
    }

    .valuation-brief-document-head > p {
        margin-top: 18px;
        text-align: left;
    }

    .valuation-brief-summary {
        padding: 30px 20px;
    }

    .valuation-brief-output {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 18px;
        min-height: 0;
        padding: 26px 20px;
    }

    .valuation-brief-output-value {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }

    .valuation-brief-document-foot {
        display: block;
        padding: 22px 20px;
    }

    .valuation-brief-document-foot strong,
    .valuation-brief-document-foot span {
        display: block;
        text-align: left;
        margin-top: 8px;
    }

    .valuation-brief-close {
        display: block;
        margin-top: 56px;
    }

    .valuation-brief-close h3 {
        margin-top: 18px;
    }

    .valuation-brief-close > span {
        display: block;
        margin-top: 22px;
    }
}

/* VALUATION BRIEF END */

/* VALUATION BRIEF ACCORDION START */

.valuation-brief-output-trigger {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.valuation-brief-output-plus {
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    border: 1px solid rgba(156, 193, 216, .38);
    border-radius: 50%;
    font: 400 .85rem/1 Arial, sans-serif;
    color: #f09a58;
    transition:
        transform 220ms ease,
        border-color 220ms ease;
}

.valuation-brief-output-trigger:hover .valuation-brief-output-index,
.valuation-brief-output-trigger:focus-visible .valuation-brief-output-index {
    color: #f09a58;
}

.valuation-brief-output-trigger:focus-visible {
    outline: 2px solid #f09a58;
    outline-offset: 5px;
    border-radius: 3px;
}

.valuation-brief-output.is-open .valuation-brief-output-plus {
    transform: rotate(45deg);
    border-color: #f09a58;
}

.valuation-brief-detail {
    grid-column: 2 / -1;
    max-width: 780px;
    padding: 20px 0 6px;
    border-top: 1px solid rgba(174, 208, 229, .16);
}

.valuation-brief-detail[hidden] {
    display: none;
}

.valuation-brief-detail > span {
    display: block;
    margin-bottom: 8px;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
    color: #f09a58;
}

.valuation-brief-detail > p {
    margin: 0;
    font-size: .95rem;
    line-height: 1.7;
    color: #b9d0de;
}

.valuation-brief-output.is-open {
    background: rgba(255, 255, 255, .018);
}

@media (max-width: 760px) {
    .valuation-brief-detail {
        grid-column: 2;
    }
}

/* VALUATION BRIEF ACCORDION END */

/* VALUATION BRIEF ROW CLICK START */

.valuation-brief-output {
    cursor: pointer;
    transition:
        background-color 200ms ease,
        border-color 200ms ease;
}

.valuation-brief-output > div:first-of-type {
    position: relative;
}

.valuation-brief-output > div:first-of-type::after {
    content: "VIEW DETAILS +";
    display: block;
    margin-top: 13px;
    font-size: .59rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .17em;
    color: #87abc1;
    transition:
        color 180ms ease,
        transform 180ms ease;
}

.valuation-brief-output:hover {
    background:
        linear-gradient(
            90deg,
            rgba(156, 193, 216, .055),
            rgba(156, 193, 216, .012)
        );
}

.valuation-brief-output:hover
> div:first-of-type::after {
    color: #f09a58;
    transform: translateX(4px);
}

.valuation-brief-output:hover
.valuation-brief-output-index {
    color: #f09a58;
}

.valuation-brief-output:hover
.valuation-brief-output-plus {
    border-color: rgba(240, 154, 88, .72);
}

.valuation-brief-output.is-open {
    background:
        linear-gradient(
            90deg,
            rgba(156, 193, 216, .065),
            rgba(156, 193, 216, .015)
        );
}

.valuation-brief-output.is-open
> div:first-of-type::after {
    content: "CLOSE DETAILS ×";
    color: #f09a58;
}

.valuation-brief-detail {
    cursor: default;
}

@media (hover: none) {
    .valuation-brief-output:hover {
        background: transparent;
    }

    .valuation-brief-output.is-open {
        background:
            linear-gradient(
                90deg,
                rgba(156, 193, 216, .065),
                rgba(156, 193, 216, .015)
            );
    }
}

/* VALUATION BRIEF ROW CLICK END */

/* VALUATION BRIEF MOTION START */


/* HEADING */

#valuation-brief.is-motion-ready
.valuation-brief-heading > * {
    opacity: 0;
    transform: translateY(18px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-heading > * {
    animation:
        valuationBriefEnter
        480ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-heading > *:nth-child(2) {
    animation-delay: 70ms;
}


/* WATERMARK */

#valuation-brief.is-motion-ready
.valuation-brief-watermark {
    opacity: 0;
    transform: translateX(24px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-watermark {
    animation:
        valuationBriefWatermark
        820ms
        cubic-bezier(.22, 1, .36, 1)
        80ms
        both;
}


/* REPORT SPINE */

#valuation-brief.is-motion-ready
.valuation-brief-spine {
    opacity: 0;
    transform: translateY(14px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-spine {
    animation:
        valuationBriefEnter
        420ms
        cubic-bezier(.22, 1, .36, 1)
        210ms
        both;
}


/* DOCUMENT HEADER */

#valuation-brief.is-motion-ready
.valuation-brief-document-head {
    opacity: 0;
    transform: translateY(12px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-document-head {
    animation:
        valuationBriefEnter
        400ms
        cubic-bezier(.22, 1, .36, 1)
        250ms
        both;
}


/* VALUE RANGE */

#valuation-brief.is-motion-ready
.valuation-brief-summary-copy {
    opacity: 0;
    transform: translateY(12px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-summary-copy {
    animation:
        valuationBriefEnter
        420ms
        cubic-bezier(.22, 1, .36, 1)
        340ms
        both;
}


/* POSITION LINE */

#valuation-brief.is-motion-ready
.valuation-brief-summary-mark > span {
    transform: scaleX(0);
    transform-origin: left center;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-summary-mark > span {
    animation:
        valuationBriefLine
        520ms
        cubic-bezier(.22, 1, .36, 1)
        430ms
        both;
}

#valuation-brief.is-motion-ready
.valuation-brief-summary-mark small {
    opacity: 0;
    transform: translateX(8px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-summary-mark small {
    animation:
        valuationBriefSideEnter
        320ms
        ease
        690ms
        both;
}


/* ROWS */

#valuation-brief.is-motion-ready
.valuation-brief-output {
    opacity: 0;
    transform: translateY(14px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-output {
    animation:
        valuationBriefRow
        390ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-output:nth-child(1) {
    animation-delay: 500ms;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-output:nth-child(2) {
    animation-delay: 610ms;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-output:nth-child(3) {
    animation-delay: 720ms;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-output:nth-child(4) {
    animation-delay: 830ms;
}


/* DOCUMENT FOOT */

#valuation-brief.is-motion-ready
.valuation-brief-document-foot {
    opacity: 0;
    transform: translateY(8px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-document-foot {
    animation:
        valuationBriefEnter
        360ms
        ease
        930ms
        both;
}


/* CLOSING STATEMENT */

#valuation-brief.is-motion-ready
.valuation-brief-close > * {
    opacity: 0;
    transform: translateY(14px);
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-close > * {
    animation:
        valuationBriefEnter
        420ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-close > *:nth-child(1) {
    animation-delay: 1010ms;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-close > *:nth-child(2) {
    animation-delay: 1080ms;
}

#valuation-brief.is-motion-ready.is-brief-live
.valuation-brief-close > *:nth-child(3) {
    animation-delay: 1150ms;
}


/* CLICKED DETAIL */

.valuation-brief-output.is-open
.valuation-brief-detail:not([hidden]) {
    animation:
        valuationBriefDetail
        280ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}


/* KEYFRAMES */

@keyframes valuationBriefEnter {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

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

@keyframes valuationBriefSideEnter {
    from {
        opacity: 0;
        transform: translateX(8px);
    }

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

@keyframes valuationBriefWatermark {
    from {
        opacity: 0;
        transform: translateX(24px);
    }

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

@keyframes valuationBriefLine {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

@keyframes valuationBriefRow {
    0% {
        opacity: 0;
        transform: translateY(14px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes valuationBriefDetail {
    from {
        opacity: 0;
        transform: translateY(-7px);
    }

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


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    #valuation-brief *,
    #valuation-brief *::before,
    #valuation-brief *::after {
        animation: none !important;
    }

    #valuation-brief
    .valuation-brief-heading > *,

    #valuation-brief
    .valuation-brief-watermark,

    #valuation-brief
    .valuation-brief-spine,

    #valuation-brief
    .valuation-brief-document-head,

    #valuation-brief
    .valuation-brief-summary-copy,

    #valuation-brief
    .valuation-brief-summary-mark small,

    #valuation-brief
    .valuation-brief-output,

    #valuation-brief
    .valuation-brief-document-foot,

    #valuation-brief
    .valuation-brief-close > * {
        opacity: 1 !important;
        transform: none !important;
    }

    #valuation-brief
    .valuation-brief-summary-mark > span {
        transform: none !important;
    }
}

/* VALUATION BRIEF MOTION END */

/* VALUATION BRIEF SLIDE START */

.valuation-brief-detail {
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-color: transparent;
    transform: translateY(-8px);

    transition:
        max-height 420ms cubic-bezier(.22, 1, .36, 1),
        opacity 220ms ease,
        transform 360ms cubic-bezier(.22, 1, .36, 1),
        padding-top 360ms cubic-bezier(.22, 1, .36, 1),
        padding-bottom 360ms cubic-bezier(.22, 1, .36, 1),
        border-color 240ms ease;
}

.valuation-brief-detail[hidden] {
    display: none;
}

.valuation-brief-output.is-open .valuation-brief-detail {
    max-height: var(--brief-detail-height, 240px);
    opacity: 1;
    padding-top: 20px;
    padding-bottom: 6px;
    border-top-color: rgba(174, 208, 229, .16);
    transform: translateY(0);
}

.valuation-brief-output.is-open
.valuation-brief-output-plus {
    transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {

    .valuation-brief-detail {
        transition: none !important;
        transform: none !important;
    }
}

/* VALUATION BRIEF SLIDE END */

/* VALUATION FINAL CTA START */

.valuation-next-step {
    position: relative;
    overflow: hidden;
    padding: clamp(110px, 10vw, 165px) 0;
    background:
        radial-gradient(
            circle at 18% 24%,
            rgba(122, 177, 213, .16),
            transparent 31%
        ),
        linear-gradient(
            180deg,
            #f7fbfe 0%,
            #edf5fa 100%
        );
    color: #102d44;
}

.valuation-next-step::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .28;
    background-image:
        linear-gradient(
            rgba(61, 105, 135, .08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(61, 105, 135, .08) 1px,
            transparent 1px
        );
    background-size: 72px 72px;
}

.valuation-next-step-watermark {
    position: absolute;
    right: -1vw;
    bottom: 44px;
    font-size: clamp(8rem, 17vw, 18rem);
    font-weight: 800;
    line-height: .78;
    letter-spacing: -.08em;
    color: rgba(15, 49, 72, .035);
    pointer-events: none;
    user-select: none;
}

.valuation-next-step-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(0, .82fr)
        minmax(520px, 1.18fr);
    gap: clamp(70px, 8vw, 135px);
    align-items: start;
}

.valuation-next-step-copy {
    position: sticky;
    top: 120px;
    padding-top: 4px;
}

.valuation-next-step-copy h2 {
    max-width: 650px;
    margin: 20px 0 0;
    font-size: clamp(4.2rem, 5.4vw, 6.2rem);
    line-height: .9;
    letter-spacing: -.055em;
    color: #102f47;
}

.valuation-next-step-copy h2 span {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
    color: #7694a8;
}

.valuation-next-step-lead {
    max-width: 560px;
    margin: 32px 0 0;
    font-size: 1.05rem;
    line-height: 1.75;
    color: #4b6678;
}

.valuation-next-step-cta {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin-top: 38px;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(16, 47, 71, .35);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    color: #102f47;
    text-decoration: none;
    transition:
        color 180ms ease,
        border-color 180ms ease;
}

.valuation-next-step-cta > span {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border: 1px solid rgba(230, 129, 63, .55);
    border-radius: 50%;
    color: #e6813f;
    transition:
        transform 220ms ease,
        background-color 180ms ease;
}

.valuation-next-step-cta:hover {
    color: #e6813f;
    border-color: rgba(230, 129, 63, .55);
}

.valuation-next-step-cta:hover > span {
    transform: rotate(90deg);
    background: rgba(230, 129, 63, .07);
}

.valuation-next-step-cta:focus-visible {
    outline: 2px solid #e6813f;
    outline-offset: 7px;
}

.valuation-next-step-note {
    margin: 19px 0 0;
    font-size: .78rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #8196a4;
}

.valuation-next-step-path {
    border-top: 1px solid rgba(58, 102, 132, .25);
}

.valuation-next-step-path-head {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 34px;
    align-items: end;
    padding: 0 0 30px;
    border-bottom: 1px solid rgba(58, 102, 132, .18);
}

.valuation-next-step-path-head > span {
    font-size: .67rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .17em;
    color: #e6813f;
}

.valuation-next-step-path-head > strong {
    font-size: clamp(2rem, 2.6vw, 3rem);
    line-height: .98;
    letter-spacing: -.035em;
    color: #17364e;
}

.valuation-next-step-path-head > strong em {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    color: #7893a5;
}

.valuation-next-step-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.valuation-next-step-list li {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 30px;
    padding: 42px 0;
    border-bottom: 1px solid rgba(58, 102, 132, .18);
}

.valuation-next-step-number {
    padding-top: 3px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.3rem;
    line-height: 1;
    color: #9ab3c3;
}

.valuation-next-step-list li > div > p {
    margin: 0 0 10px;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .17em;
    color: #e6813f;
}

.valuation-next-step-list h3 {
    max-width: 560px;
    margin: 0;
    font-size: clamp(2rem, 2.6vw, 3rem);
    line-height: .98;
    letter-spacing: -.035em;
    color: #15354d;
}

.valuation-next-step-list li > div > span {
    display: block;
    max-width: 570px;
    margin-top: 18px;
    font-size: .98rem;
    line-height: 1.7;
    color: #526d7f;
}

.valuation-next-step-signoff {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    padding-top: 34px;
}

.valuation-next-step-signoff > span {
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .17em;
    color: #7d96a7;
}

.valuation-next-step-signoff > strong {
    max-width: 600px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 2.2vw, 2.5rem);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.025em;
    color: #7893a5;
}

@media (max-width: 1050px) {

    .valuation-next-step-shell {
        grid-template-columns: 1fr;
        gap: 72px;
    }

    .valuation-next-step-copy {
        position: static;
    }

    .valuation-next-step-copy h2 {
        max-width: 760px;
    }

    .valuation-next-step-lead {
        max-width: 650px;
    }
}

@media (max-width: 760px) {

    .valuation-next-step {
        padding: 88px 0;
    }

    .valuation-next-step-watermark {
        font-size: 7rem;
        bottom: 28px;
    }

    .valuation-next-step-copy h2 {
        font-size: clamp(3.25rem, 13vw, 4.7rem);
    }

    .valuation-next-step-path-head {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .valuation-next-step-list li {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 18px;
        padding: 34px 0;
    }

    .valuation-next-step-number {
        font-size: 1.9rem;
    }

    .valuation-next-step-signoff {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* VALUATION FINAL CTA END */

/* VALUATION NEXT STEP MOTION START */


/* LEFT EDITORIAL COPY */

#valuation-next-step.is-motion-ready
.valuation-next-step-copy > * {
    opacity: 0;
    transform: translateY(18px);
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-copy > * {
    animation:
        valuationNextStepEnter
        460ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-copy > *:nth-child(1) {
    animation-delay: 0ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-copy > *:nth-child(2) {
    animation-delay: 70ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-copy > *:nth-child(3) {
    animation-delay: 150ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-copy > *:nth-child(4) {
    animation-delay: 225ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-copy > *:nth-child(5) {
    animation-delay: 285ms;
}


/* RIGHT SIDE TOP RULE */

.valuation-next-step-path {
    position: relative;
}

#valuation-next-step.is-motion-ready
.valuation-next-step-path::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 1px;
    background: rgba(58, 102, 132, .48);
    transform: scaleX(0);
    transform-origin: left center;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-path::before {
    animation:
        valuationNextStepRule
        560ms
        cubic-bezier(.22, 1, .36, 1)
        120ms
        forwards;
}


/* PATH HEADER */

#valuation-next-step.is-motion-ready
.valuation-next-step-path-head > * {
    opacity: 0;
    transform: translateY(14px);
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-path-head > * {
    animation:
        valuationNextStepEnter
        420ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-path-head > *:nth-child(1) {
    animation-delay: 170ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-path-head > *:nth-child(2) {
    animation-delay: 230ms;
}


/* 01 - 03 */

#valuation-next-step.is-motion-ready
.valuation-next-step-list li {
    opacity: 0;
    transform: translateY(18px);
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-list li {
    animation:
        valuationNextStepRow
        430ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-list li:nth-child(1) {
    animation-delay: 350ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-list li:nth-child(2) {
    animation-delay: 500ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-list li:nth-child(3) {
    animation-delay: 650ms;
}


/* STEP NUMBERS WAKE WITH A SMALL PULSE */

#valuation-next-step.is-motion-ready
.valuation-next-step-number {
    transform-origin: left center;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-list li:nth-child(1)
.valuation-next-step-number {
    animation:
        valuationNextStepNumber
        360ms
        ease
        470ms
        both;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-list li:nth-child(2)
.valuation-next-step-number {
    animation:
        valuationNextStepNumber
        360ms
        ease
        620ms
        both;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-list li:nth-child(3)
.valuation-next-step-number {
    animation:
        valuationNextStepNumber
        360ms
        ease
        770ms
        both;
}


/* FINAL SIGNOFF */

#valuation-next-step.is-motion-ready
.valuation-next-step-signoff > * {
    opacity: 0;
    transform: translateY(12px);
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-signoff > * {
    animation:
        valuationNextStepEnter
        420ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-signoff > *:nth-child(1) {
    animation-delay: 820ms;
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-signoff > *:nth-child(2) {
    animation-delay: 890ms;
}


/* WATERMARK */

#valuation-next-step.is-motion-ready
.valuation-next-step-watermark {
    opacity: 0;
    transform: translateX(24px);
}

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-watermark {
    animation:
        valuationNextStepWatermark
        760ms
        cubic-bezier(.22, 1, .36, 1)
        120ms
        both;
}


/* CTA FINISH */

#valuation-next-step.is-motion-ready.is-next-step-live
.valuation-next-step-cta > span {
    animation:
        valuationNextStepCta
        480ms
        cubic-bezier(.22, 1, .36, 1)
        760ms
        both;
}


/* KEYFRAMES */

@keyframes valuationNextStepEnter {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

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

@keyframes valuationNextStepRow {
    0% {
        opacity: 0;
        transform: translateY(18px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes valuationNextStepRule {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

@keyframes valuationNextStepNumber {
    0% {
        transform: translateX(-7px);
        color: #9ab3c3;
    }

    55% {
        transform: translateX(2px);
        color: #e6813f;
    }

    100% {
        transform: translateX(0);
        color: #9ab3c3;
    }
}

@keyframes valuationNextStepWatermark {
    from {
        opacity: 0;
        transform: translateX(24px);
    }

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

@keyframes valuationNextStepCta {
    0% {
        transform: rotate(0deg) scale(.82);
    }

    55% {
        transform: rotate(90deg) scale(1.08);
    }

    100% {
        transform: rotate(0deg) scale(1);
    }
}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    #valuation-next-step *,
    #valuation-next-step *::before,
    #valuation-next-step *::after {
        animation: none !important;
        transition: none !important;
    }

    #valuation-next-step
    .valuation-next-step-copy > *,

    #valuation-next-step
    .valuation-next-step-path-head > *,

    #valuation-next-step
    .valuation-next-step-list li,

    #valuation-next-step
    .valuation-next-step-signoff > *,

    #valuation-next-step
    .valuation-next-step-watermark {
        opacity: 1 !important;
        transform: none !important;
    }

    #valuation-next-step
    .valuation-next-step-path::before {
        transform: none !important;
    }
}

/* VALUATION NEXT STEP MOTION END */

/* VALUATION NEXT STEP HEADING FIX START */

@media (min-width: 1051px) {

    .valuation-next-step-shell {
        grid-template-columns:
            minmax(0, .9fr)
            minmax(520px, 1.1fr);
        gap: clamp(60px, 6vw, 105px);
    }

    .valuation-next-step-copy h2 {
        max-width: 720px;
        font-size: clamp(4rem, 4.8vw, 5.6rem);
    }

    .valuation-next-step-copy h2
    .valuation-next-step-main-line {
        display: block;
        white-space: nowrap;
        font-family: inherit;
        font-style: normal;
        font-weight: inherit;
        color: #102f47;
    }

    .valuation-next-step-copy h2
    .valuation-next-step-main-line + span {
        display: block;
    }
}

@media (max-width: 1050px) {

    .valuation-next-step-copy h2
    .valuation-next-step-main-line {
        white-space: normal;
    }
}

/* VALUATION NEXT STEP HEADING FIX END */

/* VALUATION CLOSING STACK FIX START */

@media (min-width: 1051px) {

    .valuation-pricing-conclusion {
        grid-template-columns:
            145px
            minmax(0, 1fr)
            225px;
        gap: 30px;
        align-items: center;
    }

    .valuation-pricing-conclusion h3 {
        min-width: 0;
        max-width: none;
        font-size: clamp(2.25rem, 2.6vw, 3.05rem);
        line-height: .98;
    }

    .valuation-pricing-close-main,
    .valuation-pricing-close-second {
        display: block;
    }

    .valuation-pricing-close-second em {
        display: inline;
    }

    .valuation-pricing-conclusion > span {
        min-width: 0;
        max-width: 225px;
        font-size: .9rem;
        line-height: 1.55;
    }


    .valuation-brief-close {
        grid-template-columns:
            140px
            minmax(0, 1fr)
            250px;
        gap: 32px;
        align-items: center;
    }

    .valuation-brief-close h3 {
        min-width: 0;
        max-width: none;
        font-size: clamp(2.3rem, 2.7vw, 3.15rem);
        line-height: .98;
    }

    .valuation-brief-close-main {
        display: block;
    }

    .valuation-brief-close h3 em {
        display: block;
    }

    .valuation-brief-close > span {
        min-width: 0;
        max-width: 250px;
        font-size: .92rem;
        line-height: 1.6;
    }
}

@media (min-width: 1250px) {

    .valuation-pricing-close-main,
    .valuation-pricing-close-second,
    .valuation-brief-close-main,
    .valuation-brief-close h3 em {
        white-space: nowrap;
    }
}

@media (max-width: 1249px) {

    .valuation-pricing-close-main,
    .valuation-pricing-close-second,
    .valuation-brief-close-main,
    .valuation-brief-close h3 em {
        white-space: normal;
    }
}

/* VALUATION CLOSING STACK FIX END */

/* PROPERTY DETAIL PAGE START */

.property-page {
    background: #f7f8fa;
    color: var(--ink);
}

.property-page main {
    overflow: hidden;
}


/* HERO */

.property-detail-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(132px, 11vw, 180px) 0 clamp(92px, 8vw, 132px);
    background:
        linear-gradient(rgba(33, 58, 90, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(33, 58, 90, 0.055) 1px, transparent 1px),
        linear-gradient(
            135deg,
            #f8fafc 0%,
            #f1f5f9 56%,
            #e7edf4 100%
        );
    background-size:
        42px 42px,
        42px 42px,
        auto;
}

.property-detail-hero::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    right: -250px;
    top: -220px;
    border: 1px solid rgba(47, 95, 143, 0.13);
    border-radius: 50%;
    box-shadow:
        0 0 0 68px rgba(47, 95, 143, 0.025),
        0 0 0 136px rgba(47, 95, 143, 0.018);
    pointer-events: none;
    z-index: -1;
}

.property-detail-watermark {
    position: absolute;
    left: max(24px, calc((100vw - var(--max-width)) / 2 - 78px));
    bottom: -0.14em;
    color: rgba(33, 58, 90, 0.045);
    font-size: clamp(10rem, 22vw, 25rem);
    font-weight: 800;
    line-height: 0.78;
    letter-spacing: -0.085em;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: -1;
}

.property-detail-hero-shell {
    position: relative;
    z-index: 1;
}

.property-detail-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: clamp(38px, 5vw, 68px);
    color: #6c7784;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.property-detail-breadcrumb a {
    color: var(--navy);
    text-decoration: none;
}

.property-detail-breadcrumb a:hover,
.property-detail-breadcrumb a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.property-detail-breadcrumb span[aria-hidden="true"] {
    color: #b3bcc6;
}

.property-detail-hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.82fr)
        minmax(460px, 1.18fr);
    align-items: center;
    gap: clamp(54px, 6.5vw, 104px);
}

.property-detail-hero-copy {
    position: relative;
    z-index: 2;
}

.property-detail-hero-copy .section-kicker {
    margin: 0 0 18px;
    color: #c26d3f;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.property-detail-location {
    margin: 0 0 26px;
    color: #6c7784;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.115em;
    text-transform: uppercase;
}

.property-detail-hero-copy h1 {
    max-width: 690px;
    margin: 0;
    color: #172235;
    font-size: clamp(4rem, 5.6vw, 6.6rem);
    font-weight: 650;
    line-height: 0.88;
    letter-spacing: -0.065em;
}

.property-detail-hero-copy h1 span {
    display: block;
    color: var(--blue);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.055em;
}

.property-detail-description {
    max-width: 580px;
    margin: 34px 0 0;
    color: #596474;
    font-size: clamp(1rem, 1.15vw, 1.12rem);
    line-height: 1.72;
}

.property-detail-price-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 22px;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid rgba(33, 58, 90, 0.15);
}

.property-detail-price-row strong {
    color: #172235;
    font-size: clamp(2rem, 2.7vw, 3rem);
    font-weight: 650;
    line-height: 1;
    letter-spacing: -0.045em;
}

.property-detail-price-row span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 13px;
    border: 1px solid rgba(194, 109, 63, 0.32);
    border-radius: 999px;
    background: rgba(194, 109, 63, 0.08);
    color: #9a4f2a;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.property-detail-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 520px;
    margin-top: 32px;
    border-top: 1px solid rgba(33, 58, 90, 0.14);
    border-bottom: 1px solid rgba(33, 58, 90, 0.14);
}

.property-detail-facts > div {
    padding: 18px 22px 18px 0;
}

.property-detail-facts > div + div {
    padding-left: 22px;
    border-left: 1px solid rgba(33, 58, 90, 0.14);
}

.property-detail-facts strong,
.property-detail-facts span {
    display: block;
}

.property-detail-facts strong {
    margin-bottom: 5px;
    color: #172235;
    font-size: 1.15rem;
    font-weight: 750;
}

.property-detail-facts span {
    color: #74808d;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.property-detail-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 26px;
    margin-top: 34px;
}

.property-detail-primary-action,
.property-detail-secondary-action {
    text-decoration: none;
}

.property-detail-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 58px;
    padding: 0 22px 0 24px;
    background: #213a5a;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    transition:
        background-color 180ms ease,
        transform 180ms ease;
}

.property-detail-primary-action span {
    font-size: 1.1rem;
}

.property-detail-primary-action:hover,
.property-detail-primary-action:focus-visible {
    background: #2f5f8f;
    transform: translateY(-2px);
}

.property-detail-secondary-action {
    color: #596474;
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.property-detail-secondary-action:hover,
.property-detail-secondary-action:focus-visible {
    color: var(--navy);
    text-decoration: underline;
    text-underline-offset: 5px;
}

.property-detail-hero-media {
    position: relative;
    min-width: 0;
    margin: 0;
}

.property-detail-hero-media::before {
    content: "";
    position: absolute;
    left: -20px;
    top: 22px;
    width: calc(100% + 20px);
    height: calc(100% - 8px);
    border: 1px solid rgba(33, 58, 90, 0.17);
    pointer-events: none;
}

.property-detail-hero-media img {
    display: block;
    width: 100%;
    aspect-ratio: 1.18 / 1;
    object-fit: cover;
    box-shadow:
        0 30px 80px rgba(24, 42, 63, 0.16),
        0 8px 24px rgba(24, 42, 63, 0.09);
}

.property-detail-hero-media figcaption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 22px;
    display: grid;
    grid-template-columns: auto minmax(26px, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 13px 16px;
    background: rgba(13, 25, 39, 0.78);
    backdrop-filter: blur(10px);
    color: #ffffff;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.property-detail-hero-media figcaption i {
    display: block;
    height: 1px;
    background: rgba(255, 255, 255, 0.34);
}


/* GALLERY */

.property-detail-gallery {
    position: relative;
    padding: clamp(92px, 9vw, 142px) 0;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(73, 116, 162, 0.18),
            transparent 32%
        ),
        #14263d;
    color: #ffffff;
}

.property-detail-gallery::before {
    content: "DETAIL";
    position: absolute;
    right: -0.04em;
    top: 0.1em;
    color: rgba(255, 255, 255, 0.025);
    font-size: clamp(10rem, 19vw, 22rem);
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.property-detail-section-heading {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(280px, 0.55fr);
    align-items: end;
    gap: clamp(42px, 7vw, 110px);
    padding-bottom: 42px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.property-detail-section-heading .section-kicker {
    margin: 0 0 18px;
    color: #d58455;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.property-detail-section-heading h2 {
    max-width: 790px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(3.5rem, 5vw, 6rem);
    font-weight: 620;
    line-height: 0.9;
    letter-spacing: -0.06em;
}

.property-detail-section-heading h2 span {
    display: block;
    color: #dfe8f2;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
}

.property-detail-section-heading > p {
    max-width: 430px;
    margin: 0;
    color: #aab7c7;
    font-size: 0.97rem;
    line-height: 1.72;
}

.property-detail-gallery-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
}

.property-detail-gallery-item {
    position: relative;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.11);
    background: #1b304b;
    color: #ffffff;
    cursor: pointer;
    text-align: left;
    opacity: 0.72;
    transition:
        opacity 180ms ease,
        transform 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.property-detail-gallery-item[hidden] {
    display: none;
}

.property-detail-gallery-item img {
    display: block;
    width: 100%;
    aspect-ratio: 1.18 / 0.8;
    object-fit: cover;
    filter: saturate(0.82);
    transition:
        filter 180ms ease,
        transform 220ms ease;
}

.property-detail-gallery-item span,
.property-detail-gallery-item strong {
    display: block;
}

.property-detail-gallery-item span {
    position: absolute;
    left: 12px;
    top: 12px;
    min-width: 29px;
    padding: 6px 7px;
    background: rgba(15, 28, 44, 0.76);
    color: #ffffff;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
}

.property-detail-gallery-item strong {
    padding: 14px 15px 15px;
    color: #dce5ee;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.property-detail-gallery-item:hover,
.property-detail-gallery-item:focus-visible,
.property-detail-gallery-item.is-active {
    opacity: 1;
    border-color: rgba(213, 132, 85, 0.72);
    background: #203954;
    transform: translateY(-3px);
}

.property-detail-gallery-item:hover img,
.property-detail-gallery-item:focus-visible img,
.property-detail-gallery-item.is-active img {
    filter: saturate(1);
    transform: scale(1.025);
}

.property-detail-gallery-item.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #d58455;
}

.property-page:not([data-property-listing="01"])
.property-detail-gallery-grid {
    grid-template-columns: minmax(0, 520px);
}


/* RESIDENCE STORY */

.property-detail-story {
    position: relative;
    padding: clamp(100px, 10vw, 156px) 0;
    background:
        linear-gradient(
            90deg,
            transparent 0,
            transparent calc(50% - 1px),
            rgba(33, 58, 90, 0.055) calc(50% - 1px),
            rgba(33, 58, 90, 0.055) 50%,
            transparent 50%
        ),
        #f7f8fa;
}

.property-detail-story-shell {
    display: grid;
    grid-template-columns:
        minmax(0, 0.82fr)
        minmax(0, 1.18fr);
    gap: clamp(60px, 8vw, 128px);
}

.property-detail-story-heading {
    position: relative;
    align-self: start;
    padding-top: 8px;
}

.property-detail-story-heading::after {
    content: "";
    display: block;
    width: 72px;
    height: 2px;
    margin-top: 34px;
    background: #d58455;
}

.property-detail-story-heading .section-kicker {
    margin: 0 0 18px;
    color: #b65e34;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.property-detail-story-heading h2 {
    max-width: 570px;
    margin: 0;
    color: #172235;
    font-size: clamp(3.6rem, 5vw, 5.9rem);
    font-weight: 630;
    line-height: 0.9;
    letter-spacing: -0.06em;
}

.property-detail-story-heading h2 span {
    display: block;
    color: var(--blue);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
}

.property-detail-story-copy > p {
    max-width: 700px;
    margin: 0;
    color: #586473;
    font-size: clamp(1.2rem, 1.5vw, 1.48rem);
    line-height: 1.62;
}

.property-detail-story-points {
    margin-top: clamp(44px, 5vw, 70px);
    border-top: 1px solid rgba(33, 58, 90, 0.16);
}

.property-detail-story-points article {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 22px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(33, 58, 90, 0.16);
}

.property-detail-story-points article > span {
    color: #c26d3f;
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.13em;
}

.property-detail-story-points strong {
    display: block;
    margin-bottom: 8px;
    color: #172235;
    font-size: 1.02rem;
    font-weight: 750;
}

.property-detail-story-points p {
    max-width: 620px;
    margin: 0;
    color: #687482;
    font-size: 0.96rem;
    line-height: 1.68;
}


/* FINAL ACTION */

.property-detail-next {
    position: relative;
    overflow: hidden;
    padding: clamp(90px, 9vw, 138px) 0;
    background: #203957;
    color: #ffffff;
}

.property-detail-next::before {
    content: "MOVE";
    position: absolute;
    left: -0.04em;
    bottom: -0.15em;
    color: rgba(255, 255, 255, 0.035);
    font-size: clamp(10rem, 21vw, 24rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.09em;
    pointer-events: none;
}

.property-detail-next-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(320px, 0.6fr);
    align-items: end;
    gap: clamp(60px, 9vw, 140px);
}

.property-detail-next .section-kicker {
    margin: 0 0 18px;
    color: #e09264;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.property-detail-next h2 {
    max-width: 790px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(4rem, 6vw, 7rem);
    font-weight: 620;
    line-height: 0.88;
    letter-spacing: -0.07em;
}

.property-detail-next h2 span {
    display: block;
    color: #dce8f4;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
}

.property-detail-next-copy {
    padding-bottom: 6px;
}

.property-detail-next-copy p {
    max-width: 420px;
    margin: 0 0 30px;
    color: #b8c5d3;
    font-size: 1rem;
    line-height: 1.72;
}

.property-detail-next-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    width: min(100%, 360px);
    min-height: 68px;
    padding: 0 17px 0 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.24);
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        border-color 180ms ease,
        color 180ms ease;
}

.property-detail-next-action span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #d58455;
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 400;
    transition: transform 180ms ease;
}

.property-detail-next-action:hover,
.property-detail-next-action:focus-visible {
    border-color: #d58455;
    color: #f2d4c2;
}

.property-detail-next-action:hover span,
.property-detail-next-action:focus-visible span {
    transform: rotate(90deg);
}


/* RESPONSIVE */

@media (max-width: 1050px) {
    .property-detail-hero {
        padding-top: 120px;
    }

    .property-detail-hero-grid {
        grid-template-columns: 1fr;
        gap: 56px;
    }

    .property-detail-hero-copy {
        max-width: 760px;
    }

    .property-detail-hero-media {
        max-width: 880px;
    }

    .property-detail-section-heading,
    .property-detail-story-shell,
    .property-detail-next-shell {
        grid-template-columns: 1fr;
    }

    .property-detail-section-heading {
        align-items: start;
        gap: 28px;
    }

    .property-detail-section-heading > p {
        max-width: 620px;
    }

    .property-detail-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .property-page:not([data-property-listing="01"])
    .property-detail-gallery-grid {
        grid-template-columns: minmax(0, 520px);
    }

    .property-detail-story-shell {
        gap: 52px;
    }

    .property-detail-story {
        background: #f7f8fa;
    }

    .property-detail-next-shell {
        align-items: start;
        gap: 48px;
    }
}

@media (max-width: 720px) {
    .property-detail-hero {
        padding:
            104px
            0
            82px;
    }

    .property-detail-watermark {
        left: -0.05em;
        font-size: 12rem;
    }

    .property-detail-breadcrumb {
        margin-bottom: 30px;
    }

    .property-detail-hero-grid {
        gap: 42px;
    }

    .property-detail-hero-copy h1 {
        font-size: clamp(3.35rem, 15vw, 5.1rem);
    }

    .property-detail-description {
        margin-top: 26px;
    }

    .property-detail-price-row {
        margin-top: 28px;
    }

    .property-detail-facts {
        max-width: none;
    }

    .property-detail-facts > div {
        padding-right: 14px;
    }

    .property-detail-facts > div + div {
        padding-left: 14px;
    }

    .property-detail-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .property-detail-primary-action {
        width: 100%;
    }

    .property-detail-secondary-action {
        width: fit-content;
    }

    .property-detail-hero-media::before {
        left: -10px;
        top: 10px;
        width: calc(100% + 10px);
    }

    .property-detail-hero-media figcaption {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .property-detail-gallery,
    .property-detail-story,
    .property-detail-next {
        padding:
            82px
            0;
    }

    .property-detail-section-heading {
        padding-bottom: 32px;
    }

    .property-detail-section-heading h2,
    .property-detail-story-heading h2 {
        font-size: clamp(3.1rem, 14vw, 4.7rem);
    }

    .property-detail-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .property-page:not([data-property-listing="01"])
    .property-detail-gallery-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .property-detail-story-shell {
        gap: 42px;
    }

    .property-detail-story-copy > p {
        font-size: 1.08rem;
    }

    .property-detail-next h2 {
        font-size: clamp(3.5rem, 16vw, 5.2rem);
    }

    .property-detail-next-shell {
        gap: 42px;
    }
}

@media (max-width: 520px) {
    .property-detail-breadcrumb {
        font-size: 0.66rem;
        letter-spacing: 0.1em;
    }

    .property-detail-location {
        font-size: 0.72rem;
        letter-spacing: 0.09em;
    }

    .property-detail-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .property-detail-facts strong {
        font-size: 1rem;
    }

    .property-detail-facts span {
        font-size: 0.58rem;
        letter-spacing: 0.08em;
    }

    .property-detail-gallery-grid {
        grid-template-columns: 1fr;
    }

    .property-detail-gallery-item img {
        aspect-ratio: 1.55 / 1;
    }

    .property-detail-story-points article {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
    }

    .property-detail-next-action {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .property-detail-primary-action,
    .property-detail-gallery-item,
    .property-detail-gallery-item img,
    .property-detail-next-action,
    .property-detail-next-action span {
        transition: none;
    }
}

/* PROPERTY DETAIL PAGE END */

/* PROPERTY HERO GALLERY FIX START */

.property-detail-media-column {
    min-width: 0;
    align-self: center;
}

.property-detail-media-column .property-detail-hero-media {
    margin-bottom: 14px;
}

.property-detail-media-column .property-detail-gallery-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 0;
}

.property-detail-media-column .property-detail-gallery-item {
    position: relative;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(33, 58, 90, 0.14);
    background: #edf2f6;
    color: #172235;
    cursor: pointer;
    text-align: left;
    opacity: 0.72;
    transform: none;
    transition:
        opacity 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.property-detail-media-column
.property-detail-gallery-item[hidden] {
    display: none;
}

.property-detail-media-column
.property-detail-gallery-item img {
    display: block;
    width: 100%;
    aspect-ratio: 1.38 / 0.82;
    object-fit: cover;
    filter: saturate(0.78);
    transition:
        filter 180ms ease,
        transform 220ms ease;
}

.property-detail-media-column
.property-detail-gallery-item span {
    position: absolute;
    left: 7px;
    top: 7px;
    min-width: 25px;
    padding: 4px 5px;
    background: rgba(18, 34, 52, 0.82);
    color: #ffffff;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
}

.property-detail-media-column
.property-detail-gallery-item strong {
    display: block;
    min-height: 34px;
    padding: 9px 8px 8px;
    overflow: hidden;
    color: #5d6978;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.065em;
    line-height: 1.2;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.property-detail-media-column
.property-detail-gallery-item:hover,
.property-detail-media-column
.property-detail-gallery-item:focus-visible,
.property-detail-media-column
.property-detail-gallery-item.is-active {
    opacity: 1;
    border-color: #c26d3f;
    background: #ffffff;
    transform: translateY(-2px);
}

.property-detail-media-column
.property-detail-gallery-item:hover img,
.property-detail-media-column
.property-detail-gallery-item:focus-visible img,
.property-detail-media-column
.property-detail-gallery-item.is-active img {
    filter: saturate(1);
    transform: scale(1.02);
}

.property-detail-media-column
.property-detail-gallery-item.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #c26d3f;
}

.property-page:not([data-property-listing="01"])
.property-detail-media-column
.property-detail-gallery-grid {
    grid-template-columns: minmax(0, 220px);
}

@media (max-width: 1050px) {
    .property-detail-media-column {
        max-width: 880px;
    }
}

@media (max-width: 720px) {
    .property-detail-media-column
    .property-detail-gallery-grid {
        grid-template-columns: repeat(5, minmax(96px, 1fr));
        overflow-x: auto;
        padding-bottom: 8px;
        scrollbar-width: thin;
    }

    .property-detail-media-column
    .property-detail-gallery-item {
        min-width: 96px;
    }

    .property-page:not([data-property-listing="01"])
    .property-detail-media-column
    .property-detail-gallery-grid {
        grid-template-columns: minmax(0, 180px);
        overflow-x: visible;
    }
}

@media (prefers-reduced-motion: reduce) {
    .property-detail-media-column
    .property-detail-gallery-item,
    .property-detail-media-column
    .property-detail-gallery-item img {
        transition: none;
    }
}

/* PROPERTY HERO GALLERY FIX END */

/* PROPERTY STORY SPACING POLISH START */

@media (min-width: 1051px) {
    .property-detail-story {
        padding-top: clamp(92px, 7vw, 118px);
        padding-bottom: clamp(84px, 6vw, 108px);
    }

    .property-detail-story-shell {
        align-items: start;
    }

    .property-detail-story-points {
        margin-top: 42px;
    }

    .property-detail-story-points article {
        padding-top: 24px;
        padding-bottom: 24px;
    }
}

/* PROPERTY STORY SPACING POLISH END */

/* PROPERTY DETAIL MOTION START */

/*
    Motion states activate only after property-detail.js
    adds .property-motion-ready to the page body.
*/


/* HERO INITIAL STATE */

.property-page.property-motion-ready
.property-detail-breadcrumb,

.property-page.property-motion-ready
.property-detail-hero-copy .section-kicker,

.property-page.property-motion-ready
.property-detail-location,

.property-page.property-motion-ready
.property-detail-hero-copy h1,

.property-page.property-motion-ready
.property-detail-description,

.property-page.property-motion-ready
.property-detail-price-row,

.property-page.property-motion-ready
.property-detail-facts,

.property-page.property-motion-ready
.property-detail-actions {
    opacity: 0;
    transform: translateY(18px);
}


.property-page.property-motion-ready
.property-detail-hero-media {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
    transform: translateY(16px) scale(0.985);
}


.property-page.property-motion-ready
.property-detail-media-column
.property-detail-gallery-item {
    opacity: 0;
    transform: translateY(12px);
}


/* HERO ACTIVE STATE */

.property-page.property-motion-ready.property-hero-visible
.property-detail-breadcrumb,

.property-page.property-motion-ready.property-hero-visible
.property-detail-hero-copy .section-kicker,

.property-page.property-motion-ready.property-hero-visible
.property-detail-location,

.property-page.property-motion-ready.property-hero-visible
.property-detail-hero-copy h1,

.property-page.property-motion-ready.property-hero-visible
.property-detail-description,

.property-page.property-motion-ready.property-hero-visible
.property-detail-price-row,

.property-page.property-motion-ready.property-hero-visible
.property-detail-facts,

.property-page.property-motion-ready.property-hero-visible
.property-detail-actions {
    opacity: 1;
    transform: translateY(0);
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-breadcrumb {
    transition:
        opacity 360ms ease,
        transform 360ms ease;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-hero-copy .section-kicker {
    transition:
        opacity 360ms ease 70ms,
        transform 360ms ease 70ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-location {
    transition:
        opacity 360ms ease 120ms,
        transform 360ms ease 120ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-hero-copy h1 {
    transition:
        opacity 460ms ease 170ms,
        transform 460ms ease 170ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-description {
    transition:
        opacity 380ms ease 250ms,
        transform 380ms ease 250ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-price-row {
    transition:
        opacity 380ms ease 310ms,
        transform 380ms ease 310ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-facts {
    transition:
        opacity 380ms ease 365ms,
        transform 380ms ease 365ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-actions {
    transition:
        opacity 380ms ease 420ms,
        transform 380ms ease 420ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-hero-media {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translateY(0) scale(1);
    transition:
        opacity 420ms ease 150ms,
        clip-path 620ms cubic-bezier(0.22, 1, 0.36, 1) 150ms,
        transform 520ms cubic-bezier(0.22, 1, 0.36, 1) 150ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-media-column
.property-detail-gallery-item {
    opacity: 0.72;
    transform: translateY(0);
    transition:
        opacity 300ms ease,
        transform 340ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-media-column
.property-detail-gallery-item:nth-child(1) {
    transition-delay: 520ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-media-column
.property-detail-gallery-item:nth-child(2) {
    transition-delay: 565ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-media-column
.property-detail-gallery-item:nth-child(3) {
    transition-delay: 610ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-media-column
.property-detail-gallery-item:nth-child(4) {
    transition-delay: 655ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-media-column
.property-detail-gallery-item:nth-child(5) {
    transition-delay: 700ms;
}


.property-page.property-motion-ready.property-hero-visible
.property-detail-media-column
.property-detail-gallery-item.is-active {
    opacity: 1;
}


/* RESIDENCE STORY INITIAL STATE */

.property-page.property-motion-ready
.property-detail-story-heading,

.property-page.property-motion-ready
.property-detail-story-copy > p,

.property-page.property-motion-ready
.property-detail-story-points article {
    opacity: 0;
}


.property-page.property-motion-ready
.property-detail-story-heading {
    transform: translateX(-22px);
}


.property-page.property-motion-ready
.property-detail-story-copy > p {
    transform: translateY(18px);
}


.property-page.property-motion-ready
.property-detail-story-points article {
    transform: translateX(24px);
}


/* RESIDENCE STORY ACTIVE */

.property-page.property-motion-ready.property-story-visible
.property-detail-story-heading {
    opacity: 1;
    transform: translateX(0);
    transition:
        opacity 420ms ease,
        transform 460ms cubic-bezier(0.22, 1, 0.36, 1);
}


.property-page.property-motion-ready.property-story-visible
.property-detail-story-copy > p {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 380ms ease 90ms,
        transform 420ms ease 90ms;
}


.property-page.property-motion-ready.property-story-visible
.property-detail-story-points article {
    opacity: 1;
    transform: translateX(0);
}


.property-page.property-motion-ready.property-story-visible
.property-detail-story-points article:nth-child(1) {
    transition:
        opacity 340ms ease 180ms,
        transform 420ms ease 180ms;
}


.property-page.property-motion-ready.property-story-visible
.property-detail-story-points article:nth-child(2) {
    transition:
        opacity 340ms ease 270ms,
        transform 420ms ease 270ms;
}


.property-page.property-motion-ready.property-story-visible
.property-detail-story-points article:nth-child(3) {
    transition:
        opacity 340ms ease 360ms,
        transform 420ms ease 360ms;
}


/* FINAL CTA INITIAL STATE */

.property-page.property-motion-ready
.property-detail-next .section-kicker,

.property-page.property-motion-ready
.property-detail-next h2,

.property-page.property-motion-ready
.property-detail-next-copy {
    opacity: 0;
    transform: translateY(20px);
}


/* FINAL CTA ACTIVE */

.property-page.property-motion-ready.property-next-visible
.property-detail-next .section-kicker {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 340ms ease,
        transform 380ms ease;
}


.property-page.property-motion-ready.property-next-visible
.property-detail-next h2 {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 430ms ease 80ms,
        transform 460ms cubic-bezier(0.22, 1, 0.36, 1) 80ms;
}


.property-page.property-motion-ready.property-next-visible
.property-detail-next-copy {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 380ms ease 180ms,
        transform 420ms ease 180ms;
}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    .property-page.property-motion-ready
    .property-detail-breadcrumb,

    .property-page.property-motion-ready
    .property-detail-hero-copy .section-kicker,

    .property-page.property-motion-ready
    .property-detail-location,

    .property-page.property-motion-ready
    .property-detail-hero-copy h1,

    .property-page.property-motion-ready
    .property-detail-description,

    .property-page.property-motion-ready
    .property-detail-price-row,

    .property-page.property-motion-ready
    .property-detail-facts,

    .property-page.property-motion-ready
    .property-detail-actions,

    .property-page.property-motion-ready
    .property-detail-hero-media,

    .property-page.property-motion-ready
    .property-detail-media-column
    .property-detail-gallery-item,

    .property-page.property-motion-ready
    .property-detail-story-heading,

    .property-page.property-motion-ready
    .property-detail-story-copy > p,

    .property-page.property-motion-ready
    .property-detail-story-points article,

    .property-page.property-motion-ready
    .property-detail-next .section-kicker,

    .property-page.property-motion-ready
    .property-detail-next h2,

    .property-page.property-motion-ready
    .property-detail-next-copy {
        opacity: 1;
        clip-path: none;
        transform: none;
        transition: none;
    }
}

/* PROPERTY DETAIL MOTION END */

/* PROPERTY STORY READABILITY FIX START */

.property-detail-story-heading h2
.property-detail-story-main,
.property-detail-story-heading h2
.property-detail-story-accent {
    display: block;
}

.property-detail-story-heading h2
.property-detail-story-main {
    color: #172235;
    font-family: inherit;
    font-style: normal;
    font-weight: 630;
}

.property-detail-story-heading h2
.property-detail-story-accent {
    color: var(--blue);
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 400;
}

@media (min-width: 1051px) {
    .property-detail-story-shell {
        grid-template-columns:
            minmax(0, 0.9fr)
            minmax(0, 1.1fr);
        gap: clamp(58px, 5vw, 82px);
    }

    .property-detail-story-heading h2 {
        max-width: 580px;
        font-size: clamp(3.65rem, 4.35vw, 5.1rem);
        line-height: 0.91;
    }

    .property-detail-story-main,
    .property-detail-story-accent {
        white-space: nowrap;
    }

    .property-detail-story-copy > p {
        max-width: 720px;
        font-size: clamp(1.28rem, 1.55vw, 1.55rem);
        line-height: 1.58;
    }

    .property-detail-story-points article {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 24px;
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .property-detail-story-points article > span {
        font-size: 0.72rem;
    }

    .property-detail-story-points strong {
        margin-bottom: 9px;
        font-size: 1.08rem;
    }

    .property-detail-story-points p {
        max-width: 660px;
        font-size: 1.04rem;
        line-height: 1.7;
    }
}

@media (max-width: 1050px) {
    .property-detail-story-main,
    .property-detail-story-accent {
        white-space: normal;
    }
}

/* PROPERTY STORY READABILITY FIX END */

/* PROPERTY STORY NUMBER READABILITY START */

.property-detail-story-points article > span {
    color: #c25f2f;
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

@media (max-width: 720px) {
    .property-detail-story-points article > span {
        font-size: 0.8rem;
    }
}

/* PROPERTY STORY NUMBER READABILITY END */

/* PROPERTY STORY RIGHT READABILITY START */

@media (min-width: 1051px) {
    .property-detail-story-copy > p {
        max-width: 760px;
        font-size: clamp(1.42rem, 1.7vw, 1.68rem);
        line-height: 1.55;
    }

    .property-detail-story-points article > span {
        font-size: 0.94rem;
        font-weight: 900;
        letter-spacing: 0.09em;
    }

    .property-detail-story-points strong {
        margin-bottom: 10px;
        font-size: 1.16rem;
        line-height: 1.3;
    }

    .property-detail-story-points p {
        max-width: 680px;
        font-size: 1.12rem;
        line-height: 1.68;
    }
}

/* PROPERTY STORY RIGHT READABILITY END */
