:root{
  --navy:#081b33;
  --navy-2:#0b2545;
  --navy-3:#122d52;
  --green:#1f9d55;
  --green-light:#2ecc71;
  --gold:#e0a30c;
  --gold-light:#ffd873;
  --ink:#0f1b2b;
  --muted:#5b6b7c;
  --bg:#ffffff;
  --bg-alt:#f6f8fb;
  --border:#e6eaf0;
  --radius:16px;
  --radius-lg:26px;
  --shadow:0 10px 40px rgba(11,37,69,0.10);
  --shadow-lg:0 24px 60px rgba(11,37,69,0.18);
  --font-head:'Playfair Display',serif;
  --font-body:'Manrope',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;}

.noise-overlay{
  position:fixed;inset:0;pointer-events:none;z-index:9999;
  opacity:0.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy);line-height:1.15;}

.eyebrow{
  text-align:center;
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-size:0.78rem;
  font-weight:700;
  color:var(--green);
  margin-bottom:10px;
}
.section-title{
  font-size:clamp(1.8rem,3.4vw,2.6rem);
  font-weight:700;
  text-align:center;
  margin-bottom:14px;
}
.section-sub{
  text-align:center;
  color:var(--muted);
  max-width:640px;
  margin:0 auto 44px;
  font-size:1.05rem;
}
.text-gradient{
  background:linear-gradient(100deg,var(--gold-light),var(--green-light) 60%,#7cf5c7);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Reveal-on-scroll */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.16,.8,.3,1), transform .7s cubic-bezier(.16,.8,.3,1);
}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-delay-1.in-view{transition-delay:.1s;}
.reveal-delay-2.in-view{transition-delay:.2s;}
.reveal-delay-3.in-view{transition-delay:.3s;}

/* Buttons */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:15px 30px;
  border-radius:999px;
  font-weight:700;
  font-size:0.95rem;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s ease;
  border:2px solid transparent;
  cursor:pointer;
  overflow:hidden;
}
.btn span{position:relative;z-index:1;}
.btn-primary{background:linear-gradient(135deg,var(--green),#178a49);color:#fff;box-shadow:0 10px 26px rgba(31,157,85,0.4);}
.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 34px rgba(31,157,85,0.5);}
.btn-whatsapp{background:#25D366;color:#fff;box-shadow:0 10px 26px rgba(37,211,102,0.35);}
.btn-whatsapp:hover{transform:translateY(-3px) scale(1.02);}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent;}
.btn-outline:hover{background:var(--navy);color:#fff;transform:translateY(-2px);}
.btn-block{width:100%;}

/* Topbar */
.topbar{background:var(--navy);color:#cfe0f0;font-size:0.82rem;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;flex-wrap:wrap;gap:6px;}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green-light);margin-right:8px;box-shadow:0 0 0 0 rgba(46,204,113,.7);animation:dotPulse 2s infinite;}
@keyframes dotPulse{
  0%{box-shadow:0 0 0 0 rgba(46,204,113,.6);}
  70%{box-shadow:0 0 0 6px rgba(46,204,113,0);}
  100%{box-shadow:0 0 0 0 rgba(46,204,113,0);}
}
.topbar-phone{font-weight:700;color:#fff;}

/* Header */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,0.8);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid rgba(230,234,240,0.7);
  transition:background .3s ease;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
.logo{font-family:var(--font-head);font-weight:800;font-size:1.5rem;color:var(--navy);}
.logo span{color:var(--green);}
.nav{display:flex;align-items:center;gap:30px;font-weight:600;font-size:0.94rem;}
.nav a{color:var(--ink);transition:color .15s;position:relative;}
.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--green);transition:width .2s ease;}
.nav a:not(.nav-cta):hover::after{width:100%;}
.nav a:hover{color:var(--green);}
.nav-cta{background:linear-gradient(135deg,var(--green),#178a49);color:#fff !important;padding:11px 22px;border-radius:999px;font-weight:700;box-shadow:0 8px 20px rgba(31,157,85,0.3);transition:transform .2s;}
.nav-cta:hover{transform:translateY(-2px);}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.menu-toggle span{width:24px;height:2px;background:var(--navy);display:block;transition:transform .2s, opacity .2s;}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  padding:130px 0 110px;
  color:#fff;
  background:
    radial-gradient(circle at 20% 15%, rgba(46,204,113,0.3), transparent 42%),
    radial-gradient(circle at 82% 75%, rgba(224,163,12,0.22), transparent 45%),
    linear-gradient(160deg, var(--navy-3) 0%, var(--navy) 65%, #061323 100%);
  isolation:isolate;
}
.hero-orbs{position:absolute;inset:0;z-index:0;}
.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:0.5;animation:floaty 12s ease-in-out infinite;}
.orb-1{width:340px;height:340px;background:radial-gradient(circle,rgba(46,204,113,.55),transparent 70%);top:-80px;left:-60px;animation-duration:14s;}
.orb-2{width:280px;height:280px;background:radial-gradient(circle,rgba(224,163,12,.5),transparent 70%);bottom:-60px;right:0;animation-duration:16s;animation-delay:-4s;}
.orb-3{width:200px;height:200px;background:radial-gradient(circle,rgba(124,245,199,.35),transparent 70%);top:40%;right:20%;animation-duration:10s;animation-delay:-2s;}
@keyframes floaty{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(30px,-24px);}
}
.hero-grid{
  position:absolute;inset:0;z-index:0;opacity:0.15;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at 50% 0%, black 20%, transparent 70%);
}
.hero-content{position:relative;z-index:1;max-width:780px;}
.badge{
  display:inline-block;
  background:rgba(224,163,12,0.16);
  border:1px solid rgba(224,163,12,.5);
  color:var(--gold-light);
  font-size:0.82rem;
  font-weight:700;
  padding:9px 18px;
  border-radius:999px;
  margin-bottom:26px;
  backdrop-filter:blur(6px);
}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.4vw,4rem);font-weight:800;margin-bottom:22px;letter-spacing:-0.01em;}
.hero-sub{font-size:1.12rem;color:#c9d8e8;max-width:640px;margin-bottom:34px;}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
.hero-note{font-family:var(--font-head);font-style:italic;color:var(--gold-light);font-size:1.15rem;}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:1;width:26px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:14px;}
.hero-scroll span{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:var(--gold-light);border-radius:2px;animation:scrollDot 1.8s infinite;}
@keyframes scrollDot{
  0%{opacity:1;top:6px;}
  70%{opacity:0;top:22px;}
  100%{opacity:0;top:6px;}
}

/* Ticker */
.ticker-strip{background:var(--navy-2);padding:16px 0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);}
.ticker-track{display:flex;width:max-content;animation:tickerScroll 26s linear infinite;}
.ticker-set{display:flex;gap:48px;padding-right:48px;}
.ticker-set span{color:#a9c0d6;font-weight:700;font-size:0.92rem;white-space:nowrap;letter-spacing:.02em;}
@keyframes tickerScroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* Highlights */
.highlights{padding:90px 0;background:var(--bg-alt);}
.highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.highlight-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:30px 20px;
  text-align:center;
  box-shadow:var(--shadow);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
}
.highlight-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.hi-num{font-family:var(--font-head);font-size:2.3rem;font-weight:800;color:var(--green);margin-bottom:8px;}
.hi-label{font-size:0.9rem;color:var(--muted);font-weight:600;}

/* About */
.about{padding:90px 0;}
.about-inner{max-width:820px;margin:0 auto;text-align:center;}
.about p{color:var(--muted);font-size:1.08rem;}
.about-stats{display:flex;justify-content:center;gap:48px;margin-top:40px;flex-wrap:wrap;}
.about-stats div{display:flex;flex-direction:column;gap:4px;}
.about-stats strong{font-family:var(--font-head);font-size:1.3rem;color:var(--navy);}
.about-stats span{font-size:0.85rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;}

/* Amenities tabs */
.amenities{padding:90px 0;background:var(--bg-alt);}
.tabs{display:flex;justify-content:center;gap:10px;margin-bottom:36px;flex-wrap:wrap;}
.tab-btn{
  padding:12px 24px;border-radius:999px;border:2px solid var(--border);background:#fff;
  font-weight:700;color:var(--muted);cursor:pointer;transition:all .2s;font-size:0.92rem;
}
.tab-btn:hover{border-color:var(--green);color:var(--green);}
.tab-btn.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeIn .4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.amenity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;}
.amenity-chip{
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;
  font-weight:600;font-size:0.95rem;box-shadow:var(--shadow);
  transition:transform .2s, border-color .2s;
}
.amenity-chip:hover{transform:translateY(-3px);border-color:var(--green);}

/* Configurations */
.configurations{padding:90px 0;}
.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.config-card{
  position:relative;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  padding:28px 24px;box-shadow:var(--shadow);text-align:center;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
}
.config-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.config-card.featured{border-color:var(--green);background:linear-gradient(180deg,#fff,#f2fbf6);}
.config-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--green);color:#fff;font-size:0.72rem;font-weight:800;
  padding:5px 14px;border-radius:999px;letter-spacing:.05em;text-transform:uppercase;
}
.config-type{font-weight:700;color:var(--muted);font-size:0.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.config-area{font-family:var(--font-head);font-size:1.7rem;font-weight:800;color:var(--navy);margin-bottom:8px;}
.config-area span{font-family:var(--font-body);font-size:0.85rem;font-weight:600;color:var(--muted);}
.config-sub{font-size:0.85rem;color:var(--muted);}
.config-cta{text-align:center;margin-top:36px;}

/* Specifications */
.specifications{padding:90px 0;background:var(--bg-alt);}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;}
.spec-item{background:#fff;border-radius:var(--radius);padding:24px;border:1px solid var(--border);transition:transform .2s;}
.spec-item:hover{transform:translateY(-4px);}
.spec-icon{font-size:1.6rem;margin-bottom:10px;}
.spec-item h4{font-size:1rem;margin-bottom:8px;color:var(--navy);}
.spec-item p{font-size:0.88rem;color:var(--muted);}

/* Location */
.location{padding:90px 0;}
.location-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.location-list li{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:1rem;border-bottom:1px dashed var(--border);}
.loc-icon{font-size:1.2rem;}
.location-map{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.location-map iframe{display:block;}

/* Contact */
.contact{padding:90px 0;background:linear-gradient(160deg,var(--navy-3),var(--navy) 70%);color:#fff;}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
.contact-info p{color:#c7d5e3;margin-bottom:28px;}
.contact-methods{display:flex;flex-direction:column;gap:14px;margin-bottom:28px;}
.contact-method{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,0.08);
  padding:15px 18px;border-radius:14px;
  font-weight:700;
  transition:background .2s, transform .2s;
  border:1px solid rgba(255,255,255,.08);
}
.contact-method:hover{background:rgba(255,255,255,0.16);transform:translateX(4px);}
.disclaimer-inline{font-size:0.78rem;color:#8ba2b8;line-height:1.5;}
.contact-form{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:32px;
  display:flex;
  flex-direction:column;
  gap:14px;
  box-shadow:var(--shadow-lg);
}
.contact-form input,.contact-form select,.contact-form textarea{
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:10px;
  font-family:var(--font-body);
  font-size:0.95rem;
  color:var(--ink);
  width:100%;
  transition:border-color .2s, box-shadow .2s;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(31,157,85,.15);
}
.consent{display:flex;align-items:flex-start;gap:8px;font-size:0.82rem;color:var(--muted);}
.consent input{width:auto;margin-top:3px;}
.form-status{font-size:0.85rem;font-weight:600;text-align:center;min-height:1.2em;}
.form-status.success{color:var(--green);}
.form-status.error{color:#d9534f;}
#submitBtn.loading{opacity:0.7;pointer-events:none;}
#submitBtn.loading span::after{content:"...";}

/* WhatsApp float */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;
  width:60px;height:60px;
  background:#25D366;color:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;
  box-shadow:0 12px 28px rgba(0,0,0,0.25);
  z-index:200;
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,0.5);}
  70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

/* Mobile sticky CTA */
.mobile-cta-bar{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:150;
  background:#fff;border-top:1px solid var(--border);
  box-shadow:0 -8px 24px rgba(0,0,0,.08);
  padding:10px 14px;
  gap:8px;
}
.mobile-cta-bar a{
  flex:1;text-align:center;padding:12px 8px;border-radius:12px;font-weight:700;font-size:0.85rem;
  background:var(--bg-alt);color:var(--navy);
}
.mobile-cta-bar .mobile-cta-primary{background:var(--green);color:#fff;}

/* Footer */
.footer{background:#061323;color:#9fb6cc;padding:50px 0 32px;}
.footer-inner{text-align:center;max-width:760px;margin:0 auto;}
.footer-brand{font-family:var(--font-head);font-weight:800;font-size:1.4rem;color:#fff;margin-bottom:12px;}
.footer-brand span{color:var(--green-light);}
.footer p{font-size:0.85rem;margin-bottom:10px;}
.rera-note em{color:var(--gold-light);font-style:normal;font-weight:600;}
.disclaimer{font-size:0.75rem;line-height:1.6;color:#5e7386;max-width:680px;margin:16px auto;}
.copyright{font-size:0.78rem;color:#5e7386;margin-top:8px;}

/* Responsive */
@media (max-width:960px){
  .highlight-grid{grid-template-columns:repeat(2,1fr);}
  .location-inner{grid-template-columns:1fr;}
  .contact-inner{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .nav{
    position:fixed;top:64px;left:0;right:0;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    padding:20px 24px 28px;
    gap:18px;
    border-bottom:1px solid var(--border);
    transform:translateY(-150%);
    transition:transform .3s ease;
    box-shadow:0 16px 30px rgba(0,0,0,.08);
  }
  .nav.open{transform:translateY(0);}
  .menu-toggle{display:flex;}
  .highlight-grid{grid-template-columns:1fr 1fr;}
  .topbar-inner{font-size:0.72rem;}
  .whatsapp-float{bottom:80px;}
  .mobile-cta-bar{display:flex;}
  body{padding-bottom:70px;}
}
@media (max-width:480px){
  .highlight-grid{grid-template-columns:1fr;}
  .hero{padding:110px 0 90px;}
  .amenity-grid{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .orb, .dot, .ticker-track, .hero-scroll span{animation:none;}
}
