:root {
    --v19-green:#153d35;
    --v19-green-2:#1f5146;
    --v19-green-3:#2c675a;
    --v19-cream:#f6f4ee;
    --v19-cream-2:#ece8df;
    --v19-gold:#b79a62;
    --v19-ink:#17221f;
    --v19-muted:#66736f;
    --v19-line:#dfe4df;
    --v19-white:#fff;
    --v19-shadow:0 18px 44px rgba(27,58,50,.09);
    --v19-radius:18px
}

body {
    background:#fbfbf8;
    color:var(--v19-ink);
    font-family:Inter,Arial,sans-serif
}

.site-navbar {
    background:rgba(21,61,53,.97)!important;
    box-shadow:0 8px 30px rgba(10,35,29,.13);
    backdrop-filter:blur(12px)
}

.site-navbar .nav-link {
    font-size:.88rem;
    font-weight:600
}

.site-navbar .nav-link.active {
    color:#fff!important
}

.site-brand-mark {
    background:rgba(255,255,255,.13)
}

.v19-page {
    padding-top:82px
}

.v19-container {
    max-width:1180px
}

.v19-hero {
    padding:58px 0 36px;
    background:linear-gradient(135deg,var(--v19-green),#0f2f29);
    color:#fff;
    position:relative;
    overflow:hidden
}

.v19-hero:after {
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    right:-120px;
    top:-210px
}

.v19-kicker {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.73rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:800;
    color:#d8c8a6;
    margin-bottom:14px
}

.v19-hero h1 {
    font-size:clamp(2rem,4vw,4rem);
    font-weight:750;
    letter-spacing:-.045em;
    line-height:1.04;
    max-width:780px
}

.v19-hero p {
    font-size:1rem;
    line-height:1.75;
    color:rgba(255,255,255,.78);
    max-width:680px
}

.v19-hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
    gap:34px;
    align-items:center
}

.v19-hero-panel {
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.14);
    border-radius:var(--v19-radius);
    padding:24px;
    position:relative;
    z-index:1
}

.v19-hero-panel strong {
    display:block;
    font-size:1.1rem;
    margin-bottom:14px
}

.v19-checks {
    display:grid;
    gap:11px
}

.v19-checks span {
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:.89rem;
    color:rgba(255,255,255,.82)
}

.v19-checks i {
    color:#dcc79f;
    margin-top:2px
}

.v19-section {
    padding:58px 0
}

.v19-section.soft {
    background:var(--v19-cream)
}

.v19-section-head {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:end;
    margin-bottom:26px
}

.v19-section-head h2 {
    font-size:clamp(1.65rem,2.6vw,2.45rem);
    font-weight:750;
    letter-spacing:-.035em;
    margin:0
}

.v19-section-head p {
    max-width:580px;
    color:var(--v19-muted);
    margin:0;
    line-height:1.7
}

.v19-card {
    background:#fff;
    border:1px solid var(--v19-line);
    border-radius:var(--v19-radius);
    box-shadow:var(--v19-shadow)
}

.v19-card-pad {
    padding:28px
}

.v19-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:999px;
    padding:12px 21px;
    font-size:.88rem;
    font-weight:700;
    text-decoration:none;
    border:1px solid transparent;
    transition:.2s
}

.v19-btn-primary {
    background:var(--v19-green);
    color:#fff
}

.v19-btn-primary:hover {
    background:var(--v19-green-2);
    color:#fff;
    transform:translateY(-1px)
}

.v19-btn-light {
    background:#fff;
    color:var(--v19-green)
}

.v19-btn-outline {
    border-color:#ccd7d2;
    color:var(--v19-green);
    background:#fff
}

.v19-btn-outline:hover {
    border-color:var(--v19-green);
    color:var(--v19-green)
}

.v19-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px
}

.v19-search {
    margin-top:-18px;
    position:relative;
    z-index:3
}

.v19-search .v19-card {
    padding:18px
}

.v19-form-label {
    font-size:.74rem;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-weight:800;
    color:#60706b;
    margin-bottom:7px
}

.v19-field {
    height:48px;
    border:1px solid #d8dfdc;
    border-radius:12px;
    font-size:.9rem
}

.v19-field:focus {
    border-color:var(--v19-green-3);
    box-shadow:0 0 0 3px rgba(44,103,90,.11)
}

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

.v19-grid-4 {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px
}

.v19-feature {
    padding:23px
}

.v19-icon {
    width:44px;
    height:44px;
    border-radius:13px;
    background:#edf4f1;
    color:var(--v19-green);
    display:grid;
    place-items:center;
    font-size:1.15rem;
    margin-bottom:17px
}

.v19-feature h3 {
    font-size:1rem;
    font-weight:750
}

.v19-feature p {
    font-size:.88rem;
    color:var(--v19-muted);
    line-height:1.65;
    margin:0
}

.v19-property {
    overflow:hidden;
    height:100%;
    display:flex;
    flex-direction:column
}

.v19-property-media {
    height:220px;
    position:relative;
    overflow:hidden
}

.v19-property-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s
}

.v19-property:hover .v19-property-media img {
    transform:scale(1.035)
}

.v19-status {
    position:absolute;
    left:14px;
    top:14px;
    background:#fff;
    color:var(--v19-green);
    border-radius:999px;
    padding:7px 12px;
    font-size:.7rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em
}

.v19-property-body {
    padding:21px;
    display:flex;
    flex-direction:column;
    flex:1
}

.v19-property-location {
    font-size:.75rem;
    color:var(--v19-muted);
    font-weight:650
}

.v19-property h3 {
    font-size:1.08rem;
    font-weight:750;
    margin:7px 0 5px
}

.v19-address {
    font-size:.82rem;
    color:var(--v19-muted);
    line-height:1.5
}

.v19-facts {
    display:flex;
    flex-wrap:wrap;
    gap:9px 14px;
    border-top:1px solid #edf0ee;
    border-bottom:1px solid #edf0ee;
    padding:13px 0;
    margin:15px 0;
    font-size:.77rem;
    color:#53625e
}

.v19-price {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:15px
}

.v19-price strong {
    font-size:1.15rem;
    color:var(--v19-green)
}

.v19-price span {
    font-size:.72rem;
    color:var(--v19-muted)
}

.v19-process {
    counter-reset:step
}

.v19-step {
    padding:23px;
    position:relative
}

.v19-step:before {
    counter-increment:step;
    content:counter(step,decimal-leading-zero);
    display:block;
    font-size:.73rem;
    font-weight:800;
    color:var(--v19-gold);
    margin-bottom:14px
}

.v19-step h3 {
    font-size:1rem;
    font-weight:750
}

.v19-step p {
    font-size:.86rem;
    color:var(--v19-muted);
    line-height:1.6;
    margin:0
}

.v19-content-grid {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
    gap:22px
}

.v19-image-card {
    overflow:hidden
}

.v19-image-card img {
    width:100%;
    height:100%;
    min-height:390px;
    object-fit:cover
}

.v19-list {
    display:grid;
    gap:13px;
    margin:0;
    padding:0;
    list-style:none
}

.v19-list li {
    display:flex;
    gap:11px;
    color:#4f5f5a;
    font-size:.9rem
}

.v19-list i {
    color:var(--v19-green-3)
}

.v19-contact-grid {
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:22px
}

.v19-info-stack {
    display:grid;
    gap:14px
}

.v19-info {
    padding:20px
}

.v19-info h3 {
    font-size:.95rem;
    font-weight:750;
    margin:0 0 7px
}

.v19-info p,.v19-info a {
    font-size:.84rem;
    color:var(--v19-muted);
    line-height:1.6;
    margin:0
}

.v19-auth {
    min-height:calc(100vh - 82px);
    display:grid;
    align-items:center;
    padding:48px 0;
    background:var(--v19-cream)
}

.v19-auth-grid {
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:22px;
    align-items:stretch
}

.v19-auth-side {
    background:linear-gradient(145deg,var(--v19-green),#0f3029);
    color:#fff;
    padding:34px
}

.v19-auth-side h1 {
    font-size:2rem;
    font-weight:750;
    letter-spacing:-.035em
}

.v19-auth-side p {
    color:rgba(255,255,255,.76);
    line-height:1.7
}

.v19-auth-form {
    padding:34px
}

.v19-auth-form h2 {
    font-size:1.65rem;
    font-weight:750
}

.v19-auth-form p {
    color:var(--v19-muted)
}

.v19-footer-note {
    font-size:.82rem;
    color:var(--v19-muted)
}

@media(max-width:991.98px) {
    .v19-hero-grid,.v19-content-grid,.v19-contact-grid,.v19-auth-grid {
        grid-template-columns:1fr
    }

    .v19-grid-4 {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .v19-grid-3 {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .v19-hero {
        padding-top:45px
    }

    .v19-section {
        padding:44px 0
    }

    .v19-section-head {
        align-items:flex-start;
        flex-direction:column
    }

    .v19-hero-panel {
        max-width:560px
    }
}

@media(max-width:575.98px) {
    .v19-page {
        padding-top:72px
    }

    .v19-grid-4,.v19-grid-3 {
        grid-template-columns:1fr
    }

    .v19-card-pad,.v19-auth-form,.v19-auth-side {
        padding:22px
    }

    .v19-hero h1 {
        font-size:2.15rem
    }

    .v19-actions .v19-btn {
        width:100%
    }

    .v19-property-media {
        height:205px
    }
}

/* Public header — v19 premium navigation */
.site-navbar {
    min-height:76px;
    border-bottom:1px solid rgba(255,255,255,.10);
}

.site-navbar .container {
    max-width:1180px
}

.site-brand {
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:#fff!important;
    text-decoration:none
}

.site-brand-mark {
    width:39px;
    height:39px;
    border-radius:12px;
    display:grid;
    place-items:center;
    color:#f2e6c9;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08)
}

.site-brand-text {
    font-size:.98rem;
    font-weight:800;
    letter-spacing:-.025em;
    white-space:nowrap;
    color:#fff
}

.site-brand-text span {
    color:#dcc79f;
    font-weight:650
}

.site-main-nav .nav-link {
    position:relative;
    padding:.72rem .82rem!important;
    color:rgba(255,255,255,.76)!important;
    line-height:1;
    font-size:.84rem;
    font-weight:650;
    transition:color .2s ease
}

.site-main-nav .nav-link:hover,.site-main-nav .nav-link:focus {
    color:#fff!important
}

.site-main-nav .nav-link:after {
    content:"";
    position:absolute;
    left:.82rem;
    right:.82rem;
    bottom:.42rem;
    height:2px;
    border-radius:99px;
    background:#d8c39b;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .2s ease
}

.site-main-nav .nav-link.active {
    color:#fff!important
}

.site-main-nav .nav-link.active:after {
    transform:scaleX(1)
}

.site-nav-actions {
    padding-left:15px;
    border-left:1px solid rgba(255,255,255,.14)
}

.site-customer-login {
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:9px 16px;
    border-radius:11px;
    background:linear-gradient(135deg,#e5d4b0,#c6a66b);
    border:1px solid rgba(255,255,255,.28);
    color:#163c34!important;
    text-decoration:none;
    font-size:.82rem;
    font-weight:800;
    box-shadow:0 8px 22px rgba(7,27,23,.18);
    transition:.2s ease
}

.site-customer-login:hover,.site-customer-login:focus,.site-customer-login.active {
    color:#102f29!important;
    background:linear-gradient(135deg,#f0e4ca,#d5b778);
    transform:translateY(-1px);
    box-shadow:0 11px 26px rgba(7,27,23,.24)
}

.site-register-link,.site-logout-link {
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:9px 12px;
    color:rgba(255,255,255,.82)!important;
    text-decoration:none;
    font-size:.81rem;
    font-weight:700;
    border-radius:10px;
    border:1px solid transparent;
    transition:.2s ease
}

.site-register-link:hover,.site-register-link:focus,.site-register-link.active, .site-logout-link:hover,.site-logout-link:focus {
    color:#fff!important;
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.12)
}

.site-nav-user {
    color:rgba(255,255,255,.70);
    font-size:.77rem;
    font-weight:600
}

.site-navbar-toggler {
    border:0!important;
    box-shadow:none!important;
    padding:7px;
    width:42px;
    height:42px;
    border-radius:10px;
    background:rgba(255,255,255,.08)
}

.site-navbar-toggler span {
    display:block;
    width:23px;
    height:2px;
    margin:4px auto;
    background:#fff;
    border-radius:10px
}

@media(max-width:991.98px) {
    .site-navbar {
        min-height:70px
    }

    .site-navbar-collapse {
        margin-top:12px;
        padding:13px;
        border-radius:15px;
        background:#12372f;
        border:1px solid rgba(255,255,255,.10);
        box-shadow:0 18px 38px rgba(5,24,20,.24)
    }

    .site-main-nav {
        align-items:stretch!important
    }

    .site-main-nav .nav-link {
        padding:12px 13px!important;
        border-radius:9px;
        color:rgba(255,255,255,.82)!important
    }

    .site-main-nav .nav-link:hover,.site-main-nav .nav-link.active {
        background:rgba(255,255,255,.07)
    }

    .site-main-nav .nav-link:after {
        display:none
    }

    .site-nav-actions {
        margin:11px 0 0!important;
        padding:12px 0 0;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.11);
        display:grid!important;
        grid-template-columns:1fr auto;
        gap:9px!important
    }

    .site-customer-login {
        width:100%;
        min-height:44px
    }

    .site-register-link,.site-logout-link {
        min-height:44px;
        padding-inline:15px;
        border-color:rgba(255,255,255,.12)
    }
}

@media(max-width:420px) {
    .site-brand-text {
        font-size:.88rem
    }

    .site-brand-mark {
        width:36px;
        height:36px
    }

    .site-nav-actions {
        grid-template-columns:1fr
    }

    .site-register-link,.site-logout-link {
        width:100%
    }
}

/* Public footer — v19 premium */
.site-footer-v19 {
    position:relative;
    margin-top:0;
    padding:0 0 22px!important;
    background:linear-gradient(145deg,#0d2d27 0%,#123a32 58%,#0c2924 100%)!important;
    color:#fff;
    overflow:hidden;
}

.site-footer-v19:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 82% 12%,rgba(218,195,151,.10),transparent 28%);
}

.site-footer-v19 .container {
    position:relative;
    z-index:1;
    max-width:1180px
}

.footer-cta-panel {
    transform:translateY(-1px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:27px 30px;
    border:1px solid rgba(255,255,255,.12);
    border-top:0;
    border-radius:0;
    background:rgba(255,255,255,.065);
    box-shadow:0 18px 38px rgba(4,21,18,.14)
}

.footer-cta-copy {
    max-width:680px
}

.footer-cta-eyebrow {
    display:block;
    margin-bottom:7px;
    color:#ddc99f;
    font-size:.69rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.13em
}

.footer-cta-copy h2 {
    margin:0;
    color:#fff;
    font-size:clamp(1.3rem,2vw,1.8rem);
    font-weight:760;
    letter-spacing:-.035em
}

.footer-cta-copy p {
    margin:8px 0 0;
    color:rgba(255,255,255,.68);
    font-size:.84rem;
    line-height:1.65
}

.footer-cta-actions {
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0
}

.footer-cta-primary,.footer-cta-secondary {
    min-height:43px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 17px;
    border-radius:11px;
    text-decoration:none;
    font-size:.8rem;
    font-weight:800;
    transition:.2s ease
}

.footer-cta-primary {
    color:#15372f!important;
    background:linear-gradient(135deg,#eadcbd,#c9ab70);
    box-shadow:0 9px 22px rgba(3,18,15,.22)
}

.footer-cta-primary:hover {
    color:#102f29!important;
    transform:translateY(-1px);
    background:linear-gradient(135deg,#f4e9d1,#d6b97d)
}

.footer-cta-secondary {
    color:#fff!important;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.045)
}

.footer-cta-secondary:hover {
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.28)
}

.site-footer-main {
    display:grid;
    grid-template-columns:1.5fr .72fr .88fr 1.1fr;
    gap:42px;
    padding:49px 0 39px
}

.footer-brand-link {
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:#fff!important;
    text-decoration:none
}

.footer-brand-mark {
    width:42px;
    height:42px;
    border-radius:13px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.13);
    color:#dec99f;
    font-size:1.05rem
}

.footer-brand-name {
    font-size:1rem;
    font-weight:800;
    letter-spacing:-.025em
}

.footer-brand-description {
    max-width:390px;
    margin:17px 0 19px;
    color:rgba(255,255,255,.64)!important;
    font-size:.83rem;
    line-height:1.72
}

.footer-trust-list {
    display:grid;
    gap:9px
}

.footer-trust-list span {
    display:flex;
    align-items:center;
    gap:9px;
    color:rgba(255,255,255,.72);
    font-size:.76rem
}

.footer-trust-list i {
    color:#d7c096;
    font-size:.88rem
}

.footer-column h3 {
    margin:3px 0 17px;
    color:#fff!important;
    font-size:.77rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em
}

.footer-link-list {
    display:grid;
    gap:11px;
    margin:0;
    padding:0;
    list-style:none
}

.footer-link-list a {
    display:inline-flex;
    color:rgba(255,255,255,.65)!important;
    text-decoration:none;
    font-size:.79rem;
    line-height:1.35;
    transition:.18s ease
}

.footer-link-list a:hover {
    color:#e4d0a8!important;
    transform:translateX(2px)
}

.footer-contact-items {
    display:grid;
    gap:12px
}

.footer-contact-items a,.footer-contact-items div {
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:rgba(255,255,255,.68)!important;
    text-decoration:none;
    font-size:.78rem;
    line-height:1.55;
    min-width:0
}

.footer-contact-items i {
    width:17px;
    flex:0 0 17px;
    color:#d7c096;
    margin-top:2px
}

.footer-contact-items span {
    overflow-wrap:anywhere
}

.footer-contact-items a:hover {
    color:#fff!important
}

.footer-contact-button {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:19px;
    color:#e3cda4!important;
    text-decoration:none;
    font-size:.76rem;
    font-weight:800
}

.footer-contact-button:hover {
    color:#fff!important
}

.site-footer-v19 .site-footer-bottom {
    padding:20px 0 0;
    border-top:1px solid rgba(255,255,255,.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px
}

.site-footer-v19 .site-footer-bottom p {
    margin:0;
    color:rgba(255,255,255,.54)!important;
    font-size:.72rem
}

.site-footer-v19 .site-footer-bottom strong {
    color:rgba(255,255,255,.82)
}

.site-footer-v19 .footer-bottom-links {
    display:flex;
    align-items:center;
    gap:10px
}

.site-footer-v19 .footer-bottom-links span {
    width:3px;
    height:3px;
    border-radius:50%;
    background:rgba(255,255,255,.25)
}

.site-footer-v19 .footer-bottom-links a {
    color:rgba(255,255,255,.54)!important;
    text-decoration:none;
    font-size:.7rem;
    font-weight:650
}

.site-footer-v19 .footer-bottom-links a:hover {
    color:#e3cda4!important
}

@media(max-width:991.98px) {
    .footer-cta-panel {
        align-items:flex-start;
        flex-direction:column;
        padding:24px
    }

    .site-footer-main {
        grid-template-columns:1.25fr .75fr .9fr;
        gap:34px
    }

    .footer-contact-column {
        grid-column:1/-1;
        padding-top:4px
    }

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

@media(max-width:767.98px) {
    .site-footer-main {
        grid-template-columns:1fr 1fr;
        padding:40px 0 31px
    }

    .footer-brand-column,.footer-contact-column {
        grid-column:1/-1
    }

    .footer-brand-description {
        max-width:620px
    }

    .site-footer-v19 .site-footer-bottom {
        align-items:flex-start;
        flex-direction:column
    }
}

@media(max-width:575.98px) {
    .footer-cta-panel {
        padding:21px 19px;
        border-radius:0
    }

    .footer-cta-actions {
        width:100%;
        align-items:stretch;
        flex-direction:column
    }

    .footer-cta-primary,.footer-cta-secondary {
        width:100%
    }

    .site-footer-main {
        grid-template-columns:1fr;
        gap:28px;
        padding:35px 1px 28px
    }

    .footer-brand-column,.footer-contact-column {
        grid-column:auto
    }

    .footer-contact-items {
        grid-template-columns:1fr
    }

    .footer-column h3 {
        margin-bottom:13px
    }

    .footer-link-list {
        gap:9px
    }

    .site-footer-v19 .site-footer-bottom {
        padding-top:17px
    }
}

/* Complex premium Home — v19 */
.home-v19 {
    padding-top:76px;
    background:#fbfbf8;
    color:var(--v19-ink)
}

.home-v19 * {
    box-sizing:border-box
}

.home-hero {
    position:relative;
    overflow:hidden;
    padding:80px 0 72px;
    background:linear-gradient(135deg,#123a32 0%,#0c2e28 66%,#133f36 100%);
    color:#fff
}

.home-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(7,30,25,.18),transparent 48%);
    pointer-events:none
}

.home-hero-shape {
    position:absolute;
    border-radius:50%;
    pointer-events:none
}

.home-hero-shape-a {
    width:520px;
    height:520px;
    right:-210px;
    top:-270px;
    border:1px solid rgba(255,255,255,.10)
}

.home-hero-shape-b {
    width:340px;
    height:340px;
    right:80px;
    bottom:-270px;
    background:rgba(202,171,111,.06)
}

.home-hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);
    gap:68px;
    align-items:center
}

.home-hero-copy {
    position:relative;
    z-index:1;
    max-width:720px
}

.home-eyebrow,.home-section-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#d9c49c;
    font-size:.7rem;
    font-weight:850;
    letter-spacing:.14em;
    text-transform:uppercase
}

.home-hero h1 {
    max-width:720px;
    margin:18px 0 20px;
    color:#fff;
    font-size:clamp(2.65rem,5.4vw,5rem);
    font-weight:760;
    letter-spacing:-.06em;
    line-height:.99
}

.home-hero-lead {
    max-width:670px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:1.04rem;
    line-height:1.82
}

.home-hero-actions,.home-dashboard-actions,.home-final-actions {
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:29px
}

.home-btn {
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:11px 19px;
    border-radius:11px;
    text-decoration:none;
    font-size:.82rem;
    font-weight:800;
    transition:.2s ease
}

.home-btn-gold {
    color:#15372f!important;
    background:linear-gradient(135deg,#eadcbd,#c9aa6e);
    box-shadow:0 12px 26px rgba(4,22,18,.22)
}

.home-btn-gold:hover {
    color:#102e28!important;
    transform:translateY(-1px);
    background:linear-gradient(135deg,#f4e9d2,#d7ba7c)
}

.home-btn-ghost {
    color:#fff!important;
    border:1px solid rgba(255,255,255,.20);
    background:rgba(255,255,255,.045)
}

.home-btn-ghost:hover {
    color:#fff!important;
    background:rgba(255,255,255,.10)
}

.home-btn-dark {
    color:#fff!important;
    background:#153d35
}

.home-btn-dark:hover {
    color:#fff!important;
    background:#1e5146;
    transform:translateY(-1px)
}

.home-hero-trust {
    display:flex;
    flex-wrap:wrap;
    gap:16px 23px;
    margin-top:30px;
    padding-top:23px;
    border-top:1px solid rgba(255,255,255,.12)
}

.home-hero-trust span {
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.68);
    font-size:.75rem;
    font-weight:650
}

.home-hero-trust i {
    color:#d9c49c
}

.home-hero-card {
    position:relative;
    z-index:1;
    padding:29px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:rgba(255,255,255,.085);
    box-shadow:0 28px 70px rgba(3,20,16,.22);
    backdrop-filter:blur(12px)
}

.home-card-kicker {
    display:block;
    margin-bottom:7px;
    color:#dfcca8;
    font-size:.68rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.12em
}

.home-hero-card h2 {
    margin:0;
    color:#fff;
    font-size:1.55rem;
    font-weight:760;
    letter-spacing:-.035em
}

.home-hero-card-top p {
    margin:10px 0 22px;
    color:rgba(255,255,255,.67);
    font-size:.81rem;
    line-height:1.65
}

.home-search-form {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px
}

.home-search-wide {
    grid-column:1/-1
}

.home-search-form label {
    display:block;
    margin-bottom:7px;
    color:rgba(255,255,255,.73);
    font-size:.69rem;
    font-weight:750
}

.home-input-wrap {
    height:48px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:10px;
    background:rgba(255,255,255,.10)
}

.home-input-wrap i {
    color:#dec99f
}

.home-input-wrap input,.home-input-wrap select {
    width:100%;
    height:100%;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font-size:.78rem
}

.home-input-wrap input::placeholder {
    color:rgba(255,255,255,.45)
}

.home-input-wrap select option {
    color:#17221f;
    background:#fff
}

.home-search-submit {
    grid-column:1/-1;
    min-height:49px;
    border:0;
    border-radius:10px;
    background:#fff;
    color:#163a32;
    font-size:.79rem;
    font-weight:850;
    box-shadow:0 9px 22px rgba(3,20,16,.17)
}

.home-search-submit:hover {
    background:#f3e8d2
}

.home-stat-band {
    background:#fff;
    border-bottom:1px solid #e4e7e2
}

.home-stat-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr)
}

.home-stat-grid>div {
    min-height:106px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:20px 29px;
    border-right:1px solid #e6e9e4
}

.home-stat-grid>div:first-child {
    border-left:1px solid #e6e9e4
}

.home-stat-grid strong {
    color:#163e36;
    font-size:1.7rem;
    font-weight:780;
    letter-spacing:-.04em
}

.home-stat-grid span {
    margin-top:3px;
    color:#78817e;
    font-size:.72rem;
    font-weight:650
}

.home-section {
    padding:88px 0
}

.home-section-heading {
    max-width:740px;
    margin-bottom:34px
}

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

.home-section-heading h2,.home-intro-copy h2,.home-dashboard-copy h2,.home-help-copy h2,.home-final-panel h2 {
    margin:10px 0 0;
    color:#173b34;
    font-size:clamp(2rem,3.7vw,3.35rem);
    font-weight:760;
    letter-spacing:-.05em;
    line-height:1.08
}

.home-section-heading p {
    margin:0;
    color:#68736f;
    font-size:.88rem;
    line-height:1.75
}

.home-text-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:13px;
    color:#1e5146!important;
    text-decoration:none;
    font-size:.76rem;
    font-weight:850
}

.home-text-link:hover {
    color:#b08e50!important
}

.home-text-link-light {
    color:#ead8b3!important
}

.home-properties-section {
    background:#f6f4ee
}

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

.home-property-card {
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #e0e3de;
    border-radius:17px;
    background:#fff;
    box-shadow:0 15px 38px rgba(26,58,49,.07);
    transition:.22s ease
}

.home-property-card:hover {
    transform:translateY(-4px);
    box-shadow:0 22px 46px rgba(26,58,49,.11)
}

.home-property-media {
    position:relative;
    height:230px;
    display:block;
    overflow:hidden;
    background:#e9ece7
}

.home-property-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease
}

.home-property-card:hover .home-property-media img {
    transform:scale(1.035)
}

.home-property-status,.home-property-type {
    position:absolute;
    top:15px;
    padding:7px 10px;
    border-radius:8px;
    font-size:.64rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.07em
}

.home-property-status {
    left:15px;
    color:#fff;
    background:#1e5146
}

.home-property-type {
    right:15px;
    color:#15372f;
    background:rgba(247,240,224,.94)
}

.home-property-content {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px
}

.home-property-location {
    display:flex;
    align-items:center;
    gap:6px;
    color:#8a744d;
    font-size:.67rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.06em
}

.home-property-content h3 {
    margin:9px 0 6px;
    font-size:1.08rem;
    font-weight:760;
    letter-spacing:-.025em;
    line-height:1.3
}

.home-property-content h3 a {
    color:#172b26!important;
    text-decoration:none
}

.home-property-address {
    min-height:38px;
    margin:0;
    color:#727b78;
    font-size:.74rem;
    line-height:1.55
}

.home-property-facts {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 14px;
    margin:18px 0;
    padding:15px 0;
    border-top:1px solid #edf0ec;
    border-bottom:1px solid #edf0ec
}

.home-property-facts span {
    display:flex;
    align-items:center;
    gap:7px;
    color:#64706c;
    font-size:.68rem;
    font-weight:650
}

.home-property-facts i {
    color:#9e8554
}

.home-property-footer {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:15px;
    margin-top:auto
}

.home-property-footer small {
    display:block;
    color:#8a9390;
    font-size:.64rem
}

.home-property-footer strong {
    display:block;
    margin-top:2px;
    color:#173d35;
    font-size:1.05rem
}

.home-property-footer a {
    color:#1f5146!important;
    text-decoration:none;
    font-size:.7rem;
    font-weight:850
}

.home-empty-state {
    padding:48px 25px;
    text-align:center;
    border:1px solid #e0e3de;
    border-radius:18px;
    background:#fff
}

.home-empty-state i {
    color:#b49760;
    font-size:2rem
}

.home-empty-state h3 {
    margin:14px 0 7px;
    color:#193e36
}

.home-empty-state p {
    color:#707a76
}

.home-intro-section {
    background:#fff
}

.home-intro-grid {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1fr);
    gap:76px;
    align-items:center
}

.home-intro-media {
    position:relative;
    min-height:560px
}

.home-intro-main {
    width:82%;
    height:510px;
    object-fit:cover;
    border-radius:18px
}

.home-intro-small {
    position:absolute;
    right:0;
    bottom:0;
    width:47%;
    height:255px;
    object-fit:cover;
    border:10px solid #fff;
    border-radius:18px
}

.home-intro-badge {
    position:absolute;
    left:25px;
    bottom:24px;
    max-width:290px;
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:17px;
    border-radius:13px;
    background:#153d35;
    color:#fff;
    box-shadow:0 18px 38px rgba(12,46,39,.22)
}

.home-intro-badge i {
    color:#ddc79c;
    font-size:1.1rem
}

.home-intro-badge span {
    color:rgba(255,255,255,.72);
    font-size:.69rem;
    line-height:1.5
}

.home-intro-badge strong {
    display:block;
    margin-bottom:2px;
    color:#fff;
    font-size:.75rem
}

.home-large-copy {
    margin:20px 0 25px;
    color:#64706c;
    font-size:.93rem;
    line-height:1.85
}

.home-feature-list {
    display:grid;
    gap:17px;
    margin-bottom:28px
}

.home-feature-list>div {
    display:grid;
    grid-template-columns:42px 1fr;
    gap:13px
}

.home-feature-list i {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#edf2ef;
    color:#1e5146;
    font-size:1rem
}

.home-feature-list span {
    color:#6c7673;
    font-size:.76rem;
    line-height:1.58
}

.home-feature-list strong {
    display:block;
    margin-bottom:3px;
    color:#1c3d36;
    font-size:.83rem
}

.home-process-section {
    position:relative;
    overflow:hidden;
    background:#123a32;
    color:#fff
}

.home-process-section:before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% -15%,rgba(221,199,156,.12),transparent 38%)
}

.home-process-section .home-section-heading {
    position:relative;
    max-width:700px
}

.home-process-section h2 {
    color:#fff
}

.home-process-section .home-section-heading p {
    margin-top:15px;
    color:rgba(255,255,255,.67)
}

.home-process-grid {
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,255,255,.10)
}

.home-process-grid article {
    position:relative;
    min-height:245px;
    padding:30px;
    background:#123a32
}

.home-process-grid article:nth-child(even) {
    background:#153f36
}

.home-process-grid article>span {
    position:absolute;
    right:22px;
    top:18px;
    color:rgba(255,255,255,.09);
    font-size:2.6rem;
    font-weight:850
}

.home-process-grid article>i {
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:rgba(255,255,255,.08);
    color:#dec89e;
    font-size:1.1rem
}

.home-process-grid h3 {
    margin:22px 0 9px;
    color:#fff;
    font-size:1rem;
    font-weight:750
}

.home-process-grid p {
    margin:0;
    color:rgba(255,255,255,.62);
    font-size:.75rem;
    line-height:1.7
}

.home-standards-section {
    background:#f8f7f3
}

.home-standard-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}

.home-standard-grid article {
    min-height:260px;
    padding:25px;
    border:1px solid #e0e4df;
    border-radius:15px;
    background:#fff
}

.home-standard-icon {
    width:47px;
    height:47px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#edf2ef;
    color:#1d5045;
    font-size:1.1rem
}

.home-standard-grid h3 {
    margin:20px 0 9px;
    color:#1b3d36;
    font-size:.94rem;
    font-weight:760
}

.home-standard-grid p {
    margin:0;
    color:#6d7774;
    font-size:.74rem;
    line-height:1.72
}

.home-dashboard-section {
    background:#fff
}

.home-dashboard-panel {
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);
    gap:55px;
    align-items:center;
    padding:52px;
    border-radius:22px;
    background:#153d35;
    color:#fff;
    box-shadow:0 26px 60px rgba(20,55,47,.13)
}

.home-dashboard-copy h2 {
    color:#fff
}

.home-dashboard-copy>p {
    margin:17px 0;
    color:rgba(255,255,255,.67);
    font-size:.84rem;
    line-height:1.75
}

.home-dashboard-copy ul {
    display:grid;
    gap:10px;
    margin:22px 0 0;
    padding:0;
    list-style:none
}

.home-dashboard-copy li {
    display:flex;
    align-items:center;
    gap:9px;
    color:rgba(255,255,255,.77);
    font-size:.75rem
}

.home-dashboard-copy li i {
    color:#ddc89d
}

.home-dashboard-preview {
    padding:24px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:17px;
    background:#fff;
    color:#17221f;
    box-shadow:0 22px 50px rgba(5,24,20,.24)
}

.home-preview-top {
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding-bottom:16px;
    border-bottom:1px solid #e8ebe7
}

.home-preview-top small,.home-preview-property small,.home-preview-details small {
    display:block;
    color:#84908c;
    font-size:.62rem
}

.home-preview-top strong {
    display:block;
    margin-top:2px;
    color:#a3772d;
    font-size:.82rem
}

.home-preview-top>span {
    color:#64706c;
    font-size:.66rem;
    font-weight:800
}

.home-preview-property {
    display:grid;
    grid-template-columns:85px 1fr;
    gap:15px;
    align-items:center;
    padding:18px 0
}

.home-preview-image {
    width:85px;
    height:70px;
    overflow:hidden;
    border-radius:10px
}

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

.home-preview-property h3 {
    margin:3px 0;
    color:#193e36;
    font-size:.91rem
}

.home-preview-property p {
    margin:0;
    color:#76817d;
    font-size:.65rem
}

.home-preview-details {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    border:1px solid #e3e7e2;
    border-radius:11px;
    overflow:hidden;
    background:#e3e7e2
}

.home-preview-details>div {
    padding:13px;
    background:#f9faf8
}

.home-preview-details strong {
    display:block;
    margin-top:3px;
    color:#1b3d36;
    font-size:.72rem
}

.home-preview-note {
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:15px;
    padding:12px;
    border-radius:9px;
    background:#edf3f0;
    color:#557068;
    font-size:.66rem;
    line-height:1.5
}

.home-preview-note i {
    color:#1f5146
}

.home-help-section {
    background:#f6f4ee
}

.home-help-grid {
    display:grid;
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
    gap:70px
}

.home-help-copy p {
    margin:17px 0 0;
    color:#6c7673;
    font-size:.84rem;
    line-height:1.8
}

.home-help-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}

.home-help-list>div {
    display:grid;
    grid-template-columns:40px 1fr;
    gap:13px;
    padding:19px;
    border:1px solid #dfe3de;
    border-radius:13px;
    background:#fff
}

.home-help-list>div>span {
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#153d35;
    color:#dcc69c;
    font-size:.7rem;
    font-weight:850
}

.home-help-list p {
    margin:0;
    color:#707a76;
    font-size:.71rem;
    line-height:1.58
}

.home-help-list strong {
    display:block;
    margin-bottom:3px;
    color:#1b3e36;
    font-size:.78rem
}

.home-final-cta {
    padding-top:0;
    background:#f6f4ee
}

.home-final-panel {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
    padding:43px 47px;
    border-radius:19px;
    background:linear-gradient(135deg,#123a32,#0c2e28);
    color:#fff
}

.home-final-panel h2 {
    max-width:700px;
    color:#fff;
    font-size:clamp(1.8rem,3vw,2.65rem)
}

.home-final-panel p {
    margin:11px 0 0;
    color:rgba(255,255,255,.66);
    font-size:.8rem
}

.home-final-actions {
    flex-shrink:0;
    margin-top:0
}

@media(max-width:1100px) {
    .home-hero-grid {
        gap:38px
    }

    .home-property-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .home-standard-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .home-dashboard-panel {
        grid-template-columns:1fr;
        gap:35px
    }

    .home-dashboard-preview {
        max-width:680px
    }

    .home-intro-grid {
        gap:45px
    }
}

@media(max-width:991.98px) {
    .home-v19 {
        padding-top:70px
    }

    .home-hero {
        padding:58px 0
    }

    .home-hero-grid {
        grid-template-columns:1fr
    }

    .home-hero-copy {
        max-width:780px
    }

    .home-hero-card {
        max-width:700px
    }

    .home-stat-grid {
        grid-template-columns:1fr 1fr
    }

    .home-stat-grid>div:nth-child(3) {
        border-left:1px solid #e6e9e4
    }

    .home-section {
        padding:70px 0
    }

    .home-section-heading-split,.home-intro-grid,.home-help-grid {
        grid-template-columns:1fr;
        gap:28px
    }

    .home-intro-media {
        max-width:700px
    }

    .home-process-grid {
        grid-template-columns:1fr 1fr
    }

    .home-final-panel {
        align-items:flex-start;
        flex-direction:column
    }

    .home-final-actions {
        margin-top:0
    }
}

@media(max-width:767.98px) {
    .home-hero h1 {
        font-size:2.75rem
    }

    .home-property-grid {
        grid-template-columns:1fr
    }

    .home-property-media {
        height:260px
    }

    .home-intro-media {
        min-height:470px
    }

    .home-intro-main {
        height:420px
    }

    .home-intro-small {
        height:205px
    }

    .home-process-grid {
        grid-template-columns:1fr
    }

    .home-standard-grid {
        grid-template-columns:1fr 1fr
    }

    .home-help-list {
        grid-template-columns:1fr
    }

    .home-dashboard-panel {
        padding:30px
    }

    .home-final-panel {
        padding:31px
    }

    .home-section-heading-split {
        gap:16px
    }
}

@media(max-width:575.98px) {
    .home-hero {
        padding:45px 0
    }

    .home-hero h1 {
        font-size:2.25rem
    }

    .home-hero-lead {
        font-size:.91rem
    }

    .home-hero-actions .home-btn,.home-dashboard-actions .home-btn,.home-final-actions .home-btn {
        width:100%
    }

    .home-hero-card {
        padding:21px
    }

    .home-search-form {
        grid-template-columns:1fr
    }

    .home-search-wide,.home-search-submit {
        grid-column:auto
    }

    .home-stat-grid {
        grid-template-columns:1fr 1fr
    }

    .home-stat-grid>div {
        min-height:90px;
        padding:16px
    }

    .home-stat-grid strong {
        font-size:1.35rem
    }

    .home-section {
        padding:56px 0
    }

    .home-section-heading h2,.home-intro-copy h2,.home-dashboard-copy h2,.home-help-copy h2,.home-final-panel h2 {
        font-size:2rem
    }

    .home-property-media {
        height:220px
    }

    .home-intro-media {
        min-height:390px
    }

    .home-intro-main {
        width:92%;
        height:355px
    }

    .home-intro-small {
        width:47%;
        height:170px;
        border-width:7px
    }

    .home-intro-badge {
        left:12px;
        bottom:12px;
        max-width:255px
    }

    .home-standard-grid {
        grid-template-columns:1fr
    }

    .home-standard-grid article {
        min-height:auto
    }

    .home-dashboard-panel {
        padding:22px;
        border-radius:16px
    }

    .home-dashboard-preview {
        padding:16px
    }

    .home-preview-property {
        grid-template-columns:68px 1fr
    }

    .home-preview-image {
        width:68px;
        height:60px
    }

    .home-preview-details {
        grid-template-columns:1fr
    }

    .home-final-panel {
        padding:25px 20px
    }

    .home-final-actions {
        width:100%
    }
}

/* Real-estate agency content sections */
.home-services-section {
    background:#fff
}

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

.home-services-grid article {
    min-height:250px;
    padding:27px;
    border:1px solid #dfe4df;
    border-radius:15px;
    background:#f9faf8;
    transition:transform .2s ease,box-shadow .2s ease
}

.home-services-grid article:hover {
    transform:translateY(-3px);
    box-shadow:0 18px 38px rgba(19,58,50,.09)
}

.home-services-grid article>i {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#153d35;
    color:#dec89e;
    font-size:1.12rem
}

.home-services-grid h3 {
    margin:22px 0 9px;
    color:#193e36;
    font-size:.96rem;
    font-weight:780
}

.home-services-grid p {
    margin:0;
    color:#697571;
    font-size:.75rem;
    line-height:1.72
}

.home-relocation-section {
    background:#fff
}

.home-relocation-panel {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);
    overflow:hidden;
    border:1px solid #dfe4df;
    border-radius:20px;
    background:#f7f5ef
}

.home-relocation-copy {
    padding:54px
}

.home-relocation-copy h2 {
    margin-top:11px;
    color:#173d35;
    font-size:clamp(2rem,3vw,2.8rem);
    line-height:1.12
}

.home-relocation-copy>p {
    margin:18px 0;
    color:#697571;
    font-size:.84rem;
    line-height:1.8
}

.home-relocation-copy ul {
    display:grid;
    gap:11px;
    margin:0 0 27px;
    padding:0;
    list-style:none
}

.home-relocation-copy li {
    display:flex;
    gap:9px;
    color:#3f514b;
    font-size:.75rem
}

.home-relocation-copy li i {
    color:#9e7d43
}

.home-relocation-media {
    min-height:470px
}

.home-relocation-media img {
    width:100%;
    height:100%;
    object-fit:cover
}

.home-faq-section {
    background:#f6f4ee
}

.home-faq-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
    max-width:1060px;
    margin:0 auto
}

.home-faq-grid details {
    padding:0 20px;
    border:1px solid #dfe3de;
    border-radius:13px;
    background:#fff
}

.home-faq-grid summary {
    position:relative;
    padding:19px 28px 19px 0;
    color:#193e36;
    font-size:.79rem;
    font-weight:780;
    cursor:pointer;
    list-style:none
}

.home-faq-grid summary::-webkit-details-marker {
    display:none
}

.home-faq-grid summary:after {
    content:"+";
    position:absolute;
    right:0;
    top:16px;
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#edf2ef;
    color:#1c5045;
    font-size:1rem
}

.home-faq-grid details[open] summary:after {
    content:"−"
}

.home-faq-grid p {
    margin:0;
    padding:0 0 18px;
    color:#6b7672;
    font-size:.72rem;
    line-height:1.7
}

.home-faq-grid details[open] {
    border-color:#cfd9d3;
    box-shadow:0 10px 26px rgba(20,55,47,.06)
}

@media(max-width:991.98px) {
    .home-services-grid {
        grid-template-columns:1fr 1fr
    }

    .home-relocation-panel {
        grid-template-columns:1fr
    }

    .home-relocation-media {
        min-height:360px
    }

    .home-faq-grid {
        grid-template-columns:1fr
    }
}

@media(max-width:575.98px) {
    .home-services-grid {
        grid-template-columns:1fr
    }

    .home-services-grid article {
        min-height:auto
    }

    .home-relocation-copy {
        padding:28px 22px
    }

    .home-relocation-media {
        min-height:260px
    }

    .home-faq-grid details {
        padding:0 16px
    }
}

/* Properties page — premium long-term rental portfolio */
.properties-v19 {
    padding-top:76px;
    background:#f8f7f3;
    color:#17221f
}

.properties-container {
    max-width:1180px
}

.properties-hero {
    position:relative;
    overflow:hidden;
    padding:74px 0 94px;
    background:linear-gradient(130deg,#123a32 0%,#17483e 58%,#0e3029 100%);
    color:#fff
}

.properties-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 82% 18%,rgba(218,196,151,.15),transparent 30%)
}

.properties-hero:after {
    content:"";
    position:absolute;
    width:470px;
    height:470px;
    right:-170px;
    bottom:-315px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%
}

.properties-hero-grid {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);
    gap:70px;
    align-items:center
}

.properties-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#dec99f;
    font-size:.69rem;
    font-weight:850;
    letter-spacing:.14em;
    text-transform:uppercase
}

.properties-eyebrow-dark {
    color:#8c6b36
}

.properties-hero h1 {
    max-width:760px;
    margin:16px 0 18px;
    color:#fff;
    font-size:clamp(2.65rem,5vw,4.65rem);
    font-weight:780;
    letter-spacing:-.055em;
    line-height:1.02
}

.properties-hero-copy>p {
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:.94rem;
    line-height:1.8
}

.properties-hero-links {
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:28px
}

.properties-btn {
    min-height:45px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:11px 20px;
    border:1px solid transparent;
    border-radius:11px;
    text-decoration:none;
    font-size:.78rem;
    font-weight:800;
    transition:.2s ease
}

.properties-btn-gold {
    background:linear-gradient(135deg,#e4d3ae,#c5a468);
    color:#173d35
}

.properties-btn-gold:hover {
    color:#102f29;
    transform:translateY(-1px);
    box-shadow:0 12px 28px rgba(5,25,21,.2)
}

.properties-btn-ghost {
    border-color:rgba(255,255,255,.2);
    background:rgba(255,255,255,.06);
    color:#fff
}

.properties-btn-ghost:hover {
    border-color:rgba(255,255,255,.36);
    background:rgba(255,255,255,.1);
    color:#fff
}

.properties-btn-primary {
    background:#153d35;
    color:#fff
}

.properties-btn-primary:hover {
    background:#1f5146;
    color:#fff
}

.properties-btn-outline {
    border-color:#cad4cf;
    background:#fff;
    color:#153d35
}

.properties-btn-outline:hover {
    border-color:#153d35;
    color:#153d35
}

.properties-hero-summary {
    padding:26px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.08);
    box-shadow:0 22px 55px rgba(2,20,16,.16);
    backdrop-filter:blur(9px)
}

.properties-summary-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:rgba(255,255,255,.6);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase
}

.properties-summary-top i {
    color:#dec99f;
    font-size:1.05rem
}

.properties-summary-number {
    margin-top:19px;
    color:#fff;
    font-size:3rem;
    font-weight:800;
    letter-spacing:-.06em;
    line-height:1
}

.properties-hero-summary>strong {
    display:block;
    margin-top:5px;
    color:rgba(255,255,255,.78);
    font-size:.83rem
}

.properties-summary-facts {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    margin-top:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:11px;
    background:rgba(255,255,255,.12)
}

.properties-summary-facts>div {
    padding:13px 10px;
    background:rgba(18,58,50,.82)
}

.properties-summary-facts span {
    display:block;
    color:#fff;
    font-size:.8rem;
    font-weight:800
}

.properties-summary-facts small {
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.5);
    font-size:.58rem;
    text-transform:uppercase;
    letter-spacing:.06em
}

.properties-search-wrap {
    position:relative;
    z-index:3;
    margin-top:-42px
}

.properties-search-card {
    padding:21px;
    border:1px solid #dfe4df;
    border-radius:17px;
    background:#fff;
    box-shadow:0 22px 50px rgba(22,57,49,.11)
}

.properties-search-main {
    display:grid;
    grid-template-columns:minmax(260px,1.6fr) minmax(160px,.75fr) minmax(150px,.65fr) 165px;
    gap:12px;
    align-items:end
}

.properties-search-field label,.properties-mini-field label {
    display:block;
    margin-bottom:7px;
    color:#65726e;
    font-size:.61rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase
}

.properties-input-wrap {
    position:relative
}

.properties-input-wrap i {
    position:absolute;
    left:14px;
    top:50%;
    z-index:1;
    transform:translateY(-50%);
    color:#9a7a46;
    font-size:.86rem
}

.properties-input-wrap input,.properties-mini-field input,.properties-mini-field select,.properties-sort-form select {
    width:100%;
    height:47px;
    border:1px solid #d6ddda;
    border-radius:10px;
    background:#fbfcfa;
    color:#20352f;
    font-size:.76rem;
    outline:0
}

.properties-input-wrap input {
    padding:0 13px 0 39px
}

.properties-mini-field input,.properties-mini-field select {
    padding:0 12px
}

.properties-input-wrap input:focus,.properties-mini-field input:focus,.properties-mini-field select:focus,.properties-sort-form select:focus {
    border-color:#537b70;
    box-shadow:0 0 0 3px rgba(43,103,90,.09)
}

.properties-search-button {
    height:47px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    border-radius:10px;
    background:#153d35;
    color:#fff;
    font-size:.75rem;
    font-weight:800;
    transition:.2s
}

.properties-search-button:hover {
    background:#1f5146;
    transform:translateY(-1px)
}

.properties-search-more {
    display:grid;
    grid-template-columns:145px 130px 130px 1fr;
    gap:12px;
    align-items:end;
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid #edf0ed
}

.properties-mini-field input,.properties-mini-field select {
    height:41px
}

.properties-search-note {
    height:41px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    color:#71807b;
    font-size:.66rem
}

.properties-search-note i {
    color:#997945
}

.properties-results-section {
    padding:68px 0 76px
}

.properties-results-head {
    display:flex;
    justify-content:space-between;
    gap:35px;
    align-items:end;
    margin-bottom:27px
}

.properties-results-head h2 {
    margin:8px 0 7px;
    color:#173d35;
    font-size:clamp(1.9rem,3vw,2.75rem);
    font-weight:770;
    letter-spacing:-.045em
}

.properties-results-head p {
    margin:0;
    color:#707b77;
    font-size:.76rem
}

.properties-toolbar {
    display:flex;
    align-items:center;
    gap:10px
}

.properties-reset {
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#78613c;
    text-decoration:none;
    font-size:.68rem;
    font-weight:750
}

.properties-sort-form {
    display:flex;
    align-items:center;
    gap:8px
}

.properties-sort-form label {
    color:#75817d;
    font-size:.64rem;
    white-space:nowrap
}

.properties-sort-form select {
    height:39px;
    min-width:165px;
    padding:0 33px 0 11px;
    background-color:#fff
}

.properties-view-switch {
    display:flex;
    padding:3px;
    border:1px solid #d9dfdc;
    border-radius:9px;
    background:#fff
}

.properties-view-switch a {
    width:32px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:7px;
    color:#74817d;
    font-size:.78rem
}

.properties-view-switch a.active {
    background:#153d35;
    color:#fff
}

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

.properties-card {
    min-width:0;
    overflow:hidden;
    border:1px solid #dfe4df;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 32px rgba(22,58,50,.065);
    transition:transform .22s ease,box-shadow .22s ease
}

.properties-card:hover {
    transform:translateY(-4px);
    box-shadow:0 22px 45px rgba(22,58,50,.11)
}

.properties-card-media {
    position:relative;
    height:225px;
    overflow:hidden;
    background:#e9ece9
}

.properties-card-media>a:first-child {
    display:block;
    width:100%;
    height:100%
}

.properties-card-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease
}

.properties-card:hover .properties-card-media img {
    transform:scale(1.035)
}

.properties-card-badges {
    position:absolute;
    left:13px;
    top:13px;
    display:flex;
    flex-wrap:wrap;
    gap:6px
}

.properties-card-badges span {
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:7px 9px;
    border-radius:99px;
    box-shadow:0 5px 15px rgba(12,35,29,.11);
    font-size:.59rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.04em
}

.properties-availability {
    background:#fff;
    color:#1b5145
}

.properties-availability i {
    color:#4d8a68
}

.properties-photo-count {
    background:rgba(17,48,41,.85);
    color:#fff
}

.properties-save-form {
    position:absolute;
    right:13px;
    top:13px;
    margin:0
}

.properties-save-button {
    position:absolute;
    right:13px;
    top:13px;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.55);
    border-radius:50%;
    background:rgba(255,255,255,.93);
    color:#153d35;
    text-decoration:none;
    box-shadow:0 5px 15px rgba(12,35,29,.13);
    transition:.2s
}

.properties-save-form .properties-save-button {
    position:static
}

.properties-save-button:hover,.properties-save-button.saved {
    background:#153d35;
    color:#fff
}

.properties-card-content {
    display:flex;
    flex-direction:column;
    min-height:340px;
    padding:21px
}

.properties-card-location {
    color:#92723f;
    font-size:.63rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.055em
}

.properties-card-location i {
    margin-right:3px
}

.properties-card h3 {
    margin:8px 0 5px;
    font-size:1.02rem;
    font-weight:780;
    line-height:1.3
}

.properties-card h3 a {
    color:#183d35;
    text-decoration:none
}

.properties-card h3 a:hover {
    color:#84652f
}

.properties-card-address {
    min-height:37px;
    margin:0;
    color:#75807c;
    font-size:.68rem;
    line-height:1.5
}

.properties-card-description {
    margin:12px 0 0;
    color:#65716d;
    font-size:.7rem;
    line-height:1.65
}

.properties-card-facts {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px 12px;
    margin:17px 0;
    padding:15px 0;
    border-top:1px solid #ebeeeb;
    border-bottom:1px solid #ebeeeb
}

.properties-card-facts span {
    display:flex;
    align-items:center;
    gap:6px;
    color:#6c7773;
    font-size:.65rem
}

.properties-card-facts i {
    color:#9d7b43
}

.properties-card-facts strong {
    color:#243c35;
    font-size:.67rem
}

.properties-card-bottom {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:14px;
    margin-top:auto
}

.properties-rent small {
    display:block;
    color:#858f8b;
    font-size:.58rem;
    text-transform:uppercase;
    letter-spacing:.06em
}

.properties-rent strong {
    display:block;
    margin-top:2px;
    color:#153d35;
    font-size:1.13rem;
    letter-spacing:-.025em
}

.properties-rent span {
    display:block;
    margin-top:2px;
    color:#818b87;
    font-size:.57rem
}

.properties-view-button {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 11px;
    border-radius:9px;
    background:#edf3f0;
    color:#153d35;
    text-decoration:none;
    font-size:.65rem;
    font-weight:800
}

.properties-view-button:hover {
    background:#153d35;
    color:#fff
}

.properties-list-view {
    grid-template-columns:1fr
}

.properties-list-view .properties-card {
    display:grid;
    grid-template-columns:360px 1fr
}

.properties-list-view .properties-card-media {
    height:100%;
    min-height:305px
}

.properties-list-view .properties-card-content {
    min-height:305px;
    padding:27px
}

.properties-list-view .properties-card-description {
    max-width:680px
}

.properties-list-view .properties-card-facts {
    display:flex;
    gap:25px
}

.properties-empty {
    padding:65px 25px;
    border:1px solid #dfe4df;
    border-radius:18px;
    background:#fff;
    text-align:center
}

.properties-empty>span {
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin:0 auto 18px;
    border-radius:15px;
    background:#edf3f0;
    color:#153d35;
    font-size:1.35rem
}

.properties-empty h3 {
    color:#173d35;
    font-size:1.25rem
}

.properties-empty p {
    max-width:590px;
    margin:10px auto 23px;
    color:#717d79;
    font-size:.77rem;
    line-height:1.7
}

.properties-empty>div {
    display:flex;
    justify-content:center;
    gap:10px
}

.properties-pagination {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:34px;
    padding-top:25px;
    border-top:1px solid #dde3df
}

.properties-pagination>div {
    display:flex;
    gap:5px
}

.properties-pagination>div a {
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border:1px solid #d8dfdc;
    border-radius:9px;
    background:#fff;
    color:#60706b;
    text-decoration:none;
    font-size:.7rem;
    font-weight:750
}

.properties-pagination>div a.active {
    border-color:#153d35;
    background:#153d35;
    color:#fff
}

.properties-page-arrow {
    display:flex;
    align-items:center;
    gap:7px;
    color:#153d35;
    text-decoration:none;
    font-size:.69rem;
    font-weight:780
}

.properties-page-arrow.disabled {
    pointer-events:none;
    opacity:.35
}

.properties-guidance-section {
    padding:76px 0;
    background:#fff
}

.properties-guidance-head {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(360px,.7fr);
    gap:70px;
    align-items:end;
    margin-bottom:31px
}

.properties-guidance-head h2 {
    margin:9px 0 0;
    color:#173d35;
    font-size:clamp(2rem,3.5vw,3rem);
    font-weight:770;
    letter-spacing:-.045em;
    line-height:1.08
}

.properties-guidance-head>p {
    margin:0;
    color:#6c7874;
    font-size:.78rem;
    line-height:1.8
}

.properties-guidance-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px
}

.properties-guidance-grid article {
    min-height:255px;
    padding:25px;
    border:1px solid #dfe4df;
    border-radius:15px;
    background:#fafbf9
}

.properties-guidance-grid article>i {
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#153d35;
    color:#dec89f;
    font-size:1.05rem
}

.properties-guidance-grid h3 {
    margin:21px 0 9px;
    color:#193e36;
    font-size:.89rem;
    font-weight:780
}

.properties-guidance-grid p {
    margin:0;
    color:#6e7975;
    font-size:.7rem;
    line-height:1.72
}

.properties-relocation-section {
    padding:0 0 78px;
    background:#fff
}

.properties-relocation-panel {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    padding:46px 49px;
    border-radius:19px;
    background:linear-gradient(135deg,#143d35,#0d3029);
    color:#fff
}

.properties-relocation-panel>div:first-child {
    max-width:760px
}

.properties-relocation-panel h2 {
    margin:12px 0 14px;
    color:#fff;
    font-size:clamp(1.9rem,3vw,2.65rem);
    font-weight:760;
    letter-spacing:-.04em
}

.properties-relocation-panel p {
    margin:0;
    color:rgba(255,255,255,.67);
    font-size:.76rem;
    line-height:1.8
}

.properties-relocation-points {
    display:flex;
    flex-wrap:wrap;
    gap:14px 22px;
    margin-top:19px
}

.properties-relocation-points span {
    display:flex;
    gap:6px;
    color:rgba(255,255,255,.78);
    font-size:.67rem
}

.properties-relocation-points i {
    color:#dec99f
}

.properties-relocation-actions {
    display:grid;
    gap:9px;
    min-width:178px
}

@media(max-width:1050px) {
    .properties-listings {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .properties-guidance-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .properties-hero-grid {
        gap:40px
    }
}

@media(max-width:991.98px) {
    .properties-v19 {
        padding-top:70px
    }

    .properties-hero {
        padding:58px 0 82px
    }

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

    .properties-hero-summary {
        max-width:580px
    }

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

    .properties-search-location {
        grid-column:span 2
    }

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

    .properties-search-note {
        grid-column:span 3;
        justify-content:flex-start
    }

    .properties-results-head,.properties-guidance-head {
        align-items:flex-start;
        grid-template-columns:1fr;
        flex-direction:column
    }

    .properties-results-head {
        display:flex
    }

    .properties-toolbar {
        width:100%;
        justify-content:flex-end
    }

    .properties-list-view .properties-card {
        grid-template-columns:285px 1fr
    }

    .properties-guidance-head {
        gap:18px
    }

    .properties-relocation-panel {
        align-items:flex-start;
        flex-direction:column
    }

    .properties-relocation-actions {
        display:flex;
        min-width:0
    }
}

@media(max-width:767.98px) {
    .properties-listings {
        grid-template-columns:1fr
    }

    .properties-card-media {
        height:255px
    }

    .properties-list-view .properties-card {
        display:block
    }

    .properties-list-view .properties-card-media {
        height:255px;
        min-height:0
    }

    .properties-toolbar {
        flex-wrap:wrap;
        justify-content:flex-start
    }

    .properties-results-head {
        align-items:flex-start
    }

    .properties-guidance-grid {
        grid-template-columns:1fr 1fr
    }

    .properties-relocation-panel {
        padding:34px
    }

    .properties-card-content {
        min-height:320px
    }
}

@media(max-width:575.98px) {
    .properties-hero {
        padding:45px 0 76px
    }

    .properties-hero h1 {
        font-size:2.35rem
    }

    .properties-hero-links .properties-btn {
        width:100%
    }

    .properties-summary-facts {
        grid-template-columns:1fr 1fr
    }

    .properties-summary-facts>div:last-child {
        grid-column:span 2
    }

    .properties-search-card {
        padding:16px
    }

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

    .properties-search-location {
        grid-column:auto
    }

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

    .properties-search-note {
        grid-column:span 2;
        height:auto;
        justify-content:flex-start;
        padding-top:5px
    }

    .properties-results-section {
        padding:56px 0
    }

    .properties-toolbar {
        display:grid;
        grid-template-columns:1fr auto;
        width:100%
    }

    .properties-reset {
        grid-column:span 2
    }

    .properties-sort-form {
        justify-content:space-between
    }

    .properties-sort-form select {
        min-width:150px
    }

    .properties-card-media {
        height:220px
    }

    .properties-guidance-section {
        padding:58px 0
    }

    .properties-guidance-grid {
        grid-template-columns:1fr
    }

    .properties-guidance-grid article {
        min-height:auto
    }

    .properties-relocation-panel {
        padding:28px 21px
    }

    .properties-relocation-actions {
        width:100%;
        display:grid
    }

    .properties-pagination span {
        display:none
    }

    .properties-empty>div {
        flex-direction:column;
        align-items:stretch
    }

    .properties-card-facts {
        gap:8px
    }

    .properties-relocation-points {
        display:grid
    }

    .properties-results-head h2 {
        font-size:2rem
    }
}

/* =========================================================
   V19 PUBLIC LAYOUT UNIFORMITY
   Header and first hero must form one continuous visual block.
========================================================= */
#main {
    margin: 0;
    padding: 0;
}

.site-navbar {
    margin-bottom: 0 !important;
}

.home-v19, .properties-v19, .v19-page {
    padding-top: 0 !important;
}

/* The fixed navigation is compensated inside the hero, not with a blank page gap. */
.properties-v19 > .properties-hero {
    padding-top: 150px;
}

.v19-page > .v19-hero {
    padding-top: 140px;
}

/* Shared public design rhythm. */
.home-v19, .properties-v19, .v19-page {
    --public-section-space: 76px;
    --public-card-radius: 18px;
    --public-card-shadow: 0 18px 44px rgba(27, 58, 50, .09);
}

@media (max-width: 991.98px) {
    .properties-v19,   .home-v19,   .v19-page {
        padding-top: 0 !important;
    }

    .properties-v19 > .properties-hero {
        padding-top: 128px;
    }

    .v19-page > .v19-hero {
        padding-top: 120px;
    }
}

@media (max-width: 575.98px) {
    .properties-v19 > .properties-hero {
        padding-top: 112px;
    }

    .v19-page > .v19-hero {
        padding-top: 108px;
    }
}

/* ==========================================================
   V19 UNIFIED PUBLIC HERO SPACING
   The hero background begins immediately below/behind the fixed header,
   while the first visible hero text keeps one consistent breathing space.
   ========================================================== */
:root {
    --v19-header-height: 76px;
    --v19-hero-content-gap: 52px;
    --v19-hero-content-top: calc(var(--v19-header-height) + var(--v19-hero-content-gap));
}

.home-v19 > .home-hero, .properties-v19 > .properties-hero, .v19-page > .v19-hero {
    padding-top: var(--v19-hero-content-top) !important;
}

.home-hero-copy, .properties-hero-copy, .v19-hero-grid > :first-child {
    align-self: start;
}

@media (max-width: 991.98px) {
    :root {
        --v19-header-height: 70px;
        --v19-hero-content-gap: 46px;
    }
}

@media (max-width: 575.98px) {
    :root {
        --v19-header-height: 70px;
        --v19-hero-content-gap: 38px;
    }
}

/* ==========================================================
   V19 FINAL UNIFIED HERO ORIGIN
   One live header measurement and one content gap are used by
   Home, Properties and every future public hero.
   ========================================================== */
:root {
    --v19-live-header-height: 76px;
    --v19-unified-hero-gap: 46px;
}

.home-v19, .properties-v19, .v19-page {
    padding-top: 0 !important;
}

.v19-unified-hero {
    box-sizing: border-box;
    margin-top: 0 !important;
    padding-top: calc(var(--v19-live-header-height) + var(--v19-unified-hero-gap)) !important;
}

.v19-unified-hero .v19-unified-hero-copy {
    position: relative;
    z-index: 2;
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.v19-unified-hero .v19-unified-hero-eyebrow {
    position: relative;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    margin-top: 0 !important;
}

@media (max-width: 991.98px) {
    :root {
        --v19-unified-hero-gap: 40px;
    }

    .v19-unified-hero {
        padding-top: calc(var(--v19-live-header-height) + var(--v19-unified-hero-gap)) !important;
    }
}

@media (max-width: 575.98px) {
    :root {
        --v19-unified-hero-gap: 30px;
    }

    .v19-unified-hero {
        min-height: auto !important;
        padding-top: calc(var(--v19-live-header-height) + var(--v19-unified-hero-gap)) !important;
    }

    .v19-unified-hero .v19-unified-hero-copy {
        overflow: visible !important;
    }

    .v19-unified-hero .v19-unified-hero-eyebrow {
        max-width: 100%;
        white-space: normal;
        line-height: 1.45;
    }
}

/* Company legal metadata */
.site-footer-v19 .footer-legal-meta {
    display:inline-block;
    margin-top:4px;
    color:rgba(255,255,255,.44);
    font-size:.67rem;
    line-height:1.5;
}

/* =========================================================
   HOME 2026 - isolated homepage layout
   All text/background contrast is explicitly defined here.
========================================================= */
.home2026 {
    background:#fff;
    color:#182722;
    overflow:hidden
}

.home2026 * {
    box-sizing:border-box
}

.home2026 p,.home2026 h1,.home2026 h2,.home2026 h3,.home2026 blockquote {
    overflow-wrap:anywhere
}

.home2026-hero {
    position:relative;
    overflow:hidden;
    padding:0 0 76px!important;
    background:linear-gradient(135deg,#0d332b 0%,#123f35 56%,#0a2d26 100%);
    color:#fff
}

.home2026-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(2,18,14,.22),transparent 60%);
    pointer-events:none
}

.home2026-hero-glow {
    position:absolute;
    width:620px;
    height:620px;
    right:-220px;
    top:-260px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    box-shadow:0 0 0 110px rgba(255,255,255,.018),0 0 0 220px rgba(255,255,255,.012)
}

.home2026-hero-grid {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr);
    gap:68px;
    align-items:center
}

.home2026-hero-copy {
    max-width:750px
}

.home2026-eyebrow,.home2026-section-kicker {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#d9c49a;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase
}

.home2026-hero h1 {
    max-width:760px;
    margin:18px 0 22px;
    color:#fff;
    font-size:clamp(2.75rem,5.5vw,5.15rem);
    font-weight:760;
    letter-spacing:-.06em;
    line-height:1
}

.home2026-hero-copy>p {
    max-width:670px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:1rem;
    line-height:1.82
}

.home2026-actions {
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:29px
}

.home2026-btn {
    min-height:47px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:11px 20px;
    border:0;
    border-radius:10px;
    text-decoration:none;
    font-size:.8rem;
    font-weight:800;
    transition:.2s ease
}

.home2026-btn-gold {
    background:linear-gradient(135deg,#f0e2c4,#c8a565);
    color:#17382f!important;
    box-shadow:0 12px 28px rgba(2,20,15,.2)
}

.home2026-btn-gold:hover {
    transform:translateY(-2px);
    background:linear-gradient(135deg,#f8eed9,#d5b575);
    color:#102e27!important
}

.home2026-btn-outline {
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.045);
    color:#fff!important
}

.home2026-btn-outline:hover {
    background:rgba(255,255,255,.1);
    color:#fff!important
}

.home2026-btn-dark {
    background:#143d34;
    color:#fff!important
}

.home2026-trust {
    display:flex;
    flex-wrap:wrap;
    gap:14px 22px;
    margin-top:31px;
    padding-top:23px;
    border-top:1px solid rgba(255,255,255,.13)
}

.home2026-trust span {
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.73);
    font-size:.72rem;
    font-weight:650
}

.home2026-trust i {
    color:#dcc798
}

.home2026-search-card {
    padding:29px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:rgba(255,255,255,.085);
    box-shadow:0 28px 68px rgba(2,18,14,.23);
    backdrop-filter:blur(12px)
}

.home2026-search-kicker {
    color:#ddc89e;
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase
}

.home2026-search-card h2 {
    margin:8px 0 8px;
    color:#fff;
    font-size:1.52rem;
    font-weight:750;
    letter-spacing:-.035em
}

.home2026-search-card>p {
    margin:0 0 21px;
    color:rgba(255,255,255,.68);
    font-size:.79rem;
    line-height:1.6
}

.home2026-search-form {
    display:grid;
    gap:12px
}

.home2026-search-form label {
    display:block;
    margin-bottom:6px;
    color:rgba(255,255,255,.77);
    font-size:.67rem;
    font-weight:750
}

.home2026-search-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}

.home2026-field {
    height:48px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:10px;
    background:rgba(255,255,255,.1)
}

.home2026-field i {
    color:#dfca9f
}

.home2026-field input,.home2026-field select {
    width:100%;
    height:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font-size:.76rem
}

.home2026-field input::placeholder {
    color:rgba(255,255,255,.48)
}

.home2026-field select option {
    background:#fff;
    color:#17251f
}

.home2026-search-form button {
    min-height:49px;
    margin-top:2px;
    border:0;
    border-radius:10px;
    background:#fff;
    color:#173c33;
    font-size:.78rem;
    font-weight:850
}

.home2026-search-form button:hover {
    background:#f3e8d2
}

.home2026-section {
    padding:88px 0
}

.home2026-section-kicker {
    color:#9b7b43
}

.home2026-heading {
    max-width:760px;
    margin-bottom:36px
}

.home2026-heading-center {
    margin-right:auto;
    margin-left:auto;
    text-align:center
}

.home2026-heading h2,.home2026-about-copy h2 {
    margin:10px 0 0;
    color:#173b33;
    font-size:clamp(2rem,3.8vw,3.35rem);
    font-weight:760;
    letter-spacing:-.05em;
    line-height:1.08
}

.home2026-heading p {
    margin:15px 0 0;
    color:#65716d;
    font-size:.87rem;
    line-height:1.75
}

.home2026-heading-split {
    max-width:none;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);
    gap:62px;
    align-items:end
}

.home2026-heading-split>p,.home2026-heading-split>div:last-child p {
    margin:0;
    color:#65716d;
    font-size:.87rem;
    line-height:1.75
}

.home2026-text-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    color:#1b5145!important;
    text-decoration:none;
    font-size:.75rem;
    font-weight:850
}

.home2026-text-link:hover {
    color:#a8874e!important
}

.home2026-about {
    background:#fff
}

.home2026-about-grid {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1fr);
    gap:78px;
    align-items:center
}

.home2026-about-media {
    position:relative;
    min-height:535px
}

.home2026-about-media>img {
    width:88%;
    height:510px;
    object-fit:cover;
    border-radius:19px
}

.home2026-about-card {
    position:absolute;
    right:0;
    bottom:0;
    max-width:330px;
    display:flex;
    gap:14px;
    padding:20px;
    border-radius:15px;
    background:#143d34;
    color:#fff;
    box-shadow:0 20px 42px rgba(15,52,43,.22)
}

.home2026-about-card>i {
    color:#dcc697;
    font-size:1.3rem
}

.home2026-about-card strong {
    display:block;
    margin-bottom:4px;
    color:#fff;
    font-size:.78rem
}

.home2026-about-card span {
    display:block;
    color:rgba(255,255,255,.72);
    font-size:.69rem;
    line-height:1.55
}

.home2026-about-copy .home2026-lead {
    margin-top:20px;
    color:#3f514b;
    font-size:.94rem;
    line-height:1.82
}

.home2026-about-copy>p:not(.home2026-lead) {
    color:#697470;
    font-size:.82rem;
    line-height:1.8
}

.home2026-about-points {
    display:grid;
    gap:15px;
    margin-top:24px
}

.home2026-about-points>div {
    display:grid;
    grid-template-columns:25px 1fr;
    gap:10px
}

.home2026-about-points i {
    color:#a58246;
    font-size:1rem
}

.home2026-about-points span {
    color:#66716d;
    font-size:.74rem;
    line-height:1.55
}

.home2026-about-points strong {
    display:block;
    margin-bottom:2px;
    color:#1c3e36;
    font-size:.79rem
}

.home2026-process {
    background:#f5f3ed
}

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

.home2026-process-grid article {
    position:relative;
    min-height:235px;
    padding:27px;
    border:1px solid #dde3de;
    border-radius:15px;
    background:#fff;
    color:#192b25;
    box-shadow:0 13px 32px rgba(21,57,48,.045)
}

.home2026-process-grid article>span {
    position:absolute;
    top:21px;
    right:22px;
    color:#cab489;
    font-size:.67rem;
    font-weight:850;
    letter-spacing:.1em
}

.home2026-process-grid article>i {
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#153e35;
    color:#dfc99e;
    font-size:1.05rem
}

.home2026-process-grid h3 {
    margin:20px 0 8px;
    color:#173b33;
    font-size:.93rem;
    font-weight:780
}

.home2026-process-grid p {
    margin:0;
    color:#68736f;
    font-size:.74rem;
    line-height:1.7
}

.home2026-center-link {
    text-align:center
}

.home2026-testimonials {
    background:#123a32;
    color:#fff
}

.home2026-testimonials .home2026-section-kicker {
    color:#ddc89f
}

.home2026-testimonials .home2026-heading h2 {
    color:#fff
}

.home2026-testimonials .home2026-heading-split>p {
    color:rgba(255,255,255,.68)
}

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

.home2026-testimonial-grid article {
    display:flex;
    min-height:320px;
    flex-direction:column;
    padding:28px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:16px;
    background:rgba(255,255,255,.06);
    color:#fff
}

.home2026-stars {
    display:flex;
    gap:4px;
    color:#d9bd80;
    font-size:.73rem
}

.home2026-testimonial-grid blockquote {
    margin:22px 0 26px;
    color:rgba(255,255,255,.83);
    font-size:.84rem;
    line-height:1.8
}

.home2026-person {
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:auto
}

.home2026-person>span {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#ddc99f;
    color:#17392f;
    font-size:.7rem;
    font-weight:850
}

.home2026-person strong {
    display:block;
    color:#fff;
    font-size:.76rem
}

.home2026-person small {
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.58);
    font-size:.65rem
}

.home2026-properties {
    background:#f7f5ef
}

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

.home2026-property-card {
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #dfe3de;
    border-radius:17px;
    background:#fff;
    color:#182722;
    box-shadow:0 16px 38px rgba(24,58,49,.07);
    transition:.22s ease
}

.home2026-property-card:hover {
    transform:translateY(-4px);
    box-shadow:0 23px 48px rgba(24,58,49,.11)
}

.home2026-property-image {
    position:relative;
    height:235px;
    display:block;
    overflow:hidden;
    background:#e8ece8
}

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

.home2026-property-card:hover .home2026-property-image img {
    transform:scale(1.035)
}

.home2026-property-image>span {
    position:absolute;
    left:15px;
    top:15px;
    padding:7px 10px;
    border-radius:8px;
    background:#174b40;
    color:#fff;
    font-size:.62rem;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase
}

.home2026-property-body {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px
}

.home2026-property-body>small {
    display:flex;
    align-items:center;
    gap:6px;
    color:#927545;
    font-size:.65rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.06em
}

.home2026-property-body h3 {
    margin:9px 0 6px;
    font-size:1.08rem;
    font-weight:760;
    line-height:1.3
}

.home2026-property-body h3 a {
    color:#172b25!important;
    text-decoration:none
}

.home2026-property-body>p {
    min-height:38px;
    margin:0;
    color:#707a76;
    font-size:.73rem;
    line-height:1.55
}

.home2026-property-facts {
    display:flex;
    flex-wrap:wrap;
    gap:9px 14px;
    margin:17px 0;
    padding:14px 0;
    border-top:1px solid #edf0ec;
    border-bottom:1px solid #edf0ec
}

.home2026-property-facts span {
    display:flex;
    align-items:center;
    gap:6px;
    color:#64706b;
    font-size:.67rem;
    font-weight:650
}

.home2026-property-facts i {
    color:#9d7e48
}

.home2026-property-footer {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:auto
}

.home2026-property-footer small {
    display:block;
    color:#89928f;
    font-size:.62rem
}

.home2026-property-footer strong {
    display:block;
    color:#173d34;
    font-size:1.05rem
}

.home2026-property-footer>a {
    color:#1c5145!important;
    text-decoration:none;
    font-size:.68rem;
    font-weight:850
}

.home2026-empty {
    padding:48px 25px;
    text-align:center;
    border:1px solid #dfe3de;
    border-radius:18px;
    background:#fff;
    color:#172722
}

.home2026-empty i {
    color:#a8874e;
    font-size:2rem
}

.home2026-empty h3 {
    margin:13px 0 7px;
    color:#173b33
}

.home2026-empty p {
    color:#68736f
}

.home2026-cta {
    padding:70px 0;
    background:#fff
}

.home2026-cta-panel {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:42px 46px;
    border-radius:19px;
    background:#123a32;
    color:#fff;
    box-shadow:0 23px 55px rgba(15,52,43,.15)
}

.home2026-cta h2 {
    margin:9px 0 8px;
    color:#fff;
    font-size:clamp(1.8rem,3vw,2.7rem);
    font-weight:750;
    letter-spacing:-.045em
}

.home2026-cta p {
    max-width:700px;
    margin:0;
    color:rgba(255,255,255,.7);
    font-size:.82rem;
    line-height:1.7
}

.home2026-cta .home2026-actions {
    flex:0 0 auto;
    margin:0
}

@media(max-width:1100px) {
    .home2026-hero-grid {
        gap:42px
    }

    .home2026-about-grid {
        gap:50px
    }

    .home2026-property-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width:991.98px) {
    .home2026-hero {
        padding-bottom:64px!important
    }

    .home2026-hero-grid,.home2026-about-grid {
        grid-template-columns:1fr
    }

    .home2026-hero-copy {
        max-width:780px
    }

    .home2026-search-card {
        max-width:650px
    }

    .home2026-about-media {
        max-width:650px;
        min-height:500px
    }

    .home2026-about-media>img {
        height:475px
    }

    .home2026-process-grid,.home2026-testimonial-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .home2026-heading-split {
        grid-template-columns:1fr;
        gap:18px;
        align-items:start
    }

    .home2026-cta-panel {
        align-items:flex-start;
        flex-direction:column
    }

    .home2026-cta .home2026-actions {
        margin-top:4px
    }
}

@media(max-width:767.98px) {
    .home2026-section {
        padding:68px 0
    }

    .home2026-process-grid,.home2026-testimonial-grid,.home2026-property-grid {
        grid-template-columns:1fr
    }

    .home2026-testimonial-grid article {
        min-height:auto
    }

    .home2026-property-image {
        height:255px
    }

    .home2026-about-media {
        min-height:440px
    }

    .home2026-about-media>img {
        width:92%;
        height:420px
    }

    .home2026-about-card {
        max-width:300px
    }

    .home2026-cta {
        padding:55px 0
    }

    .home2026-cta-panel {
        padding:33px 28px
    }
}

@media(max-width:575.98px) {
    .home2026-hero {
        padding-bottom:52px!important
    }

    .home2026-hero h1 {
        font-size:2.6rem
    }

    .home2026-hero-copy>p {
        font-size:.91rem
    }

    .home2026-actions {
        display:grid
    }

    .home2026-actions .home2026-btn {
        width:100%
    }

    .home2026-trust {
        display:grid
    }

    .home2026-search-card {
        padding:20px
    }

    .home2026-search-row {
        grid-template-columns:1fr
    }

    .home2026-about-media {
        min-height:380px
    }

    .home2026-about-media>img {
        width:100%;
        height:330px
    }

    .home2026-about-card {
        left:12px;
        right:12px;
        bottom:0;
        max-width:none
    }

    .home2026-process-grid article {
        min-height:auto
    }

    .home2026-property-image {
        height:225px
    }

    .home2026-property-footer {
        align-items:flex-start;
        flex-direction:column
    }

    .home2026-cta-panel {
        padding:28px 21px
    }

    .home2026-cta .home2026-actions {
        width:100%
    }
}

/* Home 2026 international agency expansion */
.home2026-slider {
    position:relative;
    height:720px;
    overflow:hidden;
    background:#102f29;
    color:#fff
}

.home2026-slider-track,.home2026-slide {
    position:absolute;
    inset:0
}

.home2026-slide {
    opacity:0;
    visibility:hidden;
    background-size:cover;
    background-position:center;
    transition:opacity .8s ease,visibility .8s ease
}

.home2026-slide.is-active {
    opacity:1;
    visibility:visible
}

.home2026-slide-inner {
    height:100%;
    display:flex;
    align-items:center
}

.home2026-slide-copy {
    max-width:760px;
    padding:72px 0
}

.home2026-slide h1 {
    margin:18px 0 22px;
    color:#fff;
    font-size:clamp(3rem,6vw,5.8rem);
    line-height:.98;
    letter-spacing:-.06em
}

.home2026-slide p {
    max-width:650px;
    color:rgba(255,255,255,.82);
    font-size:1rem;
    line-height:1.8
}

.home2026-slider-arrow {
    position:absolute;
    z-index:5;
    top:50%;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    background:rgba(12,38,32,.45);
    color:#fff
}

.home2026-slider-arrow.prev {
    left:24px
}

.home2026-slider-arrow.next {
    right:24px
}

.home2026-slider-dots {
    position:absolute;
    z-index:5;
    left:50%;
    bottom:28px;
    display:flex;
    gap:8px;
    transform:translateX(-50%)
}

.home2026-slider-dots button {
    width:32px;
    height:4px;
    padding:0;
    border:0;
    background:rgba(255,255,255,.35)
}

.home2026-slider-dots button.is-active {
    background:#e2c98f
}

.home2026-services {
    background:#fff
}

.home2026-service-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}

.home2026-service-grid article {
    padding:26px;
    border:1px solid #e0e5e1;
    border-radius:16px;
    background:#f9faf8;
    color:#1b2c27
}

.home2026-service-grid i {
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#163f36;
    color:#dfc797;
    font-size:1.1rem
}

.home2026-service-grid h3 {
    margin:18px 0 8px;
    color:#173b33;
    font-size:.92rem
}

.home2026-service-grid p {
    margin:0;
    color:#697570;
    font-size:.74rem;
    line-height:1.65
}

.home2026-testimonial-window {
    overflow:hidden
}

.home2026-testimonial-track {
    display:flex;
    transition:transform .45s ease
}

.home2026-testimonial-track article {
    min-height:320px;
    margin-right:17px;
    box-sizing:border-box
}

.home2026-testimonial-controls {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    margin-top:26px
}

.home2026-testimonial-controls button {
    padding:10px 16px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:9px;
    background:transparent;
    color:#fff
}

.home2026-testimonial-controls span {
    color:rgba(255,255,255,.7);
    font-size:.75rem
}

@media(max-width:1100px) {
    .home2026-service-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .home2026-slider {
        height:650px
    }

    .home2026-slider-arrow {
        display:none
    }
}

@media(max-width:767px) {
    .home2026-slider {
        height:620px
    }

    .home2026-slide-copy {
        padding:45px 0
    }

    .home2026-slide h1 {
        font-size:2.75rem
    }

    .home2026-service-grid {
        grid-template-columns:1fr
    }

    .home2026-testimonial-track article {
        margin-right:12px
    }

    .home2026-slider-dots {
        bottom:18px
    }
}

/* Home 2026: final section and testimonial refinements */
.home2026-about, .home2026-services, .home2026-process, .home2026-testimonials, .home2026-properties {
    position: relative;
}

.home2026-services {
    background: #f7f6f1;
    border-top: 1px solid rgba(22, 63, 54, 0.08);
}

.home2026-process {
    background: #ffffff;
    border-top: 1px solid rgba(22, 63, 54, 0.08);
}

.home2026-testimonials {
    background: #123a32;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.home2026-testimonial-window {
    width: 100%;
    margin-top: 42px;
    overflow: hidden;
}

.home2026-testimonial-track {
    display: flex;
    gap: 18px;
    transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}

.home2026-testimonial-card {
    flex: 0 0 auto;
    min-width: 0;
    min-height: 270px;
    display: flex;
    flex-direction: column;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.065);
    color: #ffffff;
    box-shadow: 0 16px 38px rgba(4, 25, 20, 0.16);
}

.home2026-testimonial-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.home2026-testimonial-card .home2026-stars {
    display: flex;
    gap: 3px;
    color: #dfc483;
    font-size: 0.72rem;
}

.home2026-quote-icon {
    color: rgba(223, 196, 131, 0.34);
    font-size: 1.7rem;
    line-height: 1;
}

.home2026-testimonial-card blockquote {
    flex: 1;
    margin: 0 0 21px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.79rem;
    font-style: normal;
    line-height: 1.72;
}

.home2026-testimonial-card .home2026-person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.home2026-person-avatar {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #dfc99f;
    color: #17392f;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.05em;
}

.home2026-person-details {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.home2026-person-details strong {
    color: #ffffff;
    font-size: 0.76rem;
}

.home2026-person-details small {
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.65rem;
}

.home2026-person-details em {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 3px;
    color: #dfc483;
    font-size: 0.63rem;
    font-style: normal;
}

.home2026-testimonial-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 28px;
}

.home2026-testimonial-controls button {
    min-width: 112px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 750;
    cursor: pointer;
    transition: 0.2s ease;
}

.home2026-testimonial-controls button:hover:not(:disabled) {
    border-color: #dfc99f;
    background: #dfc99f;
    color: #17392f;
    transform: translateY(-2px);
}

.home2026-testimonial-controls button:disabled {
    cursor: not-allowed;
    opacity: 0.42;
}

.home2026-testimonial-counter {
    min-width: 70px;
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.72rem;
}

.home2026-testimonial-counter b {
    color: #ffffff;
    font-size: 1rem;
}

@media (max-width: 767.98px) {
    .home2026-testimonial-window {
        margin-top: 30px;
    }

    .home2026-testimonial-track {
        gap: 14px;
    }

    .home2026-testimonial-card {
        min-height: 250px;
        padding: 22px;
    }

    .home2026-testimonial-controls {
        justify-content: space-between;
        gap: 10px;
    }

    .home2026-testimonial-controls button {
        min-width: 44px;
        width: 44px;
        padding: 0;
    }

    .home2026-testimonial-controls button span {
        display: none;
    }
}

/* Testimonial visibility fix
   Keep each calculated slider card fully inside the visible window. */
.home2026-testimonial-track > .home2026-testimonial-card {
    width: auto;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}

@media (max-width: 767.98px) {
    .home2026-testimonial-track > .home2026-testimonial-card {
        margin: 0;
    }
}

/* ============================================================
   Properties page — international portfolio refinements
   Scope: properties.php only
   ============================================================ */

.properties-v19 .properties-availability.status-reserved {
    background: #fff7e8;
    color: #8a6428;
}

.properties-v19 .properties-availability.status-reserved i {
    color: #b7893d;
}

.properties-v19 .properties-availability.status-rented {
    background: #eef1ef;
    color: #5e6965;
}

.properties-v19 .properties-availability.status-rented i {
    color: #7b8581;
}

.properties-v19 .properties-results-section {
    border-bottom: 1px solid rgba(22, 61, 53, 0.08);
}

.properties-v19 .properties-guidance-section {
    position: relative;
}

.properties-v19 .properties-guidance-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(1180px, calc(100% - 40px));
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(197, 164, 104, 0.45),
        transparent
    );
}

.properties-v19 .properties-card-location,
.properties-v19 .properties-card-address,
.properties-v19 .properties-card-description {
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .properties-v19 .properties-guidance-section::before {
        width: calc(100% - 30px);
    }
}

/* ============================================================
   Properties hero — portfolio benefits panel
   Scope: properties.php hero only
   ============================================================ */

.properties-v19 .properties-portfolio-benefits {
    padding: 24px;
}

.properties-v19 .properties-benefit-list {
    display: grid;
    gap: 0;
    margin-top: 17px;
}

.properties-v19 .properties-benefit-item {
    display: grid;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.properties-v19 .properties-benefit-item:first-child {
    padding-top: 4px;
}

.properties-v19 .properties-benefit-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.properties-v19 .properties-benefit-icon {
    display: inline-flex;
    width: 39px;
    height: 39px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(222, 201, 159, 0.32);
    border-radius: 10px;
    background: rgba(222, 201, 159, 0.1);
    color: #dec99f;
    font-size: 0.98rem;
}

.properties-v19 .properties-benefit-item strong {
    display: block;
    color: #ffffff;
    font-size: 0.79rem;
    font-weight: 750;
    line-height: 1.35;
}

.properties-v19 .properties-benefit-item p {
    margin: 3px 0 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.67rem;
    line-height: 1.5;
}

@media (max-width: 575.98px) {
    .properties-v19 .properties-portfolio-benefits {
        padding: 20px;
    }

    .properties-v19 .properties-benefit-item {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 11px;
        padding: 12px 0;
    }

    .properties-v19 .properties-benefit-icon {
        width: 36px;
        height: 36px;
    }
}

/* Footer transition: straight top edge, without wave/rounded corners */
.site-footer.site-footer-v19 {
    border-top-left-radius:0 !important;
    border-top-right-radius:0 !important;
    clip-path:none !important;
}

@media (max-width: 767.98px) {
    .site-footer.site-footer-v19 {
        border-top-left-radius:0 !important;
        border-top-right-radius:0 !important;
    }
}
