:root{
    --primary:#005687;
    --primary-dark:#005687;
    --gold:#CF9D2B;
    --gold-soft:#f5ead6;
    --light:#f7f8fb;
    --white:#ffffff;
    --text:#37495d;
    --muted:#6d7b8a;
    --border:#e8edf2;
    --shadow-sm:0 8px 20px rgba(0,0,0,.06);
    --shadow-md:0 12px 28px rgba(0,0,0,.08);
    --shadow-lg:0 18px 40px rgba(0,0,0,.14);
    --transition:all .3s ease;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Manrope', sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.7;
    overflow-x:hidden;
}

.container{
    width:min(1200px, 92%);
    margin:auto;
}

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

a{
    text-decoration:none;
    color:inherit;
    transition:var(--transition);
}

ul{
    list-style:none;
}

h1,h2,h3,h4{
    font-family:'Playfair Display', serif;
    color:var(--primary-dark);
    line-height:1.15;
}

p{
    color:#0d2746;
}

.section{
    padding:90px 0;
}

.section-light{
    background:var(--light);
}

.section-tag{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    background:var(--gold-soft);
    color:var(--primary-dark);
    font-size:12px;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
    margin-bottom:14px;
}

.light-tag{
    background:rgba(255,255,255,.14);
    color:#fff;
}

.section-header{
    max-width:760px;
    margin:0 auto 48px;
    text-align:center;
}

.section-header h2{
    margin-bottom:14px;
    font-size:44px;
}

.btn-primary,
.btn-outline-light,
.btn-outline-dark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 24px;
    border-radius:999px;
    font-weight:800;
    transition:var(--transition);
    border:none;
    cursor:pointer;
    font-family:inherit;
}

.btn-primary{
    background:var(--gold);
    color:#fff;
    box-shadow:0 12px 26px rgba(212,162,76,.22);
}

.btn-primary:hover{
    transform:translateY(-3px);
}

.btn-outline-light{
    border:2px solid rgba(255,255,255,.8);
    color:#fff;
    background:transparent;
}

.btn-outline-light:hover{
    background:#fff;
    color:var(--primary-dark);
}

.btn-outline-dark{
    border:2px solid var(--primary);
    color:var(--primary);
    background:transparent;
}

.btn-outline-dark:hover{
    background:var(--primary);
    color:#fff;
}

/* ============================= */
/* CINEMATIC GOLD PRELOADER */
/* ============================= */

#preloader{
    position:fixed;
    inset:0;
    background:linear-gradient(180deg,#005687,#005687);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;
    transition:opacity .6s ease, visibility .6s ease;
}

.loader-wrapper{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
}

/* ============================= */
/* LOGO FLOAT */
/* ============================= */

.loader-logo{
    position:relative;
    margin-bottom:22px;
    animation:logoFloat 2.6s ease-in-out infinite;
}

.loader-logo img{
    height:82px;
    position:relative;
    z-index:2;
}

/* ============================= */
/* GOLD SHIMMER EFFECT */
/* ============================= */

.logo-shimmer{
    position:absolute;
    inset:0;
    background:linear-gradient(
        120deg,
        transparent 0%,
        rgba(212,162,76,.0) 30%,
        rgba(212,162,76,.55) 50%,
        rgba(212,162,76,.0) 70%,
        transparent 100%
    );

    transform:translateX(-120%);
    animation:logoShimmer 2.4s infinite;
    z-index:3;
}

/* ============================= */
/* SPINNER */
/* ============================= */

.loader-spinner{
    width:54px;
    height:54px;

    border:4px solid rgba(255,255,255,.12);
    border-top:4px solid var(--gold);
    border-right:4px solid rgba(212,162,76,.5);

    border-radius:50%;

    animation:spin 1s linear infinite;

    margin-bottom:18px;

    box-shadow:0 0 18px rgba(212,162,76,.18);
}

/* ============================= */
/* TEXT SHIMMER */
/* ============================= */

.loader-text{
    position:relative;
    font-size:14px;
    font-weight:700;
    color:#fff;
    letter-spacing:1px;

    animation:textPulse 2.2s ease-in-out infinite;
}

.shimmer-text{
    background:linear-gradient(
        120deg,
        #fff 0%,
        #CF9D2B 40%,
        #fff 60%
    );

    background-size:200% auto;

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    animation:textShimmer 2.8s linear infinite;
}

/* ============================= */
/* LOADING DOTS */
/* ============================= */

.loading-dots::after{
    content:"";
    display:inline-block;
    animation:dots 1.4s steps(4,end) infinite;
}

/* ============================= */
/* HIDE PRELOADER */
/* ============================= */

.preloader-hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

/* ============================= */
/* KEYFRAMES */
/* ============================= */

@keyframes spin{
    from{ transform:rotate(0deg); }
    to{ transform:rotate(360deg); }
}

@keyframes logoFloat{
    0%{ transform:translateY(0); }
    50%{ transform:translateY(-8px); }
    100%{ transform:translateY(0); }
}

@keyframes logoShimmer{
    0%{
        transform:translateX(-120%);
    }
    100%{
        transform:translateX(120%);
    }
}

@keyframes textPulse{
    0%{
        opacity:.5;
        transform:translateY(6px);
    }
    50%{
        opacity:1;
        transform:translateY(0);
    }
    100%{
        opacity:.5;
        transform:translateY(6px);
    }
}

@keyframes textShimmer{
    from{
        background-position:-200% center;
    }
    to{
        background-position:200% center;
    }
}

@keyframes dots{
    0%{ content:""; }
    25%{ content:"."; }
    50%{ content:".."; }
    75%{ content:"..."; }
    100%{ content:""; }
}
/* TOPBAR */
.topbar{
    background:linear-gradient(90deg, #081a30, #102946);
    color:#fff;
    font-size:14px;
}

.topbar-inner{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
}

.topbar-left,
.topbar-right{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.topbar a,
.topbar span{
    color:rgba(255,255,255,.9);
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.topbar-cta{
    background:var(--gold);
    color:#fff !important;
    padding:8px 16px;
    border-radius:999px;
    font-weight:800;
}

/* HEADER */
.site-header{
    position:sticky;
    top:0;
    width:100%;
    z-index:999;
    background:#fff;
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(0,0,0,.05);
}

.nav-inner{
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    position:relative;
}

.site-logo img{
    height:60px;
    width:auto;
}

.nav-menu{
    margin-left:auto;
}

.nav-menu > ul{
    display:flex;
    align-items:center;
    gap:30px;
}

.nav-menu li{
    position:relative;
}

.nav-menu a,
.dropdown-toggle{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-weight:800;
    font-size:15px;
    position:relative;
    padding:8px 0;
    background:none;
    border:none;
    cursor:pointer;
    font-family:'Manrope', sans-serif;
}

.nav-menu a::after,
.dropdown-toggle::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:3px;
    background:var(--gold);
    border-radius:999px;
    transition:var(--transition);
}

.nav-menu a:hover::after,
.nav-menu a.active::after,
.dropdown-toggle:hover::after,
.dropdown-toggle.active::after{
    width:100%;
}

.dropdown{
    position:relative;
    padding-bottom:10px;
}

.dropdown-toggle i{
    font-size:12px;
    transition:transform .3s ease;
}

/* IMPORTANT: hidden by default always */
.dropdown-menu{
    position:absolute;
    top:100%;
    left:0;
    min-width:240px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 16px 40px rgba(0,0,0,.12);
    padding:10px 0;
    display:none;
    z-index:1005;
}

.dropdown-menu a{
    display:block;
    padding:12px 18px;
    font-size:14px;
    font-weight:700;
    color:var(--primary-dark);
}

.dropdown-menu a::after{
    display:none;
}

/* JS-controlled desktop dropdown */
@media (min-width:993px){
    .dropdown.is-open > .dropdown-menu{
        display:block;
    }

    .dropdown.is-open > .dropdown-toggle i{
        transform:rotate(180deg);
    }
}

.menu-toggle{
    display:none;
    width:46px;
    height:46px;
    border:none;
    background:transparent;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
}

.menu-toggle span{
    width:24px;
    height:3px;
    background:var(--primary-dark);
    border-radius:999px;
    transition:.3s ease;
}

.dropdown{
    position:relative;
    padding-bottom:10px;
}

.dropdown-menu{
    position:absolute;
    top:100%;
    left:0;
    min-width:240px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 16px 40px rgba(0,0,0,.12);
    padding:10px 0;
    display:none;
    z-index:1005;
}

.dropdown-menu li{
    width:100%;
}

.dropdown-menu a{
    display:block;
    width:100%;
    padding:12px 18px;
    font-size:14px;
    font-weight:700;
    color:var(--primary-dark);
}

.dropdown-menu a::after{
    display:none;
}

/* HERO */
.hero-slider{
    position:relative;
    height:92vh;
    overflow:hidden;
}

.hero-luxury-home{
    height:96vh;
}

.slides{
    position:relative;
    width:100%;
    height:100%;
}

.slide{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .8s ease, visibility .8s ease;
}

.slide.active{
    opacity:1;
    visibility:visible;
    z-index:2;
}

.slide::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(8,20,36,.84), rgba(8,20,36,.48), rgba(8,20,36,.18));
}

.slide-content{
    position:relative;
    z-index:3;
    max-width:760px;
    color:#fff;
}

.slide-content h1{
    color:#fff;
    font-size:64px;
    margin-bottom:18px;
}

.slide-content p{
    color:rgba(255,255,255,.9);
    font-size:18px;
    margin-bottom:26px;
}

.eyebrow{
    display:inline-block;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    padding:10px 16px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.hero-btns,
.cta-buttons{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.slider-controls{
    position:absolute;
    top:50%;
    left:0;
    right:0;
    transform:translateY(-50%);
    display:flex;
    justify-content:space-between;
    padding:0 16px;
    z-index:10;
}

.slider-controls span{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    color:#fff;
    cursor:pointer;
    font-size:22px;
}

.slider-dots{
    position:absolute;
    left:0;
    right:0;
    bottom:24px;
    text-align:center;
    z-index:10;
}

.slider-dots span{
    display:inline-block;
    width:12px;
    height:12px;
    margin:0 5px;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    cursor:pointer;
}

.slider-dots span.active{
    background:var(--gold);
}

/* PAGE HERO */
.page-hero{
    padding:125px 0 96px;
}

.page-hero h1{
    color:#fff;
    text-align:center;
    margin-bottom:14px;
    font-size:56px;
}

.page-hero p{
    max-width:760px;
    margin:0 auto;
    text-align:center;
    color:rgba(255,255,255,.86);
    font-size:17px;
}

/* GENERAL */
.home-intro{
    margin-top:-46px;
    position:relative;
    z-index:20;
}

.intro-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.intro-box{
    background:#fff;
    border-radius:20px;
    box-shadow:var(--shadow-md);
    padding:28px 22px;
    text-align:center;
}

.intro-box i{
    font-size:28px;
    color:var(--gold);
    margin-bottom:12px;
}

.about-home-grid,
.investment-wrap,
.estate-overview-grid,
.masterplan-section,
.home-story-grid,
.home-masterplan-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:38px;
    align-items:center;
}

.about-home-image img,
.investment-image img,
.estate-overview-image img,
.masterplan-image img,
.home-masterplan-image img{
    width:100%;
    border-radius:24px;
    box-shadow:var(--shadow-lg);
}

.home-story-image-wrap{
    position:relative;
}

.home-story-image-wrap img{
    width:100%;
    border-radius:28px;
    box-shadow:var(--shadow-lg);
}

.floating-story-card{
    position:absolute;
    right:24px;
    bottom:24px;
    background:#fff;
    border-radius:18px;
    box-shadow:var(--shadow-lg);
    padding:18px 20px;
    min-width:180px;
    z-index:3;
}

.floating-story-card strong{
    display:block;
    font-size:34px;
    color:var(--gold);
    line-height:1;
    margin-bottom:6px;
}

.floating-story-card span{
    display:block;
    font-weight:700;
    color:var(--primary-dark);
    font-size:14px;
}

.check-list{
    margin:24px 0 28px;
}

.check-list li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
    font-weight:700;
}

.check-list i{
    color:var(--gold);
    margin-top:4px;
}

/* CARD GRIDS */
.estate-grid,
.career-preview-grid,
.estate-showcase-grid,
.brochure-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.estate-card,
.career-preview-card,
.estate-showcase-card,
.brochure-card,
.project-luxury-card,
.team-card,
.job-card,
.why-us-card,
.doc-card,
.testimonial-card,
.amenity-box,
.career-path-card,
.location-card,
.inspection-highlight-card,
.inspection-step-card,
.inspection-info-card,
.stat-card{
    background:#fff;
    border-radius:24px;
    box-shadow:var(--shadow-md);
}

.estate-card,
.estate-showcase-card,
.brochure-card{
    overflow:hidden;
}

.estate-image,
.estate-showcase-image{
    position:relative;
}

.estate-image{
    height:320px;
}

.estate-image img,
.brochure-image img{
    width:100%;
    height:280px;
    object-fit:cover;
}

.estate-showcase-image img{
    width:100%;
    height:320px;
    object-fit:cover;
}

.estate-badge,
.estate-showcase-badge{
    position:absolute;
    top:18px;
    left:18px;
    background:rgba(12,28,52,.78);
    color:#fff;
    padding:8px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.estate-content,
.career-preview-content,
.estate-showcase-content,
.brochure-content{
    padding:28px;
}

.estate-content h3,
.career-preview-content h3,
.estate-showcase-content h3,
.brochure-content h3{
    margin-bottom:12px;
}

.estate-content p,
.career-preview-content p,
.estate-showcase-content p,
.brochure-content p{
    margin-bottom:18px;
}

.estate-location,
.project-badge{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    margin-bottom:8px;
    color:var(--gold);
}

.estate-features,
.estate-feature-mini{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:20px;
    font-size:14px;
}

.estate-features span,
.estate-feature-mini span{
    background:#f4f6f8;
    padding:6px 10px;
    border-radius:20px;
}

/* PROJECTS */
.project-luxury-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:34px;
}

.project-luxury-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.03);
}

.project-luxury-image img{
    width:100%;
    height:100%;
    min-height:420px;
    object-fit:cover;
}

.project-luxury-content{
    padding:38px 34px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.project-badge{
    align-self:flex-start;
    padding:8px 14px;
    border-radius:999px;
    background:var(--gold-soft);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.7px;
    margin-bottom:14px;
}

.project-luxury-content h3{
    margin-bottom:14px;
}

.project-luxury-content p{
    margin-bottom:18px;
}

/* ICON BLOCKS */
.amenities-grid,
.docs-grid,
.why-us-grid,
.inspection-highlight-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.amenity-box,
.doc-card,
.why-us-card,
.inspection-highlight-card{
    padding:28px 24px;
}

.amenity-box i,
.inspection-highlight-card i{
    font-size:28px;
    color:var(--gold);
    margin-bottom:14px;
}

.why-us-icon,
.doc-icon{
    width:58px;
    height:58px;
    border-radius:16px;
    background:#f5ead6;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
}

.why-us-icon i,
.doc-icon i{
    color:var(--gold);
    font-size:24px;
}

.doc-card{
    text-align:center;
}

/* DARK BANDS */
.stats-luxury-wrap,
.home-investor-band,
.estate-investment-band,
.internship-band{
    background:linear-gradient(135deg, #0d2746, #17385f);
    border-radius:30px;
    box-shadow:var(--shadow-lg);
}

.stats-luxury-wrap{
    padding:54px 42px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:34px;
    align-items:center;
}

.stats-copy h2,
.home-investor-left h2,
.estate-investment-copy h2,
.internship-band-copy h2{
    color:#fff;
    margin-bottom:14px;
}

.stats-copy p,
.home-investor-left p,
.estate-investment-copy p,
.internship-band-copy p{
    color:rgba(255,255,255,.84);
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.stat-card{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    padding:28px 22px;
    text-align:center;
    backdrop-filter:blur(8px);
}

.stat-card h3{
    font-family:'Manrope', sans-serif;
    font-size:42px;
    color:var(--gold);
    margin-bottom:8px;
}

.stat-card p{
    color:rgba(255,255,255,.84);
    margin:0;
}

.home-investor-band{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    padding:44px 36px;
}

.home-investor-right,
.estate-investment-points{
    display:grid;
    gap:16px;
}

.home-investor-card,
.estate-invest-point{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    padding:22px;
}

.home-investor-card i,
.estate-invest-point i{
    color:var(--gold);
    font-size:24px;
    margin-bottom:12px;
}

.home-investor-card h3,
.estate-invest-point h3{
    color:#fff;
    font-size:22px;
    margin-bottom:8px;
}

.home-investor-card p,
.estate-invest-point p{
    color:rgba(255,255,255,.82);
    margin:0;
}

.estate-investment-band{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    padding:42px 34px;
}

.internship-band{
    padding:42px 34px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    align-items:center;
}

/* GALLERIES */
.luxury-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:230px;
    gap:20px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    box-shadow:var(--shadow-md);
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

.gallery-item::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.7));
}

.gallery-overlay{
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;
    color:#fff;
    z-index:2;
    font-weight:800;
}

.gallery-tall{
    grid-row:span 2;
}

.gallery-wide{
    grid-column:span 2;
}

/* TESTIMONIALS */
.testimonial-luxury-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.testimonial-card{
    padding:30px 24px;
}

.featured-testimonial{
    background:linear-gradient(135deg, #0d2746, #17385f);
}

.featured-testimonial p,
.featured-testimonial h4,
.featured-testimonial span{
    color:#fff !important;
}

.testimonial-stars{
    display:flex;
    gap:6px;
    margin-bottom:16px;
    color:var(--gold);
}

/* TRUST STRIPS */
.brand-confidence-strip{
    padding:20px 0 0;
}

.brand-confidence-grid,
.home-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.brand-pill,
.home-trust-pill{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:72px;
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow-sm);
    font-weight:800;
    text-align:center;
    padding:14px 16px;
}

.brand-pill i,
.home-trust-pill i{
    color:var(--gold);
}

.home-trust-strip{
    margin-top:-34px;
    position:relative;
    z-index:20;
}

/* CTA */
.luxury-parallax-band{
    padding:120px 0;
    background:
        linear-gradient(90deg, rgba(8,20,36,.82), rgba(8,20,36,.46), rgba(8,20,36,.22)),
        url('img/6f9f26da-e455-4d5f-8a4e-1d8cea7b6af9.jpeg?auto=format&fit=crop&w=1800&q=80') center/cover fixed no-repeat;
}

.luxury-parallax-content{
    max-width:760px;
}

.luxury-parallax-content h2{
    color:#fff;
    margin-bottom:14px;
}

.luxury-parallax-content p{
    color:rgba(255,255,255,.86);
    margin-bottom:24px;
}

.cta-section{
    background:#fff;
}

.cta-box-home{
    background:
        linear-gradient(120deg, rgba(12,31,54,.94), rgba(23,56,95,.92)),
        url('img/6f9f26da-e455-4d5f-8a4e-1d8cea7b6af9.jpeg?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
    border-radius:28px;
    padding:74px 46px;
    text-align:center;
    box-shadow:var(--shadow-lg);
}

.cta-box-home h2{
    color:#fff;
    margin-bottom:14px;
}

.cta-box-home p{
    color:rgba(255,255,255,.86);
    max-width:760px;
    margin:0 auto 26px;
}

/* ESTATE PAGE PARTS */
.masterplan-text p,
.home-masterplan-copy p{
    margin-bottom:16px;
}

.estate-gallery-slider{
    position:relative;
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
    background:#fff;
}

.estate-gallery-track{
    position:relative;
    min-height:520px;
}

.estate-gallery-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .8s ease, visibility .8s ease;
}

.estate-gallery-slide.active{
    opacity:1;
    visibility:visible;
    z-index:2;
}

.estate-gallery-slide img{
    width:100%;
    height:520px;
    object-fit:cover;
}

.estate-gallery-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    color:#fff;
    backdrop-filter:blur(8px);
    cursor:pointer;
}

.estate-gallery-arrow.prev{
    left:18px;
}

.estate-gallery-arrow.next{
    right:18px;
}

.estate-gallery-dots{
    position:absolute;
    left:0;
    right:0;
    bottom:24px;
    text-align:center;
    z-index:5;
}

.estate-gallery-dots span{
    display:inline-block;
    width:12px;
    height:12px;
    margin:0 5px;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    cursor:pointer;
}

.estate-gallery-dots span.active{
    background:var(--gold);
}

.estate-action-row{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:10px;
}

.location-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.estate-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.estate-stat{
    background:#fff;
    padding:34px 24px;
    border-radius:20px;
    box-shadow:var(--shadow-md);
    text-align:center;
}

.estate-stat h3{
    font-size:42px;
    color:var(--gold);
    font-family:'Manrope', sans-serif;
    margin-bottom:10px;
}

.estate-brochure-strip{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:#fff;
    border-radius:26px;
    padding:34px 30px;
    box-shadow:var(--shadow-md);
}

.estate-brochure-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.map-wrapper{
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow-md);
    margin-top:30px;
}

.estate-map-card{
    background:#fff;
    border-radius:24px;
    padding:14px;
    box-shadow:var(--shadow-lg);
}

.estate-map-card iframe,
.estate-map iframe{
    width:100%;
    height:440px;
    border:none;
    border-radius:18px;
    display:block;
}

/* FORMS */
.form-wrap{
    background:#fff;
    padding:34px;
    border-radius:24px;
    box-shadow:var(--shadow-md);
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.form-group{
    display:flex;
    flex-direction:column;
}

.form-group.full{
    grid-column:1 / -1;
}

.form-group label{
    font-weight:800;
    margin-bottom:8px;
    color:var(--primary-dark);
    font-size:14px;
}

.form-group input,
.form-group textarea,
.form-group select{
    width:100%;
    min-height:52px;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:12px;
    font-family:'Manrope', sans-serif;
    font-size:15px;
    color:var(--text);
    background:#fff;
    outline:none;
}

.form-group textarea{
    min-height:150px;
    resize:vertical;
}

/* CONTACT / FAQ / INSPECTION */
.contact-grid-fix{
    display:grid;
    grid-template-columns:1fr .9fr;
    gap:30px;
}

.faq-wrap{
    max-width:900px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.faq-item{
    background:#fff;
    border-radius:20px;
    box-shadow:var(--shadow-md);
    overflow:hidden;
    border:1px solid rgba(0,0,0,.04);
}

.faq-question{
    width:100%;
    background:#fff;
    border:none;
    padding:24px;
    text-align:left;
    font-size:18px;
    font-weight:800;
    color:var(--primary-dark);
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
}

.faq-question span{
    font-size:28px;
    color:var(--gold);
    line-height:1;
}

.faq-answer{
    display:none;
    padding:0 24px 24px;
}

.faq-answer p{
    margin:0;
}

.faq-item.active .faq-answer{
    display:block;
}

.inspection-steps-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.inspection-step-card{
    padding:28px 22px;
}

.inspection-step-no{
    width:54px;
    height:54px;
    border-radius:50%;
    background:var(--gold-soft);
    color:var(--primary-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    margin-bottom:16px;
}

.inspection-page-grid{
    display:grid;
    grid-template-columns:1.08fr .78fr;
    gap:30px;
    align-items:start;
}

.inspection-form-wrap{
    padding:38px 34px;
}

.inspection-form-head{
    margin-bottom:28px;
}

.inspection-form-head h2{
    font-size:42px;
    margin-bottom:12px;
}

.inspection-submit-btn{
    width:100%;
}

.inspection-side-column{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.inspection-info-card{
    padding:30px 26px;
}

.inspection-info-card h3{
    margin-bottom:12px;
}

.inspection-info-card p{
    margin-bottom:18px;
}

.inspection-contact-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.inspection-contact-row,
.inspection-contact-item{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.inspection-contact-row i,
.inspection-contact-item i{
    color:var(--gold);
    font-size:22px;
    margin-top:4px;
}

.inspection-contact-row p,
.inspection-contact-item p{
    margin:0;
}

.dark-card{
    background:linear-gradient(135deg, #0d2746, #17385f);
}

.dark-card h3,
.dark-card p,
.dark-card .inspection-checks li{
    color:#fff;
}

.inspection-checks{
    margin:0;
}

/* LEGAL / TEAM / JOBS */
.legal-page{
    max-width:900px;
    margin:auto;
}

.legal-page h2{
    margin-top:28px;
    margin-bottom:10px;
}

.team-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.team-card{
    padding:20px;
    text-align:center;
}

.team-card img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:16px;
    margin-bottom:16px;
}

.career-path-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.career-path-card{
    padding:28px 24px;
}

.career-path-card h3{
    margin-bottom:10px;
}

.job-list-wrap{
    display:grid;
    gap:24px;
}

.job-card{
    padding:28px 24px;
}

.job-card-top{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin-bottom:14px;
}

.job-card-top h3{
    margin-bottom:6px;
}

.job-tag{
    background:var(--gold-soft);
    color:var(--primary-dark);
    border-radius:999px;
    padding:8px 12px;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.job-card p{
    margin-bottom:18px;
}

/* FOOTER */
.site-footer{
    background:#005687;
    color:#fff;
    padding:70px 0 25px;
    margin-top:80px;
}

.footer-top{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:40px;
    margin-bottom:40px;
}

.footer-brand img{
    height:60px;
    margin-bottom:15px;
}

.footer-brand p{
    color:#c7d0da;
    margin-bottom:20px;
}

.footer-social{
    display:flex;
    gap:10px;
}

.footer-social a{
    width:36px;
    height:36px;
    background:#0e223c;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:14px;
}

.footer-col h4{
    margin-bottom:16px;
    color:#fff;
    font-size:20px;
}

.footer-col ul li{
    margin-bottom:10px;
    color:#c7d0da;
}

.footer-col a{
    color:#c7d0da;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    padding-top:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    color:rgba(255,255,255,.62);
    font-size:14px;
}

.footer-bottom-right{
    display:flex;
    gap:18px;
    align-items:center;
    flex-wrap:wrap;
}

.footer-powered{
    opacity:.8;
    font-size:14px;
}

.footer-powered strong{
    color:var(--gold);
}

/* WHATSAPP */
.whatsapp-float{
    position:fixed;
    right:22px;
    bottom:22px;
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#25D366;
    color:#fff;
    font-size:28px;
    box-shadow:0 18px 35px rgba(0,0,0,.18);
    z-index:1200;
}

/* RESPONSIVE */
@media (max-width:1100px){
    .intro-grid,
    .brand-confidence-grid,
    .home-trust-grid,
    .estate-stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .about-home-grid,
    .investment-wrap,
    .estate-overview-grid,
    .masterplan-section,
    .home-story-grid,
    .home-masterplan-grid,
    .estate-showcase-grid,
    .career-preview-grid,
    .footer-top,
    .testimonial-luxury-grid,
    .location-grid,
    .contact-grid-fix,
    .stats-luxury-wrap,
    .home-investor-band,
    .estate-investment-band,
    .inspection-page-grid,
    .project-luxury-card{
        grid-template-columns:1fr;
    }

    .estate-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .amenities-grid,
    .why-us-grid,
    .docs-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .career-path-grid{
        grid-template-columns:1fr;
    }

    .inspection-steps-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .internship-band{
        grid-template-columns:1fr;
    }

    .project-luxury-image img{
        min-height:320px;
    }
}

@media (max-width:1000px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

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

@media (max-width:900px){
    .estate-grid,
    .brochure-grid,
    .team-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:992px){
    .nav-menu{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        margin-left:0;
        display:none;
        background:#fff;
        padding:18px 20px 22px;
        box-shadow:0 20px 50px rgba(0,0,0,.10);
        border-top:1px solid rgba(0,0,0,.05);
        border-bottom-left-radius:20px;
        border-bottom-right-radius:20px;
        z-index:1100;
    }

    .nav-menu.active{
        display:block;
    }

    .nav-menu > ul{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }

    .nav-menu > ul > li{
        width:100%;
        border-bottom:1px solid rgba(0,0,0,.05);
    }

    .nav-menu > ul > li:last-child{
        border-bottom:none;
    }

    .nav-menu a,
    .dropdown-toggle{
        display:flex;
        justify-content:space-between;
        align-items:center;
        width:100%;
        padding:14px 0;
        font-size:16px;
        text-align:left;
    }

    .nav-menu a::after,
    .dropdown-toggle::after{
        display:none !important;
    }

    .dropdown{
        position:static;
        padding-bottom:0;
    }

    .dropdown-menu{
        position:static;
        min-width:100%;
        background:#f7f9fc;
        box-shadow:none;
        border-radius:10px;
        padding:8px 14px;
        margin:0 0 12px;
        display:none;
    }

    .dropdown.open > .dropdown-menu{
        display:block;
    }

    .dropdown.open > .dropdown-toggle i{
        transform:rotate(180deg);
    }

    .dropdown-menu li{
        border-bottom:1px solid rgba(0,0,0,.05);
    }

    .dropdown-menu li:last-child{
        border-bottom:none;
    }

    .dropdown-menu a{
        padding:12px 0;
        font-size:15px;
        color:var(--text);
    }
}

@media (max-width:768px){
    .topbar{
        display:none;
    }

    .section{
        padding:76px 0;
    }

    .hero-slider,
    .hero-luxury-home{
        height:82vh;
    }

    .slide-content h1{
        font-size:38px;
    }

    .slide-content p,
    .page-hero p,
    .section-header p{
        font-size:16px;
    }

    .intro-grid,
    .amenities-grid,
    .stats-grid,
    .brand-confidence-grid,
    .home-trust-grid,
    .luxury-gallery-grid,
    .gallery-grid,
    .form-grid,
    .contact-grid-fix,
    .docs-grid,
    .why-us-grid,
    .inspection-highlight-grid,
    .inspection-steps-grid{
        grid-template-columns:1fr;
    }

    .gallery-tall,
    .gallery-wide{
        grid-row:auto;
        grid-column:auto;
    }

    .estate-image{
        height:250px;
    }

    .estate-showcase-image img{
        height:250px;
    }

    .estate-gallery-track,
    .estate-gallery-slide img{
        min-height:320px;
        height:320px;
    }

    .estate-brochure-strip{
        flex-direction:column;
        align-items:flex-start;
    }

    .estate-brochure-actions{
        justify-content:flex-start;
    }

    .page-hero{
        padding:100px 0 82px;
    }

    .page-hero h1{
        font-size:38px;
    }

    .site-logo img{
        height:54px;
    }

    .nav-inner{
        min-height:82px;
    }

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

    .footer-bottom{
        flex-direction:column;
        text-align:center;
    }

    .estate-map-card iframe,
    .estate-map iframe{
        height:320px;
    }

    .cta-box-home{
        padding:46px 22px;
    }

    .inspection-form-head h2{
        font-size:34px;
    }

    .inspection-form-wrap{
        padding:26px 22px;
    }

    .floating-story-card{
        position:static;
        margin-top:18px;
    }

    .job-card-top{
        flex-direction:column;
    }
}

@media (max-width:600px){
    .gallery-grid{
        grid-template-columns:1fr;
    }
}
/* ===== MOBILE MENU VISIBILITY FIX ===== */
@media (max-width: 992px){
    .site-header{
        overflow:visible;
    }

    .nav-inner{
        min-height:82px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        position:relative;
    }

    .site-logo{
        display:flex;
        align-items:center;
        flex:0 0 auto;
    }

    .site-logo img{
        height:54px;
        width:auto;
    }

    .menu-toggle{
        display:flex !important;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:5px;
        width:46px;
        height:46px;
        margin-left:auto;
        padding:0;
        background:transparent;
        border:none;
        appearance:none;
        -webkit-appearance:none;
        cursor:pointer;
        position:relative;
        z-index:1201;
    }

    .menu-toggle span{
        display:block;
        width:24px;
        height:3px;
        background:var(--primary-dark);
        border-radius:999px;
    }

    .nav-menu{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        display:none;
        margin-left:0;
        background:#fff;
        padding:18px 20px 22px;
        box-shadow:0 20px 50px rgba(0,0,0,.10);
        border-top:1px solid rgba(0,0,0,.05);
        border-bottom-left-radius:20px;
        border-bottom-right-radius:20px;
        z-index:1100;
    }

    .nav-menu.active{
        display:block !important;
    }

    .nav-menu > ul{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }

    .nav-menu > ul > li{
        width:100%;
        border-bottom:1px solid rgba(0,0,0,.05);
    }

    .nav-menu > ul > li:last-child{
        border-bottom:none;
    }

    .nav-menu a,
    .dropdown-toggle{
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        padding:14px 0;
        font-size:16px;
        text-align:left;
    }

    .dropdown{
        position:static;
        padding-bottom:0;
    }

    .dropdown-menu{
        position:static;
        min-width:100%;
        background:#f7f9fc;
        box-shadow:none;
        border-radius:10px;
        padding:8px 14px;
        margin:0 0 12px;
        display:none;
    }

    .dropdown.open > .dropdown-menu{
        display:block;
    }

    .dropdown.open > .dropdown-toggle i{
        transform:rotate(180deg);
    }

    .dropdown-menu li{
        border-bottom:1px solid rgba(0,0,0,.05);
    }

    .dropdown-menu li:last-child{
        border-bottom:none;
    }

    .dropdown-menu a{
        padding:12px 0;
        font-size:15px;
        color:var(--text);
    }
}
.project-luxury-content .estate-features{
    margin-top:6px;
}
.brochure-content .cta-buttons{
    margin-top:8px;
}
.estate-content .estate-location{
    display:inline-block;
    margin-bottom:10px;
}
.whatsapp-float{
    position:fixed;
    right:22px;
    bottom:22px;
    width:64px;
    height:64px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#25D366,#1ebe5d);
    color:#fff;
    font-size:30px;
    box-shadow:0 20px 40px rgba(0,0,0,.18);
    z-index:1200;
    transition:all .3s ease;
    animation:whatsappPulse 2.5s infinite;
}

/* Hover effect */
.whatsapp-float:hover{
    transform:scale(1.08);
    box-shadow:0 25px 50px rgba(0,0,0,.25);
}

/* Pulse animation */
@keyframes whatsappPulse{
    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.6);
    }
    70%{
        box-shadow:0 0 0 18px rgba(37,211,102,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }
}

/* Optional tooltip */
.whatsapp-float::after{
    content:"Chat with us";
    position:absolute;
    right:80px;
    background:#005687;
    color:#fff;
    padding:8px 12px;
    border-radius:8px;
    font-size:13px;
    opacity:0;
    white-space:nowrap;
    transform:translateY(10px);
    transition:.3s ease;
}

.whatsapp-float:hover::after{
    opacity:1;
    transform:translateY(0);
}
/* PREMIUM GALLERY GRID */

.gallery-grid-pro{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

@media(max-width:1100px){
    .gallery-grid-pro{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:768px){
    .gallery-grid-pro{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:500px){
    .gallery-grid-pro{
        grid-template-columns:1fr;
    }
}

/* CARD */

.gallery-card{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

/* FORCE SAME IMAGE SIZE */

.gallery-card img{
    width:100%;
    height:260px; /* 🔥 uniform height */
    object-fit:cover;
    display:block;
    transition:.4s ease;
}

/* HOVER EFFECT */

.gallery-card:hover img{
    transform:scale(1.08);
}

/* OVERLAY */

.gallery-overlay-pro{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:.3s ease;
}

.gallery-overlay-pro span{
    color:#fff;
    font-weight:800;
    background:rgba(255,255,255,.15);
    padding:10px 16px;
    border-radius:999px;
}

.gallery-card:hover .gallery-overlay-pro{
    opacity:1;
}

/* PAGINATION */

.pagination{
    display:flex;
    justify-content:center;
    margin-top:40px;
    gap:10px;
}

.pagination a{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f1f4f8;
    font-weight:700;
    color:#005687;
}

.pagination a.active{
    background:#CF9D2B;
    color:#fff;
}