/* ===== Shared: dropdown nav (also inlined into index.html) ===== */
.navlinks a.active,.navlinks .dd-toggle.active{color:var(--gold-bright);}
.nav-dd{position:relative;}
.dd-toggle{background:none; border:none; font:inherit; color:inherit; cursor:pointer; padding:6px 0; display:inline-flex; align-items:center; gap:6px; transition:color .2s;}
.dd-toggle:hover{color:var(--gold-bright);}
.dd-toggle .caret{width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s;}
.dd-menu{position:absolute; top:calc(100% + 14px); left:-18px; min-width:200px; background:var(--emerald-deep); border:1px solid rgba(200,164,93,.4); border-radius:4px; padding:8px 0; display:none; box-shadow:0 18px 34px rgba(11,63,66,.35); z-index:80;}
.dd-menu::before{content:""; position:absolute; left:0; right:0; top:-16px; height:16px;}
.dd-menu a{display:block; padding:11px 22px; font-size:14px; white-space:nowrap;}
.dd-menu a:hover{background:rgba(255,255,255,.06);}
.nav-dd:hover .dd-menu,.nav-dd.open .dd-menu,.nav-dd:focus-within .dd-menu{display:block;}
.nav-dd:hover .caret,.nav-dd.open .caret{transform:rotate(225deg) translateY(-2px);}
@media(max-width:1100px){
  .nav-dd{border-bottom:1px solid rgba(247,245,240,.08);}
  .dd-toggle{width:100%; padding:14px 0; font-size:15px; justify-content:space-between;}
  .dd-menu{position:static; display:block; background:none; border:none; box-shadow:none; padding:0 0 8px 16px; min-width:0;}
  .dd-menu::before{display:none;}
  .dd-menu a{padding:11px 0; border-bottom:none !important; font-size:14.5px; color:#CFE0DC;}
  .dd-toggle .caret{display:none;}
}
.foot-bottom a{color:#A9C2BE; text-decoration:underline; text-underline-offset:3px;}
.foot-bottom a:hover{color:var(--gold-bright);}

/* ===== Page banner ===== */
.sp-banner{position:relative; background:linear-gradient(135deg,var(--emerald) 0%,var(--emerald-deep) 100%); color:#fff; overflow:hidden;}
.sp-banner::before{content:""; position:absolute; right:-120px; top:-140px; width:520px; height:520px; border-radius:50%; border:1px solid rgba(200,164,93,.28); box-shadow:0 0 0 70px rgba(200,164,93,.05), 0 0 0 150px rgba(200,164,93,.03);}
.sp-banner .wrap{position:relative; padding-top:72px; padding-bottom:76px;}
.crumbs{font-size:13px; color:#B9CFCB; margin-bottom:18px; display:flex; gap:8px; flex-wrap:wrap;}
.crumbs a:hover{color:var(--gold-bright);}
.crumbs span{opacity:.6;}
.sp-banner h1{font-family:var(--serif); font-weight:600; font-size:clamp(34px,5vw,58px); line-height:1.1; max-width:820px;}
.sp-banner p.lead{margin-top:18px; max-width:640px; font-size:17px; line-height:1.7; color:#D6E4E1;}
.sp-kicker{font-size:12.5px; letter-spacing:2px; color:var(--gold-bright); font-weight:600; margin-bottom:14px;}

/* ===== Generic content blocks ===== */
.sp-sec{padding:84px 0;}
.sp-sec.alt{background:var(--ivory-dim);}
.sp-sec.dark{background:linear-gradient(150deg,var(--emerald) 0%,var(--emerald-deep) 100%); color:#fff;}
.sp-head{max-width:720px; margin-bottom:44px;}
.sp-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.sp-kick{font-size:12.5px; letter-spacing:2px; color:var(--gold); font-weight:600; margin-bottom:12px;}
.sp-title{font-family:var(--serif); font-size:clamp(28px,3.4vw,42px); font-weight:600; line-height:1.15; color:var(--emerald-deep);}
.dark .sp-title{color:#fff;} .dark .sp-kick{color:var(--gold-bright);}
.sp-lede{margin-top:16px; font-size:16.5px; line-height:1.75; color:var(--grey);}
.dark .sp-lede{color:#CFE0DC;}
.sp-prose p{font-size:16px; line-height:1.85; color:#3A3A3A; margin-bottom:18px; max-width:760px;}
.sp-prose h3{font-family:var(--serif); font-size:26px; color:var(--emerald-deep); margin:34px 0 12px;}
.sp-prose ul{margin:0 0 18px 0;} .sp-prose li{position:relative; padding-left:22px; margin-bottom:10px; font-size:16px; line-height:1.7; color:#3A3A3A; max-width:760px;}
.sp-prose li::before{content:""; position:absolute; left:0; top:11px; width:8px; height:8px; border-radius:50%; background:var(--gold);}
.sp-split{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
.sp-card{background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 14px 36px rgba(11,63,66,.08);}
.sp-grid{display:grid; gap:22px;}
.sp-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr));} .sp-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr));} .sp-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr));}
.why-c{background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px 28px; transition:transform .25s, box-shadow .25s;}
.why-c:hover{transform:translateY(-4px); box-shadow:0 18px 38px rgba(11,63,66,.12);}
.why-c .no{font-family:var(--serif); font-size:34px; font-weight:600; color:var(--gold); line-height:1;}
.why-c h3{font-family:var(--serif); font-size:24px; font-weight:600; color:var(--emerald-deep); margin:14px 0 10px; line-height:1.2;}
.why-c p{font-size:14.5px; line-height:1.75; color:var(--grey);}
.pillars{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.pillars span{border:1px solid rgba(18,75,77,.35); color:var(--emerald); background:#fff; border-radius:99px; padding:8px 18px; font-size:13.5px; font-weight:500;}
.stat-row{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.stat-box{background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px; text-align:center;}
.stat-box b{display:block; font-family:var(--serif); font-size:40px; color:var(--emerald); font-weight:600; line-height:1.1;}
.stat-box span{display:block; margin-top:8px; font-size:13.5px; color:var(--grey);}
.timeline{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; counter-reset:t;}
.timeline li{counter-increment:t; background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 24px 22px; position:relative;}
.timeline li::before{content:counter(t); display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--shine); background-size:220% auto; color:var(--emerald-deep); font-weight:600; margin-bottom:14px;}
.timeline li b{font-family:var(--serif); font-size:21px; color:var(--emerald-deep); font-weight:600;}
.cta-strip{background:var(--emerald-deep); text-align:center; padding:76px 0;}
.cta-strip h2{font-family:var(--serif); font-size:clamp(26px,3.4vw,40px); color:#fff; font-weight:600; max-width:720px; margin:0 auto; line-height:1.2;}
.cta-strip p{color:#CFE0DC; margin:14px auto 0; max-width:560px; line-height:1.7;}
.cta-strip .cta-actions{display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:28px;}
.btn-solid2{display:inline-block; background:var(--emerald); color:#fff; padding:14px 28px; border-radius:2px; font-size:14px; font-weight:500; transition:background .2s;}
.btn-solid2:hover{background:var(--emerald-deep);}

/* ===== Project cards (listing pages) ===== */
.pc-filter{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px;}
.pc-filter button{font:inherit; font-size:14px; background:#fff; border:1px solid var(--line); color:var(--ink); border-radius:99px; padding:10px 20px; cursor:pointer; transition:all .2s;}
.pc-filter button:hover{border-color:var(--emerald);}
.pc-filter button.on{background:var(--emerald); color:#fff; border-color:var(--emerald);}
.pc-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:26px;}
.pc{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s;}
.pc:hover{transform:translateY(-5px); box-shadow:0 20px 42px rgba(11,63,66,.14);}
.pc[hidden]{display:none;}
.pc-img{position:relative; height:210px; background:var(--emerald-deep); display:block; overflow:hidden;}
.pc-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.pc:hover .pc-img img{transform:scale(1.05);}
.pc-badge{position:absolute; top:14px; left:14px; z-index:2; background:rgba(11,63,66,.88); color:var(--gold-bright); border:1px solid rgba(200,164,93,.5); border-radius:99px; padding:5px 12px; font-size:11.5px; letter-spacing:.4px;}
.pc-body{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1;}
.pc-body h3{font-family:var(--serif); font-size:24px; font-weight:600; color:var(--emerald-deep); line-height:1.2;}
.pc-loc{font-size:13px; color:var(--gold); font-weight:600; margin-top:6px;}
.pc-body p{font-size:14px; line-height:1.7; color:var(--grey); margin-top:10px; flex:1;}
.pc-actions{display:flex; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); flex-wrap:wrap;}
.pc-actions a{font-size:13.5px; font-weight:500; padding:10px 16px; border-radius:2px; border:1px solid var(--emerald); color:var(--emerald); transition:all .2s;}
.pc-actions a.p{background:var(--emerald); color:#fff;}
.pc-actions a:hover{background:var(--emerald-deep); color:#fff; border-color:var(--emerald-deep);}

/* ===== Project detail ===== */
.pj-hero{position:relative; color:#fff; background:var(--emerald-deep); overflow:hidden;}
.pj-hero>img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.8) saturate(1.05);}
.pj-hero::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,63,66,.92) 0%,rgba(11,63,66,.62) 55%,rgba(11,63,66,.35) 100%);}
.pj-hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:48px; align-items:center; padding-top:70px; padding-bottom:78px;}
.pj-tags{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.pj-tags span{border:1px solid rgba(227,203,146,.6); color:var(--gold-bright); border-radius:99px; padding:5px 14px; font-size:12px; letter-spacing:.4px; background:rgba(11,63,66,.4);}
.pj-hero h1{font-family:var(--serif); font-size:clamp(36px,5.4vw,64px); font-weight:600; line-height:1.08;}
.pj-loc{margin-top:14px; font-size:17px; color:#E3EEEC;}
.pj-keys{display:flex; flex-wrap:wrap; gap:26px; margin-top:28px;}
.pj-keys div b{display:block; font-family:var(--serif); font-size:22px; color:var(--gold-bright); font-weight:600;}
.pj-keys div span{font-size:12px; letter-spacing:1.2px; text-transform:uppercase; color:#B9CFCB;}
.pj-hero .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:32px;}
.pj-form{background:rgba(255,255,255,.97); color:var(--ink); border-radius:16px; padding:28px 26px; box-shadow:0 26px 60px rgba(0,0,0,.28);}
.pj-form h2{font-family:var(--serif); font-size:26px; color:var(--emerald-deep); font-weight:600; line-height:1.2;}
.pj-form p.s{font-size:13.5px; color:var(--grey); margin:6px 0 16px;}
.fld{margin-bottom:12px;}
.fld label{display:block; font-size:13px; font-weight:500; color:var(--emerald-deep); margin-bottom:6px;}
.fld input,.fld select,.fld textarea{width:100%; padding:13px 14px; font:inherit; font-size:15px; color:var(--ink); background:var(--ivory); border:1px solid var(--line); border-radius:10px; outline:none; min-height:48px;}
.fld textarea{min-height:110px; resize:vertical;}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--emerald); background:#fff;}
.fld input.invalid{border-color:#B3382C;}
.fld .err{font-size:12px; color:#B3382C; margin-top:5px;} .fld .err:empty{display:none;}
.f-submit{width:100%; border:none; cursor:pointer; font-family:inherit; font-size:15px; padding:15px 18px; border-radius:6px; min-height:50px; margin-top:4px;}
.f-submit:disabled{opacity:.7; cursor:wait;}
.f-msg{font-size:13px; margin-top:10px; text-align:center;} .f-msg.bad{color:#B3382C;}
.f-note{font-size:12px; color:var(--grey); text-align:center; margin-top:10px;}
.f-done{text-align:center; padding:18px 4px;} .f-done[hidden]{display:none;}
.f-done .tick{width:58px; height:58px; margin:0 auto 14px; border-radius:50%; background:var(--shine); background-size:220% auto; display:flex; align-items:center; justify-content:center; font-size:26px; color:var(--emerald-deep);}
.f-done h3{font-family:var(--serif); font-size:26px; color:var(--emerald-deep);} .f-done p{font-size:14.5px; line-height:1.7; color:var(--grey); margin-top:8px;}

.pj-subnav{position:sticky; top:var(--hdr,84px); z-index:50; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 6px 18px rgba(11,63,66,.06);}
.pj-subnav .wrap{display:flex; gap:6px; overflow-x:auto; scrollbar-width:none;}
.pj-subnav .wrap::-webkit-scrollbar{display:none;}
.pj-subnav a{flex:none; padding:17px 16px; font-size:14px; color:var(--grey); border-bottom:2px solid transparent; transition:color .2s;}
.pj-subnav a:hover{color:var(--emerald);}
.pj-subnav a.on{color:var(--emerald); border-bottom-color:var(--gold); font-weight:500;}
.pj-sec{padding:76px 0; scroll-margin-top:calc(var(--hdr,84px) + 56px);}
.pj-sec.alt{background:var(--ivory-dim);}
.facts{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.facts th,.facts td{text-align:left; padding:14px 18px; font-size:14.5px; border-bottom:1px solid var(--line);}
.facts th{width:42%; color:var(--grey); font-weight:400; background:var(--ivory);}
.facts td{color:var(--ink); font-weight:500;}
.facts tr:last-child th,.facts tr:last-child td{border-bottom:none;}
.hl{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px;}
.hl div{background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px 22px;}
.hl .ic{width:44px; height:44px; border-radius:50%; background:var(--emerald); color:var(--gold-bright); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.hl .ic svg,.am .ic svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.hl b{display:block; font-family:var(--serif); font-size:21px; color:var(--emerald-deep); font-weight:600; line-height:1.25;}
.hl p{font-size:14px; line-height:1.65; color:var(--grey); margin-top:8px;}
.price-wrap{display:grid; grid-template-columns:1.2fr .8fr; gap:34px; align-items:start;}
.price-t{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.price-t th{background:var(--emerald); color:#fff; text-align:left; font-weight:500; font-size:13px; letter-spacing:.6px; padding:14px 18px;}
.price-t td{padding:16px 18px; font-size:15px; border-bottom:1px solid var(--line);}
.price-t tr:last-child td{border-bottom:none;}
.price-t td.pr{color:var(--emerald); font-weight:600;}
.price-t td.pr em{font-style:normal; display:inline-block; background:linear-gradient(90deg,#E8E3D6,#F4F0E4,#E8E3D6); color:transparent; border-radius:4px; user-select:none; filter:blur(4px);}
.price-note{font-size:12.5px; color:var(--grey); margin-top:12px;}
.fp-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px;}
.fp{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.fp-draw{height:170px; background:#F7F5F0; display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--line);}
.fp-draw svg{width:78%; height:78%; fill:none; stroke:var(--emerald); stroke-width:2; opacity:.55;}
.fp-body{padding:18px 20px 20px;}
.fp-body b{font-family:var(--serif); font-size:22px; color:var(--emerald-deep);}
.fp-body span{display:block; font-size:13.5px; color:var(--grey); margin:4px 0 12px;}
.fp-body a{font-size:14px; font-weight:500; color:var(--emerald); border-bottom:1px solid var(--gold);}
.gal{display:grid; grid-template-columns:2fr 1fr 1fr; grid-auto-rows:190px; gap:14px;}
.gal button{position:relative; border:none; padding:0; cursor:pointer; border-radius:12px; overflow:hidden; background:var(--emerald-deep);}
.gal button img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.gal button:hover img{transform:scale(1.06);}
.gal .big{grid-row:span 2;}
.gal .vid{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#fff; background:linear-gradient(150deg,var(--emerald),var(--emerald-deep)); cursor:default;}
.gal .vid .play{width:56px; height:56px; border-radius:50%; border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; color:var(--gold-bright); font-size:20px; padding-left:4px;}
.gal .vid small{font-size:13px; color:#CFE0DC;}
.am{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px;}
.am div{display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:14.5px; color:var(--ink);}
.am .ic{flex:none; width:42px; height:42px; border-radius:50%; background:var(--ivory-dim); color:var(--emerald); display:flex; align-items:center; justify-content:center;}
.am-note{font-size:12.5px; color:var(--grey); margin-top:16px;}
.rera{display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:start;}
.rera-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px;}
.rera-card h3{font-family:var(--serif); font-size:24px; color:var(--emerald-deep); margin-bottom:6px;}
.rera-card .seal{display:inline-flex; align-items:center; gap:8px; background:var(--emerald); color:#fff; border-radius:99px; padding:7px 16px; font-size:13px; margin-bottom:16px;}
.rera-card .seal i{color:var(--gold-bright); font-style:normal;}
.rera-card p{font-size:14.5px; line-height:1.75; color:var(--grey); margin-top:10px;}
.rera-card a.lnk{color:var(--emerald); border-bottom:1px solid var(--gold);}
.map-wrap{display:grid; grid-template-columns:1.4fr .6fr; gap:24px; align-items:stretch;}
.map-box{border-radius:14px; overflow:hidden; border:1px solid var(--line); min-height:380px; background:var(--ivory-dim);}
.map-box iframe{width:100%; height:100%; min-height:380px; border:0; display:block;}
.map-fallback{height:100%; min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px; background:linear-gradient(150deg,var(--emerald),var(--emerald-deep)); color:#fff;}
.map-fallback b{font-family:var(--serif); font-size:26px; font-weight:600;} .map-fallback p{color:#CFE0DC; margin:10px 0 20px; max-width:340px; line-height:1.65; font-size:14.5px;}
.near{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px;}
.near h3{font-family:var(--serif); font-size:22px; color:var(--emerald-deep); margin-bottom:12px;}
.near li{padding:11px 0; border-top:1px solid var(--line); font-size:14px; color:var(--grey);} .near li b{color:var(--ink); font-weight:500; display:block;}
.more-proj .pc-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.lb{position:fixed; inset:0; z-index:200; background:rgba(8,40,43,.94); display:none; align-items:center; justify-content:center; padding:24px;}
.lb.on{display:flex;} .lb img{max-width:100%; max-height:88vh; border-radius:8px;}
.lb button{position:absolute; top:18px; right:22px; background:none; border:none; color:#fff; font-size:34px; cursor:pointer;}

/* ===== Blogs ===== */
.post{background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px; display:flex; flex-direction:column;}
.post[hidden]{display:none;}
.post .tag{align-self:flex-start; font-size:11.5px; letter-spacing:.8px; text-transform:uppercase; color:var(--emerald); border:1px solid rgba(18,75,77,.3); border-radius:99px; padding:4px 12px; margin-bottom:14px;}
.post h3{font-family:var(--serif); font-size:25px; font-weight:600; color:var(--emerald-deep); line-height:1.2;}
.post .ex{font-size:14.5px; line-height:1.7; color:var(--grey); margin-top:10px;}
.post details{margin-top:14px;} .post summary{cursor:pointer; font-weight:500; color:var(--emerald); font-size:14.5px; list-style:none;}
.post summary::-webkit-details-marker{display:none;}
.post summary::after{content:" +"; color:var(--gold);} .post details[open] summary::after{content:" \2212";}
.post .body{margin-top:14px; border-top:1px solid var(--line); padding-top:14px;}
.post .body p{font-size:14.5px; line-height:1.8; color:#3A3A3A; margin-bottom:12px;}
.post .body li{font-size:14.5px; line-height:1.7; color:#3A3A3A; margin:0 0 8px 18px; list-style:disc;}

/* ===== Contact ===== */
.ct-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:36px; align-items:start;}
.ct-info{display:grid; gap:16px;}
.ct-item{display:flex; gap:16px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px;}
.ct-item .ic{flex:none; width:46px; height:46px; border-radius:50%; background:var(--emerald); color:var(--gold-bright); display:flex; align-items:center; justify-content:center;}
.ct-item .ic svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.ct-item b{display:block; font-family:var(--serif); font-size:20px; color:var(--emerald-deep);} .ct-item span,.ct-item a{font-size:14.5px; color:var(--grey); line-height:1.6;}
.ct-item a:hover{color:var(--emerald);}
.ct-form{padding:34px;}
.ct-form h2{font-family:var(--serif); font-size:30px; color:var(--emerald-deep); font-weight:600; margin-bottom:6px;}
.two{display:grid; grid-template-columns:1fr 1fr; gap:14px;}

@media(max-width:1000px){
  .pj-hero .wrap{grid-template-columns:1fr; gap:34px;}
  .price-wrap,.rera,.map-wrap,.ct-grid,.sp-split{grid-template-columns:1fr;}
  .sp-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr));} .sp-grid.c3,.timeline{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .sp-sec,.pj-sec{padding:56px 0;}
  .sp-banner .wrap{padding-top:48px; padding-bottom:52px;}
  .sp-grid.c2,.sp-grid.c3,.sp-grid.c4,.timeline,.two,.stat-row{grid-template-columns:1fr;}
  .gal{grid-template-columns:1fr 1fr; grid-auto-rows:150px;} .gal .big{grid-column:span 2; grid-row:span 1; height:200px;}
  .pj-hero .wrap{padding-top:44px; padding-bottom:48px;}
  .pj-keys{gap:18px;}
  .ct-form{padding:24px 18px;}
}
.pj-hero .hero-actions{justify-content:flex-start; margin-top:32px;}
@media(max-width:700px){.pj-hero .hero-actions{flex-direction:column; align-items:stretch;} .pj-hero .hero-actions a{text-align:center;}}

/* ===== Project highlight list + drive-time calculator ===== */
.hl-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px;}
.hl-list li,.adv-list li{display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:15px; color:var(--ink); line-height:1.4;}
.hl-list li span,.adv-list li span{flex:none; width:30px; height:30px; border-radius:50%; background:var(--emerald); display:flex; align-items:center; justify-content:center;}
.hl-list li svg,.adv-list li svg{width:16px; height:16px; fill:none; stroke:var(--gold-bright); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
.adv-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; margin-top:30px;}
.drive{display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; background:linear-gradient(150deg,var(--emerald) 0%,var(--emerald-deep) 100%); border-radius:18px; padding:44px 44px; color:#fff; box-shadow:0 26px 60px rgba(11,63,66,.2);}
.drive-num{display:flex; align-items:baseline; gap:12px;}
.drive-num b{font-family:var(--serif); font-size:clamp(70px,9vw,110px); font-weight:600; line-height:.95; background:var(--shine); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shine-move 6s linear infinite;}
.drive-num span{font-size:22px; font-weight:500;}
.drive-lbl{display:block; margin:22px 0 4px; font-size:14.5px; color:#CFE0DC;}
.drive input[type=range]{background:linear-gradient(90deg,var(--gold) var(--pct,100%),rgba(255,255,255,.22) var(--pct,100%)); margin:16px 0 8px;}
.drive input[type=range]::-webkit-slider-thumb{border-color:var(--gold-bright); background:var(--gold);}
.drive input[type=range]::-moz-range-thumb{border-color:var(--gold-bright); background:var(--gold);}
.drive-cnt{margin-top:16px; font-size:12.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--gold-bright);}
.drive-list{position:relative; padding-left:6px;}
.drive-list::before{content:""; position:absolute; left:11px; top:10px; bottom:10px; width:2px; background:linear-gradient(var(--gold),rgba(200,164,93,.25));}
.drive-list li{position:relative; display:flex; align-items:center; gap:18px; padding:15px 0 15px 30px; border-bottom:1px solid rgba(255,255,255,.12); font-size:18px; transition:opacity .25s;}
.drive-list li:last-child{border-bottom:none;}
.drive-list li i{position:absolute; left:0; top:50%; width:12px; height:12px; margin-top:-6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(200,164,93,.2);}
.drive-list li span{flex:1; font-family:var(--serif); font-size:23px; font-weight:500;}
.drive-list li em{font-style:normal; font-size:13.5px; color:var(--gold-bright); letter-spacing:.5px;}
.drive-list li.off{opacity:.22;}
@media(max-width:900px){.drive{grid-template-columns:1fr; gap:30px; padding:30px 22px;} .drive-list li span{font-size:20px;}}
.rera>*,.sp-split>*,.price-wrap>*,.map-wrap>*{min-width:0;}
.facts td,.facts th{overflow-wrap:anywhere;}
@media(max-width:700px){.rera-card{padding:22px 16px;} .facts th{width:38%;} .facts th,.facts td{padding:12px 12px; font-size:14px;}}
.price-wrap>div:first-child{overflow-x:auto;}
@media(max-width:700px){.price-t th,.price-t td{padding:12px 9px; font-size:13px;} .price-t th{letter-spacing:0;}}
/* price list: table full width, enquiry form as an aligned band below */
.price-wrap{display:flex; flex-direction:column; gap:28px; align-items:stretch;}
.price-wrap>div:first-child{display:block;}
.price-wrap>.sp-card{width:100%;}
.price-wrap>.sp-card form.js-form{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:0 18px; align-items:end;}
.price-wrap>.sp-card form.js-form>h3,.price-wrap>.sp-card form.js-form>.f-note,.price-wrap>.sp-card form.js-form>.f-msg{grid-column:1/-1;}
.price-wrap>.sp-card form.js-form>.f-submit{grid-column:4; width:auto; white-space:nowrap; margin:0 0 12px; padding-left:28px; padding-right:28px;}
.price-wrap>.sp-card form.js-form>.f-note:last-child{margin-top:4px;}
@media(max-width:900px){
  .price-wrap>.sp-card form.js-form{grid-template-columns:1fr; gap:0;}
  .price-wrap>.sp-card form.js-form>.f-submit{grid-column:1; width:100%; margin-bottom:12px;}
}
/* directors */
.dir-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; max-width:1040px; margin:0 auto;}
.dir-card{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 14px 36px rgba(11,63,66,.08); display:flex; flex-direction:column;}
.dir-photo{aspect-ratio:5/5.2; overflow:hidden; background:var(--emerald); position:relative;}
.dir-photo img{width:100%; height:100%; object-fit:cover; object-position:center top; display:block;}
.dir-photo::after{content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,#B08D4A,#F3E3B3,#B08D4A);}
.dir-body{padding:28px 30px 32px;}
.dir-body h3{font-family:var(--serif); font-size:28px; color:var(--emerald-deep); font-weight:600; line-height:1.15;}
.dir-role{margin-top:6px; font-size:12.5px; letter-spacing:1.6px; text-transform:uppercase; color:#A07C3B; font-weight:600;}
.dir-stats{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 18px;}
.dir-stats span{background:rgba(11,63,66,.06); border:1px solid var(--line); border-radius:999px; padding:7px 14px; font-size:13px; color:var(--emerald-deep);}
.dir-stats b{font-family:var(--serif); font-size:17px; color:var(--emerald); margin-right:3px;}
.dir-body p{font-size:15px; line-height:1.8; color:#3A3A3A; margin-bottom:14px;}
.dir-body p:last-child{margin-bottom:0;}
@media(max-width:820px){.dir-grid{grid-template-columns:1fr;} .dir-body{padding:24px 22px 28px;}}
/* gallery slider + lightbox arrows */
.gs{position:relative;}
.gs-track{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:2px 0;}
.gs-track::-webkit-scrollbar{display:none;}
.gs-slide{position:relative; flex:0 0 calc((100% - 32px)/3); aspect-ratio:4/3; scroll-snap-align:start; padding:0; border:none; border-radius:14px; overflow:hidden; cursor:zoom-in; background:var(--emerald-deep);}
.gs-slide img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .6s;}
.gs-slide:hover img{transform:scale(1.05);}
.gs-slide .gi-cap{position:absolute; left:0; right:0; bottom:0; padding:30px 16px 13px; color:#fff; font-size:13.5px; letter-spacing:.4px; text-align:left; background:linear-gradient(0deg,rgba(8,40,43,.8),rgba(8,40,43,0));}
.gs-b{position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:46px; height:46px; border-radius:50%; border:1px solid var(--gold); background:rgba(11,63,66,.92); color:var(--gold-bright); font-size:30px; line-height:42px; padding:0 0 3px; cursor:pointer; text-align:center; box-shadow:0 8px 20px rgba(11,63,66,.25); transition:.2s;}
.gs-b:hover{background:var(--emerald-deep);} .gs-b:disabled{opacity:.35; cursor:default;}
.gs-prev{left:-14px;} .gs-next{right:-14px;}
.gs-meta{display:flex; align-items:center; gap:18px; margin-top:20px;}
.gs-meta span{font-size:13px; letter-spacing:1px; color:var(--grey); min-width:62px;}
.gs-bar{position:relative; flex:1; height:3px; background:var(--line); border-radius:3px; overflow:hidden;}
.gs-bar i{position:absolute; top:0; bottom:0; left:0; width:30%; background:linear-gradient(90deg,#B08D4A,#F3E3B3,#B08D4A); border-radius:3px; transition:left .15s;}
@media(max-width:900px){.gs-slide{flex-basis:calc((100% - 16px)/2);} .gs-prev{left:6px;} .gs-next{right:6px;}}
@media(max-width:560px){.gs-slide{flex-basis:84%;} .gs-b{width:40px; height:40px; line-height:36px; font-size:26px;}}
.lb .lb-p,.lb .lb-n{display:none; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.12); font-size:34px; line-height:44px; padding:0; text-align:center;}
.lb.multi .lb-p,.lb.multi .lb-n{display:block;}
.lb .lb-p{left:18px; right:auto;} .lb .lb-n{right:18px;}
@media(max-width:600px){.lb .lb-p{left:8px;} .lb .lb-n{right:8px;} .lb .lb-p,.lb .lb-n{width:40px; height:40px; line-height:36px; font-size:28px;}}
.lb img{width:auto; height:auto; max-width:min(calc(100vw - 150px),1400px); max-height:88vh; object-fit:contain; background:transparent;}
/* floor plan images */
.fpi-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px;}
.fpi-card{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 14px 36px rgba(11,63,66,.07);}
.fpi{position:relative; display:block; width:100%; padding:0; border:none; background:#fff; cursor:zoom-in; border-bottom:1px solid var(--line); aspect-ratio:905/640; overflow:hidden;}
.fpi img{width:100%; height:100%; object-fit:contain; display:block; transition:transform .5s;}
.fpi:hover img{transform:scale(1.03);}
.fpi-zoom{position:absolute; right:12px; bottom:12px; background:rgba(11,63,66,.92); color:#fff; font-size:12.5px; letter-spacing:.5px; padding:7px 14px; border-radius:999px; border:1px solid var(--gold);}
.fpi-body{padding:20px 24px 24px;}
.fpi-body b{font-family:var(--serif); font-size:26px; color:var(--emerald-deep); font-weight:600;}
.fpi-areas{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:12px;}
.fpi-areas span{font-size:13px; color:var(--grey); letter-spacing:.3px;}
.fpi-areas em{display:block; font-style:normal; font-size:15px; color:var(--emerald-deep); font-weight:600; margin-top:2px;}
@media(max-width:820px){.fpi-grid{grid-template-columns:1fr;}}
.lb.plan img{background:#fff; padding:6px;}
.fpi-grid.portrait .fpi{aspect-ratio:4/5; padding:14px;}
.fpi-grid.portrait .fpi img{object-position:center;}
.fpi-areas.four{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px;}
.fpi-grid.wide{grid-template-columns:1fr;}
.fpi-grid.wide .fpi{aspect-ratio:1024/215; padding:14px 14px 44px;}
@media(max-width:820px){.fpi-grid.wide .fpi{aspect-ratio:auto; padding:10px 10px 46px;} .fpi-grid.wide .fpi img{height:auto;}}
/* locked (blurred) floor plans + enquiry modal */
.fpi.locked{position:relative; display:block; width:100%; cursor:default; aspect-ratio:905/640; overflow:hidden; background:#fff; border-bottom:1px solid var(--line);}
.fpi.locked img{width:100%; height:100%; object-fit:contain; display:block; transform:none!important;}
.fpi.locked::after{content:""; position:absolute; inset:0; background:rgba(247,245,240,.28);}
.fpi-grid.portrait .fpi.locked{aspect-ratio:4/5; padding:14px;}
.fpi-grid.wide .fpi.locked{aspect-ratio:1024/215; padding:14px;}
.enq-btn{background:var(--shine); background-size:220% auto; color:var(--emerald-deep); border:1px solid var(--gold); font:inherit; font-weight:600; font-size:14px; letter-spacing:.6px; padding:12px 26px; border-radius:999px; cursor:pointer; box-shadow:0 10px 26px rgba(11,63,66,.22);}
.enq-btn:hover{box-shadow:0 12px 30px rgba(200,164,93,.55);}
.fpi.locked .enq-btn{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2; white-space:nowrap;}
.enq-btn.sm{margin-top:12px; padding:9px 20px; font-size:13px;}
.fp-draw svg{filter:blur(5px);}
.enq{position:fixed; inset:0; z-index:300; background:rgba(8,40,43,.78); display:flex; align-items:center; justify-content:center; padding:20px; overflow-y:auto;} .enq[hidden]{display:none;}
.enq-box{position:relative; width:100%; max-width:460px; margin:auto; background:#fff; border-radius:16px; padding:30px 28px 26px; box-shadow:0 30px 70px rgba(0,0,0,.35);}
.enq-x{position:absolute; top:10px; right:14px; background:none; border:none; font-size:30px; line-height:1; color:var(--emerald-deep); cursor:pointer;}
.enq-box h2{font-family:var(--serif); font-size:28px; color:var(--emerald-deep); font-weight:600; margin:4px 0 0;}
.enq-box p.s{font-size:13.5px; color:var(--grey); margin:6px 0 16px;}
.enq-box .sp-kick{margin:0;}
@media(max-width:520px){.enq-box{padding:26px 20px 22px;}}
