/* =========================================================
   SMARTWORLD by ELIE SAAB — luxury landing
   Theme: espresso brown + champagne gold
   ========================================================= */

:root {
    --brown-dark: #15201a;
    /* deepest forest green */
    --brown: #243a2e;
    /* base green */
    --brown-soft: #33503f;
    --gold: #b8924f;
    /* brand gold */
    --gold-light: #d6b779;
    /* champagne */
    --cream: #f5efe6;
    --ink: #241c12;
    --muted: #8a7c68;
    --maxw: 1180px;
    --radius: 16px;
    --shadow: 0 24px 60px rgba(21, 32, 26, .18);
    --serif: 'Cormorant Garamond', Georgia, serif;
    --sans: 'Jost', system-ui, sans-serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth
}

body {
    font-family: var(--sans);
    color: var(--ink);
    background: var(--cream);
    line-height: 1.6;
    font-weight: 300
}

img {
    max-width: 100%;
    display: block
}

a {
    text-decoration: none;
    color: inherit
}

.container {
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 24px
}

.center {
    text-align: center
}

/* ---------- Buttons ---------- */

.btn {
    display: inline-block;
    padding: 13px 30px;
    border-radius: 40px;
    font-family: var(--sans);
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    cursor: pointer;
    transition: .3s;
    border: none;
}

.btn--gold {
    background: linear-gradient(135deg, var(--gold), var(--gold-light));
    color: #fff;
    box-shadow: 0 10px 26px rgba(184, 146, 79, .35)
}

.btn--gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(184, 146, 79, .5)
}

.btn--outline {
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--gold)
}

.btn--outline:hover {
    background: var(--gold);
    color: #fff
}

.btn--block {
    width: 100%;
    text-align: center
}

.btn--sm {
    padding: 10px 22px;
    font-size: .72rem
}

.btn__icon {
    vertical-align: -3px;
    margin-right: 7px
}

.footer__cta .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.footer__cta .btn__icon {
    flex: 0 0 auto;
    margin-right: 6px
}

/* ---------- Eyebrows / titles ---------- */

.eyebrow {
    display: inline-block;
    font-size: 1rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin-bottom: 14px
}

.eyebrow--dark {
    color: var(--gold)
}

.section {
    padding: 59px 0
}

.section__title {
    font-family: var(--serif);
    font-size: 2.6rem;
    font-weight: 600;
    color: var(--brown);
    line-height: 1.15;
    margin-bottom: 28px
}

.section__title.light {
    color: #fff
}

.section__title.center,
.eyebrow.center {
    display: block;
    text-align: center
}

.section__title.center {
    margin-bottom: 46px
}

/* ---------- Header ---------- */

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    transition: .35s;
    padding: 18px 0
}

.header.scrolled {
    background: rgba(21, 32, 26, .96);
    box-shadow: 0 8px 30px rgba(0, 0, 0, .3);
    padding: 12px 0
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.logo {
    display: flex;
    align-items: center;
    line-height: 1;
}

.logo img {
    height: auto;
    width: 150px;
    display: block;
    object-fit: contain; /* Keeps dimensions crisp */
}

.nav {
    display: flex;
    align-items: center;
    gap: 30px
    
}

.nav a {
    color: #efe6d6;
    font-size: 1.2rem;
    letter-spacing: .06em;
    transition: .25s
}

.nav a:hover {
    color: var(--gold-light)
}

.nav__cta {
    background: linear-gradient(135deg, var(--gold), var(--gold-light));
    color: #fff !important;
    padding: 10px 22px;
    border-radius: 30px;
    text-transform: uppercase;
    font-size: .74rem;
    letter-spacing: .12em;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.nav__cta-icon {
    flex: 0 0 auto;
    animation-name: trin;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.nav__call {
    background: linear-gradient(135deg, var(--gold), var(--gold-light));
    color: #fff !important;
    padding: 10px 22px;
    border-radius: 30px;
    text-transform: uppercase;
    font-size: .74rem;
    letter-spacing: .12em;
    transition: .3s
}

.nav__call:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(184, 146, 79, .4)
}

.nav__toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px
}

.nav__toggle span {
    width: 26px;
    height: 2px;
    background: #fff;
    transition: .3s;
    transform-origin: center
}

.nav__toggle.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg)
}

.nav__toggle.open span:nth-child(2) {
    opacity: 0
}

.nav__toggle.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg)
}

/* ---------- Banner ---------- */

.banner {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 130px 0 70px;
    overflow: hidden
}

.banner__slider {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.banner__slide {
    position: absolute;
    inset: 0;
    background-position: 88% center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1.4s ease-in-out;
}

.banner__slide.is-active {
    opacity: 1;
    z-index: 1;
}

.banner__slider-controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    z-index: 5;
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    pointer-events: none;
}

.banner__arrow {
    pointer-events: auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(245, 239, 230, .45);
    background: rgba(21, 32, 26, .35);
    color: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.banner__arrow:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--brown-dark);
    transform: translateY(-2px);
}

@keyframes kenburns {
    0% {
        transform: scale(1)
    }
    100% {
        transform: scale(1.18)
    }
}

.banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, rgba(21, 32, 26, 0.77) 30%, rgba(21, 32, 26, 0) 70%, rgba(21, 32, 26, 0.19))
}

.banner__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 262px;
    align-items: center;
    width: 100%
}

.banner__content {
    color: #fff;
    margin-top: 80px;
    margin-left: -40px;
    justify-self: start;
    width: fit-content;
    max-width: 70%;

    /* Match the second design */
    background: rgb(24 24 24 / 38%);
border-radius: 10px;
outline: rgba(244, 241, 232, 0.29) solid 2px;
outline-offset: 3px;
box-shadow: none;


    padding: 40px 46px;

    box-shadow: none;
}
.main--point{
    display: flex;
  flex-direction: column;
  gap: 20px;
}
.main--point h1 {
    font-size: 18px;
    background: rgba(24, 24, 24, 0.5);
    border-radius: 10px;
    margin bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    box-shadow: 10px #ffffff;
    font-family: "Times New Roman", Times, serif;
    width: auto;
    box-shadow: 0px 0px 15px 5px rgba(255, 255, 255, 0.6);

    
}
.banner__title {
    font-family: var(--serif);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.08;
    margin-bottom: 6px
}

.banner__title span {
    color: var(--serif);
    font-weight: 500;
    font-style: italic
}

.banner__by {
    font-family: var(--sans);
    font-size: .95rem;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 18px
}

.banner__loc {
    font-size: 1rem;
    color: #efe6d6;
    margin-bottom: 26px
}

.banner__loc .loc-icon {
    display: inline-block;
    vertical-align: -2px;
    color: var(--gold)
}

.banner__stats {
    display: flex;
    gap: 34px;
    margin-bottom: 26px
}

.banner__stats div {
    display: flex;
    flex-direction: column
}

.banner__stats strong {
    font-family: var(--serif);
    font-size: 2rem;
    color: var(--gold-light);
    font-weight: 600
}

.banner__stats span {
    font-size: .74rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #cdbfa8
}

.banner__price {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 28px;
    font-weight: 300
}

.banner__price strong {
    color: var(--gold-light);
    font-weight: 500
}

.banner__cta {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.banner__form {
    margin-top: 110px;
    position: relative;
    z-index: 65
}
/* =========================================================
   FLOATING OFFER BADGE - COMPLETE CSS (DESKTOP & MOBILE)
   ========================================================= */

/* Ensure main banner container supports absolute children */
.banner {
    position: relative;
}

/* Base Desktop Floating Offer Box */
.banner__center-offer {
    position: absolute;
    top: 52%;                      /* Aligns vertically in tower gap */
    left: 48%;                     /* Aligns horizontally in tower gap */
    transform: translate(-50%, -50%);
    z-index: 10;
    
    background: rgba(15, 25, 20, 0.88);
    border: 1.5px solid #d6b779;
    border-radius: 12px;
    padding: 16px 22px;
    text-align: center;
    min-width: 230px;
    backdrop-filter: blur(8px);
    box-sizing: border-box;
    
    /* Smooth pulsating gold glow */
    animation: goldPulseDesktop 2.2s infinite ease-in-out;
}

/* Badge Tag */
.banner__center-offer .offer-tag {
    display: inline-block;
    background: linear-gradient(135deg, #d6b779, #f3e5be);
    color: #111;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    padding: 3px 8px;
    border-radius: 4px;
    margin-bottom: 6px;
    text-transform: uppercase;
}

/* Main Offer Title */
.banner__center-offer .offer-title {
    font-family: 'Cinzel', serif, Georgia;
    font-size: 1.7rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.15;
}

/* Accent Numbers */
.banner__center-offer .gold-num {
    color: #f3e5be;
    font-size: 2.1rem;
    font-weight: 800;
    text-shadow: 0 0 10px rgba(214, 183, 121, 0.5);
}

/* Sub-text */
.banner__center-offer .offer-sub {
    font-size: 0.92rem;
    color: #e0d8c8;
    margin-top: 4px;
}

.banner__center-offer .highlight-underline {
    color: #ffffff;
    font-weight: 600;
    border-bottom: 2px solid #d6b779;
}

/* Desktop Pulse Animation (Includes translate to prevent jumping) */
@keyframes goldPulseDesktop {
    0% {
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5), 0 0 8px rgba(214, 183, 121, 0.3);
        border-color: #d6b779;
        transform: translate(-50%, -50%) scale(1);
    }
    50% {
        box-shadow: 0 10px 30px rgba(214, 183, 121, 0.7), 0 0 20px rgba(214, 183, 121, 0.8);
        border-color: #ffffff;
        transform: translate(-50%, -50%) scale(1.03);
    }
    100% {
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5), 0 0 8px rgba(214, 183, 121, 0.3);
        border-color: #d6b779;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* =========================================================
   RESPONSIVE OVERRIDES FOR MOBILE & TABLET (<= 991px)
   ========================================================= */
@media (max-width: 991px) {
    .banner__center-offer {
        /* Keep stacked normal flow on mobile */
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        
        /* Layout & Spacing */
        width: 90%;
        max-width: 320px;
        margin: 22px auto;
        padding: 14px 18px;
        
        /* Stronger mobile pulse animation */
        animation: goldPulseMobile 2.2s infinite ease-in-out;
    }

    .banner__center-offer .offer-title {
        font-size: 1.45rem;
    }

    .banner__center-offer .gold-num {
        font-size: 1.85rem;
    }

    .banner__center-offer .offer-sub {
        font-size: 0.9rem;
    }
}

/* Mobile Zoom & High-Glow Keyframes */
@keyframes goldPulseMobile {
    0% {
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5), 0 0 6px rgba(214, 183, 121, 0.4);
        border-color: #d6b779;
        transform: scale(1);
    }
    50% {
        /* Amplified Zoom (1.10x) and intense gold radial glow */
        box-shadow: 0 12px 32px rgba(214, 183, 121, 0.95), 0 0 24px rgba(255, 223, 140, 1);
        border-color: #ffffff;
        transform: scale(4); /* Visibly expands outward */
    }
    100% {
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5), 0 0 6px rgba(214, 183, 121, 0.4);
        border-color: #d6b779;
        transform: scale(1);
    }
}

/* ---------- Form card ---------- */

.form-card {
    max-width: 400px;
    background: rgb(24 24 24 / 38%);
border-radius: 10px;
outline: rgba(244, 241, 232, 0.29) solid 2px;
outline-offset: 3px;
box-shadow: none;
    padding: 26px 24px;
    border-top: 4px solid var(--gold)
}

/* Narrower enquire form on desktop only */
@media(min-width:993px) {
    .form-card {
        max-width: 300px;
        margin-left: auto;
        transform: translateX(0)
    }
}

.form-card__title {
    font-family: var(--serif);
    font-size: 1.3rem;
    color: #fff;
    font-weight: 600
}

.form-card__sub {
    font-size: .84rem;
    color: #fff;
    margin-bottom: 16px
}

.enquiry-form .field {
    margin-bottom: 11px;
    position: relative
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
    width: 100%;
    padding: 11px 15px;
    border: 1px solid #ddd2c0;
    border-radius: 9px;
    font-family: var(--sans);
    font-size: .92rem;
    background: #fff;
    color: var(--ink);
    transition: .25s;
}

.enquiry-form input:focus,
.enquiry-form textarea:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(184, 146, 79, .15)
}

.error {
    color: #c0392b;
    font-size: .72rem;
    position: absolute;
    bottom: -15px;
    left: 2px
}

.form-success {
    display: none;
    color: #1d7a44;
    font-size: .85rem;
    text-align: center;
    margin-top: 12px;
    font-weight: 500
}

.form-success.show {
    display: block
}


/* ---------- Overview ---------- */

.overview__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center
}

.overview__media img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    border-radius: var(--radius);
    box-shadow: var(--shadow)
}

.overview__text p {
    margin-bottom: 16px;
    color: #5c5040
}

.overview__text .btn {
    margin-top: 12px
}

/* ---------- Highlights ---------- */
/* ===== HIGHLIGHTS SECTION ===== */
.highlights-section {
    background-color: #232323;
    padding: 80px 0;
    position: relative;
    color: #ffffff;
    overflow: hidden;
}

/* Background Pattern */
.highlights-section .bg-pattern {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-image: url('../images/sections-bg.webp');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    opacity: 0.12;
    pointer-events: none;
}

/* ===== HEADER ===== */

.highlight-tag {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #ffffff;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 8px;
    margin-bottom: 8px;
}

.highlight-tag::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 35px;
    height: 3px;
    background-color: #17a2b8;
}

.section-heading {
    font-size: 38px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}


/* =========================================
   SIDE-BY-SIDE CONTENT
========================================= */

.highlights-content {
    display: flex;
    align-items: center;
    gap: 50px;
}

/* Image */
.highlights-image-column {
    flex: 1;
    min-width: 0;
}

.highlights-img-frame {
    background-color: #ffffff;
    padding: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    width: 100%;
}

.highlights-img-frame img {
    width: 100%;
    height: auto;
    display: block;
}


/* Text */
.highlights-text-column {
    flex: 1;
    min-width: 0;
}

.highlights-list {
    display: flex;
    flex-direction: column;
}

.highlight-item {
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    padding: 14px 0;
}

.highlight-item:last-child {
    border-bottom: none;
}

.highlight-item .num {
    font-size: 30px;
    font-weight: 500;
    color: #999999;
    min-width: 55px;
    line-height: 1;
}

.highlight-item .text-div {
    border-left: 1px solid rgba(255, 255, 255, 0.25);
    padding-left: 20px;
    width: 100%;
}

.highlight-item .text {
    font-size: 16px;
    font-weight: 500;
    color: #ffffff;
    margin: 0;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .highlights-section {
        padding: 50px 0;
    }

    .highlights-section .bg-pattern {
        width: 100%;
        opacity: 0.08;
    }

    .section-heading {
        font-size: 30px;
    }

    .highlights-content {
        gap: 25px;
    }

    .highlights-img-frame {
        padding: 10px;
    }

    .highlight-item {
        padding: 10px 0;
    }

    .highlight-item .num {
        font-size: 26px;
        min-width: 45px;
    }

    .highlight-item .text-div {
        padding-left: 15px;
    }

    .highlight-item .text {
        font-size: 14px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .highlights-section {
        padding: 40px 15px;
    }

    .section-heading {
        font-size: 26px;
    }

    .highlight-tag {
        font-size: 12px;
    }

    /* Stack image and text vertically */
    .highlights-content {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    /* Image full width */
    .highlights-image-column {
        width: 100%;
        flex: none;
    }

    .highlights-img-frame {
        width: 100%;
        padding: 8px;
    }

    .highlights-img-frame img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* Text below image */
    .highlights-text-column {
        width: 100%;
        flex: none;
    }

    .highlight-item {
        padding: 11px 0;
        align-items: center;
    }

    .highlight-item .num {
        font-size: 20px;
        min-width: 40px;
    }

    .highlight-item .text-div {
        padding-left: 12px;
    }

    .highlight-item .text {
        font-size: 14px;
        line-height: 1.4;
    }
}


/*.highlights {*/
/*    background: #efe6d6*/
/*}*/

/*.features-wrap {*/
/*    position: relative*/
/*}*/

/*.feat-arrow {*/
/*    display: none*/
/*}*/

/*.features {*/
/*    display: grid;*/
/*    grid-template-columns: repeat(2, 1fr);*/
/*    gap: 28px*/
/*}*/

/*.feature {*/
/*    background: #fff;*/
/*    padding: 14px 18px;*/
/*    border-radius: var(--radius);*/
/*    box-shadow: 0 12px 30px rgba(21, 32, 26, .06);*/
/*    border-bottom: 3px solid var(--gold);*/
/*    transition: .3s*/
/*}*/

/*.feature:hover {*/
/*    transform: translateY(-6px);*/
/*    box-shadow: var(--shadow)*/
/*}*/

/*.feature h4 {*/
/*    font-family: var(--serif);*/
/*    font-size: 1.2rem;*/
/*    color: var(--brown);*/
/*    margin-bottom: 3px;*/
/*    font-weight: 600*/
/*}*/

/*.feature p {*/
/*    font-size: .84rem;*/
/*    color: var(--muted)*/
/*}*/

/* ---------- Pricing ---------- */

/*.price-cards {*/
/*    display: grid;*/
/*    grid-template-columns: repeat(3, 1fr);*/
/*    gap: 26px*/
/*}*/

/*.price-card {*/
/*    background: #fff;*/
/*    border-radius: var(--radius);*/
/*    padding: 34px 28px;*/
/*    text-align: center;*/
/*    box-shadow: 0 12px 30px rgba(21, 32, 26, .06);*/
/*    border: 1px solid #ece2d2;*/
/*    transition: .3s*/
/*}*/

/*.price-card:hover {*/
/*    transform: translateY(-6px);*/
/*    box-shadow: var(--shadow)*/
/*}*/

/*.price-card--feature {*/
/*    background: linear-gradient(160deg, var(--brown), var(--brown-soft));*/
/*    color: #fff;*/
/*    border: none*/
/*}*/

/*.price-card__tag {*/
/*    display: inline-block;*/
/*    font-size: .66rem;*/
/*    letter-spacing: .16em;*/
/*    text-transform: uppercase;*/
/*    color: var(--gold);*/
/*    background: rgba(184, 146, 79, .12);*/
/*    padding: 5px 14px;*/
/*    border-radius: 20px;*/
/*    margin-bottom: 16px*/
/*}*/

/*.price-card--feature .price-card__tag {*/
/*    background: rgba(255, 255, 255, .12);*/
/*    color: var(--gold-light)*/
/*}*/

/*.price-card h3 {*/
/*    font-family: var(--serif);*/
/*    font-size: 1.7rem;*/
/*    font-weight: 600;*/
/*    margin-bottom: 8px*/
/*}*/

/*.price-card__area {*/
/*    font-size: 1.05rem;*/
/*    color: var(--gold);*/
/*    font-weight: 500;*/
/*    margin-bottom: 6px*/
/*}*/

/*.price-card--feature .price-card__area {*/
/*    color: var(--gold-light)*/
/*}*/

/*.price-card__note {*/
/*    font-size: .84rem;*/
/*    color: var(--muted);*/
/*    margin-bottom: 20px*/
/*}*/

/*.price-card--feature .price-card__note {*/
/*    color: #d8cbb6*/
/*}*/

/*.pricing__note {*/
/*    text-align: center;*/
/*    font-size: .78rem;*/
/*    color: var(--muted);*/
/*    margin-top: 28px*/
/*}*/
/* Price section */
/* ===== PRICE SECTION ===== */
/*.price-section {*/
/*    padding: 80px 0;*/
/*    position: relative;*/
/*    background: linear-gradient(160deg, #f4f0e8 40%, #5a4413 40%);*/
/*    overflow: hidden;*/
/*}*/
.text-center {
    text-align: center !important;
    font-size: 30px;
    color: #2b2b2b;
    font-family: Comic Sans MS;
    
}
.price-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
    z-index: 2;
}

.price-section .section-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: 50px;
}

/* 3 Columns Grid on Desktop */
    /* Price Cards Grid */
.price-cards-grid {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 65px;
    width: 100%;
    flex-wrap: wrap;
}

.price-card {
    width: 330px;
    flex: 0 0 330px;
}




/* Card Styling */
.price-card {
    position: relative;
    background: #e2ded4;
    border-radius: 12px;
    padding: 35px 20px 25px;
    margin-top: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Badge Header */
.price-card .card-badge {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background: #624b10;
    color: #ffffff;
    padding: 8px 30px;
    border-radius: 8px;
    outline: #f4f0e8 solid 5px;
    font-weight: 700;
    font-size: 16px;
    white-space: nowrap;
}

/* Price */
.price-card .pricing-amount {
    text-align: center;
    padding: 20px 0 15px;
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    border-bottom: 1px solid rgba(77, 64, 54, 0.18);
}

.price-card .pricing-amount span {
    font-size: 16px;
    font-weight: 400;
}

/* Details */
.price-card .spec-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 5px 0;
}

.price-card .spec-row label {
    font-weight: 600;
    font-size: 16px;
    color: #333;
    margin: 0;
}

.price-card .spec-row span {
    font-weight: 700;
    font-size: 16px;
    color: #1a1a1a;
}

/* CTA Button */
.price-card .btn-wrapper {
    text-align: center;
    margin-top: 25px;
}

.price-card .btn-query {
    display: inline-block;
    text-decoration: none;
    color: #ffffff;
    background: #624b10;
    padding: 10px 35px;
    border-radius: 6px;
    font-weight: 600;
    transition: background 0.3s ease;
}

.price-card .btn-query:hover {
    background: #46350b;
    color: #ffffff;
}

/* Responsive Rules */
/* Tablet */
@media (max-width: 991px) {
    .price-cards-grid {
        grid-template-columns: repeat(2, minmax(280px, 350px));
        justify-content: center;
    }
}

/* Mobile */
@media (max-width: 650px) {
    .price-cards-grid {
        grid-template-columns: minmax(280px, 350px);
        justify-content: center;
    }
}
/* ---------- Floor Plan ---------- */

.floorplan {
    background: #f7f2ea
}

.fp-wrap {
    position: relative
}

.fp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 34px
}

.fp-card {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: 0 12px 30px rgba(21, 32, 26, .06);
    padding: 30px;
    text-align: center;
    transition: .3s
}

.fp-card:hover {
    box-shadow: var(--shadow)
}

.fp-card__title {
    font-family: var(--serif);
    font-size: 1.5rem;
    color: var(--gold);
    font-weight: 600;
    margin-bottom: 22px
}

.fp-thumb {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 240px;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 24px;
    background-size: cover;
    background-position: center
}

.fp-thumb::before {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    background-size: cover;
    background-position: center;
    filter: blur(6px) brightness(.92);
    transform: scale(1.1)
}

.fp-thumb--master {
    background-image: url('https://cdn.propertyfest.co.in/landing-pages-media/assets/5f46f82d-9eb5-4e32-8166-919b66a050c2/medium.webp')
}

.fp-thumb--unit {
    background-image: url('https://cdn.propertyfest.co.in/landing-pages-media/assets/759bf6d1-00b6-4491-a1df-32b0fb94f30f/medium.webp')
}

.fp-thumb__label {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 14px 10px;
    background: rgba(21, 32, 26, .62);
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .02em
}

.fp-thumb:hover {
    transform: translateY(-2px)
}

/* ---------- Why ---------- */

.why {
    background: linear-gradient(160deg, var(--brown-dark), var(--brown));
    color: #fff
}

.why .eyebrow {
    color: var(--gold-light)
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 920px;
    margin: 0 auto
}

.why-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: .98rem;
    color: #efe6d6;
    padding: 18px 22px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(184, 146, 79, .25);
    border-radius: 12px;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    cursor: default
}

.why-item:hover {
    transform: scale(1.05);
    border-color: rgba(184, 146, 79, .6);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .35)
}

.why-item span {
    color: var(--gold-light);
    font-size: 1.1rem
}

/* ---------- Amenities ---------- */

.amen-wrap {
    position: relative
}

.amen-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 40px
}

.amen-card {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(21, 32, 26, .1)
}

.amen-card img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    transition: .5s
}

.amen-card:hover img {
    transform: scale(1.07)
}

.amen-card span {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 30px 20px 16px;
    color: #fff;
    font-size: .95rem;
    font-weight: 500;
    letter-spacing: .04em;
    background: linear-gradient(transparent, rgba(21, 32, 26, .85))
}

/* ---------- Gallery marquee slider ---------- */

.slider {
    position: relative;
    max-width: 1180px;
    margin: 30px auto 0;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent)
}

.slider__track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation: gallerySlide 36s linear infinite
}

.slider:hover .slider__track {
    animation-play-state: paused
}

.slide {
    flex: 0 0 auto;
    width: clamp(300px, 40vw, 540px);
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow)
}

.slide img {
    display: block;
    width: 100%;
    height: 380px;
    object-fit: cover;
    transition: transform .6s ease
}

.slide:hover img {
    transform: scale(1.06)
}

.slide__cap {
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(transparent, rgba(21, 32, 26, .8));
    color: #fff;
    width: 100%;
    padding: 40px 22px 18px;
    font-size: .85rem;
    letter-spacing: .05em
}

.slider__btn,
.slider__dots {
    display: none
}

@keyframes gallerySlide {
    from {
        transform: translateX(0)
    }
    to {
        transform: translateX(calc(-50% - 10px))
    }
}

/* ---------- Location ---------- */

/* Location Section */

.location-points {
    text-align: center;
     background:#efe6d6; 
    padding: 10px 10px 15px;
    border-radius: 10px;
    margin: 5px 0px 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid;
    border-radius: 0;
}

.location-points span {
    font-size: 18px;
    font-weight: 500
}

/*.location-image {*/
    /* background: url(../images/location-bg.png) center center / 250px no-repeat; */
/*    transition: all .5s ease 0s;*/
/*    height: 100%;*/
/*    padding: 20px;*/
/*}*/

/* .location-points.active{background:#4d4036;transition:all .5s ease 0s;transform:scale(1.04);color:#fff} */

.location-text-section {
    padding: 0 20px;
}

 .location-points:hover{background:#4d4036;transition:all .5s ease 0s;transform:scale(1.04)} 

 .location-points:hover span{color:#fff} 

 .location-points:hover p{color:#fff} 

/*.location-address-details {*/
/*    padding: 10px;*/
/*    color: #fff;*/
/*    width: 100%;*/
/*    max-width: 100%;*/
/*    border-radius: 5px;*/
/*    outline: 1px solid #4d4036;*/
/*    outline-offset: 2px;*/
/*    transition: all .3s ease;*/
/*    box-sizing: border-box;*/
/*}*/

/*.location-address-details:hover {*/
/*    outline-offset: -4px;*/
/*    outline: 1px solid #b8b8b8;*/
/*}*/
/* Base responsive styling for the map section */
/*.location-map {*/
/*    width: 100%;*/
/*    position: relative;*/
/*}*/

/*.location-map iframe {*/
    width: 100% !important; /* Overrides the inline width="600" */
    height: 400px;         /* Standard desktop height */
    border-radius: 10px;   /* Optional: Smooth rounded corners */
/*}*/

 /*Mobile Media Query (Screens up to 768px) */
@media (max-width: 768px) {
    .location-map {
        margin-top: 30px;
        padding: 0;
    }

    .location-map iframe {
        height: 280px;     
    }

@media (max-width: 991px) {
    .location-address-details {
        padding: 10px;
        width: 100%;
    }
}

    .location-map {
        height: auto;
        width: 100%;
        
    }
}

@media (max-width: 767px) {
    .location-address-details {
        padding: 8px;
    }

    .location-map {
        height: 300px;
    }
}
.location-points img {
    width: 24px;
}

.loc1 {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 10px;
}

.loc1 p {
    font-size: 17px;
}



.location {
    background: #efe6d6
}

.location__grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 46px;
    align-items: start
}

.location__map {
    position: relative;
    display: block;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow)
}

.location__map img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    filter: blur(4px);
    transform: scale(1.03)
}

.map-pin {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    background: var(--gold);
    color: #fff;
    padding: 10px 24px;
    border-radius: 30px;
    font-size: .78rem;
    letter-spacing: .1em;
    text-transform: uppercase
}

.loc-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px
}

.loc-tab {
    flex: 1;
    padding: 11px;
    border: 1px solid #d8cbb6;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--sans);
    font-size: .8rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--muted);
    transition: .25s
}

.loc-tab.active {
    background: var(--brown);
    color: #fff;
    border-color: var(--brown)
}

.loc-list {
    display: none;
    list-style: none;
    margin-bottom: 24px
}

.loc-list.active {
    display: block
}

.loc-list li {
    display: flex;
    justify-content: space-between;
    padding: 13px 0;
    border-bottom: 1px solid #ddd2c0;
    font-size: .95rem;
    color: #5c5040
}

.loc-list li span {
    color: var(--gold);
    font-weight: 500
}

/* ---------- Site Visit ---------- */

.visit {
    background: #f3ece0
}

.visit__card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin-top: 30px;
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow)
}

/*.visit__media {*/
/*    position: relative;*/
/*    min-height: 100%*/
/*}*/

.visit__media {
    position: relative;
    padding: 46px 44px;       /* Matches form padding on the right */
    display: flex;
    flex-direction: column;
    justify-content: center;   /* Vertically centers the text */
    background: #ffffff;
}

.visit__media p {
    color: #4a4a4a;              
    font-size: 14.5px;            
    line-height: 1.8;            
    font-weight: 400;
    text-align: justify;       /* Creates clean, even edges on both sides */
    letter-spacing: 0.2px;        
    margin: 0;           
}

.visit__media p strong {
    color: #1a1a1a;
    font-weight: 600;
}
.visit__form {
    padding: 46px 44px
}

.visit__title {
    font-family: var(--serif);
    font-size: 1.9rem;
    color: var(--brown);
    font-weight: 600
}

.visit__sub {
    font-size: .9rem;
    color: var(--muted);
    margin-bottom: 24px
}

.visit__form .enquiry-form .field {
    margin-bottom: 18px
}

.visit__form .enquiry-form input {
    padding: 15px 16px
}

.visit__form .btn--block {
    margin-top: 6px
}
.banner-call-section.footer-call {
    background: #f9fbf3;
    color: #fff;
    border: 1px solid #697668;
    outline: #697668 solid 1px;
    outline-offset: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    padding: 14px 16px;
    border-radius: 40px;
    margin-top: 24px;
}
.banner-call-section.footer-call a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1a1a1a;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    white-space: nowrap;
}
.banner-call-section.footer-call img.trin-trin {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    max-height: 18px;
    object-fit: contain;
}
.trin-trin {
    animation-name: trin;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: linear
}
@keyframes trin {
    0% {
        transform: rotate3d(0, 0, 1, 0deg);
    }
    20%,
    32%,
    44%,
    56%,
    68% {
        transform: rotate3d(0, 0, 1, 0deg);
    }
    23%,
    35%,
    47%,
    59%,
    71% {
        transform: rotate3d(0, 0, 1, 15deg);
    }
    26%,
    38%,
    50%,
    62%,
    74% {
        transform: rotate3d(0, 0, 1, 0deg);
    }
    29%,
    41%,
    53%,
    65%,
    77% {
        transform: rotate3d(0, 0, 1, -15deg);
    }
    80% {
        transform: rotate3d(0, 0, 1, 0deg);
    }
}


/* ---------- Footer ---------- */
.footer-section{
    background: #000000;
}
.footer-section p{
    color: #ffffff;
    text-align: center;
}

.rera{
    color: #ffffff;
    text-align: center;
    position: center;
}

.footer {
    background: var(--brown-dark);
    color: #cdbfa8;
    padding: 20px 0 36px
}

.footer__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(184, 146, 79, .2)
}
section.footer {
    background: #697668
}

.footer .dis p {
    color: #fff
}

.dis a {
    color: #fff
}
.footer__brand h3 {
    font-family: var(--serif);
    font-size: 1.7rem;
    color: #fff;
    font-weight: 600
}

.footer__brand h3 span {
    color: var(--gold-light);
    font-size: .9rem;
    display: block;
    font-family: var(--sans);
    letter-spacing: .2em;
    text-transform: uppercase;
    font-weight: 400;
    margin-top: 2px
}

.footer__brand p {
    font-size: .88rem;
    color: #9c8d76;
    margin-top: 6px
}

.disclaimer {
    padding-top: 26px;
    text-align: center
}

/*.rera {*/
/*    display: flex;*/
/*    justify-content: space-between;*/
/*    align-items: center;*/
/*    gap: 30px;*/
/*    text-align: left*/
/*}*/

.rera__info p {
    font-size: .84rem;
    color: #b9ac96;
    line-height: 1.9;
    margin: 0
}

.rera__info a {
    color: var(--gold-light);
    text-decoration: none
}

.rera__info a:hover {
    text-decoration: underline
}

.rera__qr {
    flex: 0 0 auto;
    background: #fff;
    padding: 8px;
    border-radius: 8px;
    line-height: 0
}

.rera__qr img {
    width: 108px;
    height: 108px;
    display: block
}

.footer__cta {
    display: none;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
    flex-wrap: wrap
}

/* ---------- Modal ---------- */

.modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal.open {
    display: flex;
    animation: fadeIn .3s;
}

.modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(21, 32, 26, .75);
    backdrop-filter: blur(3px);
}

.modal__box {
    position: relative;
    z-index: 2;
    width: min(440px, 100%); /* Adjusted width for a single column */
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .4);
    animation: popIn .4s cubic-bezier(.2, .8, .3, 1.2);
}

.modal__body {
    padding: 30px 26px;
}

.modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    z-index: 3;
    background: rgba(0, 0, 0, .35);
    color: #fff;
    border: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 1.3rem;
    cursor: pointer;
    line-height: 1;
}

.modal__close:hover {
    background: var(--gold);
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes popIn {
    from {
        opacity: 0;
        transform: translateY(24px) scale(.96);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

/* ---------- Floating actions ---------- */

.floats {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 60;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.float {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    font-size: 1.2rem;
    transition: .3s
}

.float:hover {
    transform: translateY(-3px)
}

.float--call {
    background: #4093F7;
    color: #fff
}

.float--wa {
    background: #ffffff;
    color: #fff
}

.float--enq {
    display: none
}

.float--top {
    display: none;
    border: none;
    cursor: pointer;
    background: var(--brown);
    color: var(--gold-light);
    font-size: .8rem;
    position: fixed;
    left: 18px;
    bottom: 18px
}

.float--top.show {
    display: flex
}

.float--top:hover {
    background: var(--gold);
    color: #fff
}
    
/* ---------- Reveal ---------- */

.reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: .8s cubic-bezier(.2, .8, .2, 1)
}

.reveal.in {
    opacity: 1;
    transform: none
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 992px) {
.banner {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    .banner__slider {
        position: relative;
        inset: auto;
        height: 42vh;
        min-height: 260px;
        border-radius: 20px;
        overflow: hidden;
        margin-bottom: 28px;
    }
    .banner__overlay {
        display: none
    }
    .banner__slider-controls {
        display: none
    }
    .banner__grid {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 28px;
        border-radius: 20px;
    }
    .banner__content {
        margin-top: -28px;
        margin-left: 0;
        width: 100%;
        max-width: 100%;
    }
    .banner__form {
        max-width: 460px;
        margin-top: 0
    }
    .form-card {
        margin: 0 auto
    }
    .banner__title {
        font-size: 3.2rem
    }
    .overview__grid {
        grid-template-columns: 1fr;
        gap: 34px
    }
    .overview__media img {
        height: 360px
    }
    .features,
    .price-cards,
    .amen-grid,
    .why-grid {
        grid-template-columns: repeat(2, 1fr)
    }
    .location__grid {
        grid-template-columns: 1fr
    }
    .visit__card {
        grid-template-columns: 1fr
    }
    .visit__media img {
        min-height: 280px
    }
    .banner-call-section.footer-call {
        border-radius: 16px;
        padding: 16px 20px;
        gap: 6px 10px;
        margin-top: 18px;
    }
    .banner-call-section.footer-call a {
        font-size: .95rem;
    }
    .visit__form {
        padding: 34px 28px
    }
    .modal__box {
        grid-template-columns: 1fr
    }
    .modal__media {
        display: none
    }
    .nav {
        position: fixed;
        top: 0;
        right: 0;
        width: 78%;
        max-width: 320px;
        height: 100vh;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        background: var(--brown-dark);
        padding: 90px 28px 28px;
        transform: translateX(110%);
        transition: .35s ease
    }
    .nav.open {
        transform: none
    }
    .nav a {
        padding: 15px 0;
        width: 100%;
        border-bottom: 1px solid rgba(184, 146, 79, .12)
    }
    .nav__cta {
        margin-top: 16px;
        text-align: center
    }
    .nav__call {
        display: none
    }
    .nav__toggle {
        display: flex;
        z-index: 55
    }
    .header,
    .header.scrolled {
        background: rgba(21, 32, 26, .96)
    }
    .header,
    .header.scrolled {
        padding: 8px 0
    }
    .logo img {
        height: 38px
    }
    /* Footer CTA -> sticky bottom bar, visible from page load on mobile/tablet */
    .floats {
        display: none
    }
    body {
        padding-bottom: 76px
    }
    .footer__cta {
        display: flex !important;
        flex-wrap: nowrap;
        gap: 8px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2000;
        margin: 0;
        padding: 10px 12px;
        background: var(--brown-dark);
        box-shadow: 0 -6px 22px rgba(0, 0, 0, .4);
        padding-bottom: calc(10px + env(safe-area-inset-bottom));
    }
    .footer__cta .btn {
        flex: 1;
        padding-left: 8px;
        padding-right: 8px;
        font-size: .72rem;
        white-space: nowrap;
        min-width: 0;
        text-align: center
    }
    .float--call {
        position: fixed;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
    }

}

@media(max-width:600px) {
    .section {
        padding: 37px 0
    }
    .section__title {
        font-size: 1.5rem;
        line-height: 1.25
    }
    .banner {
        min-height: auto;
        padding: 104px 0 54px
    }
    .banner__slide:first-child {
        background-image: url('https://cdn.propertyfest.co.in/landing-pages-media/assets/c1b25fa1-ece7-438d-9c95-05baecdf512b/large.webp');
        background-position: 60% 40%
    }
    .banner__title {
        font-size: 2.3rem;
        line-height: 1.05;
        margin-bottom: 4px
    }
    .banner__title span {
        display: block
    }
    .banner__by {
        font-size: .74rem;
        letter-spacing: .26em;
        margin-bottom: 12px
    }
    .banner__loc {
        font-size: .84rem;
        /*margin-top:28px;*/
        margin-bottom: 18px
    }
    .banner__stats {
        gap: 18px;
        margin-bottom: 18px
    }
    .banner__stats strong {
        font-size: 1.3rem
    }
    .banner__stats span {
        font-size: .62rem
    }
    .banner__price {
        font-size: .9rem;
        margin-bottom: 20px
    }
    .eyebrow {
        font-size: .66rem
    }
    .price-cards,
    .why-grid {
        grid-template-columns: 1fr
    }
    .fp-thumb {
        height: 210px
    }
    /* Floor Plan -> swipe slider (mobile only) */
    .fp-grid {
        grid-template-columns: none;
        display: flex;
        gap: 16px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 4px 20px;
        margin: 34px -20px 0;
    }
    .fp-grid::-webkit-scrollbar {
        display: none
    }
    .fp-card {
        flex: 0 0 100%;
        scroll-snap-align: center
    }
    .slide img,
    .location__map img {
        height: 320px
    }
    /* Gallery -> single-slide swipe slider with arrows (mobile only) */
    .slider {
        overflow: visible;
        -webkit-mask-image: none;
        mask-image: none
    }
    .slider__track {
        animation: none;
        width: auto;
        gap: 18px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 4px 20px 4px;
    }
    .slider__track::-webkit-scrollbar {
        display: none
    }
    .slide {
        flex: 0 0 100%;
        scroll-snap-align: center;
        border-radius: var(--radius);
        box-shadow: 0 12px 30px rgba(21, 32, 26, .1);
        background: var(--brown-dark)
    }
    .slide img {
        height: auto;
        max-height: 70vh;
        object-fit: contain
    }
    .slider__btn {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: none;
        cursor: pointer;
        background: var(--brown);
        color: #fff;
        font-size: 1rem;
        box-shadow: 0 6px 16px rgba(21, 32, 26, .3)
    }
    .slider__btn--prev {
        left: 8px
    }
    .slider__btn--next {
        right: 8px
    }
    /* Highlights -> 2-per-page slider with arrows (mobile only) */
    .features-wrap {
        padding: 0 6px
    }
    .features {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 100%;
        grid-template-rows: auto auto;
        gap: 16px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .features::-webkit-scrollbar {
        display: none
    }
    .feature {
        scroll-snap-align: start
    }
    .feat-arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 44%;
        transform: translateY(-50%);
        z-index: 3;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: none;
        cursor: pointer;
        background: var(--brown);
        color: #fff;
        font-size: 1rem;
        box-shadow: 0 6px 16px rgba(21, 32, 26, .3)
    }
    .feat-arrow--prev {
        left: -4px
    }
    .feat-arrow--next {
        right: -4px
    }
    .footer__top {
        flex-direction: column;
        text-align: center;
        align-items: center
    }
    .rera {
        flex-direction: column;
        text-align: center;
        gap: 18px
    }
    .rera__info p {
        font-size: .8rem;
        line-height: 1.8
    }
    /* Location: center content like other sections */
    .location__grid {
        text-align: center
    }
    .loc-list {
        display: none
    }
    .loc-list.active {
        display: inline-block;
        text-align: left;
        width: 100%;
        max-width: 420px
    }
    .location__lists .btn {
        margin-top: 4px
    }
    /* Enquiry popup: wider on mobile */
    .modal {
        padding: 14px
    }
    .modal__box {
        width: 100%
    }
    .modal__body {
        padding: 26px 20px
    }
    /* Amenities -> luxury horizontal slider (mobile only) */
    .amen-grid {
        display: flex;
        grid-template-columns: none;
        gap: 18px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 4px 24px 18px;
        margin: 0 -24px 28px;
    }
    .amen-grid::-webkit-scrollbar {
        display: none
    }
    .amen-card {
        flex: 0 0 100%;
        scroll-snap-align: center;
    }
    .amen-card img {
        height: auto;
        object-fit: contain
    }
    /* Sticky CTA bar: tighter on small phones */
    .footer__cta .btn {
        font-size: .68rem;
        padding-left: 6px;
        padding-right: 6px
    }
    /* --------cookies -------- */
/* ── GSR Cookie Bar Overrides ────────────────────────────── */
div.gsr-cookie-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background-color: #111111 !important; /* Matches dark footer background */
    border-top: 1px solid #D4AF37 !important; /* Subtle Gold Accent Line */
    box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.7) !important;
    z-index: 9999999 !important; /* Sits above standard elements */
    padding: 12px 24px !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
}

.gsr-cookie-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

.gsr-cookie-text {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.gsr-cookie-text .cookie-icon {
    font-size: 20px !important;
}

.gsr-cookie-text p {
    margin: 0 !important;
    color: #e0e0e0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.gsr-cookie-text a {
    color: #D4AF37 !important;
    text-decoration: underline !important;
}

.gsr-cookie-btns {
    display: flex !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}

.gsr-btn {
    padding: 8px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    outline: none !important;
}

/* Gold Primary Button */
.gsr-btn-gold {
    background-color: #D4AF37 !important;
    color: #000000 !important;
    border: 1px solid #D4AF37 !important;
}

.gsr-btn-gold:hover {
    background-color: #b8962e !important;
}

/* Secondary Dark Outline Button */
.gsr-btn-outline {
    background-color: transparent !important;
    color: #ffffff !important;
    border: 1px solid #555555 !important;
}

.gsr-btn-outline:hover {
    background-color: #222222 !important;
    border-color: #888888 !important;
}

/* Mobile Responsive Adjustments */
@media screen and (max-width: 768px) {
    .gsr-cookie-content {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .gsr-cookie-btns {
        width: 100% !important;
    }

    .gsr-btn {
        flex: 1 !important;
        text-align: center !important;
    }
}

}