:root{
  --dark-green:#14342b;
  --darker-green:#0e271f;
  --cream:#f6f3ea;
  --cream-alt:#efeadd;
  --gold:#b08d57;
  --gold-dark:#8f6f3f;
  --gold-light:#c9a96a;
  --text-heading:#14342b;
  --text-body:#21302a;
  --text-muted:#54625a;
  --text-faint:#9a917a;
  --border:#e3ddcd;
  --white:#fff;
  --success-bg:#ecfdf5;
  --success-text:#065f46;
  --success-border:#a7f3d0;
  --font-serif:'Cormorant Garamond',Georgia,serif;
  --font-sans:'Manrope',system-ui,-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--text-body);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  padding-bottom:60px;
}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-dark)}
h1,h2,h3,h4{font-family:var(--font-serif);margin:0}
button{font-family:var(--font-sans)}
input,select{font-family:var(--font-sans)}
input:focus,select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(176,141,87,.15);outline:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}
[hidden]{display:none!important}

@keyframes bpFade{from{opacity:0}to{opacity:1}}
@keyframes bpPop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}

/* Image placeholder (swap with a real <img> when photography is ready) */
.img-slot{position:relative;width:100%;height:100%;min-height:100%;background:#e7e1d2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden}
.img-slot::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(20,52,43,.05) 0 2px,transparent 2px 14px)}
.img-slot-icon{position:relative;font-size:22px;opacity:.4}
.img-slot-label{position:relative;font:600 11px var(--font-sans);letter-spacing:.2px;color:#8a8270;text-align:center;padding:0 16px;max-width:92%}

/* Top bar */
.topbar{
  background:var(--darker-green);color:#e9e3d2;font:600 12.5px var(--font-sans);
  letter-spacing:.3px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:14px;padding:9px 20px;text-align:center;
}
.topbar .dot{color:var(--gold-light)}
.topbar .sep{opacity:.4}
.topbar a{color:#e9e3d2;display:inline-flex;align-items:center;line-height:1}

/* Header */
header{position:sticky;top:0;z-index:40;background:rgba(246,243,234,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:74px}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:42px;height:42px;border-radius:8px;background:var(--dark-green);border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold-light);font:700 20px var(--font-serif);flex:none}
.brand-name{font:600 18px var(--font-serif);letter-spacing:.5px;color:var(--text-heading);line-height:1.04}
.brand-sub{font:700 9px var(--font-sans);letter-spacing:2.6px;color:var(--text-faint);line-height:1.3}
nav{display:flex;align-items:center;gap:26px}
nav a{color:#3c4a42;font:600 13.5px var(--font-sans)}
.header-actions{display:flex;align-items:center;gap:10px}
.header-phone{color:var(--text-heading);font:700 13.5px var(--font-sans);display:flex;align-items:center;gap:6px}
.btn-gold{border:none;cursor:pointer;background:var(--gold);color:var(--dark-green);font:700 13.5px var(--font-sans);border-radius:8px;padding:11px 20px}
.btn-gold:hover{background:var(--gold-light)}

@media (max-width:900px){ nav{display:none} }
@media (max-width:560px){ .header-phone{display:none} }

/* Hero */
.hero{position:relative;background:var(--dark-green);overflow:hidden}
.hero-bg{position:absolute;inset:0;opacity:.55}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,39,31,.94) 0%,rgba(14,39,31,.78) 48%,rgba(14,39,31,.6) 100%)}
.hero-inner{position:relative;padding:clamp(48px,9vw,74px) clamp(20px,5vw,32px) clamp(56px,9vw,84px);display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}
@media (max-width:860px){ .hero-inner{grid-template-columns:1fr} }
.hero-copy{color:var(--cream)}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.hero-eyebrow-line{width:34px;height:2px;background:var(--gold);display:block}
.hero-eyebrow-text{font:700 12px var(--font-sans);letter-spacing:2.6px;text-transform:uppercase;color:var(--gold-light)}
.hero-title{font:600 clamp(38px,5vw,60px)/1.06 var(--font-serif);letter-spacing:-.5px;margin:0 0 18px;text-wrap:balance}
.hero-desc{font:400 18px/1.55 var(--font-sans);color:rgba(246,243,234,.82);max-width:520px;margin:0 0 26px}
.hero-price{display:inline-flex;align-items:baseline;gap:10px;background:rgba(176,141,87,.14);border:1px solid rgba(201,169,106,.4);padding:10px 18px;border-radius:9px;margin-bottom:30px}
.hero-price-label{font:600 12px var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;color:rgba(246,243,234,.7)}
.hero-price-val{font:600 26px var(--font-serif);color:var(--gold-light)}
.hero-ctas{display:flex;gap:13px;flex-wrap:wrap}
.btn-primary{cursor:pointer;background:var(--gold);color:var(--dark-green);padding:15px 28px;border-radius:9px;font:700 15px var(--font-sans);box-shadow:0 10px 24px rgba(0,0,0,.3);border:none;display:inline-block}
.btn-primary:hover{background:var(--gold-light)}
.btn-outline-light{color:var(--cream);padding:15px 28px;border-radius:9px;font:700 15px var(--font-sans);border:1.5px solid rgba(255,255,255,.35);display:inline-block}
.btn-outline-light:hover{color:var(--gold-light);border-color:var(--gold-light)}

/* Form card (shared: hero / contact) */
.form-card{background:var(--white);border-radius:16px;box-shadow:0 30px 70px -24px rgba(0,0,0,.6);padding:26px 24px}
.form-card-head{text-align:center;margin-bottom:18px}
.form-card-line{width:34px;height:2px;background:var(--gold);margin:0 auto 10px}
.form-card-title{font:600 24px var(--font-serif);color:var(--text-heading);margin:0}
.form-card-sub{font:500 12.5px var(--font-sans);color:var(--text-faint);margin:3px 0 0}
.field{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:8px;font:500 14px var(--font-sans);color:var(--text-body);background:#fafaf7}
.form-col{display:flex;flex-direction:column;gap:12px}
.checkbox-row{display:flex;align-items:center;gap:9px;cursor:pointer;font:500 12.5px var(--font-sans);color:var(--text-muted)}
.checkbox-row input{width:15px;height:15px;accent-color:var(--gold)}
.btn-submit{border:none;cursor:pointer;background:var(--gold);color:var(--dark-green);padding:13px;border-radius:9px;font:700 14px var(--font-sans);width:100%}
.btn-submit:hover{background:var(--gold-light)}
.btn-submit:disabled{opacity:.6;cursor:not-allowed}
.success-box{padding:12px;border-radius:8px;background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border);font:500 13px var(--font-sans);text-align:center}
.error-box{padding:12px;border-radius:8px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font:500 13px var(--font-sans);text-align:center}
.form-note{font:400 11px var(--font-sans);color:var(--text-faint);text-align:center;margin:12px 0 0}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* Stats */
.stats-section{background:var(--darker-green);color:var(--cream)}
.stats-grid{padding:34px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:700px){ .stats-grid{grid-template-columns:repeat(2,1fr)} }
.stat{text-align:center}
.stat + .stat{border-left:1px solid rgba(255,255,255,.12)}
@media (max-width:700px){ .stat:nth-child(odd){border-left:none} }
.stat-num{font:600 32px var(--font-serif);color:var(--gold-light)}
.stat-label{font:600 11px var(--font-sans);letter-spacing:1.2px;text-transform:uppercase;color:rgba(246,243,234,.6);margin-top:4px}

/* Section heading */
.section-pad{padding:80px 32px}
@media (max-width:700px){ .section-pad{padding:52px 20px} }
.section-head{text-align:center;margin-bottom:46px}
.eyebrow{font:700 12px var(--font-sans);letter-spacing:2.4px;text-transform:uppercase}
.section-title{font:600 clamp(30px,3.8vw,46px)/1.1 var(--font-serif);margin:8px 0 0}

/* Why invest */
.why-invest{background:var(--dark-green);color:var(--cream)}
.why-invest .eyebrow{color:var(--gold-light)}
.usps-grid{max-width:960px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}
@media (max-width:700px){ .usps-grid{grid-template-columns:1fr} }
.usp-item{display:flex;align-items:flex-start;gap:13px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.usp-check{color:var(--gold-light);font-size:15px;margin-top:1px;flex:none}
.usp-text{font:400 15px/1.5 var(--font-sans);color:rgba(246,243,234,.88)}
.usp-text strong{color:var(--gold-light);font-weight:600}

/* Offers */
#offers{background:var(--cream)}
#offers .eyebrow{color:var(--gold)}
.offers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media (max-width:860px){ .offers-grid{grid-template-columns:1fr} }
.offer-card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:12px}
.diamond{width:11px;height:11px;background:var(--gold);transform:rotate(45deg)}
.offer-title{font:600 21px var(--font-serif);color:var(--text-heading);margin:0}
.offer-body{font:400 14px/1.55 var(--font-sans);color:var(--text-muted);margin:0;flex:1}
.offer-tagline{font:700 13px var(--font-sans);color:var(--gold)}

/* Portfolio */
#projects{background:var(--cream-alt)}
#projects .eyebrow{color:var(--gold)}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media (max-width:860px){ .projects-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .projects-grid{grid-template-columns:1fr} }
.project-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.project-img{height:200px;border-bottom:1px solid var(--border)}
.project-img img{width:100%;height:100%;object-fit:cover}
.project-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.project-badges{display:flex;gap:8px;flex-wrap:wrap}
.badge-loc{font:700 10.5px var(--font-sans);letter-spacing:.5px;color:var(--gold);background:rgba(176,141,87,.12);border:1px solid rgba(176,141,87,.3);padding:4px 9px;border-radius:5px}
.badge-poss{font:700 10.5px var(--font-sans);letter-spacing:.5px;color:var(--text-muted);background:#f1eee3;padding:4px 9px;border-radius:5px}
.project-name{font:600 22px var(--font-serif);color:var(--text-heading);margin:0}
.project-meta{display:flex;gap:14px;font:600 13px var(--font-sans);color:var(--text-muted)}
.project-blurb{font:400 13.5px/1.55 var(--font-sans);color:var(--text-muted);margin:0}
.project-rera{font:400 11px var(--font-sans);color:var(--text-faint)}
.project-actions{display:flex;gap:10px;margin-top:8px}
.btn-wa{flex:1;text-align:center;border:1.5px solid var(--dark-green);color:var(--dark-green);padding:11px;border-radius:8px;font:700 13px var(--font-sans)}
.btn-wa:hover{background:var(--dark-green);color:var(--cream)}
.btn-details{flex:1;border:none;cursor:pointer;background:var(--gold);color:var(--dark-green);padding:11px;border-radius:8px;font:700 13px var(--font-sans)}
.btn-details:hover{background:var(--gold-light)}

/* Amenities */
#amenities{background:var(--cream)}
#amenities .eyebrow{color:var(--gold)}
.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:860px){ .amenities-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:480px){ .amenities-grid{grid-template-columns:1fr} }
.amenity-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:26px 16px;text-align:center}
.amenity-label{font:600 13px var(--font-sans);letter-spacing:.4px;color:var(--text-body);margin:14px 0 0}

/* Split (About) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:860px){ .split{grid-template-columns:1fr} }
.split-img{border-radius:16px;overflow:hidden;height:380px}
.split-img img{width:100%;height:100%;object-fit:cover}
.about-section{background:var(--dark-green);color:var(--cream)}
.about-section .eyebrow{color:var(--gold-light)}
.about-section p{font:400 16px/1.7 var(--font-sans);color:rgba(246,243,234,.82);margin:0 0 16px}

/* FAQ */
#faq{background:var(--cream-alt)}
#faq .eyebrow{color:var(--gold)}
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:900px;margin:0 auto}
.faq-item{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:18px 22px;cursor:pointer}
.faq-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.faq-q{font:600 15px var(--font-sans);color:var(--text-heading)}
.faq-sign{color:var(--gold);font:700 16px var(--font-sans);flex:none}
.faq-a{margin:12px 0 0;font:400 14px/1.6 var(--font-sans);color:var(--text-muted)}

/* Contact */
.contact{background:var(--dark-green);color:var(--cream)}
.contact-inner{padding:84px 32px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:860px){ .contact-inner{grid-template-columns:1fr} }
.contact .eyebrow{color:var(--gold-light)}
.contact-desc{font:400 16px/1.7 var(--font-sans);color:rgba(246,243,234,.8);margin:0 0 30px;max-width:440px}
.contact-links{display:flex;flex-direction:column;gap:16px}
.contact-link{display:flex;align-items:center;gap:13px;color:var(--cream);font:600 16px var(--font-sans)}
.contact-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.icon-phone{background:rgba(176,141,87,.18)}
.icon-wa{background:rgba(37,211,102,.2)}
.icon-pin{background:rgba(176,141,87,.18)}
.contact-addr{display:flex;align-items:center;gap:13px;color:rgba(246,243,234,.8);font:500 15px/1.5 var(--font-sans)}

/* Footer */
footer{background:var(--darker-green);color:rgba(246,243,234,.6)}
.footer-inner{padding:46px 32px 36px}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand-name{font:600 18px var(--font-serif);letter-spacing:.5px;color:var(--cream)}
.footer-brand-sub{font:500 12px var(--font-sans)}
.footer-phone{color:var(--cream);font:600 15px var(--font-sans)}
.footer-disclaimer{font:400 11.5px/1.7 var(--font-sans);color:rgba(246,243,234,.5);margin-top:22px}

/* Mobile sticky CTA */
.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;background:var(--darker-green);border-top:1px solid rgba(201,169,106,.3);box-shadow:0 -6px 24px rgba(0,0,0,.25)}
.mobile-cta a,.mobile-cta button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 8px;font:700 13.5px var(--font-sans);border-right:1px solid rgba(255,255,255,.08);border-top:none;border-bottom:none;border-left:none;cursor:pointer;background:none}
.mobile-cta .cta-call{color:var(--cream)}
.mobile-cta .cta-wa{color:#25D366}
.mobile-cta .cta-enquire{flex:1.3;background:var(--gold);color:var(--dark-green);border-right:none}

/* Modals */
.modal-backdrop{display:flex;position:fixed;inset:0;z-index:100;background:rgba(14,39,31,.66);backdrop-filter:blur(3px);align-items:center;justify-content:center;padding:20px}
.modal-backdrop.auto-popup{z-index:110;animation:bpFade .2s ease}
.modal-box{position:relative;background:var(--white);border-radius:18px;max-width:760px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.5);max-height:92vh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}
@media (max-width:640px){ .modal-box{grid-template-columns:1fr} }
.modal-img{height:100%;min-height:280px;background:#f4f2e8}
.modal-img img{width:100%;height:100%;object-fit:cover}
.modal-content{padding:30px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.modal-close{align-self:flex-end;border:none;cursor:pointer;background:#f1eee3;color:#7a8077;width:32px;height:32px;border-radius:50%;font-size:18px;line-height:1}
.modal-badge{font:700 10.5px var(--font-sans);letter-spacing:.5px;color:var(--gold);background:rgba(176,141,87,.12);border:1px solid rgba(176,141,87,.3);padding:4px 9px;border-radius:5px;align-self:flex-start}
.modal-title{font:600 27px var(--font-serif);color:var(--text-heading)}
.modal-meta{display:flex;gap:14px;font:600 13px var(--font-sans);color:var(--text-muted)}
.modal-blurb{font:400 14px/1.6 var(--font-sans);color:var(--text-muted);margin:0}
.modal-rera{font:400 11px var(--font-sans);color:var(--text-faint)}
.modal-divider{height:1px;background:var(--border);margin:6px 0}

.auto-popup-box{position:relative;background:var(--white);border-radius:18px;max-width:440px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:bpPop .28s cubic-bezier(.2,.8,.3,1);max-height:92vh;overflow-y:auto}
.auto-popup-img{height:160px;background:#f4f2e8;border-radius:18px 18px 0 0;overflow:hidden}
.auto-popup-img img{width:100%;height:100%;object-fit:cover}
.auto-popup-body{padding:26px 26px 22px;position:relative}
.auto-popup-close{position:absolute;top:-148px;right:14px;border:none;cursor:pointer;background:#f1eee3;color:#7a8077;width:32px;height:32px;border-radius:50%;font-size:18px;line-height:1}
.auto-popup-head{text-align:center;margin-bottom:16px}
.auto-popup-line{width:34px;height:2px;background:var(--gold);margin:0 auto 12px}
.auto-popup-eyebrow{font:700 11px var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.auto-popup-title{font:600 25px/1.15 var(--font-serif);color:var(--text-heading);margin:8px 0 6px}
.auto-popup-sub{font:500 13px/1.5 var(--font-sans);color:var(--text-faint)}
.opt-out-row{display:flex;align-items:center;gap:8px;font:500 12px var(--font-sans);color:var(--text-faint);cursor:pointer;margin-top:12px}
.opt-out-row input{accent-color:var(--gold)}
