/* ══════════════════════════════════════════════════════════════════
   Ganga Nine Zero — custom layer on top of the Mulberry-style base.
   Brand tokens taken from Ganga Realty's own logo palette (teal + gold).
   ══════════════════════════════════════════════════════════════════ */
:root{
  --n0-teal-d:#06423C; --n0-teal:#0E6E63;
  --n0-gold-d:#8F6E3E; --n0-gold:#B8935A; --n0-gold-l:#E7C892;
  --n0-ink:#16302E;
  --n0-ease:cubic-bezier(.19,1,.22,1);
}

/* ── Scroll reveal (applied via custom.js) ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--n0-ease),transform .7s var(--n0-ease)}
.reveal.in{opacity:1;transform:none}

/* ── Card hover polish ── */
.project-usp-item,.price-area-box,.gallery-item,.amenity-card{
  transition:transform .3s var(--n0-ease),box-shadow .3s var(--n0-ease);
}
.project-usp-item:hover,.price-area-box:hover,.amenity-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px -14px rgba(6,66,60,.28);
}
.gallery-item:hover{ box-shadow:0 16px 34px -14px rgba(6,66,60,.35); }
.gallery-item img{ transition:transform .5s var(--n0-ease); }
.gallery-item:hover img{ transform:scale(1.05); }

/* ── Form field focus polish ── */
.form-control{ transition:border-color .2s var(--n0-ease), box-shadow .2s var(--n0-ease); }
.form-control:focus{
  border-color:var(--n0-teal);
  box-shadow:0 0 0 3px rgba(14,110,99,.15);
  outline:none;
}

/* ── Amenity icon cards (own photography only — no third-party stock) ── */
.amenity-card{
  background:#fff;border:1px solid #e2ded3;border-radius:8px;
  text-align:center;padding:26px 14px;height:100%;
}
.amenity-card .ico{
  width:52px;height:52px;margin:0 auto 14px;border-radius:50%;
  background:linear-gradient(135deg,var(--n0-teal-d),var(--n0-teal));
  display:flex;align-items:center;justify-content:center;
}
.amenity-card .ico svg{width:26px;height:26px;color:#fff}
.amenity-card p{font-weight:600;font-size:15px;margin:0;color:var(--n0-ink)}

/* ── Section title accent already handled in style.css (::after rule) ── */

/* ── Rich footer (content parity with ganganinezero.in) ── */
.n0-foot{
  position:relative;
  background:#0B2B2C;color:rgba(255,255,255,.7);padding:56px 0 0;text-align:center;
}
.n0-foot::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(120deg,var(--n0-gold-d),var(--n0-gold),var(--n0-gold-l));
}
.n0-foot img{height:30px;margin:0 auto 18px;filter:brightness(0) invert(1)}
.n0-foot-desc{max-width:56ch;margin:0 auto 22px;font-size:.92rem;line-height:1.7;color:rgba(255,255,255,.7);padding:0 16px}
.n0-foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-bottom:26px;padding:0 16px}
.n0-foot-links a{font-size:.9rem;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}
.n0-foot-links a:hover{color:var(--n0-gold-l)}
.n0-foot-rera{max-width:820px;margin:0 auto 26px;font-size:.8rem;line-height:1.8;color:rgba(255,255,255,.55);padding:0 20px}
.n0-foot-rera strong{color:rgba(255,255,255,.75)}
.n0-foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 16px;font-size:.8rem;color:rgba(255,255,255,.45)}
.n0-foot-credit{padding:12px 16px 24px;font-size:.76rem;color:rgba(255,255,255,.35)}
.n0-foot-credit a{color:rgba(255,255,255,.55);font-weight:600;text-decoration:none}

/* Fixed sticky CTA strip (mobile ≤991px) covers the bottom of the page —
   reserve matching space so the footer's last lines are never hidden behind it. */
@media (max-width:991px){
  body{ padding-bottom:calc(56px + env(safe-area-inset-bottom)); }
  .n0-foot{ padding-top:44px; }
  .n0-foot-links{ gap:14px 22px; margin-bottom:22px; }
  .n0-foot-credit{ padding-bottom:20px; }
}
@media (max-width:575px){
  body{ padding-bottom:calc(48px + env(safe-area-inset-bottom)); }
}

/* ══════════════════════════════════════════════════════════════════
   Ganga Nine Zero Update — hub listing + article pages
   ══════════════════════════════════════════════════════════════════ */
.n0-hub-hero{ background:linear-gradient(135deg,var(--n0-teal-d),var(--n0-teal)); padding:130px 0 56px; text-align:center; color:#fff; }
.n0-hub-hero .n0-tag{ font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--n0-gold-l); display:block; margin-bottom:10px; }
.n0-hub-hero h1{ color:#fff; font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:10px; }
.n0-hub-hero p{ color:rgba(255,255,255,.75); max-width:56ch; margin:0 auto; }

.n0-hub-list{ padding:56px 0; }
.n0-hub-card{
  display:flex; flex-direction:column; height:100%; margin-bottom:28px;
  background:#fff; border:1px solid #e2ded3; border-radius:12px; overflow:hidden;
  text-decoration:none; color:inherit;
  transition:transform .3s var(--n0-ease), box-shadow .3s var(--n0-ease);
}
.n0-hub-card:hover{ transform:translateY(-5px); box-shadow:0 20px 40px -18px rgba(6,66,60,.3); color:inherit; }
.n0-hub-card-img{ aspect-ratio:16/10; overflow:hidden; }
.n0-hub-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--n0-ease); }
.n0-hub-card:hover .n0-hub-card-img img{ transform:scale(1.06); }
.n0-hub-card-body{ padding:20px 22px 24px; flex:1; display:flex; flex-direction:column; }
.n0-hub-card-tag{ font-size:.64rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--n0-gold-d); margin-bottom:8px; }
.n0-hub-card-body h3{ font-size:1.15rem; margin-bottom:8px; color:var(--n0-ink); }
.n0-hub-card-body p{ font-size:.88rem; color:#5B7370; margin:0; }

/* ── Article page ── */
.n0-article-hero{ background:linear-gradient(135deg,var(--n0-teal-d),var(--n0-teal)); padding:130px 0 44px; color:#fff; }
.n0-article-hero .n0-breadcrumb{ font-size:.78rem; color:rgba(255,255,255,.6); margin-bottom:14px; }
.n0-article-hero .n0-breadcrumb a{ color:rgba(255,255,255,.85); text-decoration:none; }
.n0-article-hero .n0-breadcrumb a:hover{ color:var(--n0-gold-l); }
.n0-article-hero h1{ color:#fff; font-size:clamp(1.6rem,3.6vw,2.3rem); max-width:34ch; }
.n0-article-hero .n0-article-dek{ color:rgba(255,255,255,.75); max-width:62ch; margin-top:10px; }
.n0-article-meta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:18px; font-size:.76rem; color:rgba(255,255,255,.55); }

.n0-article-body{ padding:48px 0; }
.n0-article-content{ max-width:760px; margin:0 auto; }
.n0-article-content h2{ font-size:1.35rem; color:var(--n0-ink); margin:34px 0 14px; }
.n0-article-content h2:first-child{ margin-top:0; }
.n0-article-content p{ color:#3a4644; font-size:.98rem; line-height:1.85; margin-bottom:16px; }
.n0-article-content ul{ margin:0 0 18px; padding-left:22px; }
.n0-article-content li{ color:#3a4644; font-size:.96rem; line-height:1.8; margin-bottom:8px; }
.n0-article-content strong{ color:var(--n0-ink); }
.n0-article-content a{ color:var(--n0-teal-d); font-weight:700; }

.n0-fact-table{ width:100%; border:1px solid #e2ded3; border-radius:10px; overflow:hidden; margin:18px 0 26px; }
.n0-fact-row{ display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #e2ded3; }
.n0-fact-row:last-child{ border-bottom:none; }
.n0-fact-row span:first-child{ padding:12px 16px; font-weight:600; color:var(--n0-ink); background:#F3F6F5; font-size:.86rem; }
.n0-fact-row span:last-child{ padding:12px 16px; font-size:.86rem; color:#3a4644; }

.n0-inline-cta{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  background:linear-gradient(135deg,var(--n0-teal-d),var(--n0-teal)); color:#fff;
  border-radius:14px; padding:24px 26px; margin:32px 0;
}
.n0-inline-cta p{ color:#fff !important; margin:0 !important; font-weight:700; font-size:1rem !important; }
.n0-inline-cta .btn{ flex-shrink:0; }

.n0-related{ background:#F3F6F5; padding:40px 0 48px; }
.n0-related h3{ text-align:center; margin-bottom:26px; }

/* ── Article media: hero image, gallery grid, floor-plan/site-plan figures ── */
.n0-article-hero-img{ border-radius:14px; overflow:hidden; box-shadow:0 20px 44px -20px rgba(6,66,60,.35); margin-bottom:22px; }
.n0-article-hero-img img{ width:100%; height:100%; object-fit:cover; aspect-ratio:16/9; display:block; }

.n0-article-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0 26px; }
.n0-article-gallery a{ display:block; border-radius:10px; overflow:hidden; aspect-ratio:1; position:relative; }
.n0-article-gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--n0-ease); }
.n0-article-gallery a:hover img{ transform:scale(1.07); }
@media (max-width:575px){ .n0-article-gallery{ grid-template-columns:repeat(2,1fr); } }

.n0-figure{ margin:18px 0 26px; border:1px solid #e2ded3; border-radius:12px; overflow:hidden; background:#fff; }
.n0-figure img{ width:100%; display:block; cursor:pointer; }
.n0-figure figcaption{ padding:12px 16px; font-size:.8rem; color:#5B7370; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.n0-figure figcaption a{ color:var(--n0-teal-d); font-weight:700; font-size:.78rem; }

.n0-map-embed{ border-radius:12px; overflow:hidden; box-shadow:0 14px 34px -18px rgba(6,66,60,.3); margin:18px 0 26px; }
.n0-map-embed iframe{ width:100%; height:320px; border:0; display:block; }

.n0-cta-line{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  border:1.5px dashed var(--n0-teal); border-radius:10px; padding:16px 18px; margin:26px 0;
  background:#F3F6F5;
}
.n0-cta-line span{ font-weight:700; color:var(--n0-ink); font-size:.92rem; }
.n0-cta-line .n0-cta-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.n0-cta-line .n0-cta-actions a{ font-size:.78rem; padding:.55em 1.1em; }


/* ── Header phone icon (inline SVG, replaces bundled image asset) ── */
.contact-number a{ display:flex; align-items:center; gap:8px; white-space:nowrap; }
.contact-number a svg{ width:16px; height:16px; flex-shrink:0; }
@media (max-width:1199px){
  .contact-number a svg{ width:18px; height:18px; }
}

/* ── Header nav: now carries 8 items (added "Updates") — keep every label
   on one line and tighten spacing so it still fits one row on desktop. ── */
@media (min-width:1200px){
  .inner-header{ gap:14px; flex-wrap:nowrap; }
  .menu{ flex-shrink:1; min-width:0; }
  .menu ul{ flex-wrap:nowrap; }
  .menu ul li{ flex-shrink:0; }
  .menu ul li a{ font-size:14px; padding:10px 9px; white-space:nowrap; }
  .contact-number{ flex-shrink:0; }
  .contact-number a{ font-size:18px; padding:8px 16px; }
}
@media (min-width:1400px){
  .menu ul li a{ font-size:15px; padding:10px 12px; }
  .contact-number a{ font-size:20px; padding:9px 20px; }
}

/* ── Sticky mobile-only CTA polish (Mulberry's .fix-mobile-strip is already
     scoped to max-width:991px in style.css — this only refines its look) ── */
@keyframes n0StripIn{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }
@keyframes n0StripGlow{
  0%,100%{ box-shadow:0 -2px 14px -2px rgba(184,147,90,.35), inset 0 0 0 rgba(255,255,255,0); }
  50%{ box-shadow:0 -2px 22px 2px rgba(184,147,90,.65), inset 0 0 0 rgba(255,255,255,0); }
}
@keyframes n0StripPing{
  0%{ transform:scale(.9); opacity:.65; }
  70%{ transform:scale(1.9); opacity:0; }
  100%{ opacity:0; }
}
@keyframes n0StripBolt{
  0%,100%{ transform:rotate(0deg) scale(1); }
  25%{ transform:rotate(-12deg) scale(1.15); }
  75%{ transform:rotate(12deg) scale(1.15); }
}

.fix-mobile-strip{ animation:n0StripIn .5s var(--n0-ease) both; }
.fix-mobile-strip ul li{ position:relative; }
.fix-mobile-strip ul li a,.fix-mobile-strip ul li span{
  background-color:var(--n0-teal-d) !important;
  display:flex !important; align-items:center; justify-content:center; gap:6px;
  transition:filter .2s, transform .15s;
}
.fix-mobile-strip ul li a:active,.fix-mobile-strip ul li span:active{ transform:scale(.95); filter:brightness(.92); }
.fix-mobile-strip ul li a.whatsapp{ background-color:#25D366 !important; overflow:hidden; }
.n0-strip-ping{
  position:absolute; left:14px; width:16px; height:16px; border-radius:50%;
  background:#fff; animation:n0StripPing 1.8s ease-out infinite;
}
.fix-mobile-strip ul li:last-child a,.fix-mobile-strip ul li:last-child span{
  background:linear-gradient(120deg,var(--n0-gold-d),var(--n0-gold),var(--n0-gold-l)) !important;
  color:var(--n0-ink) !important;
  font-weight:700;
  animation:n0StripGlow 2.2s ease-in-out infinite;
}
.fix-mobile-strip ul li:last-child .fa{ animation:n0StripBolt 1.6s ease-in-out infinite; }

/* ══════════════════════════════════════════════════════════════════
   Hero lead-form card — modern, "flashy" redesign
   ══════════════════════════════════════════════════════════════════ */
@keyframes n0HeroIn{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:none; } }
@keyframes n0Pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(184,147,90,.45); } 50%{ box-shadow:0 0 0 8px rgba(184,147,90,0); } }
@keyframes n0DotPulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.4; transform:scale(.7); } }

.n0-hero-card{
  position:relative;
  text-align:left;
  padding:34px 26px 28px;
  border:none;
  border-radius:18px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,var(--n0-gold),var(--n0-teal-d),var(--n0-gold-l)) border-box;
  border:2px solid transparent;
  box-shadow:0 24px 60px -20px rgba(6,66,60,.35), 0 4px 16px -4px rgba(0,0,0,.08);
  overflow:visible;
  animation:n0HeroIn .8s var(--n0-ease) both;
}

.n0-ribbon{
  position:absolute; top:-14px; left:24px;
  background:linear-gradient(120deg,var(--n0-gold-d),var(--n0-gold),var(--n0-gold-l));
  color:var(--n0-ink); font-size:.72rem; font-weight:800; letter-spacing:.03em;
  padding:6px 16px; border-radius:100px;
  box-shadow:0 8px 18px -6px rgba(143,110,62,.55);
}

.n0-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; }
.n0-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.68rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase;
  padding:6px 12px; border-radius:100px; white-space:nowrap;
}
.n0-chip svg{ width:11px; height:11px; flex-shrink:0; }
.n0-chip-loc{ background:#F3F6F5; color:var(--n0-teal-d); border:1px solid #DCE6E4; }
.n0-chip-new{ background:linear-gradient(120deg,var(--n0-gold-d),var(--n0-gold),var(--n0-gold-l)); color:var(--n0-ink); }

.n0-hero-card h1{
  font-size:1.7rem; font-weight:800; color:var(--n0-ink); margin-bottom:4px; line-height:1.15;
}
.n0-hero-card h1 em{ font-style:italic; color:var(--n0-gold-d); }
.n0-hero-card > p{ font-size:.86rem; color:#5B7370; font-weight:500; margin-bottom:16px; }

.n0-price-row{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.n0-price-chip{
  display:flex; flex-direction:column; gap:2px;
  padding:10px 16px; border-radius:10px;
  background:linear-gradient(120deg,var(--n0-teal-d),var(--n0-teal));
  box-shadow:0 10px 26px -10px rgba(6,66,60,.55);
  animation:n0Pulse 2.6s ease-in-out infinite;
}
.n0-price-chip .l{ font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.7); }
.n0-price-chip .v{ font-size:1.3rem; font-weight:800; color:#fff; }
.n0-price-chip .v sup{ font-size:.55em; color:var(--n0-gold-l); }
.n0-density-tag{
  font-size:.72rem; font-weight:700; color:var(--n0-teal-d);
  border:1.5px solid var(--n0-teal); border-radius:100px; padding:6px 12px;
}

.n0-form .form-group{ margin-bottom:14px; }
.n0-field{ position:relative; }
.n0-field-ico{
  position:absolute; left:13px; top:50%; transform:translateY(-50%);
  width:16px; height:16px; color:var(--n0-teal); pointer-events:none;
}
.n0-field .form-control{ padding-left:38px; border-radius:8px; }

.n0-submit-btn{
  font-weight:800; letter-spacing:.02em; padding:.85rem 1.5rem;
  animation:n0Pulse 2.6s ease-in-out infinite;
}

.n0-form-divider{ display:flex; align-items:center; gap:10px; margin:16px 0 12px; }
.n0-form-divider::before,.n0-form-divider::after{ content:''; flex:1; height:1px; background:#e2ded3; }
.n0-form-divider span{ font-size:.64rem; text-transform:uppercase; letter-spacing:.08em; color:#8a9490; white-space:nowrap; }

.n0-form-alt{ display:flex; gap:10px; }
.n0-alt-btn{
  flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
  padding:.7em; border-radius:8px; font-size:.82rem; font-weight:700;
  text-decoration:none; transition:transform .2s var(--n0-ease), box-shadow .2s var(--n0-ease), filter .2s;
}
.n0-alt-btn svg{ width:15px; height:15px; }
.n0-alt-btn:hover{ transform:translateY(-2px); filter:brightness(1.05); }
.n0-alt-call{ background:var(--n0-teal-d); color:#fff; }
.n0-alt-wa{ background:#25D366; color:#fff; }

.n0-trust-row{ display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:center; margin-top:16px; }
.n0-trust-row span{ font-size:.72rem; font-weight:600; color:#5B7370; }

@media (max-width:767px){
  .n0-hero-card{ padding:30px 20px 24px; margin-top:10px; }
  .n0-hero-card h1{ font-size:1.5rem; }
}

/* Clear the fixed header — the ribbon pokes -14px above the card, so give
   the whole banner enough top padding that it never touches the header
   at any breakpoint (overrides style.css's smaller values at all widths). */
.banner-section{ padding-top:120px; }
@media (max-width:575px){ .banner-section{ padding-top:104px; } }

/* ══════════════════════════════════════════════════════════════════
   FAQ — accordion redesign
   ══════════════════════════════════════════════════════════════════ */
.n0-faq-section{ padding-top:20px; padding-bottom:20px; }
.n0-faq{ display:flex; flex-direction:column; gap:14px; }
.n0-faq-item{
  background:#fff; border:1.5px solid #e2ded3; border-radius:12px;
  overflow:hidden; transition:border-color .25s var(--n0-ease), box-shadow .25s var(--n0-ease);
}
.n0-faq-item:hover{ border-color:var(--n0-teal); }
.n0-faq-item.open{ border-color:var(--n0-teal); box-shadow:0 14px 34px -18px rgba(6,66,60,.35); }

.n0-faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:none; border:none; text-align:left; cursor:pointer;
  padding:18px 20px; font-family:'Poppins',sans-serif; font-size:1rem; font-weight:700; color:var(--n0-ink);
}
.n0-faq-item.open .n0-faq-q{ color:var(--n0-teal-d); }

.n0-faq-toggle{
  flex-shrink:0; width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--n0-teal-d),var(--n0-teal));
  color:#fff; font-size:1.15rem; font-weight:700; line-height:1;
  transition:transform .3s var(--n0-ease), background .3s var(--n0-ease);
}
.n0-faq-item.open .n0-faq-toggle{
  transform:rotate(135deg);
  background:linear-gradient(135deg,var(--n0-gold-d),var(--n0-gold),var(--n0-gold-l));
  color:var(--n0-ink);
}

.n0-faq-a{
  max-height:0; overflow:hidden;
  transition:max-height .35s var(--n0-ease), padding .35s var(--n0-ease);
}
.n0-faq-item.open .n0-faq-a{ max-height:220px; }
.n0-faq-a p{ padding:0 20px 20px; margin:0; color:#5B7370; font-size:.92rem; line-height:1.7; }

.n0-faq-cta{
  display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;
  margin-top:28px; padding:20px; border-radius:12px; background:#F3F6F5;
}
.n0-faq-cta span{ font-weight:600; color:var(--n0-ink); }
.n0-faq-cta .btn{ padding:.6rem 1.4rem; font-size:.9rem; }
