/* =========================================================
   FEATURED PROPERTIES
   PREMIUM CAROUSEL - FULL OVERRIDE
========================================================= */

.featured-properties-section {
    position: relative;
    width: 100%;
    padding: 50px 0;
    overflow: hidden;

    background:
       linear-gradient(180deg, #d7b15ac9 0%, #d7b15a8c 48%, #c3963f0d 100%);
}


/* =========================================================
   CONTAINER
========================================================= */

.featured-container {
    position: relative;

    width: 100%;
    max-width: 1800px;

    margin: 0 auto;
    padding: 0 40px;

    z-index: 5;
}


/* =========================================================
   DECORATION
========================================================= */

.featured-decoration {
    position: absolute;

    pointer-events: none;

    border-radius: 50%;

    opacity: .55;

    z-index: 1;
}

.featured-decoration--left {
    width: 720px;
    height: 300px;

    left: -330px;
    top: 20px;

    border-top:
        2px solid rgba(198,152,64);

    transform:
        rotate(18deg);
}

.featured-decoration--left::after {
    content: "";

    position: absolute;

    width: 100%;
    height: 100%;

    top: 24px;
    left: 35px;

    border-top:
        1px solid rgba(255,255,255);

    border-radius: 50%;
}

.featured-decoration--right {
    width: 720px;
    height: 300px;

    right: -330px;
    top: 180px;

    border-top:
        2px solid rgba(198,152,64);

    transform:
        rotate(-18deg);
}

.featured-decoration--right::after {
    content: "";

    position: absolute;

    width: 100%;
    height: 100%;

    top: 24px;
    right: 35px;

    border-top:
        1px solid rgba(255,255,255);

    border-radius: 50%;
}


/* =========================================================
   HEADER
========================================================= */

.featured-header {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 180px;

    margin-bottom: 25px;

    text-align: center;
}

.featured-header-content {
    display: flex;

    flex-direction: column;

    align-items: center;

    width: 100%;
}


/* =========================================================
   EYEBROW
========================================================= */

.featured-eyebrow {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 15px;

    color: #fff;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;
}

.featured-eyebrow-dot {
    width: 5px;
    height: 5px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #c69840;
}


/* =========================================================
   TITLE
========================================================= */

.featured-title {
    margin: 0;

    color: #101820;

    font-size:
        clamp(42px, 5vw, 48px);

    line-height: 1;

    font-weight: 650;

    letter-spacing: -3px;
}

.featured-title span {
    color: #fff;
}

.featured-description {
    margin: 18px 0 0;

    color: #000;

    font-size: 18px;
    line-height: 1.6;
}


/* =========================================================
   VIEW ALL
========================================================= */

.featured-view-all {
    position: absolute;

    right: 0;
    bottom: 15px;

    display: inline-flex;

    align-items: center;
    gap: 18px;

    min-height: 54px;

    padding: 0 22px;

    border:
        1px solid rgba(198,152,64,.65);

    border-radius: 12px;

    color: #684913;

    background:
        rgba(255,255,255,.75);

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    backdrop-filter:
        blur(10px);

    transition:
        .3s ease;
}

.featured-view-all:hover {
    color: #684913;

    background: #ffffff;

    border-color: #c69840;

    transform:
        translateY(-3px);

    box-shadow:
        0 12px 30px rgba(100,70,20,.10);
}

.featured-view-all i {
    transition:
        transform .3s ease;
}

.featured-view-all:hover i {
    transform:
        translateX(5px);
}


/* =========================================================
   PROPERTY COUNT
========================================================= */

.featured-count {
    position: absolute;

    top: 145px;
    left: 40px;

    z-index: 20;

    display: flex;

    align-items: center;

    gap: 14px;

    min-width: 285px;

    padding: 12px 20px;

    border:
        1px solid rgba(198,152,64,.25);

    border-radius: 60px;

    background:
        rgba(255,255,255,.82);

    box-shadow:
        0 15px 40px rgba(90,65,20,.07);

    backdrop-filter:
        blur(14px);
}

.featured-count-icon {
    width: 52px;
    height: 52px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #a8751f;

    background:
        linear-gradient(
            145deg,
            rgba(198,152,64,.18),
            #ffffff
        );

    border:
        1px solid rgba(198,152,64,.18);
}

.featured-count-text {
    display: flex;

    flex-direction: column;

    gap: 3px;
}

.featured-count-text strong {
    color: #111111;

    font-size: 25px;

    line-height: 1;

    font-weight: 700;
}

.featured-count-text span {
    color: #777777;

    font-size: 12px;
}


/* =========================================================
   CAROUSEL WRAPPER
========================================================= */

.featured-carousel {
    position: relative;

    width: 100%;

    margin-top: 60px;

    overflow: visible;
}


/* =========================================================
   VIEWPORT
========================================================= */

.featured-carousel-viewport {
    position: relative;

    width: 100%;

    overflow: hidden;

    padding:
        15px 0 35px;
}


/* =========================================================
   TRACK
========================================================= */

.featured-carousel-track {
    display: flex;

    width: 100%;

    margin: 0;
    padding: 0;

    align-items: stretch;

    will-change: transform;

    transition:
        transform .65s
        cubic-bezier(.22,.61,.36,1);
}


/* =========================================================
   SLIDE
========================================================= */

.featured-slide {
    flex:
        0 0 33.333333%;

    width:
        33.333333%;

    min-width: 0;

    padding:
        0 10px;

    box-sizing:
        border-box;

    opacity: .88;

    transform:
        scale(.96);

    transition:
        transform .45s ease,
        opacity .45s ease;
}


/* =========================================================
   ACTIVE SLIDE
========================================================= */

.featured-slide.is-active {
    opacity: 1;

    transform:
        scale(1);
}


/* =========================================================
   IMPORTANT FIX
   YOUR _card BLADE IS INSIDE THIS WRAPPER
========================================================= */

.featured-card {
    position: relative;

    display: block;

    width: 100% !important;

    max-width: none !important;

    min-width: 0;

    height: 100%;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;

    background: transparent !important;

    border: 0 !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    transform: none !important;
}


/* =========================================================
   FORCE INCLUDED _card TO FULL WIDTH
========================================================= */

.featured-card > * {
    display: block;

    width: 100% !important;

    max-width: none !important;

    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   HANDLE COMMON PROPERTY CARD CLASS NAMES
========================================================= */

.featured-card .property-card,
.featured-card .property-item,
.featured-card .property-listing,
.featured-card .property-box,
.featured-card .listing-card,
.featured-card .property-card-wrapper {
    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;
}


/* =========================================================
   PROPERTY IMAGE
========================================================= */

.featured-card img {
    display: block;

    width: 100% !important;

    max-width: 100% !important;

    object-fit: cover;

    transition:
        transform .65s ease;
}

.featured-card:hover img {
    transform:
        scale(1.035);
}


/* =========================================================
   IMAGE WRAPPER
========================================================= */

.featured-card > *:first-child {
    overflow: hidden;
}


/* =========================================================
   CARD HOVER
========================================================= */

.featured-slide.is-active .featured-card {
    filter:
        drop-shadow(
            0 22px 40px rgba(70,50,20,.10)
        );
}


/* =========================================================
   ARROWS
========================================================= */

.featured-carousel-arrow {
    position: absolute;

    top: 50%;

    z-index: 100;

    width: 54px;
    height: 54px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    border:
        1px solid rgba(198,152,64,.35);

    border-radius: 50%;

    color: #9b6d1d;

    background:
        rgba(255,255,255,.97);

    font-size: 15px;

    box-shadow:
        0 12px 30px rgba(50,40,20,.14);

    cursor: pointer;

    transform:
        translateY(-50%);

    transition:
        .3s ease;
}

.featured-carousel-arrow:hover {
    color: #ffffff;

    background:
        #c69840;

    border-color:
        #c69840;

    box-shadow:
        0 15px 35px rgba(198,152,64,.25);

    transform:
        translateY(-50%)
        scale(1.08);
}

.featured-carousel-arrow:active {
    transform:
        translateY(-50%)
        scale(.94);
}

.featured-carousel-prev {
    left: -25px;
}

.featured-carousel-next {
    right: -25px;
}

.featured-carousel-arrow.is-disabled {
    opacity: .3;

    pointer-events: none;
}


/* =========================================================
   PAGINATION
========================================================= */

.featured-pagination {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    margin-top: 4px;
}

.featured-pagination button {
    width: 7px;
    height: 7px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background:
        #ddd5c7;

    cursor: pointer;

    transition:
        .3s ease;
}

.featured-pagination button:hover {
    background:
        #c9a765;

    transform:
        scale(1.25);
}

.featured-pagination button.active {
    width: 30px;

    border-radius: 20px;

    background:
        #c69840;

    box-shadow:
        0 4px 10px rgba(198,152,64,.22);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1200px) {

    .featured-container {
        padding:
            0 30px;
    }

    .featured-count {
        left: 30px;
    }

    .featured-carousel-prev {
        left: -15px;
    }

    .featured-carousel-next {
        right: -15px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .featured-properties-section {
        padding:
            85px 0;
    }

    .featured-header {
        min-height: auto;

        margin-bottom: 20px;
    }

    .featured-title {
        font-size: 52px;
    }

    .featured-count {
        position: relative;

        top: auto;
        left: auto;

        width: max-content;

        margin:
            0 auto 25px;
    }

    .featured-carousel {
        margin-top: 35px;
    }

    .featured-slide {
        flex:
            0 0 50%;

        width:
            50%;

        transform:
            scale(1);
    }

    .featured-slide.is-active {
        transform:
            scale(1);
    }

    .featured-carousel-prev {
        left: -10px;
    }

    .featured-carousel-next {
        right: -10px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .featured-properties-section {
        padding:
            70px 0 75px;
    }

    .featured-container {
        padding:
            0 18px;
    }

    .featured-header {
        display: flex;

        flex-direction: column;

        align-items: center;

        gap: 20px;
    }

    .featured-title {
        font-size: 42px;

        letter-spacing:
            -2.5px;
    }

    .featured-description {
        font-size: 15px;
    }

    .featured-view-all {
        position: relative;

        right: auto;
        bottom: auto;
    }

    .featured-count {
        width: 100%;

        max-width: 320px;

        min-width: 0;

        margin:
            20px auto 0;
    }

    .featured-carousel {
        margin-top: 25px;
    }

    .featured-carousel-viewport {
        padding:
            10px 0 30px;
    }

    .featured-slide {
        flex:
            0 0 100%;

        width:
            100%;

        padding:
            0 5px;

        opacity: 1;

        transform:
            scale(1);
    }

    .featured-card {
        width: 100% !important;
    }

    .featured-card > * {
        width: 100% !important;
    }

    .featured-carousel-arrow {
        width: 44px;
        height: 44px;

        font-size: 13px;
    }

    .featured-carousel-prev {
        left: 2px;
    }

    .featured-carousel-next {
        right: 2px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .featured-title {
        font-size: 36px;

        letter-spacing:
            -2px;
    }

    .featured-eyebrow {
        font-size: 10px;

        letter-spacing:
            2px;
    }

    .featured-count-icon {
        width: 48px;
        height: 48px;
    }

    .featured-count-text strong {
        font-size: 22px;
    }

    .featured-carousel-arrow {
        width: 40px;
        height: 40px;
    }
}

/* =========================================================
   PREMIUM CENTERED REAL ESTATE HERO
   ========================================================= */

.home-hero {
    position: relative;
    min-height: 860px;
    height: calc(100vh - 90px);

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: #f8f3ea;
}


/* =========================================================
   BACKGROUND IMAGE
   ========================================================= */

.home-hero__bg {
    position: absolute;
    inset: 0;

    background-image:
        url('/storage/hsquare-real-estate-hero-background.webp');

    background-size: cover;
    background-position: center center;

    transform: scale(1.01);

    z-index: 0;
}


/* =========================================================
   BACKGROUND OVERLAY
   ========================================================= */

.home-hero__overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(180deg, rgb(0 0 0 / 46%) 0%, rgb(0 0 0 / 25%) 45%, rgb(0 0 0 / 30%) 100%);

    pointer-events: none;
}


/* Extra soft center glow */

.home-hero::after {
    content: "";

    position: absolute;
    width: 850px;
    height: 600px;

    left: 50%;
    top: 38%;

    transform: translate(-50%, -50%);

    background:
        radial-gradient(
            ellipse,
            rgba(255,255,255,0.90) 0%,
            rgba(255,255,255,0.62) 35%,
            rgba(255,255,255,0) 72%
        );

    z-index: 1;

    pointer-events: none;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.home-hero .container {
    position: relative;
    z-index: 5;

    width: 100%;
}


/* =========================================================
   MAIN INNER
   ========================================================= */

.home-hero__inner {

    min-height: 860px;

    display: flex;

    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 70px 20px 80px;
}


/* =========================================================
   CENTER CONTENT
   ========================================================= */

.home-hero__content {

    width: 100%;
    max-width: 1000px;

    margin: 0 auto;

    position: relative;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.home-hero__eyebrow {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-bottom: 20px;

    color: #000;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;
}


/* Eyebrow dot */

.eyebrow-dot {

    width: 8px;
    height: 8px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #c69840;

    box-shadow:
        0 0 0 5px rgba(198, 152, 64, 0.13),
        0 0 20px rgba(198, 152, 64, 0.45);
}


/* =========================================================
   MAIN HEADING
   ========================================================= */

.home-hero h1 {

    margin: 0;

    max-width: 900px;

    color: #050505;

    font-size: clamp(52px, 6vw, 70px);

    font-weight: 700;

    line-height: 0.98;

    letter-spacing: -4px;

    text-align: center;
}

/* =========================================================
   DESCRIPTION
   ========================================================= */

.home-hero__content > p {

    max-width: 680px;

    margin: 25px auto 32px;

    color: rgba(0,0,0,0.68);

    font-size: 18px;

    line-height: 1.75;

    text-align: center;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.home-hero__actions {

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 14px;

    flex-wrap: wrap;

    margin-top: 3px;
}


.hero-btn {

    min-height: 58px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 13px;

    padding: 0 28px;

    border-radius: 7px;

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


.hero-btn:hover {

    transform: translateY(-4px);

    text-decoration: none;
}


/* =========================================================
   PRIMARY BUTTON
   ========================================================= */

.hero-btn--primary {

    color: #160d04;

    background: #d7b15a;

    box-shadow:
        0 10px 25px rgba(198,152,64,0.25);
}


.hero-btn--primary:hover {

    color: #160d04;

    background: #d8ad59;

    box-shadow:
        0 14px 30px rgba(198,152,64,0.32);
}


/* =========================================================
   OUTLINE BUTTON
   ========================================================= */

.hero-btn--outline {

    color: #151515;

    border: 1px solid rgba(198,152,64,0.65);

    background:
        rgba(255,255,255,0.48);

    backdrop-filter: blur(12px);
}


.hero-btn--outline:hover {

    color: #9a6d1d;

    border-color: #c69840;

    background:
        rgba(255,255,255,0.75);

    box-shadow:
        0 10px 25px rgba(198,152,64,0.12);
}


/* =========================================================
   TRUST CARD
   ========================================================= */

.hero-trust {

    width: min(700px, 100%);

    min-height: 108px;

    margin-top: 42px;

    padding: 16px 28px;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        rgba(255,255,255,0.72);

    border: 1px solid rgba(198,152,64,0.45);

    border-radius: 60px;

    box-shadow:
        0 20px 50px rgba(80,55,15,0.12),
        inset 0 1px 0 rgba(255,255,255,0.9);

    backdrop-filter: blur(18px);

    -webkit-backdrop-filter: blur(18px);
}


/* =========================================================
   TRUST ITEM
   ========================================================= */

.trust-item {

    display: flex;

    align-items: center;

    gap: 13px;

    min-width: 175px;

    justify-content: center;
}


/* =========================================================
   TRUST ICON
   ========================================================= */

.trust-icon {

    width: 50px;
    height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    color: #a8761f;

    background:
        linear-gradient(
            145deg,
            rgba(198,152,64,0.18),
            rgba(255,255,255,0.7)
        );

    border: 1px solid rgba(198,152,64,0.22);

    font-size: 18px;
}


/* =========================================================
   TRUST TEXT
   ========================================================= */

.trust-content {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 2px;
}


.trust-content strong {

    color: #111;

    font-size: 24px;

    line-height: 1;

    font-weight: 700;
}


.trust-content span {

    color: rgba(0,0,0,0.52);

    font-size: 12px;

    line-height: 1.3;

    white-space: nowrap;
}


/* =========================================================
   DIVIDER
   ========================================================= */

.trust-divider {

    width: 1px;

    height: 48px;

    margin: 0 20px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(198,152,64,0.45),
            transparent
        );
}


/* =========================================================
   DECORATIVE GOLD WAVES
   ========================================================= */

.hero-wave {

    position: absolute;

    z-index: 2;

    pointer-events: none;

    opacity: 0.75;
}


/* Left wave */

.hero-wave--left {

    width: 55%;

    height: 260px;

    left: -10%;

    bottom: 26%;

    border-top:
        2px solid rgba(198,152,64,0.45);

    border-radius: 50%;

    transform:
        rotate(-7deg)
        skewX(-8deg);
}


/* Second left wave */

.hero-wave--left::after {

    content: "";

    position: absolute;

    width: 100%;

    height: 100%;

    top: 25px;

    left: 20px;

    border-top:
        2px solid rgba(255,255,255,0.75);

    border-radius: 50%;
}


/* Right wave */

.hero-wave--right {

    width: 55%;

    height: 260px;

    right: -10%;

    bottom: 27%;

    border-top:
        2px solid rgba(198,152,64,0.42);

    border-radius: 50%;

    transform:
        rotate(7deg)
        skewX(8deg);
}


/* Second right wave */

.hero-wave--right::after {

    content: "";

    position: absolute;

    width: 100%;

    height: 100%;

    top: 25px;

    right: 20px;

    border-top:
        2px solid rgba(255,255,255,0.75);

    border-radius: 50%;
}


/* =========================================================
   SCROLL INDICATOR
   ========================================================= */

.hero-scroll {

    position: absolute;

    left: 35px;

    bottom: 60px;

    z-index: 10;

    display: flex;

    align-items: center;

    gap: 10px;

    color: #fff;

    font-size: 9px;

    letter-spacing: 2px;

    font-weight: 600;
}


.hero-scroll i {

    color: #c69840;

    font-size: 11px;
}


/* ============================================================
   FILTER ACTIONS
============================================================ */

.filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}


/* ============================================================
   CLEAR BUTTON
============================================================ */

.filter-clear-btn {
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 15px;

    border: 1px solid #dededb;
    border-radius: 10px;

    background: #fff;
    color: #555;

    font-size: 12px;
    font-weight: 600;

    text-decoration: none;
    white-space: nowrap;

    transition: all .25s ease;
}

.filter-clear-btn:hover {
    border-color: #222;
    color: #171717;
    background: #f8f8f6;
}


/* ============================================================
   APPLY BUTTON
============================================================ */

.filter-apply-btn {
    flex: 1;
    height: 48px;

    padding: 0 17px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    border: 0;
    border-radius: 10px;

    background: #171717;
    color: #fff;

    font-size: 12px;
    font-weight: 600;

    white-space: nowrap;

    cursor: pointer;

    transition: .25s ease;
}

.filter-apply-btn svg {
    width: 16px;
    height: 16px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.filter-apply-btn:hover {
    background: #333;
    transform: translateY(-2px);
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .home-hero {

        min-height: 800px;

        height: auto;
    }

    .home-hero__inner {

        min-height: 800px;

        padding:
            80px 20px
            90px;
    }

    .home-hero h1 {

        font-size: clamp(46px, 7vw, 68px);

        letter-spacing: -3px;
    }

    .home-hero__content > p {

        font-size: 17px;
    }

    .hero-trust {

        max-width: 650px;

        min-height: 100px;

        padding: 15px 18px;
    }

    .trust-item {

        min-width: 150px;
    }

    .trust-divider {

        margin: 0 10px;
    }

    .hero-wave {

        bottom: 24%;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .home-hero {

        min-height: auto;

        height: auto;
    }


    .home-hero__inner {

        min-height: 760px;

        padding:
            80px 15px
            75px;
    }


    .home-hero__eyebrow {

        font-size: 11px;

        letter-spacing: 2px;

        margin-bottom: 17px;
    }


    .home-hero h1 {

        font-size: clamp(42px, 12vw, 58px);

        line-height: 1;

        letter-spacing: -2.5px;

        max-width: 600px;
    }


    .hero-heading-line {

        margin-top: 22px;
    }


    .home-hero__content > p {

        max-width: 500px;

        margin:
            22px auto
            27px;

        font-size: 16px;

        line-height: 1.65;
    }


    .home-hero__actions {

        width: 100%;

        flex-direction: column;

        gap: 10px;
    }


    .hero-btn {

        width: min(100%, 320px);
    }


    /* Stats become vertical */

    .hero-trust {

        width: 100%;

        min-height: auto;

        padding: 18px 15px;

        border-radius: 28px;

        flex-direction: column;

        gap: 14px;
    }


    .trust-item {

        width: 100%;

        min-width: 0;

        justify-content: flex-start;

        padding: 0 20px;
    }


    .trust-divider {

        width: 80%;

        height: 1px;

        margin: 0;

        background:
            linear-gradient(
                90deg,
                transparent,
                rgba(198,152,64,0.4),
                transparent
            );
    }


    .trust-content strong {

        font-size: 21px;
    }


    .trust-icon {

        width: 44px;
        height: 44px;
    }


    .hero-wave {

        opacity: 0.45;

        bottom: 15%;
    }


    .hero-scroll {

        display: none;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .home-hero__inner {

        min-height: 730px;

        padding:
            65px 14px
            60px;
    }


    .home-hero h1 {

        font-size: 42px;

        letter-spacing: -2px;
    }


    .home-hero__content > p {

        font-size: 15px;
    }


    .hero-trust {

        margin-top: 32px;
    }


    .trust-item {

        padding: 0 12px;
    }
}
/* =========================================================
   PROPERTY SEARCH WRAPPER
========================================================= */

.property-search-wrap {
    
    
    position: relative;

    z-index: 20;

    margin-top: -40px;

    padding-bottom: 30px;
}


/* =========================================================
   SEARCH CARD
========================================================= */

.property-search {

    position: relative;

    padding: 40px;

    border: 1px solid rgba(198, 152, 64, 0.70);

    border-radius: 18px;

    background: rgba(255, 255, 255, 0.97);

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.14);

    backdrop-filter: blur(15px);

}


/* Small gold top line */

.property-search::before {

    content: "";

    position: absolute;

    top: 0;
    left: 40px;

    width: 80px;
    height: 3px;

    border-radius: 0 0 5px 5px;

    background: #c69840;

}


/* =========================================================
   TOP
========================================================= */

.property-search__top {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 30px;

    margin-bottom: 24px;

}


/* =========================================================
   HEADING
========================================================= */

.property-search__heading {

    min-width: 0;

}


.property-search__eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 7px;

    color: #a67d2d;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;

}


.search-eyebrow-dot {

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #c69840;

}


.property-search__top h2 {

    margin: 0;

    color: #0a1a30;

    font-size: 28px;

    font-weight: 700;

    line-height: 1.15;

    letter-spacing: -0.8px;

}


.property-search__heading p {

    margin: 7px 0 0;

    color: #777;

    font-size: 13px;

    line-height: 1.5;

}


/* =========================================================
   VIEW ALL
========================================================= */

.property-search__all {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    flex-shrink: 0;

    padding-bottom: 4px;

    color: #5d4a26;

    font-size: 12px;

    font-weight: 700;

    text-decoration: none;

    transition:
        color 0.3s ease,
        gap 0.3s ease;

}


.property-search__all i {

    color: #c69840;

    font-size: 11px;

}


.property-search__all:hover {

    color: #c69840;

    gap: 14px;

}


/* =========================================================
   SEARCH FORM
========================================================= */

.property-search__form {

    display: grid;

    grid-template-columns:
        1.6fr
        1fr
        1fr
        190px;

    gap: 12px;

    align-items: end;

}


/* =========================================================
   FIELD
========================================================= */

.search-field {

    min-width: 0;

}


.search-field label {

    display: block;

    margin-bottom: 7px;

    color: #6e6e6e;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;

}


/* =========================================================
   INPUT WRAPPER
========================================================= */

.search-input-wrap,
.search-select-wrap {

    position: relative;

    width: 100%;

}


/* =========================================================
   ICON
========================================================= */

.search-input-wrap > i,
.search-select-wrap > i {

    position: absolute;

    top: 50%;
    left: 16px;

    z-index: 2;

    color: #c69840;

    font-size: 13px;

    transform: translateY(-50%);

    pointer-events: none;

}


/* =========================================================
   INPUT
========================================================= */

.search-field input,
.search-field select {

    width: 100%;

    height: 54px;

    padding: 0 15px 0 43px;

    border: 1px solid #e5e5e5;

    border-radius: 9px;

    outline: none;

    color: #252525;

    background: #fafafa;

    font-family: inherit;

    font-size: 13px;

    transition:
        border-color 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;

}


/* Input */

.search-field input::placeholder {

    color: #a1a1a1;

}


/* Select */

.search-field select {

    appearance: none;

    -webkit-appearance: none;

    padding-right: 40px;

    cursor: pointer;

}


/* Select arrow */

.search-select-wrap::after {

    content: "\f107";

    position: absolute;

    top: 50%;

    right: 15px;

    color: #777;

    font-family: "Font Awesome 6 Free";

    font-size: 11px;

    font-weight: 900;

    transform: translateY(-50%);

    pointer-events: none;

}


/* =========================================================
   FIELD FOCUS
========================================================= */

.search-field input:focus,
.search-field select:focus {

    border-color: #c69840;

    background: #fff;

    box-shadow:
        0 0 0 3px rgba(198, 152, 64, 0.10);

}


/* =========================================================
   SEARCH BUTTON
========================================================= */

.search-submit {

    height: 54px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 13px;

    padding: 0 22px;

    border: 0;

    border-radius: 9px;

    color: #0a1a30;

    background: #d7b15a;

    font-family: inherit;

    font-size: 12px;

    font-weight: 800;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;

}


.search-submit i {

    font-size: 11px;

    transition:
        transform 0.3s ease;

}


.search-submit:hover {

    background: #d6aa51;

    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(198, 152, 64, 0.25);

}


.search-submit:hover i {

    transform: translateX(4px);

}


/* =========================================================
   BOTTOM
========================================================= */

.property-search__bottom {

    display: flex;

    align-items: center;

    gap: 15px;

    margin-top: 18px;

    padding-top: 15px;

    border-top: 1px solid #eeeeee;

}


.property-search__bottom > span {

    flex-shrink: 0;

    color: #999;

    font-size: 10px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.8px;

}


/* =========================================================
   SEARCH TAGS
========================================================= */

.search-tags {

    display: flex;

    align-items: center;

    gap: 8px;

    flex-wrap: wrap;

}


.search-tags span {

    padding: 5px 10px;

    border: 1px solid #e9e9e9;

    border-radius: 30px;

    color: #777;

    background: #fafafa;

    font-size: 12px;

    cursor: default;

    transition:
        border-color 0.3s ease,
        color 0.3s ease,
        background 0.3s ease;

}


.search-tags span:hover {

    border-color: rgba(198, 152, 64, 0.45);

    color: #a67d2d;

    background: rgba(198, 152, 64, 0.06);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .property-search-wrap {

        margin-top: -50px;

    }


    .property-search {

        padding: 27px;

    }


    .property-search__form {

        grid-template-columns: 1fr 1fr;

    }


    .search-field--keyword {

        grid-column: 1 / -1;

    }


    .search-submit {

        width: 100%;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 576px) {

    .property-search-wrap {

        margin-top: -35px;

        padding: 0 0 20px;

    }


    .property-search {

        padding: 25px 20px 20px;

        border-radius: 15px;

    }


    .property-search::before {

        left: 25px;

        width: 60px;

    }


    .property-search__top {

        align-items: flex-start;

        flex-direction: column;

        gap: 15px;

        margin-bottom: 20px;

    }


    .property-search__top h2 {

        font-size: 24px;

    }


    .property-search__heading p {

        font-size: 12px;

    }


    .property-search__all {

        padding-bottom: 0;

    }


    .property-search__form {

        display: flex;

        flex-direction: column;

        gap: 14px;

    }


    .search-field,
    .search-field--keyword {

        width: 100%;

    }


    .search-field input,
    .search-field select,
    .search-submit {

        height: 52px;

    }


    .property-search__bottom {

        align-items: flex-start;

        flex-direction: column;

        gap: 10px;

    }


    .search-tags {

        gap: 6px;

    }

} /* =========================================================
   STATS SECTION
========================================================= */

.stats-section {
    background: #fff;
    color: #111;
    width: 100%;
    overflow: hidden;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 1400px;
    margin: 0 auto;
    padding: 70px 50px;
}

.stat-item {
    position: relative;
    padding: 10px 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 130px;
}

.stat-item:first-child {
    padding-left: 0;
}

.stat-item:last-child {
    padding-right: 0;
}

/* Vertical Divider */
.stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 0;
    width: 1px;
    height: calc(100% - 20px);
    background: #d9d9d9;
}

/* Number */
.stat-item strong {
    display: block;
    font-size: clamp(42px, 4vw, 64px);
    line-height: 1;
    font-weight: 500;
    letter-spacing: -0.05em;
    color: #111;
}

/* Description */
.stat-item span {
    display: block;
    margin-top: 14px;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    max-width: 180px;
}

/* Hover Effect */
.stat-item {
    transition: transform 0.3s ease;
}

.stat-item:hover {
    transform: translateY(-4px);
}

.stat-item:hover strong {
    color: #CBA344;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 55px 35px;
        row-gap: 45px;
    }

    .stat-item {
        padding: 10px 30px;
    }

    .stat-item:nth-child(2)::after {
        display: none;
    }

    .stat-item:nth-child(3)::after,
    .stat-item:nth-child(4)::after {
        top: 0;
        height: 100%;
    }

    .stat-item:nth-child(3),
    .stat-item:nth-child(4) {
        border-top: 1px solid #d9d9d9;
        padding-top: 35px;
    }

    .stat-item:nth-child(3) {
        padding-left: 0;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .stats-grid {
        grid-template-columns: 1fr 1fr;
        padding: 45px 20px;
        gap: 0;
    }

    .stat-item {
        padding: 25px 15px;
        min-height: 120px;
    }

    .stat-item:first-child {
        padding-left: 0;
    }

    .stat-item:nth-child(3) {
        padding-left: 0;
    }

    .stat-item:nth-child(2),
    .stat-item:nth-child(4) {
        padding-right: 0;
    }

    /* Vertical dividers */
    .stat-item:nth-child(1)::after,
    .stat-item:nth-child(3)::after {
        display: block;
        top: 25px;
        height: calc(100% - 50px);
    }

    .stat-item:nth-child(2)::after,
    .stat-item:nth-child(4)::after {
        display: none;
    }

    /* Horizontal dividers */
    .stat-item:nth-child(3),
    .stat-item:nth-child(4) {
        border-top: 1px solid #d9d9d9;
        padding-top: 30px;
    }

    .stat-item strong {
        font-size: 38px;
    }

    .stat-item span {
        font-size: 12px;
        margin-top: 10px;
        max-width: 140px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .stats-grid {
        padding: 35px 15px;
    }

    .stat-item {
        padding-left: 10px;
        padding-right: 10px;
    }

    .stat-item strong {
        font-size: 32px;
    }

    .stat-item span {
        font-size: 11px;
    }
}

/* =========================================================
   WHY H² — NEW EDITORIAL / BENTO LAYOUT
========================================================= */

.why-hsquare {
    position: relative;
    padding: 50px 0;
    background: #0f2a4a;
    overflow: hidden;
}


/* =========================================================
   HEADER
========================================================= */

.why-hsquare__head {
    
    display: grid;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 70px;
}

.why-hsquare__eyebrow {
    display: block;
    margin-bottom: 20px;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;

    color: #cba344;
}

.why-hsquare h2 {
    max-width: 850px;
    margin-bottom: 10px;

    font-size: clamp(42px, 6vw, 48px);
    line-height: 1.1;

    letter-spacing: -.06em;
    font-weight: 600;

    color: #fff;
}

.why-hsquare h2 span {
    color: #c69840;
}


.why-hsquare__intro p {
    margin: 0;

    font-size: 18px;
    line-height: 1.65;

    color: #fff;
}


/* =========================================================
   MAIN BENTO LAYOUT
========================================================= */

.why-hsquare__layout {
    display: grid;

    grid-template-columns: .85fr 1.15fr;
    grid-template-rows: auto auto;

    gap: 25px;
}


/* =========================================================
   IMAGE
========================================================= */

.why-hsquare__visual {
    position: relative;

    grid-row: 1 / 3;

    min-height: 700px;

    overflow: hidden;
}

.why-hsquare__image {
    position: absolute;

    inset: 0;

    overflow: hidden;

    border-radius: 4px;
}

.why-hsquare__image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0) 40%,
            rgba(15,42,74,.45) 100%
        );
}

.why-hsquare__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .8s cubic-bezier(.2,.8,.2,1);
}

.why-hsquare__visual:hover img {
    transform: scale(1.04);
}


/* =========================================================
   BADGE
========================================================= */

.why-hsquare__badge {
    position: absolute;

    right: 25px;
    bottom: 25px;

    z-index: 3;

    width: 145px;
    height: 145px;

    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;

    padding: 20px;

    background: #0f2a4a;
    color: #fff;

    border-radius: 50%;

    box-shadow: 0 15px 40px rgba(0,0,0,.18);
}

.why-hsquare__badge strong {
    text-align: center;

    font-size: 36px;
    line-height: 1;

    font-weight: 500;

    color: #cba344;
}

.why-hsquare__badge span {
    margin-top: 8px;

    text-align: center;

    font-size: 10px;
    line-height: 1.4;

    text-transform: uppercase;
    letter-spacing: .08em;
}


/* =========================================================
   FEATURES AREA
========================================================= */

.why-hsquare__features {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;
}


/* =========================================================
   FEATURE CARD
========================================================= */

.why-feature {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 230px;

    padding: 30px;

    background: #fff;

    border: 1px solid rgba(15,42,74,.12);

    border-radius: 4px;

    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease;
}

.why-feature:hover {
    transform: translateY(-6px);

    background: rgb(249, 230, 183);

    border-color: rgba(203,163,68,.5);
}


/* =========================================================
   FEATURE NUMBER
========================================================= */

.why-feature__number {
    display: block;

    margin-bottom: 25px;

    font-size: 11px;

    letter-spacing: .15em;

    color: #0f2a4a;
}


/* =========================================================
   FEATURE TITLE
========================================================= */

.why-feature__title {
    display: flex;

    align-items: center;

    gap: 14px;

    margin-bottom: 15px;
}

.why-feature__title i {

    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border: 1px solid rgba(203,163,68,.5);

    border-radius: 50%;

    color: #cba344;

    font-size: 17px;

    transition:
        background .3s ease,
        color .3s ease;
}

.why-feature:hover .why-feature__title i {
    background: #cba344;
    color: #fff;
}

.why-feature h3 {
    margin: 0;

    font-size: 23px;
    line-height: 1.15;

    font-weight: 600;

    color: #0f2a4a;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.why-feature p {
    margin: 0;

    max-width: 420px;

    font-size: 14px;
    line-height: 1.7;

    color: #000;
}


/* =========================================================
   ARROW
========================================================= */

.why-feature__arrow {
    position: absolute;

    right: 22px;
    bottom: 22px;

    width: 35px;
    height: 35px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(15,42,74,.15);

    border-radius: 50%;

    color: #0f2a4a;

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}

.why-feature:hover .why-feature__arrow {
    transform: rotate(45deg);

    background: #cba344;

    color: #fff;

    border-color: #cba344;
}


/* =========================================================
   FEATURE AREA BOTTOM LINE
========================================================= */

.why-hsquare__features::after {
    content: "";
    display: block;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .why-hsquare {
        padding: 90px 0;
    }

    .why-hsquare__head {
        grid-template-columns: 1fr;
        gap: 25px;

        margin-bottom: 55px;
    }

    .why-hsquare__intro {
        justify-self: start;
        max-width: 600px;
    }

    .why-hsquare__layout {
        grid-template-columns: 1fr;
    }

    .why-hsquare__visual {
        grid-row: auto;

        min-height: 520px;
    }

    .why-hsquare__features {
        grid-template-columns: 1fr 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .why-hsquare {
        padding: 70px 0;
    }

    .why-hsquare__head {
        margin-bottom: 40px;
    }

    .why-hsquare h2 {
        font-size: 45px;
    }

    .why-hsquare__intro p {
        font-size: 16px;
    }

    .why-hsquare__layout {
        gap: 20px;
    }

    .why-hsquare__visual {
        min-height: 430px;
    }

    .why-hsquare__badge {
        width: 125px;
        height: 125px;

        right: 15px;
        bottom: 15px;
    }

    .why-hsquare__badge strong {
        font-size: 28px;
    }

    .why-hsquare__badge span {
        font-size: 9px;
    }

    .why-hsquare__features {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .why-feature {
        min-height: 190px;
        padding: 25px;
    }

    .why-feature h3 {
        font-size: 21px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .why-hsquare h2 {
        font-size: 38px;
    }

    .why-hsquare__visual {
        min-height: 350px;
    }

    .why-feature {
        min-height: 175px;
    }

    .why-feature__title i {
        /*width: 36px;*/
        height: 36px;

        font-size: 15px;
    }

    .why-feature h3 {
        font-size: 19px;
    }

    .why-feature p {
        font-size: 13px;
    }

}



/* =========================================================
   MODERN PROJECTS
========================================================= */

.projects-modern {
    position: relative;

    padding: 50px 0;

    background: #f5f2ec;

    overflow: hidden;
}


/* =========================================================
   HEADER
========================================================= */

.projects-modern__header {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 50px;

    margin-bottom: 65px;
}


.projects-modern__title > span {
    display: block;

    margin-bottom: 18px;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: .2em;

    color: #9b7a32;
}


.projects-modern__title h2 {
    margin: 0;

    font-size: clamp(45px, 6vw, 48px);

    line-height: .95;

    letter-spacing: -.055em;

    font-weight: 400;

    color: #171717;
}


.projects-modern__title h2 strong {
    font-weight: 600;

    color: #0f2a4a;
}


/* =========================================================
   CONTROLS
========================================================= */

.projects-modern__controls {
    display: flex;

    align-items: center;

    gap: 35px;
}


.projects-modern__counter {
    font-size: 11px;

    letter-spacing: .12em;

    color: #999;
}


.projects-modern__controls a {
    display: flex;

    align-items: center;

    gap: 12px;

    padding-bottom: 8px;

    border-bottom: 1px solid #0f2a4a;

    color: #0f2a4a;

    text-decoration: none;

    font-size: 12px;

    text-transform: uppercase;

    letter-spacing: .1em;

    transition: gap .3s ease;
}


.projects-modern__controls a:hover {
    gap: 20px;
}


/* =========================================================
   PROJECT TRACK
========================================================= */

.projects-modern__track {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 24px;
}


/* =========================================================
   PROJECT
========================================================= */

.modern-project {
    position: relative;

    display: block;

    color: inherit;

    text-decoration: none;

    min-width: 0;
}


/* =========================================================
   IMAGE
========================================================= */

.modern-project__image {
    position: relative;

    height: 470px;

    overflow: hidden;

    background: #ddd;
}


.modern-project__image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.05),
            transparent 60%
        );

    pointer-events: none;
}


.modern-project__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .8s cubic-bezier(.2,.8,.2,1);
}


.modern-project:hover
.modern-project__image img {
    transform: scale(1.06);
}


/* =========================================================
   BIG NUMBER
========================================================= */

.modern-project__big-number {
    position: absolute;

    right: 18px;

    bottom: -25px;

    z-index: 2;

    font-size: 130px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: -.08em;

    color: rgba(255,255,255,.8);

    pointer-events: none;

    transition:
        transform .5s ease;
}


.modern-project:hover
.modern-project__big-number {
    transform: translateY(-12px);
}


/* =========================================================
   INFO
========================================================= */

.modern-project__info {
    display: grid;

    grid-template-columns: 45px 1fr 45px;

    gap: 18px;

    align-items: start;

    padding: 25px 0;

    border-bottom: 1px solid rgba(0,0,0,.15);
}


.modern-project__number {
    padding-top: 3px;

    font-size: 11px;

    letter-spacing: .12em;

    color: #999;
}


.modern-project__label {
    display: block;

    margin-bottom: 9px;

    font-size: 9px;

    font-weight: 600;

    letter-spacing: .16em;

    color: #a17e32;
}


.modern-project__details h3 {
    margin: 0;

    font-size: 24px;

    line-height: 1.15;

    font-weight: 600;

    color: #0f2a4a;
}


.modern-project__details p {
    display: flex;

    align-items: center;

    gap: 6px;

    margin: 10px 0 0;

    font-size: 13px;

    color: #777;
}


.modern-project__details p i {
    color: #cba344;
}


/* =========================================================
   ACTION
========================================================= */

.modern-project__action {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(15,42,74,.2);

    border-radius: 50%;

    color: #0f2a4a;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease;
}


.modern-project__action span {
    display: none;
}


.modern-project:hover
.modern-project__action {
    background: #0f2a4a;

    color: #fff;

    transform: rotate(45deg);

    border-color: #0f2a4a;
}


/* =========================================================
   FIRST PROJECT EMPHASIS
========================================================= */

.modern-project:first-child
.modern-project__image {
    height: 540px;
}


.modern-project:first-child
.modern-project__details h3 {
    font-size: 28px;
}


/* =========================================================
   HOVER UNDERLINE
========================================================= */

.modern-project__details h3 {
    position: relative;

    display: inline;

    background-image:
        linear-gradient(#cba344, #cba344);

    background-position:
        0 100%;

    background-repeat: no-repeat;

    background-size: 0 1px;

    transition:
        background-size .4s ease;
}


.modern-project:hover
.modern-project__details h3 {
    background-size: 100% 1px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .projects-modern {
        padding: 90px 0;
    }

    .projects-modern__header {
        align-items: flex-start;
    }

    .projects-modern__track {
        grid-template-columns: repeat(2, 1fr);
    }

    .modern-project:last-child {
        display: none;
    }

    .modern-project__image,
    .modern-project:first-child .modern-project__image {
        height: 450px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .projects-modern {
        padding: 70px 0;
    }

    .projects-modern__header {
        display: block;

        margin-bottom: 40px;
    }

    .projects-modern__title h2 {
        font-size: 43px;
    }

    .projects-modern__controls {
        margin-top: 30px;

        justify-content: space-between;
    }

    .projects-modern__track {
        display: flex;

        overflow-x: auto;

        gap: 15px;

        padding-bottom: 20px;

        scroll-snap-type: x mandatory;

        scrollbar-width: none;
    }

    .projects-modern__track::-webkit-scrollbar {
        display: none;
    }

    .modern-project,
    .modern-project:last-child {
        display: block;

        flex: 0 0 86%;

        scroll-snap-align: start;
    }

    .modern-project__image,
    .modern-project:first-child .modern-project__image {
        height: 420px;
    }

    .modern-project__big-number {
        font-size: 105px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .projects-modern__title h2 {
        font-size: 37px;
    }

    .modern-project {
        flex-basis: 90%;
    }

    .modern-project__image,
    .modern-project:first-child .modern-project__image {
        height: 380px;
    }

    .modern-project__details h3,
    .modern-project:first-child
    .modern-project__details h3 {
        font-size: 22px;
    }

} /* =========================================================
   PROPERTY CATEGORIES
========================================================= */

.property-categories {

    position: relative;

    padding: 50px 0;

    background: #0f2a4a;

    color: #fff;

    overflow: hidden;
}


/* =========================================================
   HEADER
========================================================= */

.property-categories__header {

    display: grid;

    grid-template-columns: 1.2fr .8fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 70px;

}


.property-categories__eyebrow {

    display: block;

    margin-bottom: 20px;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: .2em;

    text-transform: uppercase;

    color: #cba344;

}


.property-categories__header h2 {
    
    color: bisque;

    max-width: 700px;

    margin: 0;

    font-size: clamp(45px, 6vw, 48px);

    line-height: .98;

    letter-spacing: -.05em;

    font-weight: 500;

}


.property-categories__header h2 span {

    display: block;

    color: rgba(255,255,255);

}


.property-categories__header p {

    max-width: 350px;

    margin: 0;

    font-size: 15px;

    line-height: 1.8;

    color: rgba(255,255,255,.6);

}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.property-categories__layout {

    display: grid;

    grid-template-columns: 1fr .85fr;

    gap: 80px;

    align-items: stretch;

}


/* =========================================================
   CATEGORY LIST
========================================================= */

.property-categories__list {

    border-top: 1px solid rgba(255,255,255,.2);

}


.property-category {

    position: relative;

    display: grid;

    grid-template-columns: 55px 1fr 45px;

    align-items: center;

    gap: 20px;

    min-height: 125px;

    padding: 20px 0;

    border-bottom: 1px solid rgba(255,255,255,.2);

    color: #fff;

    text-decoration: none;

    transition:
        padding .4s ease,
        background .4s ease;

}


.property-category:hover {

    padding-left: 20px;

}


.property-category__number {

    align-self: start;

    padding-top: 7px;

    font-size: 11px;

    letter-spacing: .12em;

    color: rgba(255,255,255,.4);

    transition: color .3s ease;

}


.property-category:hover
.property-category__number {

    color: #cba344;

}


/* =========================================================
   CATEGORY NAME
========================================================= */

.property-category__name h3 {
    
    color: bisque;

    margin: 0 0 7px;

    font-size: clamp(25px, 3vw, 30px);

    line-height: 1;

    font-weight: 400;

    letter-spacing: -.025em;

    transition:
        color .3s ease,
        transform .3s ease;

}


.property-category:hover
.property-category__name h3 {

    color: #cba344;

    transform: translateX(5px);

}


.property-category__name span {

    font-size: 11px;

    letter-spacing: .08em;

    text-transform: uppercase;

    color: rgba(255,255,255,.4);

}


/* =========================================================
   ARROW
========================================================= */

.property-category__arrow {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.25);

    border-radius: 50%;

    color: rgba(255,255,255,.7);

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease,
        border-color .4s ease;

}


.property-category:hover
.property-category__arrow {

    transform: translateX(5px);

    background: #cba344;

    color: #0f2a4a;

    border-color: #cba344;

}


/* =========================================================
   VISUAL PANEL
========================================================= */

.property-categories__visual {

    position: relative;

    min-height: 500px;

    overflow: hidden;

    background: #222;

}


.property-categories__visual-bg {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(15,42,74,.1),
            rgba(0,0,0,.5)
        ),
        url('/storage/Property.webp')
        center / cover no-repeat;

    transition: transform 1s ease;

}


.property-categories__visual:hover
.property-categories__visual-bg {

    transform: scale(1.05);

}


.property-categories__visual::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.8),
            transparent 65%
        );

}


/* =========================================================
   VISUAL CONTENT
========================================================= */

.property-categories__visual-content {

    position: absolute;

    z-index: 2;

    left: 35px;

    right: 35px;

    bottom: 35px;

}


.property-categories__visual-content span {

    display: block;

    margin-bottom: 10px;

    font-size: 9px;

    letter-spacing: .18em;

    color: #cba344;

}


.property-categories__visual-content strong {

    display: block;

    font-size: 42px;

    font-weight: 400;

    line-height: 1;

}


.property-categories__visual-content small {

    display: block;

    margin-top: 10px;

    font-size: 13px;

    color: rgba(255,255,255,.6);

}


/* =========================================================
   DECORATIVE GOLD LINE
========================================================= */

.property-categories::before {

    content: "";

    position: absolute;

    width: 320px;

    height: 320px;

    right: -160px;

    top: -160px;

    border: 1px solid rgba(203,163,68,.15);

    border-radius: 50%;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .property-categories {

        padding: 90px 0;

    }

    .property-categories__header {

        grid-template-columns: 1fr;

        gap: 25px;

        margin-bottom: 50px;

    }

    .property-categories__layout {

        grid-template-columns: 1fr;

        gap: 50px;

    }

    .property-categories__visual {

        min-height: 400px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .property-categories {

        padding: 70px 0;

    }

    .property-categories__header h2 {

        font-size: 42px;

    }

    .property-category {

        grid-template-columns: 40px 1fr 40px;

        min-height: 105px;

    }

    .property-category__name h3 {

        font-size: 27px;

    }

    .property-category__arrow {

        width: 34px;

        height: 34px;

    }

    .property-categories__visual {

        min-height: 350px;

    }

    .property-categories__visual-content {

        left: 25px;

        bottom: 25px;

    }

    .property-categories__visual-content strong {

        font-size: 34px;

    }

} /* ========================================================= TESTIMONIALS ========================================================= */ .testimonial-section { overflow: hidden; background: var(--home-surface); } .testimonial-strip { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: thin; } .testimonial-card { position: relative; flex: 0 0 min(650px, 80vw); min-height: 330px; padding: 40px; background: #fff; scroll-snap-align: start; } .testimonial-number { color: #aaa; font-size: 11px; } .testimonial-card__quote { max-width: 560px; margin: 55px 0 40px; font-size: clamp(24px, 3vw, 34px); line-height: 1.25; letter-spacing: -.025em; } .testimonial-card__author { display: flex; align-items: center; gap: 12px; } .testimonial-card__avatar { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #111; color: #fff; font-size: 13px; } .testimonial-card__author strong, .testimonial-card__author span { display: block; } .testimonial-card__author strong { font-size: 13px; } .testimonial-card__author span { margin-top: 3px; color: #888; font-size: 11px; } /* ========================================================= BLOG ========================================================= */ .blog-card { height: 100%; border: 1px solid var(--home-border); background: #fff; } .blog-card__image { display: block; height: 230px; overflow: hidden; } .blog-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; } .blog-card:hover .blog-card__image img { transform: scale(1.04); } .blog-card__body { padding: 25px; } .blog-card__category { color: #888; font-size: 10px; font-weight: 600; letter-spacing: .14em; } .blog-card h3 { margin: 12px 0; font-size: 22px; line-height: 1.2; } .blog-card h3 a { color: #171717; text-decoration: none; } .blog-card p { margin-bottom: 20px; color: #fff; font-size: 14px; line-height: 1.6; } .blog-card__link { color: #171717; font-size: 13px; font-weight: 600; text-decoration: none; } /* ========================================================= CTA ========================================================= */ 
   PREMIUM TESTIMONIAL + BLOG + CTA
   LUXURY REAL ESTATE DESIGN
========================================================= */

:root {
    --luxury-gold: #c69840;
    --luxury-gold-dark: #a87925;
    --luxury-cream: #fffaf1;
    --luxury-ivory: #f8f5ef;
    --luxury-dark: #101820;
    --luxury-text: #252525;
    --luxury-muted: #77736d;
    --luxury-border: rgba(198, 152, 64, .18);
}


/* =========================================================
   COMMON SECTION
========================================================= */

.section-py {
    padding: 50px 0;
}


/* =========================================================
   COMMON HEADER
========================================================= */

.section-header {
    position: relative;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    margin-bottom: 48px;
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;

    color: #000;

    font-weight: 900;

    letter-spacing: 3px;

    text-transform: uppercase;
}

.section-heading {
    margin: 13px 0 0;

    color: #0f2a4a;

    font-size: clamp(38px, 4vw, 58px);

    line-height: 1.02;

    font-weight: 650;

    letter-spacing: -2.8px;
}

.section-subheading {
    max-width: 560px;

    margin: 17px 0 0;

    color: var(--luxury-muted);

    font-size: 17px;

    line-height: 1.7;
}


/* =========================================================
   TESTIMONIAL SECTION
========================================================= */

.testimonial-section {
    position: relative;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fffaf1 48%,
            #ffffff 100%
        );
}


/* subtle architectural glow */

.testimonial-section::before {
    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    top: -300px;
    right: -220px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(198,152,64,.09),
            transparent 68%
        );

    pointer-events: none;
}


/* second glow */

.testimonial-section::after {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    bottom: -280px;
    left: -220px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(198,152,64,.07),
            transparent 70%
        );

    pointer-events: none;
}


/* =========================================================
   TESTIMONIAL STRIP
========================================================= */

.testimonial-strip {
    position: relative;
    justify-content: center;

    z-index: 2;

    display: flex;

    gap: 20px;

    width: 100%;

    overflow-x: auto;

    padding:
        10px 4px 25px;

    scroll-snap-type:
        x mandatory;

    scrollbar-width: none;
}

.testimonial-strip::-webkit-scrollbar {
    display: none;
}


/* =========================================================
   TESTIMONIAL CARD
========================================================= */

.testimonial-card {
    position: relative;

    flex:
        0 0 390px;

    min-height: 355px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    padding: 36px;

    overflow: hidden;

    scroll-snap-align: start;

    border:
        1px solid rgba(198,152,64,.16);

    border-radius: 22px;

    background:
        rgba(255,255,255,.88);

    box-shadow:
        0 20px 55px rgba(40,30,15,.07);

    backdrop-filter:
        blur(10px);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}


/* top gold line */

.testimonial-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 35px;

    width: 55px;
    height: 3px;

    border-radius: 0 0 10px 10px;

    background:
        var(--luxury-gold);
}


/* decorative quotation mark */

.testimonial-card::after {
    content: "“";

    position: absolute;

    top: 22px;
    right: 27px;

    color:
        rgba(198,152,64,.10);

    font-family:
        Georgia,
        serif;

    font-size: 110px;

    line-height: 1;

    pointer-events: none;
}


/* =========================================================
   TESTIMONIAL NUMBER
========================================================= */

.testimonial-number {
    position: relative;

    z-index: 2;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border:
        1px solid rgba(198,152,64,.25);

    border-radius: 50%;

    color:
        var(--luxury-gold);

    background:
        #fffdf9;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;
}


/* =========================================================
   TESTIMONIAL QUOTE
========================================================= */

.testimonial-card__quote {
    position: relative;

    z-index: 2;

    margin-top: 30px;

    color:
        #252525;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;

    line-height: 1.55;

    letter-spacing: -.2px;
}


/* =========================================================
   TESTIMONIAL AUTHOR
========================================================= */

.testimonial-card__author {
    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    gap: 13px;

    padding-top: 24px;

    margin-top: 25px;

    border-top:
        1px solid rgba(20,20,20,.08);
}


.testimonial-card__avatar {
    width: 44px;
    height: 44px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #d4a94f,
            #9b6b1d
        );

    font-size: 15px;

    font-weight: 700;
}


.testimonial-card__author strong {
    display: block;

    color:
        var(--luxury-dark);

    font-size: 14px;

    font-weight: 700;
}


.testimonial-card__author span {
    display: block;

    margin-top: 4px;

    color:
        #8a8a8a;

    font-size: 12px;
}


/* =========================================================
   TESTIMONIAL HOVER
========================================================= */

.testimonial-card:hover {
    transform:
        translateY(-8px);

    border-color:#0f2a4a;

    box-shadow:
        0 30px 70px rgba(40,30,15,.11);
}


/* =========================================================
   BLOG SECTION
========================================================= */

.container.section-py:not(.testimonial-section .container) {
    position: relative;
}


/* blog header */

.blog-card {
    position: relative;

    height: 100%;

    overflow: hidden;

    border:
        1px solid rgba(30,30,30,.07);

    border-radius: 20px;

    background:
        #ffffff;

    box-shadow:
        0 15px 45px rgba(30,25,15,.055);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}


/* =========================================================
   BLOG IMAGE
========================================================= */

.blog-card__image {
    position: relative;

    display: block;

    height: 255px;

    overflow: hidden;

    background:
        #eee;
}


.blog-card__image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.14)
        );

    pointer-events: none;
}


.blog-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .7s
        cubic-bezier(.22,.61,.36,1);
}


.blog-card:hover
.blog-card__image img {
    transform:
        scale(1.06);
}


/* =========================================================
   BLOG BODY
========================================================= */

.blog-card__body {
    padding: 28px 28px 30px;
}


/* =========================================================
   BLOG CATEGORY
========================================================= */

.blog-card__category {
    display: inline-flex;

    align-items: center;

    padding:
        7px 11px;

    border-radius: 30px;

    color:
        #9a6d20;

    background:
        rgba(198,152,64,.10);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.8px;

    text-transform: uppercase;
}


/* =========================================================
   BLOG TITLE
========================================================= */

.blog-card__body h3 {
    margin:
        17px 0 12px;

    font-size: 23px;

    line-height: 1.25;

    font-weight: 650;

    letter-spacing: -.5px;
}


.blog-card__body h3 a {
    color:
        var(--luxury-dark);

    text-decoration: none;

    transition:
        color .3s ease;
}


.blog-card__body h3 a:hover {
    color:
        var(--luxury-gold-dark);
}


/* =========================================================
   BLOG EXCERPT
========================================================= */

.blog-card__body p {
    margin: 0;

    color:
        #77736d;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   BLOG LINK
========================================================= */

.blog-card__link {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: 22px;

    color:
        #9a6d20;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .3px;

    text-decoration: none;

    transition:
        gap .3s ease,
        color .3s ease;
}


.blog-card__link:hover {
    gap: 13px;

    color:
        #765015;
}


/* =========================================================
   BLOG HOVER
========================================================= */

.blog-card:hover {
    transform:
        translateY(-8px);

    border-color:
        rgba(198,152,64,.22);

    box-shadow:
        0 28px 65px rgba(30,25,15,.10);
}


/* =========================================================
   CTA SECTION
========================================================= */

.home-cta {
    position: relative;
    overflow: hidden;
    padding: 190px 0px;
    
       background:
        linear-gradient(90deg, rgb(0 0 0 / 25%) 0%, rgb(0 0 0 / 35%) 65%, rgb(0 0 0 / 55%) 100%), url(/storage/hsquare-cta-bg.png);

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* =========================================================
   CTA BACKGROUND IMAGE
========================================================= */

.home-cta__background {
    position: absolute;
    inset: 0;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(15,42,74, 0.88) 0%,
            rgba(15,42,74, 0.72) 45%,
            rgba(15,42,74, 0.48) 100%
        ),
        url("/storage/hsquare-cta-bg.png");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    z-index: 0;
}


/* =========================================================
   KEEP CTA CONTENT ABOVE BACKGROUND
========================================================= */

.home-cta > *:not(.home-cta__background) {
    position: relative;
    z-index: 2;
}


/* =========================================================
   CTA CONTENT
========================================================= */

.home-cta__content {
    position: relative;

    z-index: 3;

    max-width: 820px;

    margin:
        0 auto;

    text-align: center;
}


/* =========================================================
   CTA EYEBROW
========================================================= */

.home-cta .section-eyebrow {
    color:
        #ffbe3e;
}


/* =========================================================
   CTA HEADING
========================================================= */

.home-cta h2 {
    margin:
        18px 0 20px;

    color:
        #fff;

    font-size:
        clamp(40px, 5.5vw, 72px);

    line-height:
        .98;

    font-weight:
        650;

    letter-spacing:
        -3.5px;
}


/* =========================================================
   CTA PARAGRAPH
========================================================= */

.home-cta p {
    max-width:
        570px;

    margin:
        0 auto 32px;

    color:
        rgba(255,255,255,0.8);

    font-size:
        17px;

    line-height:
        1.7;
}


/* =========================================================
   CTA BUTTON
========================================================= */

.home-cta .btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 56px;

    padding:
        0 30px;

    border:
        1px solid #c69840;

    border-radius:
        8px;

    color:
        #171717;

    background:
        #c69840;

    font-size:
        13px;

    font-weight:
        700;

    text-decoration:
        none;

    box-shadow:
        0 12px 30px rgba(198,152,64,.18);

    transition:
        .3s ease;
}


.home-cta .btn:hover {
    color:
        #171717;

    background:
        #d7ad5c;

    border-color:
        #d7ad5c;

    transform:
        translateY(-3px);

    box-shadow:
        0 18px 40px rgba(198,152,64,.28);
}


/* =========================================================
   CTA LIGHT EFFECT
========================================================= */

.home-cta__content::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%, -50%);

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgba(198,152,64,.08),
            transparent 68%
        );

    z-index:
        -1;

    pointer-events:
        none;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {

    .section-py {
        padding-top: 85px;
        padding-bottom: 85px;
    }

    .testimonial-card {
        flex-basis: 350px;
    }

    .blog-card__image {
        height: 225px;
    }

    .blog-card__body {
        padding: 24px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .section-py {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .section-header {
        margin-bottom: 35px;
    }

    .section-heading {
        font-size: 46px;
    }

    .testimonial-card {
        flex-basis: 350px;
        min-height: 340px;
    }

    .home-cta {
        padding:
            100px 20px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .section-py {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .section-header {
        display: block;

        margin-bottom: 30px;
    }

    .section-heading {
        font-size: 40px;

        letter-spacing:
            -2px;
    }

    .section-subheading {
        font-size: 15px;
    }


    /* testimonials */

    .testimonial-strip {
        gap: 14px;

        margin-left: -2px;
        margin-right: -2px;

        padding-bottom: 20px;
    }

    .testimonial-card {
        flex:
            0 0 88vw;

        min-height:
            320px;

        padding:
            28px;

        border-radius:
            20px;
    }

    .testimonial-card__quote {
        margin-top: 25px;

        font-size:
            20px;
    }


    /* blog */

    .blog-card__image {
        height:
            230px;
    }

    .blog-card__body {
        padding:
            25px;
    }

    .blog-card__body h3 {
        font-size:
            21px;
    }


    /* CTA */

    .home-cta {
        padding:
            85px 20px;
    }

    .home-cta h2 {
        font-size:
            43px;

        letter-spacing:
            -2.5px;
    }

    .home-cta p {
        font-size:
            15px;
    }

    .home-cta .btn {
        width:
            100%;

        max-width:
            280px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .section-py {
        padding-top:
            55px;

        padding-bottom:
            55px;
    }

    .section-eyebrow {
        font-size:
            10px;

        letter-spacing:
            2.3px;
    }

    .section-heading {
        font-size:
            35px;

        letter-spacing:
            -1.8px;
    }

    .testimonial-card {
        flex-basis:
            88vw;

        min-height:
            305px;

        padding:
            25px;
    }

    .testimonial-card__quote {
        font-size:
            19px;
    }

    .blog-card__image {
        height:
            215px;
    }

    .home-cta h2 {
        font-size:
            37px;
    }
}







/* navbar*/
/* ===================================================== REAL ESTATE NAVBAR ===================================================== */ .realestate-navbar { width: 100%; background: #ffffff; border-top: 1px solid #202020; border-bottom: 1px solid #e8e8e8; position: relative; z-index: 1000; } /* ===================================================== NAVBAR INNER ===================================================== */ .realestate-navbar-inner { max-width: 1800px; min-height: 82px; margin: 0 auto; display: flex; align-items: center; } /* ===================================================== LOGO ===================================================== */ .realestate-brand { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; color: #111111; } .realestate-brand img { display: block; width: auto; max-width: 190px; max-height: 48px; object-fit: contain; } .realestate-brand span { font-size: 23px; font-weight: 700; letter-spacing: -0.05em; } /* ===================================================== DESKTOP NAVIGATION ===================================================== */ .realestate-nav-links { display: flex !important; align-items: stretch; margin-left: auto; margin-right: 45px; gap: 38px; height: 82px; } .realestate-nav-links > a, .realestate-dropdown-trigger { position: relative; display: flex; align-items: center; gap: 8px; height: 82px; padding: 0; border: 0; background: transparent; color: #171717 !important; text-decoration: none; font-size: 16px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: color .2s ease; } /* ===================================================== NAV ICONS ===================================================== */ .realestate-nav-links > a > i, .realestate-dropdown-trigger > i:first-child { font-size: 16px; color: #222222; transition: color .2s ease; } /* ===================================================== DROPDOWN ARROW ===================================================== */ .realestate-dropdown-trigger .dropdown-arrow { font-size: 10px; margin-left: 2px; transition: transform .2s ease, color .2s ease; } .realestate-nav-dropdown:hover .dropdown-arrow { transform: rotate(180deg); } /* ===================================================== HOVER ===================================================== */ .realestate-nav-links > a:hover, .realestate-dropdown-trigger:hover { color: #a8752a !important; } .realestate-nav-links > a:hover i, .realestate-dropdown-trigger:hover i { color: #a8752a; } /* ===================================================== ACTIVE LINK ===================================================== */ .realestate-nav-links > a.active { color: #a8752a !important; } .realestate-nav-links > a.active i { color: #a8752a; } .realestate-nav-links > a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #a8752a; } /* ===================================================== PROPERTY TYPE DROPDOWN ===================================================== */ .realestate-nav-dropdown { position: relative; display: flex; align-items: stretch; } .realestate-dropdown-menu { position: absolute; top: calc(100% + 1px); left: -18px; width: 230px; padding: 10px; background: #ffffff; border: 1px solid #e5e5e5; box-shadow: 0 15px 40px rgba(0, 0, 0, .10); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease; } .realestate-nav-dropdown:hover .realestate-dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); } .realestate-dropdown-menu a { display: flex; align-items: center; gap: 10px; padding: 12px 13px; color: #222222; text-decoration: none; font-size: 14px; transition: background .2s ease, color .2s ease; } .realestate-dropdown-menu a i { font-size: 15px; color: #777777; } .realestate-dropdown-menu a:hover { background: #f7f5f1; color: #a8752a; } .realestate-dropdown-menu a:hover i { color: #a8752a; } /* ===================================================== RIGHT ACTIONS ===================================================== */ .realestate-nav-actions { display: flex !important; align-items: center; gap: 18px; flex-shrink: 0; } /* ===================================================== SEARCH ===================================================== */ .realestate-search-btn { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; color: #171717; border: 1px solid #dedede; border-radius: 50%; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease; } .realestate-search-btn i { font-size: 17px; } .realestate-search-btn:hover { color: #a8752a; border-color: #a8752a; background: #faf8f4; } /* ===================================================== CONTACT BUTTON ===================================================== */ .realestate-agent-btn { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 19px; background: #111111; color: #ffffff !important; border-radius: 15px; text-decoration: none; font-size: 14px; font-weight: 600; transition: background .2s ease, color .2s ease; } .realestate-agent-btn i { font-size: 14px; } .realestate-agent-btn:hover { background: #a8752a; color: #ffffff !important; } /* ===================================================== MOBILE TOGGLE ===================================================== */ .realestate-mobile-toggle { display: none; width: 42px; height: 42px; padding: 8px; border: 0; background: transparent; cursor: pointer; } .realestate-mobile-toggle span { display: block; width: 24px; height: 2px; margin: 5px auto; background: #111111; } /* ===================================================== MOBILE MENU ===================================================== */ .realestate-mobile-menu { display: none; } @media (max-width: 1100px) { .realestate-nav-links { gap: 22px; margin-right: 25px; } .realestate-nav-links > a, .realestate-dropdown-trigger { font-size: 14px; } .realestate-agent-btn { padding: 0 14px; } } /* ===================================================== TABLET / MOBILE ===================================================== */ @media (max-width: 850px) { .realestate-navbar-inner { min-height: 72px; padding: 0 20px; } .realestate-nav-links, .realestate-nav-actions { display: none !important; } .realestate-mobile-toggle { display: block; margin-left: auto; } .realestate-mobile-menu { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 10px 20px 25px; background: #ffffff; border-top: 1px solid #eeeeee; box-shadow: 0 15px 35px rgba(0, 0, 0, .08); } .realestate-mobile-menu.show { display: block; } .realestate-mobile-menu > a, .mobile-property-types-title { display: flex; align-items: center; gap: 11px; min-height: 52px; color: #222222; text-decoration: none; font-size: 15px; font-weight: 500; border-bottom: 1px solid #eeeeee; } .realestate-mobile-menu > a i, .mobile-property-types-title i { width: 20px; color: #555555; } .mobile-property-types { border-bottom: 1px solid #eeeeee; } .mobile-property-types-title { border-bottom: 0; } .mobile-property-types > a { display: flex; align-items: center; gap: 10px; padding: 9px 0 9px 30px; color: #666666; text-decoration: none; font-size: 14px; } .mobile-property-types > a i { font-size: 13px; } .realestate-mobile-menu .mobile-contact { justify-content: center; margin-top: 16px; min-height: 48px; background: #111111; color: #ffffff; border: 0; } .realestate-mobile-menu .mobile-contact i { color: #ffffff; } }


/* -----------------------------------------------------
   NAVBAR PAGE LOAD
   ----------------------------------------------------- */
.realestate-navbar {
    animation: navbarSlideDown 0.6s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes navbarSlideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* -----------------------------------------------------
   LOGO ANIMATION
   ----------------------------------------------------- */
.realestate-brand {
    height: 50px;
    width: 195px;
    animation: logoReveal 0.7s cubic-bezier(.22, 1, .36, 1) 0.1s both;
}

@keyframes logoReveal {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* -----------------------------------------------------
   DESKTOP NAV LINKS
   ----------------------------------------------------- */
.realestate-nav-links > a,
.realestate-dropdown-trigger {
    animation: navItemReveal 0.55s cubic-bezier(.22, 1, .36, 1) both;
}

.realestate-nav-links > a:nth-child(1),
.realestate-nav-dropdown:nth-child(1) {
    animation-delay: 0.15s;
}

.realestate-nav-links > a:nth-child(2),
.realestate-nav-dropdown:nth-child(2) {
    animation-delay: 0.22s;
}

.realestate-nav-links > a:nth-child(3),
.realestate-nav-dropdown:nth-child(3) {
    animation-delay: 0.29s;
}

.realestate-nav-links > a:nth-child(4),
.realestate-nav-dropdown:nth-child(4) {
    animation-delay: 0.36s;
}

@keyframes navItemReveal {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* -----------------------------------------------------
   NAV ACTIONS
   ----------------------------------------------------- */
.realestate-nav-actions {
    animation: actionsReveal 0.6s cubic-bezier(.22, 1, .36, 1) 0.35s both;
}

@keyframes actionsReveal {
    from {
        opacity: 0;
        transform: translateX(15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* -----------------------------------------------------
   NAV LINK HOVER
   ----------------------------------------------------- */
.realestate-nav-links > a,
.realestate-dropdown-trigger {
    transition:
        color .25s ease,
        transform .25s ease;
}

.realestate-nav-links > a:hover,
.realestate-dropdown-trigger:hover {
    transform: translateY(-2px);
}


/* -----------------------------------------------------
   ACTIVE UNDERLINE ANIMATION
   ----------------------------------------------------- */
.realestate-nav-links > a::after {
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}

.realestate-nav-links > a:hover::after,
.realestate-nav-links > a.active::after {
    transform: scaleX(1);
}


/* -----------------------------------------------------
   ICON HOVER
   ----------------------------------------------------- */
.realestate-nav-links > a > i,
.realestate-dropdown-trigger > i:first-child {
    transition:
        color .25s ease,
        transform .25s ease;
}

.realestate-nav-links > a:hover > i,
.realestate-dropdown-trigger:hover > i:first-child {
    transform: translateY(-1px) scale(1.08);
}


/* -----------------------------------------------------
   SEARCH BUTTON
   ----------------------------------------------------- */
.realestate-search-btn {
    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}

.realestate-search-btn:hover {
    transform: translateY(-3px) rotate(5deg);
}


/* -----------------------------------------------------
   CONTACT BUTTON
   ----------------------------------------------------- */
.realestate-agent-btn {
    position: relative;
    overflow: hidden;
    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.realestate-agent-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );
    transform: skewX(-20deg);
    transition: left .6s ease;
}

.realestate-agent-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,.15);
}

.realestate-agent-btn:hover::before {
    left: 140%;
}


/* -----------------------------------------------------
   DROPDOWN
   ----------------------------------------------------- */
.realestate-dropdown-menu {
    transform-origin: top center;

    opacity: 0;
    visibility: hidden;

    transform:
        translateY(12px)
        scale(.97);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s cubic-bezier(.22, 1, .36, 1);
}

.realestate-nav-dropdown:hover .realestate-dropdown-menu {
    opacity: 1;
    visibility: visible;

    transform:
        translateY(0)
        scale(1);
}


/* -----------------------------------------------------
   DROPDOWN ITEMS
   ----------------------------------------------------- */
.realestate-dropdown-menu a {
    transition:
        background .2s ease,
        color .2s ease,
        padding-left .2s ease;
}

.realestate-dropdown-menu a:hover {
    padding-left: 18px;
}


/* -----------------------------------------------------
   DROPDOWN ICON
   ----------------------------------------------------- */
.realestate-dropdown-menu a i {
    transition:
        color .2s ease,
        transform .2s ease;
}

.realestate-dropdown-menu a:hover i {
    transform: translateX(3px);
}


/* =====================================================
   MOBILE MENU ANIMATION
   ===================================================== */

.realestate-mobile-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);

    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s cubic-bezier(.22, 1, .36, 1);
}

.realestate-mobile-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* -----------------------------------------------------
   MOBILE MENU LINKS
   ----------------------------------------------------- */
.realestate-mobile-menu.show > a,
.realestate-mobile-menu.show .mobile-property-types {
    animation: mobileItemReveal .4s cubic-bezier(.22, 1, .36, 1) both;
}

.realestate-mobile-menu.show > a:nth-child(1) {
    animation-delay: .05s;
}

.realestate-mobile-menu.show > a:nth-child(2) {
    animation-delay: .10s;
}

.realestate-mobile-menu.show > a:nth-child(3) {
    animation-delay: .15s;
}

.realestate-mobile-menu.show > a:nth-child(4) {
    animation-delay: .20s;
}

.realestate-mobile-menu.show .mobile-property-types {
    animation-delay: .25s;
}

@keyframes mobileItemReveal {
    from {
        opacity: 0;
        transform: translateX(-12px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* -----------------------------------------------------
   MOBILE LINK HOVER
   ----------------------------------------------------- */
.realestate-mobile-menu > a,
.mobile-property-types-title,
.mobile-property-types > a {
    transition:
        color .2s ease,
        padding-left .2s ease,
        background .2s ease;
}

.realestate-mobile-menu > a:hover,
.mobile-property-types-title:hover {
    color: #a8752a;
    padding-left: 6px;
}

.mobile-property-types > a:hover {
    color: #a8752a;
    padding-left: 36px;
}


/* -----------------------------------------------------
   MOBILE TOGGLE
   ----------------------------------------------------- */
.realestate-mobile-toggle {
    transition: transform .25s ease;
}

.realestate-mobile-toggle:hover {
    transform: scale(1.08);
}

.realestate-mobile-toggle span {
    transition:
        transform .3s ease,
        opacity .3s ease;
}


/* =====================================================
   REDUCED MOTION ACCESSIBILITY
   ===================================================== */

@media (prefers-reduced-motion: reduce) {

    .realestate-navbar,
    .realestate-brand,
    .realestate-nav-links > a,
    .realestate-dropdown-trigger,
    .realestate-nav-actions,
    .realestate-mobile-menu.show > a,
    .realestate-mobile-menu.show .mobile-property-types {
        animation: none !important;
    }

    .realestate-navbar *,
    .realestate-navbar *::before,
    .realestate-navbar *::after {
        transition: none !important;
    }
}


.blog-section{
        background: #e9dfca;
}



/*about*/

/* ============================================================
   COMMON STATIC PAGE
============================================================ */

.static-page {
    position: relative;
    overflow: hidden;

    padding: 90px 0 110px;

    background: #f8f7f3;
}

.static-page-container {
    width: min(1280px, calc(100% - 60px));
    margin: 0 auto;
}


/* ============================================================
   ABOUT US
============================================================ */

.static-page--about-us {
    background: #f8f7f3;
}

.static-page--about-us .static-page-layout {
    display: block;
}

.static-page--about-us .static-page-content {
    max-width: 1050px;
    margin: 0 auto;
}

.static-page--about-us .static-page-eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 20px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #b17d37;
}

.static-page--about-us .static-page-eyebrow::before {
    content: "";

    width: 45px;
    height: 2px;

    background: #c69840;
}


.static-page--about-us .static-page-title {
    margin: 0 0 35px;

    font-size: clamp(50px, 6vw, 82px);
    line-height: .95;

    letter-spacing: -4px;

    font-weight: 600;

    color: #151515;
}


/* ============================================================
   ABOUT CONTENT
============================================================ */

.static-page--about-us .prose {
    max-width: 900px;
}

.static-page--about-us .prose p {
    margin-bottom: 22px;

    font-size: 17px;
    line-height: 1.85;

    color: #666;
}

.static-page--about-us .prose h2 {
    position: relative;

    margin-top: 60px;
    margin-bottom: 20px;

    padding-left: 20px;

    font-size: 32px;
    line-height: 1.2;

    font-weight: 600;

    color: #171717;
}

.static-page--about-us .prose h2::before {
    content: "";

    position: absolute;

    left: 0;
    top: 5px;

    width: 3px;
    height: calc(100% - 10px);

    background: #c69840;

    border-radius: 10px;
}

.static-page--about-us .prose h3 {
    margin-top: 35px;
    margin-bottom: 12px;

    font-size: 23px;

    color: #171717;
}

.static-page--about-us .prose strong {
    color: #222;
}

.static-page--about-us .prose ul {
    margin: 25px 0;

    padding-left: 0;

    list-style: none;
}

.static-page--about-us .prose li {
    position: relative;

    margin-bottom: 12px;
    padding: 15px 20px 15px 48px;

    background: #fff;

    border: 1px solid #eceae5;
    border-radius: 12px;

    color: #666;
}

.static-page--about-us .prose li::before {
    content: "✓";

    position: absolute;

    left: 18px;
    top: 50%;

    transform: translateY(-50%);

    color: #c69840;

    font-weight: 700;
}



/*contact us*/

/* ============================================================
   CONTACT PAGE
============================================================ */

.static-page--contact-us {
    background:
        radial-gradient(
            circle at 95% 10%,
            rgba(198, 152, 64, .12),
            transparent 30%
        ),
        radial-gradient(
            circle at 5% 90%,
            rgba(198, 152, 64, .07),
            transparent 25%
        ),
        #f8f7f3;
}

.static-page--contact-us .static-page-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(400px, .85fr);

    gap: 55px;

    align-items: start;
}


/* ============================================================
   CONTACT LEFT
============================================================ */

.static-page--contact-us .static-page-content {
    padding-top: 20px;
}

.static-page--contact-us .static-page-eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 20px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #171717;
}

.static-page--contact-us .static-page-eyebrow::before {
    content: "";

    width: 45px;
    height: 2px;

    background: #c69840;
}


.static-page--contact-us .static-page-title {
    max-width: 850px;

    margin: 0;

    font-size: clamp(48px, 5vw, 72px);
    line-height: .98;

    letter-spacing: -3px;

    font-weight: 600;

    color: #111;
}


/* ============================================================
   CONTACT DESCRIPTION
============================================================ */

.static-page--contact-us .prose {
    max-width: 700px;

    margin-top: 25px;
}

.static-page--contact-us .prose p {
    font-size: 17px;
    line-height: 1.75;

    color: #777;
}


/* ============================================================
   CONTACT INFO
============================================================ */

.contact-info-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;

    margin-top: 35px;
}

.contact-info-card {
    display: flex;

    gap: 13px;

    min-height: 125px;

    padding: 18px;

    background: rgba(255,255,255,.9);

    border: 1px solid #e8e6e1;

    border-radius: 18px;

    box-shadow:
        0 10px 35px rgba(0,0,0,.035);

    transition: .25s ease;
}

.contact-info-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 40px rgba(0,0,0,.07);
}

.contact-info-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f8f3ea;

    color: #b17d37;

    font-size: 18px;
}

.contact-info-card h4 {
    margin: 3px 0 7px;

    font-size: 15px;

    color: #171717;
}

.contact-info-card p {
    margin: 0;

    font-size: 12px;
    line-height: 1.6;

    color: #777;
}

.contact-info-card a {
    color: #777;

    text-decoration: none;
}

.contact-info-card a:hover {
    color: #b17d37;
}


/* ============================================================
   MAP
============================================================ */

.contact-map {
    overflow: hidden;

    height: 330px;

    margin-top: 20px;

    padding: 6px;

    background: #fff;

    border-radius: 22px;

    box-shadow:
        0 15px 45px rgba(0,0,0,.06);
}

.contact-map iframe {
    width: 100%;
    height: 100%;

    border: 0;

    border-radius: 17px;
}


/* ============================================================
   CONTACT FORM
============================================================ */

.contact-form-wrapper {
    position: sticky;
    top: 90px;
}

.contact-form-card {
    padding: 38px;

    background: rgba(255,255,255,.96);

    border: 1px solid #e7e5df;

    border-radius: 27px;

    box-shadow:
        0 25px 70px rgba(0,0,0,.08);
}

.contact-form-eyebrow {
    display: flex;
    align-items: center;
    gap: 11px;

    margin-bottom: 16px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #171717;
}

.contact-form-eyebrow::before {
    content: "";

    width: 35px;
    height: 2px;

    background: #c69840;
}

.contact-form-card h2 {
    margin: 0;

    font-size: 37px;
    line-height: 1.05;

    letter-spacing: -1.5px;

    color: #111;
}

.contact-form-description {
    margin: 12px 0 27px;

    font-size: 14px;

    line-height: 1.6;

    color: #888;
}


/* ============================================================
   FORM ELEMENTS
============================================================ */

.contact-form-card input,
.contact-form-card textarea,
.contact-form-card select,
.contact-form-card .form-control,
.contact-form-card .form-select {
    width: 100%;

    min-height: 49px;

    padding: 12px 14px;

    border: 1px solid #deddd8;

    border-radius: 10px;

    background: #fafaf8;

    color: #222;

    font-size: 13px;

    outline: none;

    box-shadow: none;

    transition: .2s ease;
}

.contact-form-card textarea {
    min-height: 120px;
}

.contact-form-card input:focus,
.contact-form-card textarea:focus,
.contact-form-card select:focus,
.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus {
    background: #fff;

    border-color: #c69840;

    box-shadow:
        0 0 0 3px rgba(198,152,64,.1);
}


/* ============================================================
   FORM BUTTON
============================================================ */

.contact-form-card button[type="submit"],
.contact-form-card .btn-brand,
.contact-form-card .btn-primary {
    width: 100%;

    min-height: 52px;

    margin-top: 8px;

    border: 0;

    border-radius: 10px;

    background: #c69840;

    color: #fff;

    font-size: 13px;
    font-weight: 600;

    transition: .25s ease;
}

.contact-form-card button[type="submit"]:hover,
.contact-form-card .btn-brand:hover,
.contact-form-card .btn-primary:hover {
    background: #ad8034;

    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(198,152,64,.2);
}









/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 1000px) {

    .static-page-container {
        width: calc(100% - 40px);
    }

    .static-page--contact-us .static-page-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contact-form-wrapper {
        position: static;
    }

    .contact-info-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767px) {

    .static-page {
        padding: 60px 0 80px;
    }

    .static-page-container {
        width: calc(100% - 30px);
    }


    /* About */

    .static-page--about-us .static-page-title {
        font-size: 43px;
        letter-spacing: -2px;
    }

    .static-page--about-us .prose p {
        font-size: 15px;
    }

    .static-page--about-us .prose h2 {
        margin-top: 45px;

        font-size: 27px;
    }


    /* Contact */

    .static-page--contact-us .static-page-title {
        font-size: 43px;
        letter-spacing: -2px;
    }

    .static-page--contact-us .prose p {
        font-size: 15px;
    }

    .contact-form-card {
        padding: 25px 20px;

        border-radius: 20px;
    }

    .contact-form-card h2 {
        font-size: 31px;
    }

    .contact-map {
        height: 270px;
    }

}


@media (max-width: 480px) {

    .static-page--about-us .static-page-title,
    .static-page--contact-us .static-page-title {
        font-size: 36px;
    }

    .contact-info-card {
        padding: 15px;
    }

    .contact-form-card {
        padding: 22px 17px;
    }

}

/* =========================================================
   HOMEPAGE REDESIGN — SPLIT HERO, SERIF HEADINGS,
   ENQUIRY BAR + SIDE TAB   (appended; overrides above)
========================================================= */

:root {
    --lux-serif: "Playfair Display", Georgia, "Times New Roman", serif;
    --lux-panel: #f8f3ea;
    --lux-ink: #101820;
    --lux-gold: #c69840;
    --lux-gold-dark: #a87925;
}


/* ---------- SPLIT HERO ---------- */

.home-hero--split {
    display: block;
    height: auto;
    min-height: 720px;
    background: var(--lux-panel);
}

/* photo = left 55% */
.home-hero--split .home-hero__bg {
    inset: 0 45% 0 0;
    transform: none;
}

/* remove the old centered-hero decoration */
.home-hero--split .home-hero__overlay,
.home-hero--split .hero-wave,
.home-hero--split::after {
    display: none;
}

.home-hero--split .container {
    max-width: none;
    padding: 0;
}

.home-hero--split .home-hero__inner {
    padding: 0;
    justify-content: flex-end;
    align-items: stretch;
}

/* panel = right 45% */
.home-hero--split .home-hero__content {
    width: 45%;
    max-width: none;
    margin: 0;
    padding: 70px 56px;
    background:
        radial-gradient(circle at 20% 15%, rgba(255,255,255,.55), transparent 55%),
        var(--lux-panel);
    border-left: 4px solid var(--lux-gold);
}

.home-hero--split .home-hero__eyebrow {
    padding: 8px 0;
    border-top: 1px solid var(--lux-gold);
    border-bottom: 1px solid var(--lux-gold);
    color: var(--lux-ink);
}

.home-hero--split h1 {
    font-family: var(--lux-serif);
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.5px;
    color: var(--lux-ink);
}

.hero-ornament {
    display: block;
    width: 140px;
    height: 1px;
    margin: 26px auto 0;
    background: linear-gradient(90deg, transparent, var(--lux-gold), transparent);
    position: relative;
}

.hero-ornament::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 9px;
    height: 9px;
    background: var(--lux-gold);
    transform: translate(-50%, -50%) rotate(45deg);
}

.home-hero--split .home-hero__content > p {
    margin-top: 22px;
    color: rgba(16,24,32,.72);
}

.home-hero--split .hero-trust {
    border-radius: 6px;
    border: 1px solid var(--lux-ink);
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    padding: 16px 12px;
}

.home-hero--split .trust-item {
    min-width: 0;
    flex: 1;
}

.home-hero--split .trust-divider {
    margin: 0 8px;
}


/* ---------- SERIF HEADINGS + ORNAMENT EYEBROWS ---------- */

.featured-title,
.section-heading,
.property-search__heading h2,
.why-hsquare__head h2,
.projects-modern__title h2,
.property-categories__header h2,
.home-cta h2 {
    font-family: var(--lux-serif);
    letter-spacing: -.5px;
}

.featured-eyebrow,
.section-eyebrow,
.property-search__eyebrow,
.why-hsquare__eyebrow,
.property-categories__eyebrow {
    letter-spacing: 4px;
}

.featured-eyebrow::before,
.featured-eyebrow::after {
    content: "";
    width: 46px;
    height: 1px;
    background: var(--lux-gold);
}


/* ---------- ENQUIRE TAB (right edge) ---------- */

.enquire-tab {
    position: fixed;
    right: 0;
    top: 42%;
    z-index: 950;
    padding: 14px 10px;
    background: var(--lux-gold);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    writing-mode: vertical-rl;
    border-radius: 8px 0 0 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,.18);
    transition: background .25s ease, padding .25s ease;
}

.enquire-tab:hover {
    background: var(--lux-gold-dark);
    color: #fff;
    padding-right: 16px;
}


/* ---------- STICKY ENQUIRY BAR ---------- */

.enquiry-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 940;
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 12px 56px 12px 28px;
    background: #ecebe8;
    border-top: 3px solid var(--lux-gold);
    box-shadow: 0 -10px 30px rgba(0,0,0,.12);
    transition: transform .35s ease;
}

.enquiry-bar.is-hidden {
    transform: translateY(110%);
}

.enquiry-bar__label {
    flex-shrink: 0;
    font-family: var(--lux-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--lux-ink);
}

.enquiry-bar__form {
    flex: 1;
    display: flex;
    gap: 14px;
}

.enquiry-bar__form input {
    flex: 1;
    min-width: 0;
    height: 46px;
    padding: 0 16px;
    border: 1px solid transparent;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
}

.enquiry-bar__form input:focus {
    outline: 0;
    border-color: var(--lux-gold);
}

.enquiry-bar__form button {
    height: 46px;
    padding: 0 30px;
    border: 0;
    background: var(--lux-gold);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .25s ease;
}

.enquiry-bar__form button:hover {
    background: var(--lux-gold-dark);
}

.enquiry-bar__close {
    position: absolute;
    right: 14px;
    top: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--lux-ink);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

/* keep page content clear of the bar */
body:has(.enquiry-bar:not(.is-hidden)) {
    padding-bottom: 70px;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width: 991px) {

    .home-hero--split .home-hero__bg {
        inset: 0 0 auto 0;
        height: 340px;
    }

    .home-hero--split .home-hero__inner {
        min-height: 0;
        padding-top: 340px;
    }

    .home-hero--split .home-hero__content {
        width: 100%;
        padding: 50px 24px 60px;
        border-left: 0;
        border-top: 4px solid var(--lux-gold);
    }

    .home-hero--split .hero-scroll {
        display: none;
    }
}

@media (max-width: 767px) {

    .enquire-tab {
        display: none;
    }

    .enquiry-bar {
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 44px 10px 14px;
    }

    .enquiry-bar__label {
        display: none;
    }

    .enquiry-bar__form {
        flex-wrap: wrap;
        gap: 8px;
    }

    .enquiry-bar__form input {
        flex: 1 1 45%;
        height: 40px;
    }

    .enquiry-bar__form button {
        flex: 1 1 100%;
        height: 40px;
    }

    body:has(.enquiry-bar:not(.is-hidden)) {
        padding-bottom: 150px;
    }
}


/* =========================================================
   FEATURED PROPERTIES — MATCHED TO HERO + WHY US (appended override)
   Cream/white section, centered header with gold flanking lines,
   maroon serif title with gold italic accent, gold-framed cards,
   gold outline arrows. Markup and carousel JS unchanged.
========================================================= */

.featured-properties-section {
    padding: 100px 0 90px;
    background: linear-gradient(180deg, #fffdf8 0%, #fff6e8 100%);
    border-top: 1px solid rgba(198,152,64,.35);
}

/* old gold waves off */
.featured-properties-section .featured-decoration {
    display: none;
}

/* ---------- header (same pattern as Why Us) ---------- */

.featured-properties-section .featured-header {
    min-height: 0;
    margin-bottom: 26px;
}

.featured-properties-section .featured-eyebrow {
    color: #a87925;
    letter-spacing: 5px;
    margin-bottom: 18px;
}

.featured-properties-section .featured-eyebrow::before,
.featured-properties-section .featured-eyebrow::after {
    width: 40px;
    background: #c69840;
}

.featured-properties-section .featured-eyebrow-dot {
    display: none;
}

.featured-properties-section .featured-title {
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(36px, 4.6vw, 56px);
    font-weight: 600;
    letter-spacing: -.5px;
    line-height: 1.1;
}

.featured-properties-section .featured-title span {
    color: #c69840;
    font-style: italic;
}

/* gold line + diamond ornament, same as the hero */
.featured-properties-section .featured-title::after {
    content: "";
    display: block;
    width: 140px;
    height: 1px;
    margin: 24px auto 0;
    background: linear-gradient(90deg, transparent, #c69840, transparent);
}

.featured-properties-section .featured-description {
    max-width: 520px;
    margin: 20px auto 0;
    color: rgba(15,42,74,.72);
    font-size: 16px;
}

/* view all = maroon button, gold on hover */
.featured-properties-section .featured-view-all {
    bottom: 6px;
    min-height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: #0f2a4a;
    backdrop-filter: none;
}

.featured-properties-section .featured-view-all:hover {
    color: #0f2a4a;
    background: #d7b15a;
    box-shadow: 0 12px 26px rgba(198,152,64,.35);
}

/* count badge = centered pill */
.featured-properties-section .featured-count {
    position: relative;
    top: auto;
    left: auto;
    width: max-content;
    min-width: 0;
    margin: 0 auto;
    padding: 10px 22px 10px 12px;
    border: 1px solid #c69840;
    border-radius: 60px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15,42,74,.08);
}

.featured-properties-section .featured-count-icon {
    width: 44px;
    height: 44px;
    color: #e3c27a;
    background: #0f2a4a;
    border: 0;
}

.featured-properties-section .featured-count-text strong {
    color: #0f2a4a;
    font-size: 22px;
}

.featured-properties-section .featured-count-text span {
    color: rgba(15,42,74,.65);
}

/* ---------- carousel + cards ---------- */

.featured-properties-section .featured-carousel {
    margin-top: 48px;
}

.featured-properties-section .featured-slide {
    padding: 0 12px;
    opacity: 1;
    transform: none;
}

/* gold-framed card (!important: earlier rules reset these) */
.featured-properties-section .featured-card {
    background: #fff !important;
    border: 1px solid rgba(198,152,64,.55) !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 40px rgba(15,42,74,.08) !important;
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.featured-properties-section .featured-card:hover {
    transform: translateY(-6px) !important;
    border-color: #c69840 !important;
    box-shadow: 0 26px 54px rgba(15,42,74,.16) !important;
}

/* ---------- arrows ---------- */

.featured-properties-section .featured-carousel-arrow {
    width: 48px;
    height: 48px;
    color: #a87925;
    background: #fff;
    border: 1px solid #c69840;
    box-shadow: 0 8px 20px rgba(15,42,74,.12);
}

.featured-properties-section .featured-carousel-arrow:hover {
    color: #e3c27a;
    background: #0f2a4a;
    border-color: #0f2a4a;
}

/* ---------- pagination ---------- */

.featured-properties-section .featured-pagination {
    margin-top: 10px;
}

.featured-properties-section .featured-pagination button {
    background: rgba(15,42,74,.2);
}

.featured-properties-section .featured-pagination button.active {
    width: 32px;
    background: #c69840;
    box-shadow: none;
}

/* ---------- responsive ---------- */

@media (max-width: 991px) {
    .featured-properties-section {
        padding: 70px 0 60px;
    }

    .featured-properties-section .featured-header {
        flex-direction: column;
    }

    .featured-properties-section .featured-view-all {
        position: relative;
        right: auto;
        bottom: auto;
        margin-top: 22px;
    }
}

@media (max-width: 767px) {
    .featured-properties-section .featured-slide {
        padding: 0 6px;
    }

    .featured-properties-section .featured-count {
        max-width: 100%;
    }
}


/* =========================================================
   WHY US — EDITORIAL REDESIGN (appended override)
   Cream section, arch image with gold offset frame, numbered
   list rows instead of cards. Original maroon/gold palette.
   Markup unchanged.
========================================================= */

.why-hsquare {
    padding: 100px 0;
    background: linear-gradient(180deg, #fff6e8 0%, #f8f3ea 100%);
}

.why-hsquare .container {
    position: relative;
    z-index: 2;
}

/* ---------- header: centered ---------- */

.why-hsquare__head {
    justify-items: center;
    margin-bottom: 70px;
    text-align: center;
}

.why-hsquare__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    color: #a87925;
    letter-spacing: 5px;
}

.why-hsquare__eyebrow::before,
.why-hsquare__eyebrow::after {
    content: "";
    width: 40px;
    height: 1px;
    background: #c69840;
}

.why-hsquare h2 {
    max-width: 760px;
    margin: 0 auto;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(36px, 4.6vw, 56px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.5px;
    color: #0f2a4a;
}

.why-hsquare h2 span {
    color: #c69840;
    font-style: italic;
}

.why-hsquare__intro {
    margin-top: 18px;
}

.why-hsquare__intro p {
    max-width: 520px;
    margin: 0 auto;
    font-size: 16px;
    color: rgba(15,42,74,.72);
}

/* ---------- layout ---------- */

.why-hsquare__layout {
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: center;
}

/* ---------- arch image + gold offset frame ---------- */

.why-hsquare__visual {
    grid-row: auto;
    min-height: 620px;
    margin: 0 22px 22px 0;
    overflow: visible;
}

.why-hsquare__visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 2px solid #c69840;
    border-radius: 320px 320px 20px 20px;
    transform: translate(22px, 22px);
}

.why-hsquare__image {
    z-index: 1;
    border-radius: 320px 320px 20px 20px;
}

.why-hsquare__image::after {
    background: linear-gradient(180deg, rgba(15,42,74,0) 55%, rgba(15,42,74,.5) 100%);
}

/* round maroon badge overlapping the frame edge */
.why-hsquare__badge {
    right: -30px;
    bottom: 70px;
    z-index: 4;
    border: 6px solid #f8f3ea;
    box-shadow: 0 18px 40px rgba(15,42,74,.28);
}

/* ---------- numbered list rows ---------- */

.why-hsquare__features {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid rgba(15,42,74,.18);
}

.why-hsquare__features::after {
    display: none;
}

.why-feature {
    position: relative;
    display: grid;
    grid-template-columns: 78px 1fr 42px;
    align-items: start;
    column-gap: 14px;
    min-height: 0;
    padding: 30px 14px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(15,42,74,.18);
    border-radius: 0;
    transition: background .35s ease, padding-left .35s ease;
}

.why-feature:hover {
    transform: none;
    padding-left: 26px;
    background: linear-gradient(90deg, rgba(198,152,64,.20), rgba(198,152,64,0));
    border-color: rgba(15,42,74,.18);
}

/* gold serif numeral */
.why-feature__number {
    margin: 0;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 46px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    color: #c69840;
}

.why-feature__title {
    gap: 14px;
    margin-bottom: 10px;
}

.why-feature__title i {
    width: 42px;
    border: 1px solid rgba(198,152,64,.8);
    color: #a87925;
}

.why-feature:hover .why-feature__title i {
    background: #0f2a4a;
    border-color: #0f2a4a;
    color: #e3c27a;
}

.why-feature h3 {
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 25px;
    color: #0f2a4a;
}

.why-feature p {
    max-width: 460px;
    color: rgba(15,42,74,.78);
}

.why-feature__arrow {
    position: static;
    align-self: center;
    width: 42px;
    height: 42px;
    border-color: rgba(15,42,74,.3);
    color: #0f2a4a;
}

.why-feature:hover .why-feature__arrow {
    background: #0f2a4a;
    border-color: #0f2a4a;
    color: #e3c27a;
}

/* ---------- responsive ---------- */

@media (max-width: 991px) {
    .why-hsquare {
        padding: 70px 0;
    }

    .why-hsquare__layout {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .why-hsquare__visual {
        min-height: 460px;
        max-width: 480px;
        width: calc(100% - 22px);
        margin: 0 auto 22px;
    }

    .why-hsquare__visual::before,
    .why-hsquare__image {
        border-radius: 240px 240px 20px 20px;
    }

    .why-hsquare__badge {
        right: -14px;
        width: 120px;
        height: 120px;
    }
}

@media (max-width: 767px) {
    .why-feature {
        grid-template-columns: 52px 1fr;
        padding: 24px 6px;
    }

    .why-feature__number {
        font-size: 34px;
    }

    .why-feature__arrow {
        display: none;
    }

    .why-feature h3 {
        font-size: 21px;
    }

    .why-hsquare__visual {
        min-height: 380px;
    }
}


/* =========================================================
   PROPERTY SEARCH — NO OVERLAP + MATCHED STYLE (appended)
   The card used to ride up 40-50px over the hero (negative
   margin). With the split hero that slices across the photo and
   the cream panel, so it now sits below the hero on its own band.
========================================================= */

.property-search-wrap {
    margin-top: 0;
    padding: 64px 0 56px;
    background: #fffdf8;
}

.property-search {
    padding: 36px 40px 38px;
    border: 1px solid rgba(198,152,64,.6);
    border-radius: 20px;
    background: #fff;                      /* was 97% transparent */
    box-shadow: 0 22px 56px rgba(15,42,74,.10);
    backdrop-filter: none;
}

.property-search__top h2 {
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -.5px;
}

.property-search__heading p {
    color: rgba(15,42,74,.65);
    font-size: 14px;
}

.property-search__eyebrow {
    color: #a87925;
    letter-spacing: 3px;
}

.property-search__all {
    color: #0f2a4a;
    padding: 10px 18px;
    border: 1px solid rgba(198,152,64,.7);
    border-radius: 6px;
}

.property-search__all:hover {
    color: #0f2a4a;
    background: #d7b15a;
    border-color: #d7b15a;
}

.property-search__all:hover i {
    color: #0f2a4a;
}

/* the original only collapsed the form at 991px; the 4-column
   row gets cramped well before that */
@media (max-width: 1199px) {
    .property-search__form {
        grid-template-columns: 1fr 1fr;
    }

    .search-field--keyword {
        grid-column: 1 / -1;
    }

    .search-submit {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .property-search-wrap {
        padding: 44px 0 40px;
    }

    .property-search {
        padding: 26px 18px 28px;
    }

    .property-search__top h2 {
        font-size: 26px;
    }

    .property-search__form {
        grid-template-columns: 1fr;
    }

    .property-search__all {
        align-self: flex-start;
    }
}


/* =========================================================
   HERO STATS — fit the panel at medium widths (appended)
========================================================= */

@media (max-width: 1399px) {
    .home-hero--split .home-hero__content {
        padding: 60px 34px;
    }

    .home-hero--split .trust-icon {
        display: none;
    }

    .home-hero--split .trust-divider {
        margin: 0 6px;
    }

    .home-hero--split .trust-content {
        align-items: center;
        text-align: center;
    }

    .home-hero--split .trust-content span {
        white-space: normal;
    }
}


/* =========================================================
   FEATURED PROPERTIES — COMPACT LEFT-ALIGNED HEADER (appended)
   Title block left, "View all" button right on the same row,
   count pill directly under the text, carousel full width.
   Uses CSS grid on the container; markup unchanged.
========================================================= */

.featured-properties-section {
    padding: 80px 0 70px;
}

.featured-properties-section .featured-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 30px;
    align-items: end;
}

/* header wrapper steps aside so its children join the grid */
.featured-properties-section .featured-header {
    display: contents;
}

.featured-properties-section .featured-header-content {
    grid-column: 1;
    grid-row: 1;
    align-items: flex-start;
    width: auto;
    text-align: left;
}

.featured-properties-section .featured-eyebrow {
    margin-bottom: 14px;
}

/* one gold line before the label (left-aligned look) */
.featured-properties-section .featured-eyebrow::after {
    display: none;
}

.featured-properties-section .featured-title {
    font-size: clamp(34px, 4vw, 50px);
}

.featured-properties-section .featured-title::after {
    width: 90px;
    margin: 20px 0 0;
    background: linear-gradient(90deg, #c69840, transparent);
}

.featured-properties-section .featured-description {
    max-width: 520px;
    margin: 16px 0 0;
}

.featured-properties-section .featured-view-all {
    position: static;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0 0 6px;
}

/* count pill: compact, left, under the text */
.featured-properties-section .featured-count {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    margin: 24px 0 0;
}

.featured-properties-section .featured-carousel {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 34px;
}

.featured-properties-section .featured-pagination {
    grid-column: 1 / -1;
    grid-row: 4;
}

@media (max-width: 991px) {
    .featured-properties-section .featured-container {
        grid-template-columns: minmax(0, 1fr);
    }

    .featured-properties-section .featured-header-content {
        grid-column: 1;
        grid-row: 1;
    }

    .featured-properties-section .featured-view-all {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
        margin: 22px 0 0;
    }

    .featured-properties-section .featured-count {
        grid-row: 3;
        margin-top: 16px;
    }

    .featured-properties-section .featured-carousel {
        grid-row: 4;
        margin-top: 28px;
    }

    .featured-properties-section .featured-pagination {
        grid-row: 5;
    }
}


/* =========================================================
   NEW DEVELOPMENTS (LATEST PROJECTS) — BENTO REDESIGN (appended)
   One large featured project left, two stacked right; photo fills
   the card, details overlay on a maroon gradient. Same header
   pattern as Featured. Markup unchanged.
========================================================= */

.projects-modern {
    padding: 100px 0;
    background: #fff;
}

/* ---------- header ---------- */

.projects-modern__header {
    align-items: flex-end;
    margin-bottom: 48px;
}

.projects-modern__title > span {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    color: #a87925;
    font-weight: 700;
    letter-spacing: 5px;
}

.projects-modern__title > span::before {
    content: "";
    width: 40px;
    height: 1px;
    background: #c69840;
}

.projects-modern__title h2 {
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.5px;
    color: #0f2a4a;
}

.projects-modern__title h2 strong {
    color: #c69840;
    font-style: italic;
    font-weight: 600;
}

.projects-modern__controls {
    gap: 22px;
}

.projects-modern__counter {
    color: #a87925;
    font-weight: 600;
}

/* "View all" = same maroon button as Featured */
.projects-modern__controls a {
    padding: 14px 24px;
    border: 0;
    border-radius: 6px;
    background: #0f2a4a;
    color: #fff;
    font-weight: 700;
    transition: background .3s ease, color .3s ease, gap .3s ease;
}

.projects-modern__controls a:hover {
    background: #d7b15a;
    color: #0f2a4a;
}

/* ---------- arch cards: three tall arch-topped photos ---------- */

.projects-modern {
    background: #fbf8f2;
}

.projects-modern__track {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 48px;
    overflow: visible;
    scroll-snap-type: none;
}

.projects-modern .modern-project,
.projects-modern .modern-project:first-child,
.projects-modern .modern-project:last-child,
.projects-modern .modern-project:only-child {
    position: relative;
    display: block;
    flex: 1 1 250px;
    grid-column: auto;
    grid-row: auto;
    width: auto;
    min-width: 250px;
    max-width: 380px;
    min-height: 0;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    transform: none;
}

.projects-modern .modern-project:hover {
    transform: none;
    box-shadow: none;
}

/* middle card sits lower for rhythm */
@media (min-width: 992px) {
    .projects-modern .modern-project:nth-child(even) {
        margin-top: 56px;
    }
}

/* the arch: round top, soft bottom corners, double gold line */
.projects-modern .modern-project__image,
.projects-modern .modern-project:first-child .modern-project__image {
    position: relative;
    inset: auto;
    width: 100%;
    height: 470px;
    border: 0;
    border-radius: 999px 999px 26px 26px;
    overflow: hidden;
    background: #e7dfcf;
    box-shadow: 0 0 0 7px #fbf8f2, 0 0 0 8px #c69840;
}

.projects-modern .modern-project__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s ease;
}

.projects-modern .modern-project:hover .modern-project__image img {
    transform: scale(1.05);
}

.projects-modern .modern-project__image::after {
    display: none;
}

.modern-project__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 20px;
    background: #0f2a4a;
    color: #f8f3ea;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 26px;
    text-align: center;
}

/* number: small solid ivory badge at the arch's base */
.projects-modern .modern-project__big-number,
.projects-modern .modern-project:first-child .modern-project__big-number {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 18px;
    left: 50%;
    padding: 6px 18px;
    border-radius: 999px;
    background: #f8f3ea;
    color: #0f2a4a;
    -webkit-text-stroke: 0;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.2;
    opacity: 1;
    transform: translateX(-50%);
}

.projects-modern .modern-project:hover .modern-project__big-number {
    background: #c69840;
}

/* info: plain text under the arch, centred */
.projects-modern .modern-project__info,
.projects-modern .modern-project:nth-child(even) .modern-project__info {
    position: static;
    width: auto;
    margin: 34px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #0f2a4a;
    text-align: center;
    transform: none;
}

.projects-modern .modern-project:hover .modern-project__info {
    box-shadow: none;
}

.projects-modern .modern-project__number {
    display: none;
}

.projects-modern .modern-project__details {
    display: block;
}

.projects-modern .modern-project__label {
    display: block;
    margin-bottom: 10px;
    color: #a87925;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
}

.projects-modern .modern-project__details h3,
.projects-modern .modern-project:first-child .modern-project__details h3 {
    margin: 0 0 8px;
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(26px, 2.4vw, 32px);
    font-weight: 600;
    line-height: 1.15;
}

.projects-modern .modern-project__details p {
    margin: 0;
    padding: 0;
    color: #55657c;
    font-size: 15px;
}

.projects-modern .modern-project__details p i {
    margin-right: 6px;
    color: #c69840;
}

/* "Explore" as a quiet underlined link with a small arrow */
.projects-modern .modern-project__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    height: auto;
    margin-top: 18px;
    padding: 0 0 4px;
    border: 0;
    border-bottom: 1px solid #c69840;
    border-radius: 0;
    background: transparent;
    color: #0f2a4a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: 1;
    transform: none;
    transition: gap .3s ease, color .3s ease;
}

.projects-modern .modern-project__action span {
    display: inline;
}

.projects-modern .modern-project:hover .modern-project__action {
    gap: 16px;
    background: transparent;
    color: #a87925;
    border-color: #c69840;
    transform: none;
}

@media (max-width: 991px) {
    .projects-modern {
        padding: 80px 0;
    }
    .projects-modern__track {
        gap: 44px;
    }
    .projects-modern .modern-project__image,
    .projects-modern .modern-project:first-child .modern-project__image {
        height: 430px;
    }
}

@media (max-width: 575px) {
    .projects-modern .modern-project,
    .projects-modern .modern-project:first-child,
    .projects-modern .modern-project:last-child,
    .projects-modern .modern-project:only-child {
        flex-basis: 100%;
        max-width: 340px;
    }
    .projects-modern .modern-project__image,
    .projects-modern .modern-project:first-child .modern-project__image {
        height: 400px;
    }
    .projects-modern__controls {
        gap: 14px;
    }
}

/* arch cards: stack label / title / location / link in one centred column */
.projects-modern .modern-project__info,
.projects-modern .modern-project:nth-child(even) .modern-project__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
}

.projects-modern .modern-project__details {
    width: 100%;
    text-align: center;
}

.projects-modern .modern-project__details p {
    display: block;
    text-align: center;
}

/* Why Us: remove the (empty) icon circle left of each heading */
.why-feature__title i {
    display: none;
}

.why-feature__title {
    gap: 0;
}


/* =========================================================
   EXPLORE PROPERTIES (BROWSE BY CATEGORY) — PROPERTY-TYPE TILES (appended)
   Looks like a property portal's "browse by type": centered header,
   a row of tiles each with a property icon (house / building / store...),
   photo banner below (no overlay on the image), and a city skyline
   silhouette along the bottom of the maroon band.
   Needs the small @php icon block + .property-category__icon in the Blade.
========================================================= */

.property-categories {
    padding: 100px 0 110px;
    background: #0f2a4a;
}

/* ---------- header: centered ---------- */

.property-categories__header {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 18px;
    margin-bottom: 50px;
    text-align: center;
}

.property-categories__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 0;
    color: #e3c27a;
    font-weight: 700;
    letter-spacing: 5px;
}

.property-categories__eyebrow::before,
.property-categories__eyebrow::after {
    content: "";
    width: 40px;
    height: 1px;
    background: #e3c27a;
}

.property-categories__header h2 {
    max-width: 760px;
    margin: 14px auto 0;
    color: #f8f3ea;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(34px, 4.4vw, 54px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.5px;
}

.property-categories__header h2 span {
    display: inline;
    color: #e3c27a;
    font-style: italic;
}

.property-categories__header p {
    max-width: 540px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    color: rgba(248,243,234,.75);
    font-size: 15px;
}

/* ---------- layout: tiles first, photo banner after ---------- */

.property-categories__layout {
    grid-template-columns: 1fr;
    gap: 28px;
}

/* ---------- CATEGORY SLIDESHOW: photo left + gold panel right ---------- */
/* Slider behaviour is added by the small script in home.blade1.php
   (.is-hero). No overlay or filter is placed on any photo. */

.property-categories__visual {
    display: none;
}

.property-categories__layout {
    display: block;
}

/* no-JS fallback: simple photo cards */
.property-categories__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
    height: auto;
    border: 0;
}

.property-categories:not(.is-hero) .property-category {
    position: relative;
    display: block;
    min-height: 220px;
    padding: 0;
    border: 2px solid #c69840;
    border-radius: 18px;
    background: var(--tile-img) center / cover no-repeat;
    overflow: hidden;
}

.property-categories:not(.is-hero) .property-category::before,
.property-categories:not(.is-hero) .property-category::after {
    display: none;
}

.property-categories:not(.is-hero) .property-category__name {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #f8f3ea;
}

/* ---------- stage ---------- */

.property-categories.is-hero .property-categories__layout {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0,0,0,.4);
}

.property-categories.is-hero .property-categories__list {
    position: relative;
    display: block;
    height: 560px;
    gap: 0;
}

/* each slide: photo (left 58%) + gold panel (right 42%) */
.property-categories.is-hero .property-categories__list .property-category {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    grid-template-columns: 58% 42%;
    grid-template-rows: auto auto auto;
    align-content: center;
    justify-items: center;
    flex: none !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 0 !important;
    padding: 0 40px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(120deg, #d7b15a 0%, #c69840 38%, #a87925 75%, #7a5516 100%) !important;
    color: #0f2a4a;
    box-shadow: none !important;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    transform: none !important;
    text-align: center;
    transition: opacity .7s ease;
}

.property-categories.is-hero .property-categories__list .property-category.is-current {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

/* photo column */
.property-categories.is-hero .property-categories__list .property-category::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 58%;
    height: auto;
    z-index: 0;
    background: var(--tile-img) center / cover no-repeat;
    transform: scale(1.04);
    transition: transform 6s ease;
}

.property-categories.is-hero .property-categories__list .property-category.is-current::before {
    transform: scale(1);
}

/* category name running up the photo's left edge */
.property-categories.is-hero .property-categories__list .property-category::after {
    content: attr(data-name);
    display: block !important;
    position: absolute;
    left: 26px;
    bottom: 34px;
    z-index: 2;
    max-height: calc(100% - 68px);
    overflow: hidden;
    color: rgba(248,243,234,.92);
    font-size: 46px;
    font-weight: 800;
    letter-spacing: 4px;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 0 2px 16px rgba(0,0,0,.5);
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    background: none;
    right: auto;
    top: auto;
    pointer-events: none;
}

/* ---------- gold panel content ---------- */

.property-categories.is-hero .property-category__number {
    display: none !important;
}

.property-categories.is-hero .property-category__icon {
    position: relative !important;
    grid-column: 2;
    grid-row: 1;
    top: auto !important;
    left: auto !important;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    margin: 0 0 26px;
    border: 2px solid #0f2a4a;
    border-radius: 50%;
    background: transparent;
    color: #0f2a4a;
    font-size: 36px;
    box-shadow: none;
}

.property-categories.is-hero .property-category__name {
    position: relative !important;
    grid-column: 2;
    grid-row: 2;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100% !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.property-categories.is-hero .property-category__name h3 {
    order: 1;
    margin: 0;
    color: #0f2a4a !important;
    font-family: inherit;
    font-size: clamp(28px, 3.4vw, 50px) !important;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: normal;
}

/* ornament divider */
.property-categories.is-hero .property-category__name::after {
    content: "\25C6";
    order: 2;
    width: 82%;
    padding: 22px 0;
    color: #0f2a4a;
    font-size: 11px;
    line-height: 1;
    text-align: center;
    background:
        linear-gradient(rgba(15,42,74,.55), rgba(15,42,74,.55)) left center / 41% 1px no-repeat,
        linear-gradient(rgba(15,42,74,.55), rgba(15,42,74,.55)) right center / 41% 1px no-repeat;
}

.property-categories.is-hero .property-category__name span {
    order: 3;
    color: #0f2a4a !important;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.property-categories.is-hero .property-categories__list .property-category__arrow {
    position: relative !important;
    grid-column: 2;
    grid-row: 3;
    right: auto !important;
    bottom: auto !important;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px !important;
    height: 54px !important;
    margin-top: 30px;
    border-radius: 50%;
    background: #0f2a4a !important;
    color: #f8f3ea !important;
    font-size: 18px;
    opacity: 1 !important;
    transform: none !important;
    transition: background .3s ease, color .3s ease;
}

.property-categories.is-hero .property-categories__list .property-category:hover .property-category__arrow {
    background: #f8f3ea !important;
    color: #0f2a4a !important;
}

/* ---------- prev / next + counter ---------- */

.pc-hero-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin-top: -25px;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    transition: transform .3s ease, background .3s ease;
}

.pc-hero-nav:hover {
    transform: scale(1.08);
}

.pc-hero-nav--prev {
    left: 22px;
    background: #f8f3ea;
    color: #0f2a4a;
    box-shadow: 0 8px 22px rgba(0,0,0,.3);
}

.pc-hero-nav--next {
    right: 22px;
    background: #0f2a4a;
    color: #f8f3ea;
}

.pc-hero-count {
    position: absolute;
    right: 44px;
    bottom: 26px;
    z-index: 5;
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 3px;
}

/* ---------- responsive ---------- */

@media (max-width: 1199px) {
    .property-categories.is-hero .property-category__icon {
        width: 76px;
        height: 76px;
        font-size: 30px;
    }
    .property-categories.is-hero .property-categories__list .property-category::after {
        font-size: 38px;
    }
}

@media (max-width: 991px) {
    .property-categories.is-hero .property-categories__list {
        height: 640px;
    }
    .property-categories.is-hero .property-categories__list .property-category {
        grid-template-columns: 1fr;
        grid-template-rows: 300px auto auto auto;
        align-content: start;
        padding: 0 !important;
    }
    .property-categories.is-hero .property-categories__list .property-category::before {
        width: 100%;
        height: 300px;
        bottom: auto;
    }
    .property-categories.is-hero .property-categories__list .property-category::after {
        display: none !important;
    }
    .property-categories.is-hero .property-category__icon {
        grid-column: 1;
        grid-row: 2;
        width: 60px;
        height: 60px;
        margin: 26px 0 14px;
        font-size: 24px;
    }
    .property-categories.is-hero .property-category__name {
        grid-column: 1;
        grid-row: 3;
    }
    .property-categories.is-hero .property-categories__list .property-category__arrow {
        grid-column: 1;
        grid-row: 4;
        margin-top: 16px;
    }
    .pc-hero-nav {
        top: 150px;
    }
    .pc-hero-count {
        right: 26px;
        bottom: 22px;
    }
}

@media (max-width: 575px) {
    .property-categories {
        padding: 70px 0 80px;
    }
    .property-categories.is-hero .property-categories__list {
        height: 590px;
    }
    .property-categories.is-hero .property-categories__list .property-category {
        grid-template-rows: 250px auto auto auto;
    }
    .property-categories.is-hero .property-categories__list .property-category::before {
        height: 250px;
    }
    .pc-hero-nav {
        top: 125px;
        width: 42px;
        height: 42px;
        margin-top: -21px;
        font-size: 15px;
    }
    .pc-hero-nav--prev { left: 12px; }
    .pc-hero-nav--next { right: 12px; }
    .property-categories.is-hero .property-category__name h3 {
        font-size: 26px !important;
    }
    .property-categories.is-hero .property-category__name span {
        font-size: 14px;
        letter-spacing: 3px;
    }
}


/* ---------- panel refresh: ivory panel, richer content ---------- */

.property-categories.is-hero .property-categories__list .property-category {
    grid-template-rows: auto auto auto auto;
    padding: 0 48px 0 0 !important;
    background:
        radial-gradient(circle at 100% 0, rgba(198,152,64,.22), transparent 42%),
        radial-gradient(circle at 0 100%, rgba(15,42,74,.07), transparent 40%),
        #f8f3ea !important;
}

.property-categories.is-hero .property-category__icon {
    width: 72px;
    height: 72px;
    margin: 0 0 18px;
    border: 2px solid #c69840;
    background: #fff;
    color: #0f2a4a;
    font-size: 28px;
    box-shadow: 0 8px 22px rgba(15,42,74,.12);
}

.pc-hero-eyebrow {
    order: 0;
    margin-bottom: 10px;
    color: #a87925;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
}

.property-categories.is-hero .property-category__name h3 {
    color: #0f2a4a !important;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(30px, 3.3vw, 48px) !important;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.property-categories.is-hero .property-category__name::after {
    color: #c69840;
    background:
        linear-gradient(rgba(198,152,64,.8), rgba(198,152,64,.8)) left center / 41% 1px no-repeat,
        linear-gradient(rgba(198,152,64,.8), rgba(198,152,64,.8)) right center / 41% 1px no-repeat;
}

.property-categories.is-hero .property-category__name span {
    color: #a87925 !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
}

.pc-hero-body {
    grid-column: 2;
    grid-row: 3;
    z-index: 2;
    margin-top: 22px;
    text-align: center;
}

.pc-hero-desc {
    max-width: 420px;
    margin: 0 auto;
    color: #44546a;
    font-size: 15px;
    line-height: 1.7;
}

.pc-hero-points {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.pc-hero-points li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border: 1px solid rgba(198,152,64,.7);
    border-radius: 999px;
    background: #fff;
    color: #0f2a4a;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .3px;
}

.pc-hero-points li::before {
    content: "\2713";
    color: #a87925;
    font-weight: 700;
}

/* arrow becomes a full "Browse" button */
.property-categories.is-hero .property-categories__list .property-category__arrow {
    grid-row: 4;
    width: auto !important;
    height: auto !important;
    gap: 12px;
    margin-top: 28px;
    padding: 15px 32px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.property-categories.is-hero .property-categories__list .property-category:hover .property-category__arrow {
    background: #c69840 !important;
    color: #0f2a4a !important;
}

.pc-hero-count {
    color: #a87925;
}

@media (max-width: 1199px) {
    .property-categories.is-hero .property-categories__list .property-category {
        padding-right: 36px !important;
    }
    .pc-hero-desc {
        font-size: 14px;
    }
}

@media (max-width: 991px) {
    .property-categories.is-hero .property-categories__list {
        height: 800px;
    }
    .property-categories.is-hero .property-categories__list .property-category {
        grid-template-rows: 300px auto auto auto auto;
        padding: 0 24px 56px !important;
    }
    .property-categories.is-hero .property-category__icon {
        grid-row: 2;
        margin: -36px 0 16px;
    }
    .property-categories.is-hero .property-category__name {
        grid-row: 3;
    }
    .pc-hero-body {
        grid-column: 1;
        grid-row: 4;
    }
    .property-categories.is-hero .property-categories__list .property-category__arrow {
        grid-column: 1;
        grid-row: 5;
    }
}

@media (max-width: 575px) {
    .property-categories.is-hero .property-categories__list {
        height: 790px;
    }
    .property-categories.is-hero .property-categories__list .property-category {
        grid-template-rows: 250px auto auto auto auto;
        padding: 0 18px 54px !important;
    }
    .property-categories.is-hero .property-category__icon {
        width: 60px;
        height: 60px;
        margin-top: -30px;
        font-size: 24px;
    }
    .pc-hero-points li {
        padding: 6px 12px;
        font-size: 11px;
    }
    .property-categories.is-hero .property-categories__list .property-category__arrow {
        padding: 14px 26px;
        font-size: 12px;
    }
}


/* label order, arrow clear of the rotated title, chips fit the panel */
.pc-hero-eyebrow {
    display: block;
}

@media (min-width: 992px) {
    .pc-hero-nav--prev {
        left: 100px;
    }
}

.pc-hero-points {
    gap: 8px;
}

.pc-hero-points li {
    padding: 6px 11px;
    font-size: 11.5px;
}

@media (max-width: 575px) {
    .pc-hero-points li {
        padding: 6px 12px;
        font-size: 11px;
    }
}


@media (min-width: 992px) {
    .property-categories.is-hero .property-categories__list .property-category {
        padding: 0 40px 0 24px !important;
    }
    .property-categories.is-hero .property-categories__list .property-category::before {
        left: 0;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .pc-hero-points li {
        padding: 5px 9px;
        font-size: 11px;
    }
}

@media (max-width: 991px) {
    .property-categories.is-hero .property-categories__list {
        height: 740px;
    }
}


/* =========================================================
   CLIENT STORIES (TESTIMONIALS) — SPLIT LAYOUT (appended)
   Header on the left, staggered maroon / cream story cards scrolling
   on the right. CSS only; markup unchanged.
========================================================= */

.testimonial-section {
    background: #f8f3ea;
}

.testimonial-section::before {
    top: -260px;
    right: auto;
    left: 28%;
    background: radial-gradient(circle, rgba(198,152,64,.16), transparent 68%);
}

.testimonial-section::after {
    background: radial-gradient(circle, rgba(15,42,74,.06), transparent 70%);
}

.testimonial-section > .container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    column-gap: 56px;
    align-items: start;
}

/* ---------- left: header ---------- */

.testimonial-section .section-header {
    position: sticky;
    top: 120px;
    display: block;
    margin: 0;
    text-align: left;
}

.testimonial-section .section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #a87925;
    font-weight: 700;
    letter-spacing: 4px;
}

.testimonial-section .section-eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    background: #c69840;
}

.testimonial-section .section-heading {
    margin: 16px 0 0;
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(34px, 3.6vw, 48px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.5px;
}

.testimonial-section .section-subheading {
    position: relative;
    margin: 20px 0 0;
    padding-top: 26px;
    color: #44546a;
    font-size: 16px;
    line-height: 1.7;
}

/* gold ornament + stars above the sub-text */
.testimonial-section .section-subheading::before {
    content: "★★★★★";
    position: absolute;
    top: 0;
    left: 0;
    color: #c69840;
    font-size: 16px;
    letter-spacing: 4px;
    line-height: 1;
}

/* ---------- right: scrolling cards ---------- */

.testimonial-section .testimonial-strip {
    justify-content: flex-start;
    align-items: flex-start;
    gap: 22px;
    padding: 24px 12px 70px;
    margin: -24px -12px -40px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: none;
}

/* no scrollbar: the row scrolls itself (auto-carousel) */
.testimonial-section .testimonial-strip::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.testimonial-section .testimonial-card {
    flex: 0 0 360px;
    min-height: 400px;
    padding: 34px 32px 30px;
    border: 1px solid rgba(198,152,64,.55);
    border-radius: 24px;
    background: #fffaf1;
    box-shadow: 0 12px 28px rgba(15,42,74,.12);
    backdrop-filter: none;
}

/* stagger every second card downward */
.testimonial-section .testimonial-card:nth-child(even) {
    margin-top: 46px;
}

/* maroon cards */
.testimonial-section .testimonial-card:nth-child(odd) {
    border-color: #c69840;
    background: #0f2a4a;
}

/* star row replaces the old top line */
.testimonial-section .testimonial-card::before {
    content: "★★★★★";
    top: 42px;
    left: auto;
    right: 32px;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    color: #c69840;
    font-size: 13px;
    letter-spacing: 3px;
    line-height: 1;
}

.testimonial-section .testimonial-card::after {
    top: 58px;
    right: 24px;
    color: rgba(198,152,64,.16);
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 150px;
}

.testimonial-section .testimonial-number {
    width: 44px;
    height: 44px;
    border: 0;
    background: #c69840;
    color: #0f2a4a;
    font-size: 12px;
}

.testimonial-section .testimonial-card:nth-child(odd) .testimonial-number {
    background: #f8f3ea;
}

.testimonial-section .testimonial-card__quote {
    margin-top: 34px;
    color: #1b2b44;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 20px;
    font-style: italic;
    line-height: 1.6;
    letter-spacing: 0;
}

.testimonial-section .testimonial-card:nth-child(odd) .testimonial-card__quote {
    color: #f8f3ea;
}

.testimonial-section .testimonial-card__author {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(198,152,64,.4);
}

.testimonial-section .testimonial-card__avatar {
    width: 48px;
    height: 48px;
    border: 2px solid #c69840;
    background: #f8f3ea;
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 18px;
}

.testimonial-section .testimonial-card:nth-child(odd) .testimonial-card__avatar {
    background: #c69840;
    border-color: #f8f3ea;
}

.testimonial-section .testimonial-card__author strong {
    color: #0f2a4a;
    font-size: 15px;
}

.testimonial-section .testimonial-card__author span {
    color: #a87925;
}

.testimonial-section .testimonial-card:nth-child(odd) .testimonial-card__author strong {
    color: #f8f3ea;
}

.testimonial-section .testimonial-card:nth-child(odd) .testimonial-card__author span {
    color: #e3c27a;
}

.testimonial-section .testimonial-card:hover {
    transform: translateY(-6px);
    border-color: #c69840;
    box-shadow: 0 18px 36px rgba(15,42,74,.2);
}

/* ---------- responsive ---------- */

@media (max-width: 1199px) {
    .testimonial-section > .container {
        grid-template-columns: minmax(230px, 290px) minmax(0, 1fr);
        column-gap: 36px;
    }
    .testimonial-section .testimonial-card {
        flex-basis: 330px;
    }
}

@media (max-width: 991px) {
    .testimonial-section > .container {
        grid-template-columns: 1fr;
        row-gap: 34px;
    }
    .testimonial-section .section-header {
        position: static;
        text-align: center;
    }
    .testimonial-section .section-subheading {
        max-width: 520px;
        margin-left: auto;
        margin-right: auto;
    }
    .testimonial-section .section-subheading::before {
        left: 50%;
        transform: translateX(-50%);
    }
    .testimonial-section .testimonial-card {
        flex-basis: 340px;
        min-height: 370px;
    }
}

@media (max-width: 575px) {
    .testimonial-section .testimonial-card {
        flex: 0 0 84vw;
        min-height: 340px;
        padding: 28px 24px 24px;
    }
    .testimonial-section .testimonial-card:nth-child(even) {
        margin-top: 0;
    }
    .testimonial-section .testimonial-card__quote {
        font-size: 18px;
    }
    .testimonial-section .testimonial-card::before {
        right: 24px;
    }
}


/* =========================================================
   FROM OUR JOURNAL (BLOG) — FRAMED PHOTOS (appended)
   Three portrait photos with a thin gold frame offset around each,
   centred text beneath. CSS only; no overlay on photos.
========================================================= */

.blog-section .section-header {
    display: block;
    margin: 0 0 64px;
    text-align: center;
}

.blog-section .section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #0f2a4a;
    font-weight: 700;
    letter-spacing: 5px;
}

.blog-section .section-eyebrow::before,
.blog-section .section-eyebrow::after {
    content: "";
    width: 40px;
    height: 1px;
    background: #0f2a4a;
}

.blog-section .section-heading {
    margin: 14px 0 0;
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.5px;
}

/* ---------- three columns ---------- */

.blog-section .row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 56px;
    margin: 0;
}

.blog-section .row > [class*="col-"] {
    width: 100%;
    max-width: none;
    flex: none;
    margin: 0;
    padding: 0 12px;
}

@media (min-width: 992px) {
    .blog-section .row > [class*="col-"]:nth-child(2) {
        margin-top: 44px;
    }
}

/* ---------- card: no box, just photo + text ---------- */

.blog-section .blog-card {
    display: flex;
    flex-direction: column;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.blog-section .blog-card:hover {
    transform: none;
    border: 0;
    box-shadow: none;
}

/* photo with a thin gold frame set off from the image */
.blog-section .blog-card__image {
    position: relative;
    display: block;
    height: 380px;
    border-radius: 6px;
    outline: 1px solid #b8862f;
    outline-offset: 12px;
    overflow: hidden;
    background: #d9cdb2;
}

.blog-section .blog-card__image::after {
    display: none;
}

.blog-section .blog-card__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 6px 0;
    text-align: center;
}

.blog-section .blog-card__category {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #8a621b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
}

.blog-section .blog-card__body h3 {
    margin: 14px 0 12px;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

.blog-section .blog-card__body h3 a {
    color: #0f2a4a;
}

.blog-section .blog-card__body h3 a:hover {
    color: #8a621b;
}

.blog-section .blog-card__body p {
    max-width: 340px;
    color: #44546a;
    font-size: 15px;
    line-height: 1.7;
}

.blog-section .blog-card__link {
    margin-top: 20px;
    padding: 0 0 4px;
    border-bottom: 1px solid #0f2a4a;
    color: #0f2a4a;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.blog-section .blog-card__link:hover {
    gap: 14px;
    border-color: #8a621b;
    color: #8a621b;
}

/* ---------- responsive ---------- */

@media (max-width: 991px) {
    .blog-section .row {
        grid-template-columns: minmax(0, 480px);
        justify-content: center;
        gap: 64px;
    }
    .blog-section .blog-card__image {
        height: 340px;
    }
}

@media (max-width: 575px) {
    .blog-section .section-header {
        margin-bottom: 48px;
    }
    .blog-section .row > [class*="col-"] {
        padding: 0 10px;
    }
    .blog-section .blog-card__image {
        height: 300px;
    }
}

/* Explore Properties: plain background, no skyline figure or corner circle */
.property-categories::before,
.property-categories::after {
    display: none !important;
}

.property-categories {
    padding-bottom: 110px;
}

@media (max-width: 575px) {
    .property-categories.is-split {
        padding-bottom: 80px;
    }
}

/* =========================================================
   WELCOME POPUP (opens on page load)  — appended
   Simple centered modal: title bar, three underlined fields,
   gold Proceed button. Markup + script are at the end of
   home.blade.php.
========================================================= */

.lead-popup,
.lead-popup *,
.lead-popup *::before,
.lead-popup *::after {
    box-sizing: border-box;
}

.lead-popup {
    position: fixed;
    inset: 0;
    z-index: 1100;                       /* above enquiry bar (940) and side tab (950) */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s ease, visibility .3s ease;
}

.lead-popup.is-open {
    visibility: visible;
    opacity: 1;
}

.lead-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .6);
}

.lead-popup__dialog {
    position: relative;
    width: 100%;
    max-width: 665px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .35);
    transform: translateY(-18px);
    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}

.lead-popup.is-open .lead-popup__dialog {
    transform: translateY(0);
}

/* ---------- title bar ---------- */

.lead-popup__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 52px;
    border-bottom: 1px solid #222;
}

.lead-popup__header h2 {
    margin: 0;
    color: #111;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

.lead-popup__close {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #999;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: color .2s ease;
}

.lead-popup__close:hover {
    color: #111;
}

/* ---------- form ---------- */

.lead-popup__form {
    padding: 30px 36px 32px;
}

.lead-popup__form input {
    display: block;
    width: 100%;
    height: 66px;
    padding: 0 16px;
    border: 0;
    border-top: 1px solid #e3e3e3;
    border-radius: 0;
    outline: none;
    background: transparent;
    color: #111;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
    transition: background .2s ease, box-shadow .2s ease;
}

.lead-popup__form input:last-of-type {
    border-bottom: 1px solid #e3e3e3;
}

.lead-popup__form input::placeholder {
    color: #111;
    font-weight: 700;
    letter-spacing: .2px;
}

.lead-popup__form input:focus {
    background: #fbf8f1;
    box-shadow: inset 3px 0 0 var(--lux-gold, #c69840);
}

.lead-popup__submit {
    display: block;
    min-width: 118px;
    height: 40px;
    margin: 26px auto 0;
    padding: 0 26px;
    border: 0;
    border-radius: 0;
    background: var(--lux-gold, #c69840);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background .25s ease;
}

.lead-popup__submit:hover {
    background: var(--lux-gold-dark, #a87925);
}

/* while the popup is open: stop page scroll and tuck the bottom bar away */
body.lead-popup-open {
    overflow: hidden;
}

body.lead-popup-open .enquiry-bar {
    transform: translateY(110%);
}

/* ---------- responsive ---------- */

@media (max-width: 575px) {
    .lead-popup {
        padding: 14px;
    }

    .lead-popup__dialog {
        border-radius: 18px;
    }

    .lead-popup__form {
        padding: 22px 18px 26px;
    }

    .lead-popup__form input {
        height: 58px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lead-popup,
    .lead-popup__dialog {
        transition: none;
    }
}


/* =========================================================
   LEAD GATE — BLURRED PROPERTY PHOTOS  — appended
   html.lead-locked is set by the small script at the top of
   home.blade.php until the popup form has been submitted.
   Covers the Featured Properties cards and the New Developments
   photos. Removing the class reveals them with a short fade.
========================================================= */

/* smooth reveal */
.featured-card img,
.projects-modern .modern-project__image img,
.modern-project__placeholder {
    transition: filter .8s ease, transform .8s ease;
}

.lead-locked .featured-card img,
.lead-locked .featured-card:hover img,
.lead-locked .projects-modern .modern-project__image img,
.lead-locked .projects-modern .modern-project:hover .modern-project__image img,
.lead-locked .modern-project__placeholder {
    filter: blur(16px);
    transform: scale(1.1);
}

.lead-locked .featured-card,
.lead-locked .modern-project {
    cursor: pointer;
}

/* "Click to view" pill over the blurred photo */
.lead-locked .featured-card::after,
.lead-locked .modern-project__image::before {
    content: "Click to view";
    position: absolute;
    top: 32%;
    left: 50%;
    z-index: 6;
    padding: 10px 20px;
    border-radius: 999px;
    background: rgba(15, 42, 74, .88);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    transform: translateX(-50%);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .25);
}

.lead-locked .modern-project__image::before {
    top: 50%;
    transform: translate(-50%, -50%);
}


/* =========================================================
   CURATED FOR YOU (FEATURED PROPERTIES) — GALLERY LAYOUT  — appended
   One wide photo at a time, large serif title, counter,
   segmented progress bar, square arrows and an autoplay toggle.
   Replaces the old carousel markup (.featured-*), whose CSS above
   is now unused. Markup + script: home.blade.php.
========================================================= */

.fp-section {
    position: relative;
    padding: 38px 0 64px;
    background: linear-gradient(180deg, #ece8e2 0%, #e3ded5 100%);
    color: #0f2a4a;
    overflow: hidden;
}

.fp-wrap {
    position: relative;
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 clamp(18px, 6vw, 116px) 68px;
}

/* ---------- top row ---------- */

.fp-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 34px;
}

.fp-head {
    min-width: 0;
}

.fp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    color: #a87925;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.fp-eyebrow::before {
    content: "";
    width: 40px;
    height: 1px;
    background: #c69840;
}

.fp-heading {
    margin: 0;
    color: #0f2a4a;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.5px;
}

.fp-heading span {
    color: #c69840;
    font-style: italic;
}

.fp-desc {
    max-width: 520px;
    margin: 14px 0 0;
    color: rgba(15, 42, 74, .72);
    font-size: 16px;
    line-height: 1.6;
}

.fp-top-link {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(15, 42, 74, .35);
    color: #4a5a70;
    font-size: 12px;
    letter-spacing: .4px;
    text-decoration: none;
    transition: color .25s ease, border-color .25s ease;
}

.fp-top-link i {
    font-size: 11px;
    transition: transform .25s ease;
}

.fp-top-link:hover {
    color: #0f2a4a;
    border-color: #c69840;
}

.fp-top-link:hover i {
    transform: translateX(4px);
}

/* ---------- image stage ---------- */

.fp-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 2.9 / 1;
    overflow: hidden;
    background: #0f2a4a;
    box-shadow: 0 30px 60px rgba(15, 42, 74, .14);
}

.fp-slide {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    text-decoration: none;
    transition: opacity .9s ease, visibility .9s ease;
}

.fp-slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.fp-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter .8s ease, transform 1.4s ease;
}

.fp-slide:hover img {
    transform: scale(1.025);
}

.fp-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 20px;
    background: #0f2a4a;
    color: #f8f3ea;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(24px, 3vw, 44px);
    text-align: center;
}

.fp-full {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 1px solid rgba(255, 255, 255, .28);
    background: rgba(14, 22, 34, .82);
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    backdrop-filter: blur(6px);
    transition: background .3s ease, border-color .3s ease, color .3s ease;
}

.fp-slide:hover .fp-full {
    border-color: #c69840;
    background: #c69840;
    color: #0f2a4a;
}

/* ---------- title / counter / progress / arrows ---------- */

.fp-meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-top: 26px;
}

.fp-meta__text {
    flex: 1;
    min-width: 0;
}

.fp-title,
.fp-sub {
    transition: opacity .18s ease, transform .18s ease;
}

.fp-meta__text.is-swapping .fp-title,
.fp-meta__text.is-swapping .fp-sub {
    opacity: 0;
    transform: translateY(6px);
}

.fp-title {
    margin: 0;
    color: #15202e;
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(32px, 3.6vw, 54px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -1.2px;
}

.fp-sub {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 16px;
    color: #5a6a80;
    font-size: 12px;
    letter-spacing: 1.2px;
}

.fp-caption:empty {
    display: none;
}

.fp-progress {
    display: flex;
    gap: 5px;
    margin-top: 18px;
}

.fp-seg {
    position: relative;
    width: 46px;
    height: 20px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.fp-seg::before,
.fp-seg::after {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    height: 2px;
}

.fp-seg::before {
    width: 100%;
    background: rgba(15, 42, 74, .2);
}

.fp-seg::after {
    width: 0;
    background: #0f2a4a;
}

.fp-seg.is-done::after {
    width: 100%;
}

.fp-seg.is-current::after {
    width: 100%;
    background: #c69840;
}

.fp-seg.is-current.run::after {
    animation: fpFill var(--fp-delay, 6s) linear both;
}

@keyframes fpFill {
    from { width: 0; }
    to   { width: 100%; }
}

.fp-hint {
    margin: 10px 0 0;
    color: #6a7a90;
    font-size: 11px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.fp-nav {
    display: flex;
    flex-shrink: 0;
    gap: 10px;
}

.fp-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(15, 42, 74, .35);
    background: transparent;
    color: #0f2a4a;
    font-size: 15px;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.fp-arrow:hover {
    border-color: #0f2a4a;
    background: #0f2a4a;
    color: #fff;
}

.fp-toggle {
    position: absolute;
    right: clamp(18px, 6vw, 116px);
    bottom: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    border: 0;
    background: #1f2328;
    color: #fff;
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
    transition: background .25s ease, color .25s ease;
}

.fp-toggle:hover {
    background: #c69840;
    color: #0f2a4a;
}

/* one property only: no controls */
.fp-section.is-single .fp-nav,
.fp-section.is-single .fp-progress,
.fp-section.is-single .fp-toggle {
    display: none;
}

/* ---------- blurred until the lead popup is submitted ---------- */

.lead-locked .fp-slide img,
.lead-locked .fp-slide:hover img {
    filter: blur(18px);
    transform: scale(1.1);
}

.lead-locked .fp-slide::after {
    content: "Click to view";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 6;
    padding: 10px 20px;
    border-radius: 999px;
    background: rgba(15, 42, 74, .88);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    transform: translate(-50%, -50%);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .25);
}

/* ---------- responsive ---------- */

@media (max-width: 991px) {
    .fp-stage {
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 575px) {
    .fp-section {
        padding: 28px 0 48px;
    }

    .fp-wrap {
        padding-bottom: 0;
    }

    .fp-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        margin-bottom: 22px;
    }

    .fp-eyebrow {
        font-size: 10.5px;
        letter-spacing: 3px;
    }

    .fp-desc {
        font-size: 15px;
    }

    .fp-stage {
        aspect-ratio: 4 / 3;
    }

    .fp-full {
        right: 12px;
        bottom: 12px;
        padding: 10px 12px;
        font-size: 12px;
    }

    .fp-meta {
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
    }

    .fp-seg {
        width: 28px;
    }

    .fp-toggle {
        position: static;
        margin: 20px 0 0 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fp-slide,
    .fp-slide img,
    .fp-title,
    .fp-sub {
        transition: none;
    }
}

/* =========================================================
   LENIS smooth scroll (official base CSS) + GSAP helpers
========================================================= */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }

/* hero content waits for the GSAP intro (class is added/removed by script) */
.has-gsap .home-hero__content > *,
.has-gsap .hs__content > *,
.has-gsap .hs__cue,
.has-gsap .hero-scroll { opacity: 0; }

/* native smooth-scroll would fight Lenis */
html.lenis { scroll-behavior: auto !important; }

/* =========================================================
   STICKY NAVBAR (stays fixed at the top while scrolling)
   Wrapper rule covers the case where the layout puts the nav
   inside a <header>/<div> that is only as tall as the nav.
========================================================= */
.realestate-navbar {
    position: sticky;
    top: 0;
}

header:has(> .realestate-navbar),
.site-header:has(> .realestate-navbar) {
    position: sticky;
    top: 0;
    z-index: 1000;
}


/* =========================================================
   PAGE LOADER (home) — markup + script in home.blade.php
========================================================= */
html.is-loading,
html.is-loading body {
    overflow: hidden;
}

.page-loader {
    position: fixed;
    inset: 0;
    z-index: 2000;                         /* above navbar (1000) and popup (1100) */
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0f2a4a;
    color: #fff;
    overflow: hidden;
    transition: transform .9s cubic-bezier(.76, 0, .24, 1);
    --mx: 50%;
    --my: 60%;
}

.page-loader.is-done {
    transform: translateY(-100%);
    pointer-events: none;
}

.page-loader__inner {
    position: relative;
    width: min(620px, 88vw);
    text-align: center;
    transition: opacity .35s ease, transform .6s ease;
}

.page-loader.is-done .page-loader__inner {
    opacity: 0;
    transform: translateY(-16px);
}

.page-loader__brand {
    margin-bottom: 34px;
    animation: pageLoaderIn .8s cubic-bezier(.22, 1, .36, 1) both;
}

.page-loader__brand img {
    display: block;
    width: min(240px, 64vw);
    height: 64px;
    margin: 0 auto;
    object-fit: contain;
}

.page-loader__brand span {
    font-family: var(--lux-serif, Georgia, serif);
    font-size: clamp(26px, 5vw, 36px);
    font-weight: 600;
    letter-spacing: -.5px;
}

.page-loader__bar {
    height: 2px;
    overflow: hidden;
    background: rgba(255, 255, 255, .18);
}

.page-loader__bar span {
    display: block;
    height: 100%;
    background: var(--lux-gold, #c69840);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s ease-out;
}

.page-loader__percent {
    margin-top: 16px;
    color: var(--lux-gold, #c69840);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
}

@keyframes pageLoaderIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .page-loader {
        transition: opacity .3s ease;
    }

    .page-loader.is-done {
        transform: none;
        opacity: 0;
    }

    .page-loader__brand {
        animation: none;
    }

    .page-loader__bar span {
        transition: none;
    }
}

/* ---- interactive skyline ---- */
.page-loader__glow {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(420px circle at var(--mx) var(--my), rgba(198, 152, 64, .22), transparent 65%);
}

.page-loader__skyline {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 26px;
    overflow: visible;
    transition: transform .25s ease-out;
}

.pl-ground { fill: rgba(255, 255, 255, .35); }

.pl-b {
    cursor: pointer;
    transform-box: fill-box;
    transform-origin: 50% 100%;
    transform: scaleY(0);
    opacity: 0;
    transition: transform .8s cubic-bezier(.22, 1, .36, 1), opacity .4s ease;
}

.pl-b.is-up {
    transform: scaleY(1);
    opacity: 1;
}

.pl-body {
    fill: #17375f;
    stroke: rgba(255, 255, 255, .22);
    stroke-width: 1;
    transition: fill .3s ease, stroke .3s ease;
}

.pl-roof { fill: rgba(255, 255, 255, .5); }

.pl-win {
    fill: rgba(255, 255, 255, .12);
    transition: fill .5s ease var(--d), filter .5s ease var(--d);
}

/* windows switch on shortly after their tower has risen */
.pl-b.is-up .pl-win:nth-child(3n + 3) { fill: rgba(198, 152, 64, .85); }
.pl-b.is-up .pl-win:nth-child(5n + 4) { fill: rgba(255, 224, 150, .9); }

/* hover / tap: the whole tower glows */
.pl-b.is-hot .pl-body { fill: #1d4577; stroke: var(--lux-gold, #c69840); }
.pl-b.is-hot .pl-win { fill: #ffd98a; filter: drop-shadow(0 0 3px rgba(255, 217, 138, .9)); transition-delay: 0s; }

/* finished: every window lights up */
.page-loader.is-complete .pl-win { fill: #ffd98a; filter: drop-shadow(0 0 3px rgba(255, 217, 138, .8)); }

.page-loader__hint {
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .5);
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.page-loader.is-done .page-loader__skyline { transform: translateY(-10px) scale(1.04); }

@media (max-width: 575px) {
    .page-loader__hint { font-size: 10px; letter-spacing: 1px; }
}

@media (prefers-reduced-motion: reduce) {
    .pl-b { transition: none; transform: scaleY(1); opacity: 1; }
    .pl-win { transition: none; }
}


/* =========================================================
   HERO STORY (home banner): sky + building that moves with scroll
   Markup: home.blade.php  |  Timeline: GSAP ScrollTrigger (same file)
   Without JS / with reduced motion it stays a calm static banner.
========================================================= */
.hs {
    --hs-nav: 82px;
    position: relative;
    height: calc(100vh - var(--hs-nav));
    height: calc(100svh - var(--hs-nav));
    min-height: 560px;
    overflow: hidden;
    background: #bcd5ee;
    color: #0b0b0b;
}

.hs > * { position: absolute; }

.hs__sky {
    inset: 0;
    background:
        radial-gradient(70% 55% at 6% 92%, rgba(255, 190, 140, .95), rgba(255, 190, 140, 0) 70%),
        radial-gradient(60% 50% at 100% 100%, rgba(255, 214, 190, .6), rgba(255, 214, 190, 0) 70%),
        linear-gradient(180deg, #a7c7ea 0%, #c4daf1 48%, #e6e3ec 78%, #f6d9c6 100%);
}

/* soft clouds, pure CSS */
.hs__cloud {
    left: -10%;
    right: -10%;
    pointer-events: none;
    filter: blur(14px);
    background:
        radial-gradient(18% 60% at 8% 100%, #fff 0, rgba(255, 255, 255, 0) 70%),
        radial-gradient(22% 75% at 24% 100%, #fff 0, rgba(255, 255, 255, 0) 72%),
        radial-gradient(20% 55% at 44% 100%, rgba(255, 255, 255, .95) 0, rgba(255, 255, 255, 0) 72%),
        radial-gradient(24% 80% at 64% 100%, #fff 0, rgba(255, 255, 255, 0) 72%),
        radial-gradient(18% 60% at 82% 100%, rgba(255, 255, 255, .95) 0, rgba(255, 255, 255, 0) 70%),
        radial-gradient(18% 70% at 98% 100%, #fff 0, rgba(255, 255, 255, 0) 70%);
}

.hs__cloud--back {
    bottom: 0;
    height: 46%;
    opacity: .85;
}

.hs__cloud--front {
    bottom: -6%;
    height: 44%;
    z-index: 5;
}

/* ---- building ---- */
.hs__bwrap {
    left: 50%;
    bottom: 0;
    z-index: 3;
    width: min(86vw, 1180px);
    transform: translateX(-50%);
    pointer-events: none;
}

.hs__building {
    display: block;
    width: 100%;
    height: auto;
    will-change: transform;
}

/* static look (no JS / reduced motion): building peeks up from the bottom */
.hs:not(.is-anim) .hs__building { transform: translateY(46%); }

/* ---- big site name ---- */
.hs__title {
    left: 0;
    right: 0;
    top: 50%;
    z-index: 4;
    margin-top: -.34em;
    font-size: clamp(70px, min(25vw, calc(122vw / var(--chars, 4))), 430px);
    font-weight: 800;
    line-height: .85;
    letter-spacing: -.04em;
    text-align: center;
    text-transform: uppercase;
    pointer-events: none;
    opacity: 0;
}

.hs__title-big {
    display: block;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, .95);
}

.hs__title-sub {
    display: block;
    margin-top: .02em;
    font-size: .26em;
    letter-spacing: -.02em;
    text-transform: none;
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(255, 255, 255, .95);
}

.hs__cover {
    inset: 0;
    z-index: 6;
    background: linear-gradient(180deg, #e9f1fa 0%, #fff 60%);
    opacity: 0;
}

/* ---- headline content ---- */
.hs__content {
    left: 0;
    right: 0;
    top: clamp(34px, 8vh, 96px);
    z-index: 9;
    padding: 0 clamp(18px, 4vw, 60px);
    text-align: center;
}

.hs__content h1 {
    max-width: 1500px;
    margin: 0 auto;
    color: #0b0b0b;
    font-size: clamp(38px, 6.6vw, 112px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.045em;
}

.hs__content p {
    max-width: 880px;
    margin: clamp(16px, 2.4vh, 28px) auto 0;
    color: #2b2b2b;
    font-size: clamp(16px, 1.9vw, 28px);
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -.02em;
}

.hs__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: clamp(20px, 3.4vh, 36px);
}

.hs__btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 0 28px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.hs__btn--primary {
    background: #161616;
    color: #fff;
}

.hs__btn--ghost {
    border: 1.5px solid rgba(11, 11, 11, .65);
    background: rgba(255, 255, 255, .35);
    color: #0b0b0b;
    backdrop-filter: blur(6px);
}

.hs__btn:hover { transform: translateY(-2px); }
.hs__btn--primary:hover { background: var(--lux-gold-dark, #a87925); color: #fff; }
.hs__btn--ghost:hover { background: #161616; border-color: #161616; color: #fff; }

.hs__cue {
    left: 50%;
    bottom: 18px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 8px;
    transform: translateX(-50%);
    color: #0b0b0b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .hs { min-height: 620px; }
    .hs__bwrap { width: 150vw; }
    .hs__title { font-size: min(34vw, calc(122vw / var(--chars, 4))); margin-top: -.3em; }
    .hs__btn { min-height: 48px; padding: 0 22px; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .hs__btn { transition: none; }
}

/* =========================================================
   PROPERTY SEARCH — floating search bar under the banner
   Same sky / cloud / pill look as the hero. Markup and form
   behaviour are unchanged; the heading text stays for screen
   readers and search engines but is hidden visually.
========================================================= */
.property-search-wrap {
    position: relative;
    overflow: hidden;
    padding: clamp(36px, 5vw, 64px) 0 clamp(90px, 11vw, 150px);
    background:
        radial-gradient(60% 55% at 0% 100%, rgba(255, 190, 140, .7), rgba(255, 190, 140, 0) 70%),
        linear-gradient(180deg, #ffffff 0%, #e8f0fa 38%, #c4daf1 100%);
}

/* soft clouds along the bottom edge */
.property-search-wrap::after {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -4%;
    height: 38%;
    pointer-events: none;
    filter: blur(14px);
    background:
        radial-gradient(18% 60% at 8% 100%, #fff 0, rgba(255, 255, 255, 0) 70%),
        radial-gradient(22% 75% at 26% 100%, #fff 0, rgba(255, 255, 255, 0) 72%),
        radial-gradient(20% 55% at 46% 100%, rgba(255, 255, 255, .95) 0, rgba(255, 255, 255, 0) 72%),
        radial-gradient(24% 80% at 66% 100%, #fff 0, rgba(255, 255, 255, 0) 72%),
        radial-gradient(18% 60% at 86% 100%, rgba(255, 255, 255, .95) 0, rgba(255, 255, 255, 0) 70%);
}

.property-search-wrap .container { position: relative; z-index: 1; }

/* no card: only the bar and the tags */
.property-search {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.property-search::before { display: none; }

/* heading: visually hidden, still readable by assistive tech / SEO */
.property-search__top { display: contents; }

.property-search__heading {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* the bar */
.property-search__form {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr auto;
    align-items: stretch;
    gap: 0;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(40, 80, 130, .22);
}

.search-field {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    padding: 6px 26px;
}

.search-field + .search-field::before {
    content: "";
    position: absolute;
    left: 0;
    top: 22%;
    bottom: 22%;
    width: 1px;
    background: rgba(11, 11, 11, .14);
}

.search-field label {
    margin: 0 0 1px 26px;
    color: #6a6f76;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.search-field input,
.search-field select {
    height: 30px;
    padding: 0 0 0 26px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #0b0b0b;
    font-size: 16px;
    font-weight: 600;
    box-shadow: none;
}

.search-field input::placeholder { color: #8a8f96; font-weight: 500; }

.search-input-wrap > i,
.search-select-wrap > i {
    left: 0;
    color: #0b0b0b;
    font-size: 14px;
}

.search-select-wrap::after { right: 0; color: #0b0b0b; }

.search-field input:focus,
.search-field select:focus {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.search-field:focus-within label { color: #0b0b0b; }

.search-submit {
    height: auto;
    min-height: 58px;
    padding: 0 34px;
    border-radius: 999px;
    background: #161616;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.search-submit:hover {
    background: var(--lux-gold-dark, #a87925);
    box-shadow: 0 14px 30px rgba(22, 22, 22, .25);
}

/* tags below the bar, centred; "view all" sits at the right */
.property-search__bottom {
    justify-content: center;
    margin-top: 22px;
    padding-top: 0;
    border-top: 0;
}

.property-search__bottom > span {
    color: #2b2b2b;
    font-size: 11px;
    letter-spacing: 1.6px;
}

.search-tags span {
    padding: 8px 16px;
    border-color: rgba(255, 255, 255, .95);
    background: rgba(255, 255, 255, .75);
    color: #1f1f1f;
    font-size: 13px;
    font-weight: 500;
}

.search-tags span:hover {
    border-color: #161616;
    background: #161616;
    color: #fff;
}

.property-search__all {
    position: absolute;
    right: 6px;
    bottom: 2px;
    min-height: 0;
    padding: 6px 4px;
    border: 0;
    border-bottom: 1.5px solid #161616;
    border-radius: 0;
    background: none;
    color: #0b0b0b;
    font-size: 14px;
    font-weight: 600;
}

.property-search__all:hover { background: none; color: var(--lux-gold-dark, #a87925); border-color: var(--lux-gold-dark, #a87925); }
.property-search__all:hover i { color: inherit; }

/* tablet / mobile: bar becomes a stacked, rounded panel */
@media (max-width: 991px) {
    .property-search__form {
        grid-template-columns: 1fr 1fr;
        border-radius: 32px;
    }

    .search-field--keyword { grid-column: 1 / -1; }

    .search-field + .search-field::before { display: none; }

    .search-field { padding: 10px 22px; border-bottom: 1px solid rgba(11, 11, 11, .1); }

    .search-submit { grid-column: 1 / -1; margin: 8px 0 0; min-height: 54px; }

    .property-search { display: flex; flex-direction: column; }

    .property-search__form { order: 1; }

    .property-search__bottom { order: 2; flex-direction: column; align-items: center; gap: 10px; }

    .property-search__all { order: 3; position: static; display: inline-flex; align-self: center; margin: 16px auto 0; }
}

@media (max-width: 575px) {
    .property-search__form { grid-template-columns: 1fr; padding: 8px; }
}