        :root{
            --ivory:#FBF8F2; --cream:#F2EADB; --sand:#EADFC9; --paper:#FFFFFF;
            --ink:#221F19; --ink-soft:#4A453C; --muted:#857B68; --line:rgba(34,31,25,.12);
            --green:#2F4A3C; --green-deep:#21372B; --green-soft:#5C7A66;
            --gold:#B58E4A; --gold-bright:#C9A86A; --gold-pale:#EFE3C9;
            --terra:#B5654A;
            --serif:'Cormorant Garamond',Georgia,serif;
            --roman:'Cinzel',serif;
            --sans:'Jost',system-ui,sans-serif;
            --shadow:0 24px 60px -28px rgba(34,31,25,.4);
            --shadow-soft:0 18px 40px -24px rgba(34,31,25,.32);
            --ease:cubic-bezier(.22,.61,.36,1);
            --nav-h:76px;
        }
        *{box-sizing:border-box;margin:0;padding:0}
        html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
        body{
            font-family:var(--sans); color:var(--ink); background:var(--ivory);
            line-height:1.6; overflow-x:hidden; font-weight:300;
            -webkit-font-smoothing:antialiased; font-size:16px;
        }
        img{display:block;max-width:100%}
        a{color:inherit;text-decoration:none}
        ::selection{background:var(--gold);color:#fff}
        .wrap{width:min(1240px,92vw);margin-inline:auto}
        section{position:relative}

        /* ---------- Typography helpers ---------- */
        .eyebrow{font-family:var(--roman);font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:600;display:inline-flex;align-items:center;gap:.7em}
        .eyebrow::before{content:'';width:34px;height:1px;background:var(--gold);opacity:.7}
        .eyebrow.center::after{content:'';width:34px;height:1px;background:var(--gold);opacity:.7}
        .eyebrow.center{justify-content:center}
        h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
        h2{font-size:clamp(2.1rem,5vw,3.6rem)}
        .lead{font-size:clamp(1.02rem,1.6vw,1.18rem);color:var(--ink-soft);font-weight:300;max-width:60ch}
        .display-serif em{font-style:italic;color:var(--green)}
        .section-head{max-width:760px;margin-bottom:clamp(2.4rem,5vw,4rem)}
        .section-head.center{margin-inline:auto;text-align:center}
        .gold-text{color:var(--gold)}

        /* ---------- Buttons ---------- */
        .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--sans);font-weight:500;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;padding:1rem 1.9rem;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:.4s var(--ease);position:relative;overflow:hidden}
        .btn svg{width:17px;height:17px}
        .btn-primary{background:var(--green);color:#fff;box-shadow:0 14px 30px -14px rgba(47,74,60,.7)}
        .btn-primary:hover{background:var(--green-deep);transform:translateY(-3px);box-shadow:0 20px 38px -14px rgba(47,74,60,.8)}
        .btn-gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#fff;box-shadow:0 14px 30px -14px rgba(181,142,74,.8)}
        .btn-gold:hover{transform:translateY(-3px);filter:brightness(1.05)}
        .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
        .btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff}
        .btn-light{background:rgba(255,255,255,.9);color:var(--green-deep);backdrop-filter:blur(8px)}
        .btn-light:hover{background:#fff;transform:translateY(-3px)}

        /* ---------- Top bar + Nav ---------- */
        .topbar{background:var(--green-deep);color:#e9e3d4;font-size:.76rem;letter-spacing:.05em}
        .topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;min-height:36px}
        .topbar a{display:inline-flex;align-items:center;gap:.4em;opacity:.85;transition:.3s}
        .topbar a:hover{opacity:1;color:var(--gold-bright)}
        .topbar .tb-social{display:flex;gap:1rem}
        .topbar svg{width:14px;height:14px}
        @media(max-width:680px){.topbar .tb-left span{display:none}}

        header.nav{position:sticky;top:0;z-index:60;transition:.45s var(--ease)}
        header.nav .bar{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);transition:.45s var(--ease)}
        header.nav.scrolled{background:rgba(251,248,242,.82);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px 0 var(--line),0 14px 40px -30px rgba(0,0,0,.5)}
        .brand{display:flex;align-items:center;gap:.8rem;line-height:1}
        .brand .mark{width:42px;height:42px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--roman);font-weight:700;color:var(--green);font-size:1.05rem;transition:.4s}
        .brand:hover .mark{background:var(--green);color:var(--gold-bright);border-color:var(--green)}
        .brand .bt{font-family:var(--roman);font-weight:600;font-size:1.18rem;letter-spacing:.18em;color:var(--ink)}
        .brand .bs{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.42em;color:var(--muted);text-transform:uppercase;margin-top:3px}
        nav.links{display:flex;gap:2rem;align-items:center}
        nav.links a{font-size:.84rem;letter-spacing:.04em;color:var(--ink-soft);font-weight:400;position:relative;padding:.3rem 0;transition:.3s}
        nav.links a::after{content:'';position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--gold);transition:.35s var(--ease)}
        nav.links a:hover{color:var(--ink)}
        nav.links a:hover::after{width:100%}
        .nav-cta{display:flex;align-items:center;gap:1rem}
        .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
        .hamburger span{width:26px;height:2px;background:var(--ink);transition:.35s var(--ease)}
        .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
        .hamburger.open span:nth-child(2){opacity:0}
        .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
        @media(max-width:980px){
            nav.links{position:fixed;inset:0 0 0 auto;width:min(82vw,360px);background:var(--ivory);flex-direction:column;justify-content:center;gap:1.4rem;transform:translateX(100%);transition:.5s var(--ease);box-shadow:var(--shadow);z-index:70;padding:2rem}
            nav.links.open{transform:translateX(0)}
            nav.links a{font-size:1.2rem;font-family:var(--serif)}
            .hamburger{display:flex;z-index:80}
            .nav-cta .btn:not(.icon){display:none}
        }

        /* ---------- Hero ---------- */
        .hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;padding:calc(var(--nav-h) + 2vh) 0 6vh;margin-top:calc(-1 * var(--nav-h) - 36px)}
        .hero-bg{position:absolute;inset:0;z-index:0}
        .hero-bg img{width:100%;height:100%;object-fit:cover;animation:kenburns 22s var(--ease) infinite alternate}
        @keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.16) translate(-1.5%,-1%)}}
        .hero-bg::after{content:'';position:absolute;inset:0;background:
            linear-gradient(100deg,rgba(251,248,242,.94) 0%,rgba(251,248,242,.72) 34%,rgba(251,248,242,.18) 62%,rgba(33,55,43,.28) 100%),
            linear-gradient(to top,rgba(33,55,43,.34),transparent 36%)}
        #hero-canvas{position:absolute;inset:0;z-index:1;pointer-events:none}
        .hero .wrap{position:relative;z-index:2}
        .hero-inner{max-width:730px}
        .hero h1{font-size:clamp(2.9rem,7vw,5.6rem);font-weight:600;letter-spacing:-.02em;margin:1.4rem 0}
        .hero h1 em{font-style:italic;color:var(--green);display:block}
        .hero .lead{font-size:clamp(1.05rem,1.7vw,1.28rem);color:var(--ink-soft)}
        .hero-cta{display:flex;gap:1rem;margin-top:2.4rem;flex-wrap:wrap}
        .hero-meta{display:flex;gap:2.6rem;margin-top:3.4rem;flex-wrap:wrap}
        .hero-meta .hm{position:relative;padding-left:1.1rem}
        .hero-meta .hm::before{content:'';position:absolute;left:0;top:.15em;bottom:.15em;width:2px;background:var(--gold)}
        .hero-meta .n{font-family:var(--serif);font-size:1.9rem;font-weight:600;color:var(--ink);line-height:1}
        .hero-meta .l{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.35rem}
        .scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--ink-soft);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase}
        .scroll-cue .m{width:24px;height:38px;border:1.5px solid var(--ink-soft);border-radius:14px;position:relative}
        .scroll-cue .m::after{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:3px;height:7px;background:var(--gold);border-radius:2px;animation:scrolldot 1.8s infinite}
        @keyframes scrolldot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}}
        @media(max-width:600px){.scroll-cue{display:none}}

        /* ---------- Marquee trust strip ---------- */
        .trust{background:var(--green-deep);color:#e9e3d4;padding:1.1rem 0;overflow:hidden;white-space:nowrap}
        .marquee{display:inline-flex;gap:3.5rem;align-items:center;animation:marquee 32s linear infinite;will-change:transform}
        .marquee span{font-family:var(--roman);font-size:.92rem;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:3.5rem;color:#d8cfba}
        .marquee span i{color:var(--gold-bright);font-style:normal}
        .marquee .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block}
        @keyframes marquee{to{transform:translateX(-50%)}}

        /* ---------- Reveal animation ---------- */
        .reveal{opacity:0;transform:translateY(38px);transition:1s var(--ease)}
        .reveal.in{opacity:1;transform:none}
        .reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}

        /* ---------- About / Heritage ---------- */
        .pad{padding:clamp(4.5rem,10vw,8.5rem) 0}
        .about{background:var(--ivory)}
        .about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
        .about-media{position:relative}
        .about-media .frame{position:relative;border-radius:6px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}
        .about-media .frame img{width:100%;height:100%;object-fit:cover}
        .about-media .badge{position:absolute;bottom:-26px;right:-26px;background:var(--paper);padding:1.4rem 1.7rem;border-radius:6px;box-shadow:var(--shadow-soft);text-align:center;border:1px solid var(--line)}
        .about-media .badge .n{font-family:var(--serif);font-size:2.2rem;color:var(--green);font-weight:600;line-height:1}
        .about-media .badge .l{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
        .about-media .tag{position:absolute;top:1.2rem;left:-1.2rem;background:var(--gold);color:#fff;font-family:var(--roman);font-size:.72rem;letter-spacing:.2em;padding:.5rem 1.2rem;text-transform:uppercase;box-shadow:var(--shadow-soft)}
        .quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.4;color:var(--green-deep);margin:1.8rem 0;padding-left:1.4rem;border-left:2px solid var(--gold)}
        .sign{font-family:var(--roman);letter-spacing:.16em;font-size:.8rem;color:var(--muted);text-transform:uppercase}
        @media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:3.5rem}.about-media .badge{right:0;bottom:-22px}.about-media .tag{left:0}}

        /* ---------- Stats ---------- */
        .stats{background:var(--green-deep);color:#fff;padding:clamp(3rem,6vw,4.5rem) 0;position:relative;overflow:hidden}
        .stats::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 400px at 80% -10%,rgba(181,142,74,.28),transparent)}
        .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
        .stat{text-align:center}
        .stat .n{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:600;color:var(--gold-bright);line-height:1}
        .stat .l{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#cfc8b8;margin-top:.6rem}
        @media(max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:2.4rem}}

        /* ---------- Residences ---------- */
        .residences{background:linear-gradient(180deg,var(--cream),var(--ivory))}
        .villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
        .villa-card{background:var(--paper);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft);transition:.5s var(--ease);transform-style:preserve-3d;border:1px solid var(--line);position:relative}
        .villa-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
        .villa-card.feat{outline:2px solid var(--gold);outline-offset:-2px}
        .villa-card .vc-img{aspect-ratio:4/3;overflow:hidden;position:relative}
        .villa-card .vc-img img{width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease)}
        .villa-card:hover .vc-img img{transform:scale(1.08)}
        .villa-card .tier{position:absolute;top:1rem;left:1rem;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);display:grid;place-items:center;font-family:var(--roman);font-weight:700;color:var(--green);font-size:1.05rem;box-shadow:var(--shadow-soft)}
        .villa-card .ribbon{position:absolute;top:1.1rem;right:0;background:var(--gold);color:#fff;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;padding:.4rem 1rem;font-family:var(--roman)}
        .vc-body{padding:1.6rem 1.6rem 1.8rem}
        .vc-body .bhk{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-family:var(--roman);font-weight:600}
        .vc-body h3{font-size:1.7rem;margin:.3rem 0 .1rem}
        .vc-body .area{font-size:.84rem;color:var(--muted);letter-spacing:.04em}
        .vc-body p{font-size:.92rem;color:var(--ink-soft);margin:.9rem 0 1.1rem;min-height:3.6em}
        .vc-specs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.3rem}
        .vc-specs li{list-style:none;font-size:.72rem;letter-spacing:.03em;color:var(--green-deep);background:var(--gold-pale);padding:.35rem .8rem;border-radius:999px}
        .vc-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:1.2rem}
        .vc-foot .price{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--green)}
        .vc-foot .price small{display:block;font-family:var(--sans);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400}
        .vc-foot a{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:.4em;transition:.3s}
        .vc-foot a:hover{color:var(--gold);gap:.7em}
        @media(max-width:900px){.villa-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}}

        /* ---------- Features (split) ---------- */
        .features{background:var(--paper)}
        .feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
        .feat-media{border-radius:8px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/6;position:relative}
        .feat-media img{width:100%;height:100%;object-fit:cover}
        .feat-list{display:grid;gap:1.5rem;margin-top:2rem}
        .feat-item{display:flex;gap:1.1rem;align-items:flex-start}
        .feat-item .ic{flex:none;width:50px;height:50px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);transition:.4s}
        .feat-item:hover .ic{background:var(--gold);color:#fff}
        .feat-item .ic svg{width:22px;height:22px}
        .feat-item h4{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ink)}
        .feat-item p{font-size:.9rem;color:var(--ink-soft);margin-top:.2rem}
        @media(max-width:860px){.feat-grid{grid-template-columns:1fr}.feat-media{aspect-ratio:4/3;order:-1}}

        /* ---------- Amenities ---------- */
        .amen{background:linear-gradient(180deg,var(--ivory),var(--cream))}
        .amen-feature{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:1.2rem}
        .amen-photo{position:relative;border-radius:8px;overflow:hidden;min-height:230px;box-shadow:var(--shadow-soft)}
        .amen-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease)}
        .amen-photo:hover img{transform:scale(1.07)}
        .amen-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(33,55,43,.78),transparent 60%)}
        .amen-photo .cap{position:absolute;left:1.3rem;bottom:1.2rem;z-index:2;color:#fff}
        .amen-photo .cap .t{font-family:var(--serif);font-size:1.45rem;font-weight:600}
        .amen-photo .cap .s{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
        .amen-photo.tall{grid-row:span 2;min-height:auto}
        .amen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
        .amen-tile{background:var(--paper);padding:1.7rem 1.2rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center;transition:.4s var(--ease)}
        .amen-tile:hover{background:var(--green-deep);color:#fff}
        .amen-tile .ic{width:46px;height:46px;color:var(--gold);transition:.4s}
        .amen-tile:hover .ic{color:var(--gold-bright);transform:translateY(-3px)}
        .amen-tile .ic svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
        .amen-tile span{font-size:.82rem;letter-spacing:.03em;color:inherit}
        @media(max-width:980px){.amen-feature{grid-template-columns:1fr 1fr}.amen-grid{grid-template-columns:repeat(3,1fr)}}
        @media(max-width:620px){.amen-feature{grid-template-columns:1fr}.amen-photo.tall{grid-row:auto}.amen-grid{grid-template-columns:repeat(2,1fr)}}

        /* ---------- Film band ---------- */
        .film{position:relative;min-height:74vh;display:flex;align-items:center;overflow:hidden;background:var(--green-deep)}
        .film-bg{position:absolute;inset:0;z-index:0}
        .film-bg img{width:100%;height:100%;object-fit:cover;opacity:.42}
        .film-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,55,43,.85),rgba(33,55,43,.4))}
        .film .wrap{position:relative;z-index:2;color:#fff;text-align:center}
        .film h2{color:#fff}
        .film .lead{color:#e6dfce;margin:1rem auto 2.2rem}
        .play{width:96px;height:96px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);display:grid;place-items:center;margin:0 auto 1.6rem;cursor:pointer;transition:.4s var(--ease);position:relative}
        .play::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold-bright);animation:pulse 2.4s infinite}
        @keyframes pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.5);opacity:0}}
        .play:hover{background:var(--gold);border-color:var(--gold);transform:scale(1.05)}
        .play svg{width:30px;height:30px;fill:#fff;margin-left:4px}

        /* ---------- Gallery ---------- */
        .gallery{background:var(--ivory)}
        .gal-filter{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.4rem}
        .gal-filter button{font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.6rem 1.3rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:.35s}
        .gal-filter button.active,.gal-filter button:hover{background:var(--green);color:#fff;border-color:var(--green)}
        .gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;grid-auto-flow:dense}
        .gal-item{position:relative;border-radius:6px;overflow:hidden;cursor:pointer;aspect-ratio:1;box-shadow:var(--shadow-soft)}
        .gal-item.big{grid-column:span 2;grid-row:span 2}
        .gal-item img{width:100%;height:100%;object-fit:cover;transition:1s var(--ease)}
        .gal-item:hover img{transform:scale(1.1)}
        .gal-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(33,55,43,.7),transparent 55%);opacity:0;transition:.4s}
        .gal-item:hover::after{opacity:1}
        .gal-item .gc{position:absolute;left:1rem;bottom:.9rem;color:#fff;z-index:2;opacity:0;transform:translateY(10px);transition:.4s}
        .gal-item:hover .gc{opacity:1;transform:none}
        .gal-item .gc .t{font-family:var(--serif);font-size:1.15rem}
        .gal-item .gc .c{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
        @media(max-width:900px){.gal-grid{grid-template-columns:repeat(2,1fr)}.gal-item.big{grid-column:span 2;grid-row:span 1;aspect-ratio:2}}
        @media(max-width:520px){.gal-grid{grid-template-columns:1fr 1fr}.gal-item.big{grid-column:span 2;aspect-ratio:1.4}}

        /* ---------- Location ---------- */
        .loc{background:var(--paper)}
        .loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
        .loc-media{border-radius:8px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;position:relative}
        .loc-media img{width:100%;height:100%;object-fit:cover}
        .loc-media .pin{position:absolute;top:42%;left:48%;width:22px;height:22px;background:var(--terra);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 6px rgba(181,101,74,.3);animation:pin 2s infinite}
        @keyframes pin{0%,100%{box-shadow:0 0 0 6px rgba(181,101,74,.3)}50%{box-shadow:0 0 0 12px rgba(181,101,74,0)}}
        .loc-list{display:grid;gap:1.1rem;margin-top:1.8rem}
        .loc-item{display:flex;gap:1rem;align-items:center;padding:1rem 1.2rem;background:var(--ivory);border-radius:8px;border:1px solid var(--line);transition:.35s}
        .loc-item:hover{transform:translateX(6px);border-color:var(--gold)}
        .loc-item .d{width:42px;height:42px;flex:none;border-radius:8px;background:var(--gold-pale);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-weight:600}
        .loc-item .d svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}
        .loc-item h4{font-size:1rem;font-family:var(--sans);font-weight:500;color:var(--ink)}
        .loc-item p{font-size:.8rem;color:var(--muted)}
        @media(max-width:860px){.loc-grid{grid-template-columns:1fr}}

        /* ---------- Testimonials ---------- */
        .testi{background:linear-gradient(180deg,var(--cream),var(--ivory))}
        .testi-track{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
        .testi-card{background:var(--paper);border-radius:8px;padding:2.2rem;box-shadow:var(--shadow-soft);border:1px solid var(--line);position:relative}
        .testi-card .qm{font-family:var(--serif);font-size:4rem;color:var(--gold-pale);line-height:.6;height:.5em}
        .testi-card p{font-size:1rem;color:var(--ink-soft);font-style:italic;font-family:var(--serif);font-size:1.18rem;line-height:1.55;margin-bottom:1.4rem}
        .testi-card .who{display:flex;align-items:center;gap:.9rem;border-top:1px solid var(--line);padding-top:1.2rem}
        .testi-card .av{width:46px;height:46px;border-radius:50%;background:var(--green);color:var(--gold-bright);display:grid;place-items:center;font-family:var(--roman);font-weight:600}
        .testi-card .who .nm{font-weight:500;color:var(--ink);font-size:.95rem}
        .testi-card .who .rl{font-size:.76rem;color:var(--muted)}
        .stars{color:var(--gold);letter-spacing:.15em;margin-bottom:1rem;font-size:.9rem}
        @media(max-width:860px){.testi-track{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}

        /* ---------- Enquiry / Contact ---------- */
        .contact{background:var(--green-deep);color:#fff;position:relative;overflow:hidden}
        .contact::before{content:'';position:absolute;inset:0;background:radial-gradient(700px 500px at 90% 110%,rgba(181,142,74,.22),transparent)}
        .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2.5rem,6vw,5rem);position:relative}
        .contact h2{color:#fff}
        .contact .lead{color:#e6dfce}
        .contact .eyebrow{color:var(--gold-bright)}
        .c-info{display:grid;gap:1.4rem;margin-top:2rem}
        .c-info a,.c-info div{display:flex;gap:1rem;align-items:center;color:#e6dfce;font-size:.98rem}
        .c-info .ic{width:48px;height:48px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:var(--gold-bright);transition:.4s}
        .c-info a:hover .ic{background:var(--gold);color:#fff;border-color:var(--gold)}
        .c-info .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}
        .c-info .lbl{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-bright)}
        .form-card{background:var(--paper);border-radius:10px;padding:clamp(1.8rem,4vw,2.6rem);box-shadow:var(--shadow);color:var(--ink)}
        .form-card h3{font-size:1.6rem;margin-bottom:.4rem}
        .form-card .sub{font-size:.9rem;color:var(--muted);margin-bottom:1.6rem}
        .field{position:relative;margin-bottom:1.1rem}
        .field label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.45rem}
        .field input,.field select,.field textarea{width:100%;padding:.95rem 1rem;border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--ivory);transition:.3s}
        .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(181,142,74,.14)}
        .field textarea{resize:vertical;min-height:90px}
        .row2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
        .form-note{font-size:.74rem;color:var(--muted);margin-top:.6rem;text-align:center}
        .form-msg{padding:.9rem 1rem;border-radius:8px;font-size:.88rem;margin-bottom:1rem;display:none}
        .form-msg.ok{display:block;background:#e7f3ec;color:#1f5135;border:1px solid #b9dcc6}
        .form-msg.err{display:block;background:#fbeae8;color:#8a2c1c;border:1px solid #f0c4bc}
        @media(max-width:860px){.contact-grid{grid-template-columns:1fr}.row2{grid-template-columns:1fr}}

        /* ---------- Career strip ---------- */
        .career{background:var(--paper);text-align:center}
        .career .box{background:linear-gradient(120deg,var(--green-deep),var(--green));color:#fff;border-radius:14px;padding:clamp(2.4rem,5vw,3.6rem);position:relative;overflow:hidden}
        .career .box::after{content:'';position:absolute;right:-60px;top:-60px;width:240px;height:240px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
        .career .box::before{content:'';position:absolute;right:10px;top:10px;width:180px;height:180px;border:1px solid rgba(181,142,74,.25);border-radius:50%}
        .career h2{color:#fff;position:relative}
        .career p{color:#e6dfce;max-width:56ch;margin:.8rem auto 1.8rem;position:relative}

        /* ---------- Footer ---------- */
        footer{background:#1A2C22;color:#b9b2a1;padding:clamp(3.5rem,7vw,5rem) 0 2rem;font-size:.9rem}
        .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
        footer .brand .bt{color:#fff}.footer .brand .mark{color:#fff}
        footer p{color:#9a9384;margin-top:1rem;line-height:1.7;max-width:34ch}
        footer h5{font-family:var(--roman);color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem}
        footer ul{list-style:none;display:grid;gap:.7rem}
        footer ul a{color:#a59e8e;transition:.3s;font-size:.9rem}
        footer ul a:hover{color:var(--gold-bright);padding-left:4px}
        .foot-social{display:flex;gap:.7rem;margin-top:1.4rem}
        .foot-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;color:#cfc8b8;transition:.35s}
        .foot-social a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-3px)}
        .foot-social svg{width:17px;height:17px}
        .foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.6rem;font-size:.8rem;color:#83806f}
        @media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
        @media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

        /* ---------- WhatsApp float + Chatbot ---------- */
        .wa-float{position:fixed;right:22px;bottom:22px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(37,211,102,.6);transition:.4s var(--ease);animation:wafloat 3s ease-in-out infinite}
        @keyframes wafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
        .wa-float:hover{transform:scale(1.08)}
        .wa-float svg{width:32px;height:32px;fill:#fff}
        .wa-float .ping{position:absolute;inset:0;border-radius:50%;background:#25D366;opacity:.5;animation:pulse 2.4s infinite}

        .bot-toggle{position:fixed;right:22px;bottom:94px;z-index:90;width:58px;height:58px;border-radius:50%;background:var(--green-deep);display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer;transition:.4s var(--ease);border:1px solid var(--gold)}
        .bot-toggle:hover{transform:scale(1.07)}
        .bot-toggle svg{width:26px;height:26px;stroke:var(--gold-bright);fill:none;stroke-width:1.6}
        .bot{position:fixed;right:22px;bottom:160px;z-index:95;width:min(380px,92vw);height:min(560px,72vh);background:var(--ivory);border-radius:16px;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px) scale(.96);opacity:0;pointer-events:none;transition:.4s var(--ease);border:1px solid var(--line)}
        .bot.open{transform:none;opacity:1;pointer-events:auto}
        .bot-head{background:var(--green-deep);color:#fff;padding:1.1rem 1.3rem;display:flex;align-items:center;gap:.8rem}
        .bot-head .av{width:42px;height:42px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-family:var(--roman);font-weight:700;color:#fff}
        .bot-head .nm{font-family:var(--serif);font-size:1.15rem;font-weight:600}
        .bot-head .st{font-size:.72rem;color:#bfe6cb;display:flex;align-items:center;gap:.4em}
        .bot-head .st::before{content:'';width:7px;height:7px;border-radius:50%;background:#3ad26a;display:inline-block}
        .bot-head .x{margin-left:auto;cursor:pointer;opacity:.7;font-size:1.4rem;line-height:1}
        .bot-head .x:hover{opacity:1}
        .bot-body{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.8rem;background:linear-gradient(180deg,var(--ivory),var(--cream))}
        .msg{max-width:82%;padding:.75rem 1rem;border-radius:14px;font-size:.9rem;line-height:1.5;animation:msgin .4s var(--ease)}
        @keyframes msgin{from{opacity:0;transform:translateY(8px)}}
        .msg.bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start;color:var(--ink-soft)}
        .msg.me{background:var(--green);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
        .msg strong{color:var(--green);font-weight:600}
        .msg.me strong{color:#fff}
        .chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.2rem .8rem}
        .chips button{font-size:.76rem;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--gold);background:transparent;color:var(--green-deep);cursor:pointer;transition:.3s}
        .chips button:hover{background:var(--gold);color:#fff}
        .bot-input{display:flex;gap:.5rem;padding:.9rem;border-top:1px solid var(--line);background:#fff}
        .bot-input input{flex:1;border:1px solid var(--line);border-radius:999px;padding:.7rem 1rem;font-family:var(--sans);font-size:.9rem;outline:none}
        .bot-input input:focus{border-color:var(--gold)}
        .bot-input button{width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--green);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.3s}
        .bot-input button:hover{background:var(--gold)}
        .bot-input svg{width:18px;height:18px;fill:#fff}
        .typing{display:flex;gap:4px;padding:.8rem 1rem;align-self:flex-start}
        .typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:typing 1.2s infinite}
        .typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
        @keyframes typing{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

        /* ---------- Lightbox ---------- */
        .lightbox{position:fixed;inset:0;z-index:120;background:rgba(26,24,20,.92);display:none;align-items:center;justify-content:center;padding:4vw}
        .lightbox.open{display:flex}
        .lightbox img{max-width:90vw;max-height:86vh;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
        .lightbox .lx-close{position:absolute;top:24px;right:30px;color:#fff;font-size:2.4rem;cursor:pointer;line-height:1;opacity:.8}
        .lightbox .lx-close:hover{opacity:1}
        .lightbox .lx-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2.6rem;cursor:pointer;padding:1rem;opacity:.7;user-select:none}
        .lightbox .lx-nav:hover{opacity:1}
        .lightbox .lx-prev{left:1vw}.lightbox .lx-next{right:1vw}

        /* ---------- Video modal ---------- */
        .vmodal{position:fixed;inset:0;z-index:120;background:rgba(26,24,20,.94);display:none;align-items:center;justify-content:center;padding:4vw}
        .vmodal.open{display:flex}
        .vmodal video{max-width:92vw;max-height:86vh;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.6);background:#000}
        .vmodal .vm-close{position:absolute;top:24px;right:30px;color:#fff;font-size:2.4rem;cursor:pointer;line-height:1;opacity:.8}

        /* progress bar */
        .progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));z-index:100;width:0;transition:width .1s linear}

        @media(prefers-reduced-motion:reduce){
            *{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.2s!important}
            .hero-bg img{animation:none}
            .reveal{opacity:1;transform:none}
        }

        /* ============ INNER PAGE COMPONENTS ============ */
        .page-hero{position:relative;min-height:54vh;display:flex;align-items:flex-end;overflow:hidden;margin-top:calc(-1 * var(--nav-h) - 36px);padding:calc(var(--nav-h) + 36px) 0 clamp(2.5rem,6vw,4.5rem)}
        .page-hero-bg{position:absolute;inset:0;z-index:0}
        .page-hero-bg img{width:100%;height:100%;object-fit:cover;animation:kenburns 24s var(--ease) infinite alternate}
        .page-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,242,.92),rgba(251,248,242,.55) 45%,rgba(33,55,43,.45));}
        .page-hero .wrap{position:relative;z-index:2}
        .page-hero h1{font-size:clamp(2.6rem,6vw,4.4rem);margin:.6rem 0 .4rem}
        .page-hero .crumb{font-family:var(--roman);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green)}
        .page-hero .crumb a{color:var(--gold)}
        .page-hero .crumb a:hover{text-decoration:underline}
        .page-hero p{max-width:60ch;color:var(--ink-soft);font-size:clamp(1rem,1.5vw,1.15rem)}

        /* Services / verticals */
        .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
        .svc-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:2.2rem 1.9rem;transition:.45s var(--ease);position:relative;overflow:hidden}
        .svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
        .svc-card .ic{width:58px;height:58px;border-radius:14px;background:var(--gold-pale);color:var(--gold);display:grid;place-items:center;margin-bottom:1.3rem;transition:.4s}
        .svc-card:hover .ic{background:var(--green);color:var(--gold-bright)}
        .svc-card .ic svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
        .svc-card h3{font-size:1.5rem;margin-bottom:.5rem}
        .svc-card p{font-size:.92rem;color:var(--ink-soft)}
        .svc-num{position:absolute;top:1.2rem;right:1.5rem;font-family:var(--serif);font-size:2.4rem;color:var(--gold-pale);font-weight:600;line-height:1}
        @media(max-width:900px){.svc-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}

        .vertical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
        .vertical-card{position:relative;border-radius:10px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;box-shadow:var(--shadow-soft)}
        .vertical-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease)}
        .vertical-card:hover img{transform:scale(1.08)}
        .vertical-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,44,34,.9),rgba(26,44,34,.15) 70%)}
        .vertical-card .vt{position:relative;z-index:2;padding:1.8rem;color:#fff}
        .vertical-card .vt .e{font-family:var(--roman);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright)}
        .vertical-card .vt h3{color:#fff;font-size:1.7rem;margin:.3rem 0 .4rem}
        .vertical-card .vt p{color:#e6dfce;font-size:.9rem}
        @media(max-width:820px){.vertical-grid{grid-template-columns:1fr}}

        /* About values / why-us */
        .value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
        .value-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1.8rem 1.5rem;text-align:center;transition:.4s}
        .value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
        .value-card .ic{width:54px;height:54px;margin:0 auto 1rem;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center}
        .value-card .ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
        .value-card h4{font-family:var(--serif);font-size:1.25rem;margin-bottom:.3rem}
        .value-card p{font-size:.86rem;color:var(--ink-soft)}
        @media(max-width:900px){.value-grid{grid-template-columns:1fr 1fr}}
        @media(max-width:480px){.value-grid{grid-template-columns:1fr}}

        /* Career roles */
        .role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
        .role-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1.8rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:.4s}
        .role-card:hover{border-color:var(--gold);box-shadow:var(--shadow-soft);transform:translateX(4px)}
        .role-card .rc-meta{display:flex;gap:.7rem;margin-top:.6rem;flex-wrap:wrap}
        .role-card .rc-meta span{font-size:.7rem;letter-spacing:.04em;color:var(--green-deep);background:var(--gold-pale);padding:.3rem .75rem;border-radius:999px}
        .role-card h4{font-family:var(--serif);font-size:1.35rem}
        .role-card p{font-size:.86rem;color:var(--muted);margin-top:.2rem}
        @media(max-width:760px){.role-grid{grid-template-columns:1fr}}

        /* Generic intro/cta */
        .center-cta{text-align:center;margin-top:clamp(2.2rem,5vw,3.5rem)}
        .map-embed{border-radius:10px;overflow:hidden;box-shadow:var(--shadow);border:0;width:100%;min-height:340px;filter:grayscale(.2) contrast(1.05)}
