/* =========================================================
   VINTAGE GREENS, ZIRAKPUR — Brand Stylesheet
   Palette: Deep pine forest + aged brass + warm cream paper
   Type: Fraunces (display) + Manrope (body) + Manrope caps (labels)
   Signature motif: concentric "growth ring" arcs — vintage + greens
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --forest: #1B3A2F;
  --forest-deep: #0E241C;
  --forest-mid: #244A3B;
  --cream: #F7F2E7;
  --cream-2: #EFE7D6;
  --paper: #FCFAF4;
  --gold: #a9bf2b;
  --gold-light: #a9bf2b;
  --gold-pale: #EFDCB5;
  --ink: #1B1A16;
  --text-light: #6B685D;
  --line: rgba(27,58,47,0.14);
  --shadow: 0 20px 50px -20px rgba(14,36,28,0.35);
  --radius: 4px;
  --maxw: 1240px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{
  font-family:'Manrope', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 32px;}

h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:500;
  line-height:1.08;
  color:var(--forest-deep);
  letter-spacing:-0.01em;
}
em{font-style:italic; color:var(--gold);}

.eyebrow{
  display:flex; align-items:center; gap:12px;
  font-family:'Manrope', sans-serif;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:16px;
}
.eyebrow::before{
  content:"";
  width:34px; height:1px;
  background:var(--gold);
  display:inline-block;
}

.section{padding:96px 0;}
.section-tight{padding:64px 0;}
.section-title{font-size:clamp(30px,4vw,46px); margin-bottom:18px;}
.section-lede{max-width:600px; color:var(--text-light); font-size:17px;}
.section-head{margin-bottom:56px;}
.section-head.center{text-align:center; max-width:680px; margin-left:auto; margin-right:auto;}
.section-head.center .eyebrow{justify-content:center;}
.section-head.center .eyebrow::before{display:none;}
.section-head.center .section-lede{margin-left:auto; margin-right:auto;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 30px;
  font-size:14px; font-weight:700;
  letter-spacing:0.03em;
  border-radius:2px;
  border:1px solid transparent;
  transition:all .25s ease;
  white-space:nowrap;
}
.btn-gold{
  background:var(--gold);
  color:var(--forest-deep);
}
.btn-gold:hover{background:var(--gold-light); transform:translateY(-1px);}
.btn-outline{
  background:transparent;
  border-color:rgba(255,255,255,0.4);
  color:#fff;
}
.btn-outline:hover{background:rgba(255,255,255,0.12); border-color:#fff;}
.btn-forest{
  background:var(--forest);
  color:var(--cream);
}
.btn-forest:hover{background:var(--forest-deep);}
.btn-block{width:100%;}

/* ---------- Ring motif (signature element) ---------- */
.ring-motif{
  position:absolute;
  border-radius:50%;
  border:1px solid var(--gold);
  opacity:0.16;
  pointer-events:none;
}

/* ---------- Top utility bar ---------- */
.topbar{
  background:var(--forest-deep);
  color:var(--cream-2);
  font-size:12.5px;
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:9px; padding-bottom:9px;
  gap:12px;
}
.topbar-rera{
  letter-spacing:0.04em;
  opacity:0.8;
}
.topbar-rera b{color:var(--gold-light); font-weight:700;}
.topbar-contact{display:flex; align-items:center; gap:22px;}
.topbar-contact a{display:flex; align-items:center; gap:6px; font-weight:600; color:#fff;}
.topbar-contact svg{width:13px; height:13px; fill:var(--gold-light);}

/* ---------- Header ---------- */
header.site-header{
  position:sticky; top:0; z-index:200;
  background:rgba(247,242,231,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0;
}
.logo{
  display:flex; flex-direction:column; line-height:1;
}
.logo .logo-main{
  font-family:'Fraunces', serif;
  font-size:26px; font-weight:600;
  color:var(--forest-deep);
  letter-spacing:0.01em;
}
.logo .logo-main span{color:var(--gold);}
.logo .logo-sub{
  font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--text-light); margin-top:4px;
}
.nav-links{display:flex; align-items:center; gap:38px;}
.nav-links a{
  font-size:14px; font-weight:600; color:var(--forest-deep);
  position:relative; padding:4px 0;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold); transition:width .25s ease;
}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-cta .btn{padding:12px 22px;}
.nav-phone{
  display:flex; align-items:center; gap:8px;
  font-weight:700; color:var(--forest-deep); font-size:14.5px;
}
.nav-phone svg{width:16px; height:16px; fill:var(--gold);}
.nav-toggle{display:none; background:none; border:none; flex-direction:column; gap:5px;}
.nav-toggle span{width:24px; height:2px; background:var(--forest-deep);}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:92vh;
  display:flex; align-items:flex-end;
  background:#0b1c15;
  overflow:hidden;
}
.hero-media{
  position:absolute; inset:0;
}
.hero-media img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.06);
  animation:heroZoom 20s ease-out forwards;
}
@keyframes heroZoom{ to{ transform:scale(1); } }
.hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(0deg, rgba(9,22,17,0.92) 0%, rgba(9,22,17,0.55) 40%, rgba(9,22,17,0.25) 68%, rgba(9,22,17,0.55) 100%);
}
.hero-content{
  position:relative; z-index:2; width:100%;
  padding:150px 0 78px;
  color:#fff;
}
.hero-tag{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid rgba(217,174,108,0.55);
  padding:8px 16px; border-radius:100px;
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  font-weight:700; color:var(--gold-light);
  margin-bottom:26px;
  animation:fadeUp .9s ease both;
}
.hero-title{
  font-size:clamp(38px,5.6vw,72px);
  color:#fff;
  max-width:820px;
  margin-bottom:22px;
  animation:fadeUp 1s .1s ease both;
}
.hero-title em{color:var(--gold-light); font-style:italic;}
.hero-sub{
  max-width:560px;
  font-size:17px;
  color:rgba(255,255,255,0.82);
  margin-bottom:38px;
  animation:fadeUp 1s .2s ease both;
}
@keyframes fadeUp{
  from{opacity:0; transform:translateY(22px);}
  to{opacity:1; transform:translateY(0);}
}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px; margin-bottom:56px; animation:fadeUp 1s .3s ease both;}
.hero-stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,0.22);
  padding-top:30px;
  animation:fadeUp 1s .4s ease both;
}
.hero-stats .stat{padding-right:20px;}
.hero-stats .stat .num{
  font-family:'Fraunces', serif; font-size:clamp(22px,2.6vw,32px);
  color:var(--gold-light); font-weight:600; margin-bottom:4px;
}
.hero-stats .stat .lbl{
  font-size:12px; letter-spacing:0.05em; color:rgba(255,255,255,0.72);
}

/* ---------- Marquee / project strip ---------- */
.strip{
  background:var(--forest);
  color:var(--cream);
  padding:14px 0;
  overflow:hidden;
  white-space:nowrap;
}
.strip-track{
  display:inline-flex;
  animation:marquee 32s linear infinite;
}
.strip-track span{
  display:inline-flex; align-items:center;
  font-size:13.5px; letter-spacing:0.05em; font-weight:600;
  padding:0 28px;
  text-transform:uppercase;
}
.strip-track span::after{content:"◆"; color:var(--gold); margin-left:28px; font-size:9px;}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ---------- About ---------- */
.about{position:relative; background:var(--cream); overflow:hidden;}
.about-grid{
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:center;
}
.about-media{position:relative;}
.about-media img{
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  position:relative; z-index:2;
}
.about-media-badge{
  position:absolute; z-index:3; bottom:-26px; left:-26px;
  background:var(--forest-deep);
  color:var(--cream);
  padding:22px 26px;
  border-radius:2px;
  box-shadow:var(--shadow);
}
.about-media-badge .num{
  font-family:'Fraunces', serif; font-size:30px; color:var(--gold-light);
}
.about-media-badge .lbl{font-size:11.5px; letter-spacing:0.05em; opacity:0.85; margin-top:2px;}
.about-body p{color:var(--text-light); margin-bottom:18px; font-size:16px;}
.about-body p:last-of-type{margin-bottom:30px;}
.about-facts{
  display:grid; grid-template-columns:1fr 1fr; gap:22px 30px;
  margin-top:8px;
  border-top:1px solid var(--line);
  padding-top:28px;
}
.about-fact{display:flex; gap:14px; align-items:flex-start;}
.about-fact .dot{
  width:8px; height:8px; border-radius:50%; background:var(--gold);
  margin-top:7px; flex-shrink:0;
}
.about-fact .fact-title{font-weight:700; font-size:14.5px; color:var(--forest-deep);}
.about-fact .fact-sub{font-size:13.5px; color:var(--text-light);}

/* ---------- Highlights (numbers band) ---------- */
.highlights{
  background:var(--forest-deep);
  color:var(--cream);
  position:relative;
  overflow:hidden;
}
.highlights::before{
  content:"";
  position:absolute; right:-160px; top:-160px;
  width:420px; height:420px; border-radius:50%;
  border:1px solid rgba(217,174,108,0.25);
}
.highlights::after{
  content:"";
  position:absolute; right:-90px; top:-90px;
  width:280px; height:280px; border-radius:50%;
  border:1px solid rgba(217,174,108,0.2);
}
.highlights-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.1);
}
.highlight-card{
  background:var(--forest-deep);
  padding:38px 30px;
}
.highlight-card .ic{width:30px; height:30px; fill:none; stroke:var(--gold-light); stroke-width:1.4; margin-bottom:20px;}
.highlight-card .val{font-family:'Fraunces', serif; font-size:30px; color:#fff; margin-bottom:6px;}
.highlight-card .lbl{font-size:13px; color:rgba(247,242,231,0.68);}

/* ---------- Configurations / floor plans ---------- */
.config-tabs{
  display:flex; gap:10px; margin-bottom:44px; flex-wrap:wrap;
}
.config-tab{
  padding:12px 22px;
  border:1px solid var(--line);
  border-radius:100px;
  font-size:13.5px; font-weight:700;
  color:var(--forest-deep);
  background:var(--paper);
  transition:all .2s ease;
}
.config-tab.active, .config-tab:hover{
  background:var(--forest);
  color:#fff;
  border-color:var(--forest);
}
.config-panels{position:relative;}
.config-panel{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.config-panel.active{display:grid;}
.config-media{
  position:relative;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#fff;
}
.config-media img{width:100%;}
.config-info .config-size{
  display:inline-block;
  font-family:'Fraunces', serif; font-size:20px; color:var(--gold);
  margin-bottom:14px;
}
.config-info h3{font-size:30px; margin-bottom:14px;}
.config-info p{color:var(--text-light); margin-bottom:24px;}
.config-specs{
  display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; margin-bottom:30px;
}
.config-specs li{
  display:flex; justify-content:space-between;
  border-bottom:1px dashed var(--line);
  padding-bottom:10px;
  font-size:14px;
}
.config-specs li b{color:var(--forest-deep);}
.config-specs li span:first-child{color:var(--text-light);}

/* ---------- Site plan ---------- */
.siteplan{background:var(--cream-2);}
.siteplan-wrap{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#fff;
  padding:10px;
}
.siteplan-legend{
  display:flex; flex-wrap:wrap; gap:14px 30px;
  margin-top:38px;
  justify-content:center;
}
.siteplan-legend .leg{
  display:flex; align-items:center; gap:10px;
  font-size:13.5px; font-weight:600; color:var(--forest-deep);
}
.siteplan-legend .sw{width:12px; height:12px; border-radius:3px; background:var(--gold);}

/* ---------- Amenities ---------- */
.amenities{background:var(--paper);}
.amen-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:2px;
  background:var(--line);
  border:1px solid var(--line);
}
.amen-card{
  background:var(--paper);
  padding:36px 26px;
  transition:background .25s ease;
}
.amen-card:hover{background:var(--cream);}
.amen-card .ic{
  width:34px; height:34px; margin-bottom:20px;
  stroke:var(--forest); fill:none; stroke-width:1.4;
}
.amen-card h4{font-size:16px; margin-bottom:8px; font-weight:600;}
.amen-card p{font-size:13.5px; color:var(--text-light);}

/* ---------- Location ---------- */
.location{background:var(--forest); color:var(--cream); position:relative; overflow:hidden;}
.location::before{
  content:"";
  position:absolute; left:-140px; bottom:-140px;
  width:380px; height:380px; border-radius:50%;
  border:1px solid rgba(217,174,108,0.22);
}
.location-grid{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px;
}
.location-head .section-lede{color:rgba(247,242,231,0.75);}
.loc-list{margin-top:30px; display:flex; flex-direction:column; gap:0;}
.loc-list li{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,0.14);
  font-size:14.5px;
}
.loc-list li b{color:#fff; font-weight:600;}
.loc-list li span.time{color:var(--gold-light); font-weight:700; white-space:nowrap; margin-left:20px;}
.loc-badges{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.loc-badge{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:4px;
  padding:26px 22px;
}
.loc-badge .ic{width:26px; height:26px; stroke:var(--gold-light); fill:none; stroke-width:1.5; margin-bottom:16px;}
.loc-badge h5{font-size:14.5px; color:#fff; margin-bottom:6px; font-weight:700;}
.loc-badge p{font-size:13px; color:rgba(247,242,231,0.65);}

/* ---------- Gallery tower ---------- */
.tower{background:var(--cream);}
.tower-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
.tower-media{position:relative;}
.tower-media img{border-radius:var(--radius); box-shadow:var(--shadow);}
.tower-body p{color:var(--text-light); margin-bottom:22px;}
.tower-list{display:flex; flex-direction:column; gap:16px; margin:26px 0 32px;}
.tower-list li{display:flex; gap:14px; align-items:flex-start; font-size:14.5px;}
.tower-list li svg{width:18px; height:18px; flex-shrink:0; margin-top:2px; stroke:var(--gold); fill:none; stroke-width:2;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:var(--gold);
  color:var(--forest-deep);
}
.cta-banner-inner{
  display:flex; align-items:center; justify-content:space-between; gap:30px;
  padding:52px 0;
  flex-wrap:wrap;
}
.cta-banner h3{font-size:clamp(24px,3vw,32px); max-width:560px;}
.cta-banner .btn-forest{background:var(--forest-deep);}

/* ---------- Contact ---------- */
.contact{background:var(--paper);}
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px;}
.contact-card{
  background:var(--forest-deep);
  color:var(--cream);
  border-radius:var(--radius);
  padding:44px 38px;
}
.contact-card h3{color:#fff; font-size:24px; margin-bottom:16px;}
.contact-card p{color:rgba(247,242,231,0.7); font-size:14.5px; margin-bottom:30px;}
.contact-row{
  display:flex; gap:16px; align-items:flex-start;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,0.12);
}
.contact-row:first-of-type{border-top:none;}
.contact-row .ic{width:20px; height:20px; stroke:var(--gold-light); fill:none; stroke-width:1.6; margin-top:2px; flex-shrink:0;}
.contact-row b{display:block; font-size:14.5px; color:#fff; margin-bottom:2px;}
.contact-row span{font-size:13.5px; color:rgba(247,242,231,0.68);}
.contact-form-wrap{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:44px 40px;
  box-shadow:var(--shadow);
}
.contact-form-wrap h3{font-size:22px; margin-bottom:8px;}
.contact-form-wrap > p{color:var(--text-light); font-size:14px; margin-bottom:28px;}

/* ---------- Forms (shared: inline + popup) ---------- */
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-group{margin-bottom:18px;}
.form-group label{
  display:block; font-size:12.5px; font-weight:700; letter-spacing:0.03em;
  color:var(--forest-deep); margin-bottom:8px; text-transform:uppercase;
}
.form-group input, .form-group textarea, .form-group select{
  width:100%;
  border:1px solid var(--line);
  background:var(--cream);
  padding:13px 15px;
  font-family:'Manrope', sans-serif;
  font-size:14.5px;
  color:var(--ink);
  border-radius:2px;
  transition:border-color .2s ease, background .2s ease;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus{
  outline:none; border-color:var(--gold); background:#fff;
}
.form-group textarea{resize:vertical; min-height:90px;}
.btn-submit{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%;
  background:var(--gold);
  color:var(--forest-deep);
  border:none;
  padding:16px 20px;
  font-size:14.5px; font-weight:700; letter-spacing:0.02em;
  border-radius:2px;
  transition:background .2s ease, transform .2s ease;
}
.btn-submit:hover{background:var(--gold-light); transform:translateY(-1px);}
.btn-submit svg{width:16px; height:16px;}

/* ---------- Sticky CTA bar ---------- */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:300;
  background:var(--forest-deep);
  border-top:1px solid rgba(217,174,108,0.3);
  padding:14px 0;
  transform:translateY(0);
  transition:transform .3s ease;
}
.sticky-cta.hide{transform:translateY(100%);}
.sticky-cta .container{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.sticky-cta-info{display:flex; align-items:center; gap:14px; color:#fff;}
.sticky-cta-info .price-tag{
  font-family:'Fraunces', serif; font-size:16px; color:var(--gold-light);
}
.sticky-cta-info .sub{font-size:12px; color:rgba(247,242,231,0.65); display:block;}
.sticky-cta-actions{display:flex; gap:12px;}
.sticky-cta-actions a.call{
  display:flex; align-items:center; gap:8px;
  color:#fff; font-weight:700; font-size:14px;
  border:1px solid rgba(255,255,255,0.3);
  padding:12px 18px; border-radius:2px;
}
.sticky-cta-actions a.call svg{width:15px; height:15px; fill:var(--gold-light);}

/* ---------- Popup modal ---------- */
.modal-overlay{
  position:fixed; inset:0; z-index:1000;
  background:rgba(14,36,28,0.72);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  opacity:0; visibility:hidden;
  transition:opacity .3s ease, visibility .3s ease;
}
.modal-overlay.open{opacity:1; visibility:visible;}
.modal-box{
  position:relative;
  background:var(--paper);
  width:100%; max-width:460px;
  border-radius:6px;
  padding:42px 38px 34px;
  box-shadow:0 40px 90px -20px rgba(0,0,0,0.5);
  transform:translateY(18px) scale(0.98);
  transition:transform .3s ease;
  max-height:92vh; overflow-y:auto;
}
.modal-overlay.open .modal-box{transform:translateY(0) scale(1);}
.modal-close{
  position:absolute; top:16px; right:16px;
  width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--cream);
  border:none;
  color:var(--forest-deep);
  font-size:18px;
  transition:background .2s ease;
}
.modal-close:hover{background:var(--gold-pale);}
.modal-eyebrow{
  font-size:11.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold); margin-bottom:10px;
}
.modal-box h3{font-size:24px; margin-bottom:8px;}
.modal-box > p.modal-sub{color:var(--text-light); font-size:14px; margin-bottom:26px;}

/* ---------- Footer ---------- */
footer{background:var(--forest-deep); color:rgba(247,242,231,0.75);}
.footer-top{padding:70px 0 40px;}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:50px;
}
.footer-brand .logo-main{color:#fff;}
.footer-brand .logo-main span{color:var(--gold-light);}
.footer-brand p{font-size:13.5px; margin-top:18px; max-width:280px; color:rgba(247,242,231,0.6);}
.footer-social{display:flex; gap:10px; margin-top:22px;}
.footer-social a{
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.2);
  display:flex; align-items:center; justify-content:center;
}
.footer-social a svg{width:14px; height:14px; fill:#fff;}
footer h5{
  color:#fff; font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
  margin-bottom:22px; font-weight:700;
}
footer .footer-links li{margin-bottom:12px;}
footer .footer-links a{font-size:14px; color:rgba(247,242,231,0.68); transition:color .2s;}
footer .footer-links a:hover{color:var(--gold-light);}
.footer-contact li{display:flex; gap:12px; font-size:14px; margin-bottom:16px; align-items:flex-start;}
.footer-contact svg{width:16px; height:16px; stroke:var(--gold-light); fill:none; stroke-width:1.6; margin-top:2px; flex-shrink:0;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  padding:26px 0;
  font-size:12px;
  color:rgba(247,242,231,0.5);
}
.footer-bottom .rera-line{margin-bottom:10px; color:rgba(247,242,231,0.65);}
.footer-bottom .rera-line b{color:var(--gold-light);}
.footer-disclaimer{
  font-size:11.5px; line-height:1.7; color:rgba(247,242,231,0.42);
  max-width:1100px; margin-top:14px;
}
.footer-bottom-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}

/* ---------- Thank you page ---------- */
.ty-wrap{
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  background:var(--forest-deep);
  position:relative;
  overflow:hidden;
  padding:40px 20px;
}
.ty-box{
  position:relative; z-index:2;
  background:var(--paper);
  border-radius:8px;
  max-width:520px; width:100%;
  padding:56px 46px;
  text-align:center;
  box-shadow:0 40px 90px -20px rgba(0,0,0,0.5);
}
.ty-icon{
  width:74px; height:74px; border-radius:50%;
  background:var(--gold-pale);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 26px;
}
.ty-icon svg{width:34px; height:34px; stroke:var(--forest); fill:none; stroke-width:2;}
.ty-box h1{font-size:30px; margin-bottom:14px;}
.ty-box p{color:var(--text-light); margin-bottom:30px;}
.ty-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* ---------- Utility / animations ---------- */
[data-reveal]{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
[data-reveal].in{opacity:1; transform:translateY(0);}

/* ============ Responsive ============ */
@media (max-width: 1080px){
  .about-grid, .config-panel, .location-grid, .tower-grid, .contact-grid{grid-template-columns:1fr;}
  .about-media{margin-bottom:40px;}
  .highlights-grid{grid-template-columns:repeat(2,1fr);}
  .amen-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:40px;}
}
@media (max-width: 860px){
	div#stickyCta {
    display: none;
}
  header.site-header{
	  
    backdrop-filter:none; /* backdrop-filter on an ancestor turns it into the
      containing block for position:fixed children, breaking .nav-links'
      full-viewport positioning below and causing the mobile horizontal scroll */
  }
  .nav-links{
    position:fixed; top:70px; left:0; right:0; bottom:0;
    width:100%;
    max-width:100vw;
    background:var(--paper);
    flex-direction:column; align-items:flex-start;
    padding:34px 32px; gap:26px;
    transform:translateX(100%);
    transition:transform .3s ease;
    z-index:150;
    overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links a{font-size:17px;}
  .nav-toggle{display:flex;}
  .nav-cta .btn-outline{display:none;}
  .nav-phone span{display:none;}
  .topbar-contact span.email{display:none;}
  .hero-stats{grid-template-columns:repeat(2,1fr); row-gap:24px;}
  .cta-banner-inner{flex-direction:column; align-items:flex-start;}
  .sticky-cta-info .sub{display:none;}
  header.site-header {
    padding: 12px 0px;
}
.logo .logo-main {
    font-size: 18px;
}
.logo .logo-sub {
    font-size: 6px;
    color: #020202;
    line-height: 13px;
}
}
@media (max-width: 640px){
  .section{padding:64px 0;}
  .container{padding:0 20px;}
  .form-row{grid-template-columns:1fr;}
  .highlights-grid{grid-template-columns:1fr 1fr;}
  .amen-grid{grid-template-columns:1fr 1fr;}
  .config-specs{grid-template-columns:1fr;}
  .loc-badges{grid-template-columns:1fr;}
  .modal-box{padding:34px 24px 26px;}
  .footer-grid{grid-template-columns:1fr;}
  .cta-banner .btn{width:100%;}
}