/* ═══════════════════════════════════════════════════
   style.css — Shapoorji Imperia Tardeo (MMR)
   ═══════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Open+Sans:wght@300;400;500;600;700&display=swap');
@font-face {
  font-family: FuturaBT-Book;
  src: url(../assets/fonts/FuturaBT-Book.otf);
}
@font-face {
  font-family: HistoryPro;
  src: url(../assets/fonts/HistoryPro-Two.woff2);
}
.HistoryPro {
  font-family: HistoryPro;
}
:root {
  --primary:  #0b539b;
  --orange-h: #874d00;
  --dark:     #1c1c1c;
  --text:     #444;
  --light:    #666;
  --cream:    #d3e2f24a;
  --white:    #ffffff;
  --border:   #e2ddd6;
  --nav-h:    60px;
}

* { margin:0; padding:0; box-sizing:border-box; }
img { pointer-events:none; -webkit-user-drag:none; }
html { scroll-behavior:smooth; }
html { overflow-x:hidden; overflow-y:scroll; }
body { font-family:'Open Sans',sans-serif; color:var(--dark); background:#fff; }
input, textarea, select { -webkit-user-select:text; user-select:text; }

/* ══ NAVBAR ══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:2000;
  height:var(--nav-h); display:flex; align-items:center;
  padding:0 24px 0 18px;
  transition:background 0.35s, box-shadow 0.35s;
  background:transparent;
}
nav.scrolled { background:#fff; box-shadow:0 1px 10px rgba(0,0,0,0.1); }

.nav-logo { position:relative; display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
.nav-logo-img {height: 45px;width:auto;display:block;object-fit:contain;transition:opacity 0.35s;}

/* White logo — visible by default (transparent nav over hero) */
.logo-white { position:relative; opacity:1; }

/* Colour logo — overlaid, hidden by default */
.logo-color { position:absolute; left:0; top:50%; transform:translateY(-50%); opacity:0; }

/* On scroll: swap — hide white, show colour */
nav.scrolled .logo-white { opacity:0; }
nav.scrolled .logo-color { opacity:1; }

.nav-links { flex:1; display:flex; align-items:center; justify-content:center; }
.nav-links a {
  font-size:14px; font-weight:500; text-decoration:none;
  padding:0 11px; height:var(--nav-h); display:flex; align-items:center;
  white-space:nowrap; color:#fff;
  border-bottom:2px solid transparent;
  transition:color 0.25s, border-color 0.25s;
}
nav.scrolled .nav-links a { color:var(--dark); }
.nav-links a:hover { color:var(--primary) !important; border-bottom-color:var(--primary); }

.btn-nav {
  border:1.5px solid #fff; background:transparent; color:#fff;
  padding:8px 18px; font-size:14px; font-weight:600; border-radius:20px;
  cursor:pointer; display:flex; align-items:center; gap:6px;
  transition:all 0.25s; font-family:'Open Sans',sans-serif; flex-shrink:0;
}
nav.scrolled .btn-nav { border-color:var(--primary); color:var(--primary); }
.btn-nav:hover { background:var(--primary); border-color:var(--primary); color:#fff !important; }

.nav-affiliate-logo {
  height:46px;
  width:auto;
  display:block;
  object-fit:contain;
  margin-left:14px;
  flex-shrink:0;
}

/* ══ HERO ══ */
.hero {
  position:relative; height:100vh; min-height:560px;
  overflow:hidden; display:flex; align-items:flex-end;
}

/* ── Slide images ── */
.hero-slides { position:absolute; inset:0; }
.hero-slide  {
  position:absolute; inset:0;
  background-image:url('../images/Banners/B1.webp');
  background-size:cover; background-position:center;
  opacity:0;
  transition:opacity 1.4s ease-in-out;
}
.hero-slide:nth-child(1) { background-image:url('../images/Banners/B1.webp'); }
.hero-slide:nth-child(2) { background-image:url('../images/Banners/B2.webp'); }
.hero-slide.active { opacity:1; }

/* ── Overlay gradient ── */
.hero-darken {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.30) 50%, rgba(0,0,0,0.10) 100%),
             linear-gradient(to right, rgba(0,0,0,0.35) 0%, transparent 65%);
}

/* ── Navigation dots ── */
.hero-dots {
  position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
  display:flex; gap:8px; z-index:3;
  display: none;
}
.hero-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.40); border:none; cursor:pointer;
  transition:background 0.3s, transform 0.3s; padding:0;
}
.hero-dot.active { background:#fff; transform:scale(1.25); }
.hero-content { position:relative; z-index:2; padding:0 48px 60px; max-width:960px; }
.hero-content h1 {
  /*font-family:'Playfair Display',serif;*/
   font-family:HistoryPro;
  font-size:clamp(20px,2.9vw,44px); font-weight:500; color:#fff;
  line-height:1.18; margin-bottom:10px;
}
.hero-content h2{
  /*font-family:'Playfair Display',serif;*/
  font-family:HistoryPro;
  font-size:clamp(20px,1.8vw,40px); font-weight:500; color:#fff;
  line-height:1.18; margin-bottom:10px;
}
.hero-sub  { color:rgba(255,255,255,0.90); font-size:14px; margin-bottom:22px; }
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
/* RERA moved inline — no extra margin needed */
.hero-rera {
  color:rgba(255,255,255,0.65); font-size:14px; margin:0; padding-left:6px;
  border-left:1px solid rgba(255,255,255,0.28);
}
/* ── Hero CTA 1 — solid white, dark text ── */
.btn-h-outline {
  border:none; background:#fff; color:#1a1a1a;
  padding:12px 24px; font-size:13px; font-weight:600; border-radius:4px;
  cursor:pointer; display:flex; align-items:center; gap:8px;
  transition:all 0.22s; font-family:'Open Sans',sans-serif;
}
.btn-h-outline:hover { background:rgba(255,255,255,0.88); }
/* ── Hero CTA 2 — transparent dark with white border ── */
.btn-h-wapp {
  border:1.5px solid rgba(255,255,255,0.75); background:rgba(0,0,0,0.38); color:#fff;
  padding:12px 24px; font-size:13px; font-weight:600; border-radius:4px;
  cursor:pointer; display:flex; align-items:center; gap:8px;
  transition:all 0.22s; font-family:'Open Sans',sans-serif;
}
.btn-h-wapp:hover { background:rgba(0,0,0,0.58); border-color:#fff; }

/* ══ BADGE BAR ══ */
.badge-bar { background:#fff; border-bottom:1px solid var(--border); overflow:hidden; }
.bb-track {
  display:flex; width:max-content;
  animation: bb-scroll 55s linear infinite;
}
.bb-track:hover { animation-play-state:paused; }
@keyframes bb-scroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.bb-item {
  flex-shrink:0; display:flex; align-items:center; gap:9px;
  padding:16px 40px; font-size:12.5px; font-weight:500; color:var(--dark);
  border-right:1px solid var(--border); cursor:default; transition:background 0.18s;
  white-space:nowrap;
}
.bb-item:hover { background:#faf7f3; }
.bb-item svg, .bb-item i { color:#888; flex-shrink:0; font-size:14px; }

/* ══ SHARED SECTION ══ */
.sec-inner  { max-width:1160px; margin:0 auto; padding:0 60px; }
.sec-label  { font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--primary); margin-bottom:8px; }
.sec-title  { font-family:'HistoryPro',serif; font-size:clamp(24px,2vw,36px); font-weight:700; color:var(--primary); line-height:1.25; margin-bottom:16px; }
.sec-body   { font-size:13.5px; color:var(--text); line-height:1.82; }
.sec-divider{ width:42px; height:2.5px; background:var(--primary); margin:14px 0 20px; }

.btn-orange {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--primary); color:#fff; border:none;
  padding:11px 22px; font-size:13px; font-weight:600; border-radius:4px;
  cursor:pointer; transition:background 0.2s; font-family:'Open Sans',sans-serif;
}
.btn-orange:hover { background:var(--orange-h); }

/* ══ ABOUT ══ */
.about-sec { background:var(--cream); padding:60px 0; }
.about-top  { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-bottom:36px; }
.about-title{ font-family:'HistoryPro',serif; font-size:clamp(24px,2vw,36px); font-weight:600; color:var(--primary); line-height:1.25; margin-bottom:22px; }
.about-desc { font-size:14px; color:var(--text); line-height:1.82; font-family: FuturaBT-Book;}
.about-desc p{ margin-bottom:14px; }
.about-desc p:last-child{ margin-bottom:0; }
.about-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
#highlights-carousel.about-cards.owl-carousel{
  display:block;
  position:relative;
  padding:0 44px;
}
#highlights-carousel .owl-nav{
 margin: 0 auto !important;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    z-index: 2;
}
#highlights-carousel .owl-nav button.owl-prev,
#highlights-carousel .owl-nav button.owl-next{
     width: 34px;
    height: 34px;
    border-radius: 50%;
    /* border: 1px solid var(--primary); */
    background: #fff;
    color: ;
    line-height: inherit;
    margin: 0;
    position: static;
    box-shadow: 3px 4px 13px 0 #0000004a;
}
 
#highlights-carousel .owl-nav button.owl-prev:hover,
#highlights-carousel .owl-nav button.owl-next:hover{
  background:var(--primary);
  color:#fff;
}
#highlights-carousel .owl-dots{
  margin-top:10px;
  text-align:center;
  position: relative;
  z-index: 9;
}
#highlights-carousel .owl-dots .owl-dot span{
  width:8px;
  height:8px;
  margin:4px;
  background:#d9d9d9;
}
#highlights-carousel .owl-dots .owl-dot.active span{
  background:var(--primary);
}
/* 7 cards: row-1 = 4, row-2 = 3 — center last row */
.about-cards .acard:nth-child(5) { grid-column: 1; }
.about-cards .acard:nth-child(6) { grid-column: 2; }
.about-cards .acard:nth-child(7) { grid-column: 3; }
.acard { background:#fff; border-radius:6px; overflow:hidden; border:1px solid var(--border); }
.acard-img  { width:100%; height:158px; object-fit:cover; display:block; }
.acard-label{font-size: 13px;font-weight:500;color:var(--dark);padding:11px 13px;line-height:1.4;}

/* ══ ABOUT BROCHURE ROW ══ */
.about-brochure { margin-top:28px; }
.btn-brochure { padding:13px 28px; font-size:13.5px; }
@media(max-width:600px){
  .about-brochure { margin-top:20px; }
  .btn-brochure { width:100%; justify-content:center; font-size:14px; padding:14px; }
}

/* ══ HOME CRAFTED ══ */
.life-sec  { background:#fff; padding:60px 0; }
.life-top  { display:grid; grid-template-columns:1fr auto; gap:48px; align-items:start; }
.life-title{ font-family:'HistoryPro',serif; font-size:clamp(24px,2vw,36px); font-weight:600; color:var(--primary); line-height:1.25; margin-bottom:16px; }
.life-body { font-size:13.5px; color:var(--text); line-height:1.82; max-width:700px; margin-bottom:0; }

.mp-box { width:340px; background:#fff; border:1px solid var(--border); border-radius:8px; overflow:hidden; display:flex;flex-direction: column; flex-shrink:0; }
.mp-img-col { width:100%; flex:0 0 50%; background:var(--cream); display:flex; align-items:center; justify-content:center; padding:12px; }
.mp-plan-img { width:100%; height:auto; display:block; object-fit:contain; border-radius:94px; }
.mp-info-col{width:100%;flex:0 0 50%;padding:8px 12px;display:flex;flex-direction:row;justify-content: space-between;align-items:center;/* gap: 14px; */}
.mp-title   { font-size:14px; font-weight:700; color:var(--dark); margin-bottom:2px; }
.mp-sub     { font-size:14px; color:#888; margin-bottom:0; }
.btn-mp {
  background:var(--primary); color:#fff; border:none;
  padding:5px 12px; font-size:12px; font-weight:600; border-radius:4px;
  line-height:2.2; align-self:center; flex-shrink:0;
  cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  font-family:'Open Sans',sans-serif; transition:background 0.2s;
}
.btn-mp:hover { background:var(--orange-h); }

/* BHK area — outer wrapper */
.bhk-area {
  /*display: grid;*/
  grid-template-columns: 140px 1fr;
  gap: 0;
  margin-top: 36px;
  /*border: 1px solid var(--border);*/
  border-radius: 8px;
  overflow: hidden;
}

/* Left tab column */
.bhk-tabs-col {
  /*background: #faf7f3;*/
  /*border-right: 1px solid var(--border);*/
  padding: 6px 0;
  display: flex;
  flex-direction: column;
}
.bhk-tab {
  padding: 16px 22px;
  font-size: 14px; font-weight: 600;
  cursor: pointer; color: var(--light);
  border-left: 3px solid transparent;
  border-top: none; border-right: none; border-bottom: none;
  background: none; width: 100%; text-align: left;
  font-family: 'Open Sans',sans-serif;
  transition: all 0.2s;
}
.bhk-tab.active  { color: var(--primary); border-left-color: var(--primary); background: #fff; }
.bhk-tab:hover:not(.active) { color: var(--dark); background: #f5f0eb; }

/* Right content column */
.bhk-content-col { background: #fff; padding: 20px 0; }

/* Cards row — side by side like image 3 */
.bhk-cards-row { display: flex; gap: 16px; }

/* Each card — flex:1 to fill row evenly */
.bhk-card {
  flex: 1;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
  transition: border-color 0.22s, box-shadow 0.22s;
}
.bhk-card:hover { border-color: var(--primary); box-shadow: 0 2px 14px rgba(168,96,1,0.12); }

/* Inner: thumbnail LEFT 50% | info RIGHT 50% */
.bhk-card-inner {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  /* padding: 0; */
  padding: 15px;
  min-height: 140px;
}

/* Left column — 50% — image fills fully, white overlay + button on top */
.bhk-thumb-col {
  width: 50%;
  flex: 0 0 50%;
  position: relative;
  overflow: hidden;
  background: #f5f0eb;
  border-right: 1px solid var(--border);
  min-height: 140px;
}

/* White semi-transparent overlay on the floor plan image */
.bhk-thumb-col::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.72);
  pointer-events: none;
  z-index: 1;
}

/* Floor plan image — fills the entire left column */
.bhk-plan-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 10px;
  position: absolute;
  inset: 0;
}

/* "Click to View Plan" — left-center text link on the image */
.btn-view-plan {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  background: none;
  color: #1a1a1a;
  font-size: 16px; 
  /* font-weight: 600; */
  font-family: 'Open Sans',sans-serif;
  border: none; cursor: pointer;
  padding: 0;
  white-space: nowrap;
  text-decoration: none;
  text-underline-offset: 3px;
  letter-spacing: 0.2px;
}
.btn-view-plan:hover { color: #000; }

/* Right info column — exactly 50% */
.bhk-info {
  width: 50%;
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  align-items: left;
  gap: 0;
  padding: 18px 16px;
  justify-content: center;
}
.bhk-card-type {
  font-size: 18px; font-weight: 700; color: var(--dark);
  margin-bottom: 6px; line-height: 1.2;
}
.bhk-card-area {
  font-size: 14.5px; color: #6b7a9f; line-height: 1.5;
  margin-bottom: 14px;
}

/* "Check Price ↗" — orange outlined button */
.btn-check {
  /*display: inline-flex; */
  align-items: center; gap: 4px;
  border: 1.5px solid var(--primary);
  background: #fff; color: var(--primary);
  padding: 8px 16px; font-size: 14px; font-weight: 600;
  border-radius: 4px; cursor: pointer;
  font-family: 'Open Sans',sans-serif; transition: all 0.2s;
  white-space: nowrap;
   z-index: 999;
   pointer-events: auto;
}
.btn-check:hover { background: var(--primary); color: #fff; }

/* ══ AMENITIES ══ */
.amen-sec  { background:var(--cream); padding:60px 0; }
.amen-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 40px;
    align-items: end;
}
.amen-item {
  text-align: center;
  padding: 38px 18px 32px;
  position: relative;
}
/* Inset vertical divider */
.amen-item::after {
  content: '';
  position: absolute;
  right: 0; top: 18%;
  height: 64%; width: 1px;
  background: rgba(0,0,0,0.14);
}
.amen-item:nth-child(6n)::after,
.amen-item:last-child::after { display: none; }
.amen-icon { 
  color: #555;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center; 
  font-size: 32px;
}
.amen-lbl  { font-size: 14px; font-weight: 400; color: #555; line-height: 1.4; }

/* ══ GALLERY GRID ══ */
.gallery-sec { padding:72px 0 80px; background:#f8f5f0; }
.gl-top { margin-bottom:28px; }
.gl-tabs {
  display:flex; gap:8px; margin-bottom:32px; flex-wrap:wrap;
}
.gl-tab {
  display:flex; align-items:center; gap:7px;
  padding:10px 22px; border:1.5px solid var(--border);
  background:#fff; font-size:13px; font-weight:500; color:var(--dark);
  cursor:pointer; border-radius:5px; transition:all 0.2s; font-family:'Open Sans',sans-serif;
}
.gl-tab i { font-size:12px; }
.gl-tab.active  { background:var(--primary); color:#fff; border-color:var(--primary); }
.gl-tab:hover:not(.active) { border-color:var(--primary); color:var(--primary); }
.gl-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.gl-item {
  position:relative; overflow:hidden; border-radius:8px;
  cursor:pointer; aspect-ratio:4/3; background:#ddd;
}
.gl-item img {
  width:100%; height:100%; object-fit:cover;
  display:block; transition:transform 0.42s ease;
}
.gl-item:hover img { transform:scale(1.07); }
.gl-item-cap {
  position:absolute; bottom:0; left:0; right:0;
  padding:10px 14px 13px;
  background:linear-gradient(transparent,rgba(0,0,0,0.68));
  color:#fff; font-size:12px; font-weight:500;
  opacity:0; transition:opacity 0.25s;
}
.gl-item:hover .gl-item-cap { opacity:1; }

/* ══ GALLERY HEADING ══ */
.gallery-heading {
  background: #fff;
  padding: 40px 0 28px;
}
.gallery-head-title {
  font-family: 'HistoryPro', serif;
  font-size: clamp(24px, 2vw, 36px);
  font-weight: 600;
  color: var(--primary);
  line-height: 1.25;
}

/* Mobile tab bar — hidden on desktop */
.gallery-mob-tabs { display: none; }
.gmt-tab { display: none; }

/* ══ OLD VISION SLIDER (kept for CSS reference, no longer in HTML) ══ */
.vision-sec { position:relative; height:540px; overflow:hidden; background:#111; cursor:pointer; }
.v-slide {
  position:absolute; inset:0; opacity:0; transition:opacity 0.9s ease;
  background-size:cover; background-position:center; cursor:pointer;
}
.v-slide.active { opacity:1; }
.v-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.22); pointer-events:none; }
.v-click-hint {
  position:absolute; bottom:80px; left:50%; transform:translateX(-50%);
  background:rgba(0,0,0,0.55); color:#fff; font-size:12px; font-weight:600;
  padding:7px 16px; border-radius:20px; letter-spacing:0.5px;
  opacity:0; transition:opacity 0.3s; pointer-events:none; white-space:nowrap;
  display:flex; align-items:center; gap:7px;
}
.v-slide:hover .v-click-hint { opacity:1; }
/* Video indicator: centered play icon shown on hover when slide is a video */
.v-slide.is-video::before {
  content:'\f144'; /* Font Awesome play-circle */
  font-family:'Font Awesome 6 Free'; font-weight:900;
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-size:64px; color:rgba(255,255,255,0.82);
  filter:drop-shadow(0 2px 12px rgba(0,0,0,0.55));
  opacity:1; transition:opacity 0.3s; pointer-events:none; z-index:4;
}
.v-slide.is-video:hover::before { opacity:1; }
.v-dots {
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
  z-index:6; display:flex; gap:8px; align-items:center;
}
.v-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.45); cursor:pointer;
  transition:all 0.25s; border:none;
}
.v-dot.active { background:#fff; width:22px; border-radius:4px; }
.v-tabs-card {
  position:absolute; bottom:38%; left:20px; z-index:6;
  background:rgba(255,255,255,0.92); border-radius:6px; overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,0.18); display:flex; flex-direction:column; min-width:110px;
}
.v-tab {
  padding:9px 20px; font-size:12.5px; font-weight:500; cursor:pointer;
  color:var(--dark); border:none; background:transparent; text-align:left;
  border-left:3px solid transparent; border-bottom:1px solid rgba(0,0,0,0.06);
  transition:all 0.18s; font-family:'Open Sans',sans-serif;
}
.v-tab:last-child { border-bottom:none; }
.v-tab.active { color:var(--primary); border-left-color:var(--primary); font-weight:700; background:rgba(168,96,1,0.06); }
.v-tab:hover:not(.active) { background:rgba(0,0,0,0.04); }
.v-arrows { position:absolute; bottom:22px; right:32px; z-index:6; display:flex; gap:7px; }
.v-arr {
  width:34px; height:34px; border:1.5px solid rgba(255,255,255,0.6);
  background:rgba(0,0,0,0.32); color:#fff; border-radius:3px;
  cursor:pointer; font-size:12px; display:flex; align-items:center; justify-content:center;
  transition:all 0.2s;
}
.v-arr:hover { background:var(--primary); border-color:var(--primary); }

/* ══ LIGHTBOX ══ */
.lb-overlay {
  position:fixed; inset:0; z-index:5000;
  background:rgba(0,0,0,0.96); display:none; flex-direction:column;
  animation:lbFadeIn 0.25s ease;
}
.lb-overlay.open { display:flex; }
@keyframes lbFadeIn { from{opacity:0} to{opacity:1} }
.lb-box { display:flex; flex-direction:column; height:100vh; overflow:hidden; }
.lb-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 28px; background:rgba(0,0,0,0.7);
  border-bottom:1px solid rgba(255,255,255,0.08); flex-shrink:0;
}
.lb-header-left { display:flex; align-items:center; gap:32px; }
.lb-logo-text { font-family:'Playfair Display',serif; font-size:17px; font-weight:600; color:#fff; }
.lb-logo-text span { color:rgba(255,255,255,0.5); font-weight:400; font-size:14px; }
.lb-cat-tabs { display:flex; gap:0; }
.lb-cat {
  padding:7px 18px; font-size:12.5px; font-weight:500; cursor:pointer;
  color:rgba(255,255,255,0.6); border:none; background:transparent;
  border-bottom:2px solid transparent; transition:all 0.2s; font-family:'Open Sans',sans-serif;
}
.lb-cat.active { color:#fff; border-bottom-color:var(--primary); }
.lb-cat:hover:not(.active) { color:rgba(255,255,255,0.85); }
.lb-close {
  width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.1);
  border:none; color:#fff; font-size:16px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background 0.2s;
}
.lb-close:hover { background:var(--primary); }
.lb-main { flex:1; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; min-height:0; }
.lb-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,0.12); border:1.5px solid rgba(255,255,255,0.3);
  color:#fff; font-size:16px; cursor:pointer; z-index:10;
  display:flex; align-items:center; justify-content:center; transition:all 0.2s;
}
.lb-nav:hover { background:var(--primary); border-color:var(--primary); }
.lb-prev { left:22px; } .lb-next { right:22px; }
.lb-img-wrap { width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:20px 80px; position:relative; }
#lbMainImg { max-width:100%; max-height:100%; object-fit:contain; border-radius:4px; transition:opacity 0.3s ease; display:block; }
.lb-img-caption {
  position:absolute; bottom:8px; left:50%; transform:translateX(-50%);
  background:rgba(0,0,0,0.6); color:#fff; font-size:12px;
  padding:5px 14px; border-radius:12px; white-space:nowrap;
  opacity:0; transition:opacity 0.3s;
}
.lb-img-wrap:hover .lb-img-caption { opacity:1; }
.lb-thumbs {
  display:flex; gap:8px; padding:12px 24px; overflow-x:auto; flex-shrink:0;
  background:rgba(0,0,0,0.5);
  scrollbar-width:thin; scrollbar-color:rgba(255,255,255,0.2) transparent;
}
.lb-thumbs::-webkit-scrollbar { height:4px; }
.lb-thumbs::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.2); border-radius:2px; }
.lb-thumb {
  width:88px; height:58px; flex-shrink:0; border-radius:4px;
  object-fit:cover; cursor:pointer; opacity:0.5;
  border:2px solid transparent; transition:all 0.2s;
}
.lb-thumb:hover { opacity:0.8; }
.lb-thumb.active { opacity:1; border-color:var(--primary); }
.lb-counter { position:absolute; top:14px; right:80px; color:rgba(255,255,255,0.6); font-size:12px; font-weight:500; }

/* Play button overlay inside lightbox (videos category) */
.lb-play-btn {
  position:absolute; inset:0;
  display:none; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.25); cursor:pointer;
  transition:background 0.22s;
}
.lb-play-btn:hover { background:rgba(0,0,0,0.45); }
.lb-play-btn i { font-size:72px; color:#fff; opacity:0.92; filter:drop-shadow(0 2px 10px rgba(0,0,0,0.55)); transition:transform 0.2s; }
.lb-play-btn:hover i { transform:scale(1.08); }
/* Video thumbnail in thumbs strip gets a small play icon */
.lb-thumb-video { position:relative; }

/* ══ VIDEO MODAL ══ */
.vid-modal-overlay {
  position:fixed; inset:0; z-index:9000;
  background:rgba(0,0,0,0.90);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity 0.28s ease;
}
.vid-modal-overlay.open { opacity:1; pointer-events:all; }
.vid-modal-box {
  position:relative;
  width:min(900px, 94vw);
  background:#000; border-radius:8px; overflow:hidden;
  box-shadow:0 16px 60px rgba(0,0,0,0.7);
  transform:scale(0.96); transition:transform 0.28s ease;
}
.vid-modal-overlay.open .vid-modal-box { transform:scale(1); }
.vid-modal-close {
  position:absolute; top:-44px; right:0;
  background:rgba(255,255,255,0.12); border:none; color:#fff;
  font-size:18px; cursor:pointer; border-radius:50%;
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  transition:background 0.2s;
}
.vid-modal-close:hover { background:var(--primary); }
.vid-iframe-wrap {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
}
.vid-iframe-wrap iframe {
  position:absolute; inset:0; width:100%; height:100%; border:none;
}

/* ══ CONNECTIVITY ══ */
.conn-sec  { background:#fff; padding:60px 0; }
.conn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 36px;
}
.conn-card {
  background: #fff;
  border: 1px solid #e8e2d9;
  border-radius: 10px;
  overflow: hidden;          /* clips icon-bg to card radius */
  transition: box-shadow 0.22s;
  padding: 0;                /* padding handled by inner cols */
}
.conn-card:hover { box-shadow: 0 4px 18px rgba(0,0,0,0.07); }

/* ── Row: icon-panel left | body right ── */
.cc-inner {
  display: flex;
  align-items: stretch;      /* icon panel stretches full card height */
  min-height: 160px;
  padding: 15px;
}

/* ── Icon panel — cream bg, left column only ── */
.cc-ico-wrap {
  flex-shrink: 0;
  width: 140px;
  background: #daeefe;       /* warm cream — only the icon area */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 20px;
      border-radius: 10px;
}
.cc-ico-wrap svg { width: 90px; height: 90px; }

/* ── Text body — white bg ── */
.cc-body  { flex: 1; min-width: 0; padding: 24px 24px 20px; }
.cc-title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 10px;
  font-family: 'Inter', sans-serif;
}

/* ── Bullet list ── */
.cc-list {
  list-style: disc;
  padding-left: 17px;
  margin: 0 0 4px;
}
.cc-list li {
  font-size: 13px;
  color: #444;
  line-height: 1.5;
  padding: 3.5px 0;
}

/* ── Extra items hidden by default ── */
.cc-extra                         { display: none; }
.conn-card.cc-expanded .cc-extra  { display: list-item; }

/* ── VIEW MORE / VIEW LESS button ── */
.cc-toggle {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--primary);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  padding: 8px 0 0;
  margin-top: 2px;
  font-family: 'Inter', sans-serif;
  display: block;
}
.cc-toggle:hover { text-decoration: underline; }


/* ══ FAQ ══ */
.faq-sec  { background:var(--cream); padding:60px 0; }
.faq-list { margin-top:36px; }
.faq-item {border-bottom:1px solid var(--border);overflow:hidden;background: #dfdede;margin-bottom: 14px;}
.faq-item:first-child {/* border-top:1px solid var(--border); */}
.faq-q {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 14px 16px;
  background:none;
  border:none;
  cursor:pointer;
  /* font-family:'Open Sans',sans-serif; */
  font-size: 15px;
  font-weight:600;
  color:var(--dark);
  text-align:left;
  transition:color 0.2s;
  background-color: #e3eef7;
  /* margin-bottom: 8px; */
  /* border-radius: 10px; */
}
.faq-q:hover { color:var(--primary); }
.faq-q.open  { color:var(--primary); }
.faq-icon { font-size:13px; flex-shrink:0; transition:transform 0.3s; color:#888; }
.faq-q.open .faq-icon { transform:rotate(180deg); color:var(--primary); }
.faq-a {
  max-height:0; overflow:hidden;
  transition:max-height 0.35s ease, padding 0.2s; padding-bottom:0;
}
.faq-a.open {max-height:400px;/* margin-bottom: 18px; */padding: 14px 8px; background:#fdfeff;/* padding-top: 0; */}
.faq-a p {font-size:14px;color:var(--text);line-height:1.82;margin: 0;}

/* ══ developer / DEVELOPER ══ */
.leg-sec     { background:#fff; padding:60px 0; }
.leg-title   { 
    /*font-family:'Playfair Display',*/
     font-family:HistoryPro,
serif; font-size:clamp(22px,2vw,34px); font-weight:700; color:var(--primary); line-height:1.28; margin-bottom:18px; }
.leg-body    { font-size:14px; color:#444; line-height:1.80; max-width:900px; margin-bottom:14px; }
.leg-disc    { font-size:12px; color:#666; line-height:1.75; max-width:900px; margin-top:22px; margin-bottom:16px; }
.leg-privacy { display:inline-block; font-size:13px; font-weight:600; color:var(--primary); text-decoration:underline; margin-bottom:12px; }
.leg-privacy:hover { color:var(--orange-h); }
.leg-copy    { font-size:12.5px; color:#555; margin-top:4px; }

/* ══ SITE FOOTER ══ */
.site-footer { background:var(--cream); border-top:1px solid var(--border); }
.sf-main { padding:24px 0 20px; }

/* RERA card — Logo · QR row · text lines */
.sf-rera-card {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding-bottom:22px; margin-bottom:20px;
  border-bottom:1px solid var(--border);
}
.sf-logo {height: 36px;width:auto;object-fit:contain;display:block;margin-bottom: 8px;}

/* QR codes in a horizontal row — add <img class="sf-qr"> for each additional project RERA */
.sf-qr-row { display:flex; gap:14px; justify-content:center; margin-bottom:12px; }
.sf-qr { width:90px; height:90px; object-fit:contain; display:block; }

/* Text lines */
.sf-rera-reg  { font-size:12px; color:var(--primary); margin-bottom:5px; }
.sf-rera-line { font-size:12.5px; color:var(--dark); margin-bottom:3px; line-height:1.6; }
.sf-lbl { font-weight:400; color:#555; }
.sf-val { font-weight:700; color:var(--dark); }

/* MahaRERA note */
.sf-rera-note {
  font-size:12px; color:#888; text-align:center;
  line-height:1.7; margin-bottom:12px;
}
.sf-rera-note a { color:var(--primary); text-decoration:none; font-weight:500; }
.sf-rera-note a:hover { text-decoration:underline; }

/* Disclaimer */
.sf-disclaimer {
  font-size:11px; color:#aaa; line-height:1.9; text-align:center;
  margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--border);
}

/* Links */
.sf-links { display:flex; align-items:center; justify-content:center; gap:18px; font-size:13px; }
.sf-links a { color:#777; text-decoration:none; transition:color 0.2s; }
.sf-links a:hover { color:var(--primary); }
.sf-sep { color:#ccc; font-size:12px; }

/* Copyright */
.sf-copy { background:#1c1c1c; color:rgba(255,255,255,0.5); text-align:center; font-size:12px; padding:14px 20px; letter-spacing:0.3px; }
.sf-copy strong { color:rgba(255,255,255,0.85); }

/* Responsive */
@media(max-width:600px){
  .sf-main { padding:24px 0 18px; }
  .sf-rera-list { min-width:0; width:100%; }
  .sf-disclaimer { font-size:10.5px; }
  .sf-links { flex-wrap:wrap; gap:10px; font-size:12px; }
  .sf-copy { font-size:11.5px; padding:13px 16px; }
}

/* ══ MODAL ══ */
.modal-ov { position:fixed; inset:0; background:rgba(0,0,0,0.58); z-index:999999; display:none; align-items:center; justify-content:center; }
.modal-ov.open { display:flex; }
.modal-box {background-image: url(../images/background.webp) !important;background-color: #fff; background-position: center !important;
    background-size: contain !important;
    background-repeat: repeat !important; border-radius:14px; padding:24px; width:100%; max-width:350px; position:relative; animation:mup 0.28s ease; }
@keyframes mup { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
.m-close { position:absolute; top:14px; right:18px; font-size:24px; cursor:pointer; color:#888; background:none; border:none; line-height:1; }
.m-title { font-family:'HistoryPro',serif; font-size:22px; font-weight:600; text-align:center; margin-bottom:4px; color:var(--primary); }
.m-sub { font-size:13px; color:#777; text-align:center; margin-bottom:22px; }
.fg { margin-bottom:0; }
.fg input {
  width:100%; border:none; border-bottom:1.5px solid #ddd;
  padding:10px 0 10px; font-size:14px; outline:none;
  font-family:'Open Sans',sans-serif; color:var(--dark);
  background:transparent; border-radius:0;
  transition:border-color 0.2s;
}
.fg input:focus { border-bottom-color:var(--primary); }
.fg input::placeholder { color:#aaa; }
/* phone row */
.fg-phone {
  display:flex; align-items:center; gap:0;
  border-bottom:1.5px solid #ddd; margin-bottom:0;
  transition:border-color 0.2s;
}
.fg-phone:focus-within { border-bottom-color:var(--primary); }
.fg-phone input {
  border:none; border-bottom:none; padding:14px 0 10px 4px;
  flex:1; margin-bottom:0; font-size:14px; background:transparent; color:var(--dark);
}
/* Flag / dial-code trigger */
.fg-flag {
  display:flex; align-items:center; gap:4px;
  padding:10px 8px 10px 0; font-size:14px; color:#555;
  flex-shrink:0; cursor:pointer; user-select:none; white-space:nowrap;
}
.fg-flag:hover { color:#222; }
#mFlagEmoji { font-size:18px; line-height:1; }
#mDialCode  { font-size:13px; }
/* ── Body-level country dropdown (zero CDN, always on top) ── */
#bh-cc-dd {
  display:none; position:absolute;
  background:#fff; border:1px solid #ddd;
  border-radius:8px; box-shadow:0 8px 32px rgba(0,0,0,0.18);
  z-index:2147483647; width:260px;
  flex-direction:column; overflow:hidden;
}
#bh-cc-dd.open { display:flex; }
#bh-cc-search {
  padding:9px 12px; border:none; border-bottom:1px solid #eee;
  font-size:13px; outline:none; width:100%; box-sizing:border-box;
  background:#f8f8f8; color:#333; font-family:'Open Sans',sans-serif;
}
#bh-cc-list {
  overflow-y:auto; max-height:220px;
}
.bh-cc-item {
  display:flex; align-items:center; gap:8px;
  padding:9px 12px; cursor:pointer; font-size:13px;
  transition:background 0.1s;
}
.bh-cc-item:hover { background:#f5f5f5; }
.bh-ci-flag { width:20px; height:15px; border-radius:2px; flex-shrink:0; object-fit:cover; }
.bh-ci-name { flex:1; color:#333; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bh-ci-code { color:#888; font-size:12px; flex-shrink:0; }
/* consent checkbox */
.fg-consent {
  margin:16px 0 18px; font-size:8px; color:#888; line-height:1.55;
}
.fg-consent label { display:flex; align-items:flex-start; gap:8px; cursor:pointer; }
.fg-consent input[type="checkbox"] {
  margin-top:2px; width:16px; height:16px; flex-shrink:0;
  accent-color:var(--primary);
}
.fg-consent a { color:var(--primary); text-decoration:none; }
/* Enquire Now button — purple/gradient like Image 1 */
.btn-enquire {
  width:100%; padding:8px 10px; font-size:14px; font-weight:600;
  border:none; border-radius:8px; cursor:pointer;
  color:#fff; font-family:'Open Sans',sans-serif;
  background:var(--primary);
  transition:opacity 0.2s; letter-spacing:0.3px;
}
.btn-enquire:hover { opacity:0.88; }
.btn-enquire:disabled { opacity:0.6; cursor:not-allowed; }
/* Or divider */
.m-or {
  text-align:center; font-size:13px; color:#aaa;
  margin:12px 0; font-weight:500;
}
/* WhatsApp connect button — green */
.btn-wa-connect {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:8px 10px; font-size:14px; font-weight:600;
  border:none; border-radius:8px; cursor:pointer;
  color:#fff; text-decoration:none;
  background:linear-gradient(195deg, #53d161, #23b73c);
  font-family:'Open Sans',sans-serif;
  transition:opacity 0.2s;
}
.btn-wa-connect:hover { opacity:0.88; }

/* ══ THANK YOU OVERLAY ══ */
.thankyou-overlay {
  position:fixed; inset:0; z-index:4000;
  background:rgba(0,0,0,0.6);
  display:none; align-items:center; justify-content:center;
}
.thankyou-overlay.open { display:flex; }
.thankyou-box {
  background:#fff; border-radius:14px;
  padding:48px 40px; text-align:center;
  max-width:420px; width:90%;
  animation:mup 0.3s ease;
}
.ty-tick {
  width:64px; height:64px; border-radius:50%;
  background:#e8f5e9; color:#4caf50;
  font-size:32px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px;
}
.thankyou-box h2 {
  font-family:'Playfair Display',serif;
  font-size:28px; font-weight:600; color:var(--dark);
  margin-bottom:10px;
}
.thankyou-box p {
  font-size:14px; color:#666; line-height:1.65;
  margin-bottom:24px;
}

/* ══ SCROLL REVEAL ══ */
.rev { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease, transform 0.6s ease; }
.rev.in { opacity:1; transform:none; }

#developer .developer-info img {
    padding: 20px 10px;
    margin: 14px auto;
    border: 1px solid #ccc;
    border-radius: 8px;
    width: 150px;
}

/* ══ MOBILE HERO CONTENT ══ */
.mob-hero-content { display:none; } /* hidden on desktop */

/* ══ MOBILE NAV HAMBURGER ══ */
.nav-hamburger {
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:none; cursor:pointer;
  padding:6px; flex-shrink:0; margin-left:auto;
}
.nav-hamburger span {
  display:block; height:2px; border-radius:2px; background:#fff;
  transition:all 0.28s ease; width:100%;
}
nav.scrolled .nav-hamburger span { background:var(--dark); }
.nav-hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.active span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ══ MOBILE NAV DRAWER ══ */
.mob-nav-overlay {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2100;
}
.mob-nav-overlay.open { display:block; }
.mob-nav-drawer {
  position:fixed; top:0; right:0;
  width:85vw; max-width:320px; height:100vh;
  background:#fff; z-index:2200;
  display:flex; flex-direction:column;
  box-shadow:-6px 0 30px rgba(0,0,0,0.18);
  transform:translateX(100%);
  transition:transform 0.3s ease;
  visibility:hidden;
}
.mob-nav-drawer.open { transform:translateX(0); visibility:visible; }

/* Force-hide all mobile elements on desktop */
@media(min-width:601px){
  .mob-hero-content { display:none !important; }
}
@media(min-width:961px){
  .nav-hamburger,
  .mob-nav-drawer,
  .mob-nav-overlay { display:none !important; }
  .hero-content { display:block !important; }
}
@media(min-width:1025px){
  .mob-cta-bar { display:none !important; }
}
.mob-nav-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 20px; border-bottom:1px solid #ebebeb;
  flex-shrink:0; background:#fff;
}
.mob-nav-brand { display:flex; align-items:center; gap:6px; }
.mnb-m  { font-size:13px; font-weight:700; color:#cc1f1f; font-family:'Open Sans',sans-serif; }
.mnb-sep{ font-size:13px; color:#ccc; }
.mnb-b  { font-size:13px; font-weight:800; color:#1a1a1a; letter-spacing:1px; text-transform:uppercase; font-family:'Open Sans',sans-serif; }
.mob-nav-close {
  width:32px; height:32px; border-radius:50%;
  background:#f0f0f0; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:#555; font-size:16px; flex-shrink:0;
}
.mob-nav-links {
  flex:1; overflow-y:auto; display:block;
}
.mob-nav-links a {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 20px; font-size:15px; font-weight:500; color:#1a1a1a;
  text-decoration:none; 
  /* border-bottom:1px solid #f0ece6; */
  transition:background 0.12s;
}
.mob-nav-links a i { font-size:11px; color:#bbb; }
.mob-nav-links a:active { background:#fdf8f4; color:var(--primary); }
.mob-nav-cta { padding:16px 18px; border-top:1px solid var(--border); flex-shrink:0; }

/* ══ MOBILE BOTTOM CTA BAR ══ */
.mob-cta-bar {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:999999;
  background:var(--primary); border-top:1px solid var(--border);
  box-shadow:0 -3px 16px rgba(0,0,0,0.10);
  color:#fff;
  padding:6px 0; 
  gap:0;
}
.mob-cta-btn {
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:5px;
  background:none; border:none; cursor:pointer;
  text-decoration:none; padding:4px 6px;
  font-family:'Open Sans',sans-serif;
  position:relative;
}
.mob-cta-btn + .mob-cta-btn::before {
  content:''; position:absolute; left:0; top:10%; height:80%;
  width:1px; background:var(--border);
}
.mob-cta-icon {
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; filter: invert(1);
}
.mob-cta-label {
  font-size:11.5px; font-weight:600; line-height:1.2;
  white-space:nowrap; color:#fff;
}

/* ── Unlock Pricing animated icon ── */
.unlock-anim-wrap {
  position:relative; display:flex;
  align-items:center; justify-content:center;
  width:32px; height:32px;
}
.unlock-anim-icon {
  animation: unlockBounce 1.6s ease-in-out infinite;
  position:relative; z-index:1;
}
.unlock-ring {
  position:absolute; inset:0; border-radius:50%;
  border:2px solid rgba(0,0,0,0.35);
  animation: unlockRing 1.6s ease-out infinite;
}
@keyframes unlockBounce {
  0%,100% { transform:translateY(0) scale(1); }
  40%      { transform:translateY(-3px) scale(1.08); }
  60%      { transform:translateY(-1px) scale(1.04); }
}
@keyframes unlockRing {
  0%   { transform:scale(0.7); opacity:0.8; }
  80%  { transform:scale(1.5); opacity:0; }
  100% { transform:scale(1.5); opacity:0; }
}

/* ══ RESPONSIVE ══ */

/* ── iPad Pro: 961px – 1024px — show bottom CTA bar ── */
@media(min-width:961px) and (max-width:1024px){
  .mob-cta-bar { display:flex; }
  .chat-fab { bottom:96px; }
}

/* ── Tablet: 768px – 960px ── */
@media(max-width:1024px){
  body { padding-bottom:72px; }
}

@media(max-width:960px){
  nav { padding:0 14px; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .mob-cta-bar { display:flex; }
  /* push chatbot fab above bottom bar */
  .chat-fab { bottom:96px; }
  /* Hide desktop-only nav elements on tablet/mobile */
  .btn-nav     { display:none; }
  .nav-affiliate-logo {
    display:block;
    height:38px;
    margin-left:95px;
    /*margin-right:12px;*/
  }
  /* Hide Unlock Pricing button inside drawer on mobile */
  .mob-nav-cta { display:none; }
  .sec-inner { padding:0 28px; }
  .about-sec,.life-sec,.amen-sec,.conn-sec,.faq-sec,.leg-sec { padding:52px 0; }

  /* Hero */
  .hero-content { padding:0 24px 48px; max-width:100%; }
  .hero-content h1 { white-space:normal; font-size:clamp(22px,5vw,34px); }
  .hero-sub { font-size:13px; }
  .hero-btns { flex-direction:column; align-items:flex-start; gap:10px; }
  .btn-h-outline,.btn-h-wapp { width:100%; max-width:340px; justify-content:center; }
  .hero-rera { white-space:normal; border-left:none; padding-left:0; font-size:11px; }

  /* About */
  .about-top { grid-template-columns:1fr; gap:20px; }
  .about-cards { grid-template-columns:repeat(2,1fr); }
  .about-cards .acard:nth-child(5),
  .about-cards .acard:nth-child(6),
  .about-cards .acard:nth-child(7) { grid-column:auto; }

  /* Life / BHK */
  .life-top { grid-template-columns:1fr; gap:28px; }
  .mp-box   { width:100%; max-width:380px; }
  .bhk-area { grid-template-columns:1fr; margin-top:20px; border-radius:8px; overflow:hidden; }
  .bhk-tabs-col { flex-direction:row; background:#fff; border-right:none; border-bottom:1px solid var(--border); padding:0; overflow-x:auto; }
  .bhk-tab  { padding:13px 22px; border-left:none; border-bottom:3px solid transparent; font-size:13.5px; background:#fff; color:#888; }
  .bhk-tab.active { border-left:none; border-bottom-color:var(--primary); color:var(--primary); background:#fff; }
  .bhk-content-col { padding:12px; }
  .bhk-cards-row { flex-direction:column; gap:12px; }

  /* Amenities */
  .amen-grid { grid-template-columns:repeat(3,1fr); }
  .amen-item::after { display:none !important; }
  .amen-item:nth-child(3n)::after { display:block !important; }
  .amen-item:nth-child(3n)::after,
  .amen-item:last-child::after { display:none !important; }

  /* Gallery */
  .vision-sec { height:420px; }
  .v-tabs-card { bottom:auto; top:12px; left:12px; right:12px; flex-direction:row; flex-wrap:wrap; min-width:0; }
  .v-tab { padding:7px 14px; font-size:12px; flex:1; text-align:center; }
  .v-arrows { bottom:14px; right:14px; }
  .v-click-hint { bottom:56px; }

  /* Gallery heading — tablet */
  .gallery-heading { padding:28px 0 0; }
  .gallery-head-title { font-size:26px; }
  .gallery-mob-tabs {
    display: flex;
    margin: 15px;
    /* border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border); */
            background: #FFFBF6;
  }
  .gmt-tab {
    display: block;
    flex: 1;
    padding: 13px 8px;
    font-size: 13px; font-weight: 500;
    color: #777; background: none; border: none;
    border-bottom: 2.5px solid transparent;
    cursor: pointer; font-family: 'Open Sans', sans-serif;
    white-space: nowrap; text-align: center;
    transition: color 0.2s, border-color 0.2s;
  }
  .gmt-tab.active { color: var(--primary); border-bottom-color: var(--primary); font-weight:600; }
  .v-tabs-card { display: none !important; }

  /* Connectivity — icon LEFT, text RIGHT on tablet too */
  .conn-grid   { grid-template-columns:1fr; gap:14px; }
  .cc-inner    { flex-direction:row; min-height:unset; align-items:stretch; }
  .cc-ico-wrap { width:38%; flex:0 0 38%; padding:22px 14px; justify-content:center; align-items:center; flex-direction:column; }
  .cc-ico-wrap svg { width:90px; height:90px; }
  .cc-body     { flex:1; padding:18px 16px; }
  .cc-title    { font-size:14px; }
  .cc-list li  { font-size:12.5px; }

  /* Modal */
  .modal-box { padding:28px 20px; margin:16px; max-width:calc(100% - 32px); }
}

/* ── Mobile: max 600px ── */
@media(max-width:600px){
  :root { --nav-h:56px; }

  /* Nav */
  nav { padding:0 12px; background: #00000045; }
  .nav-logo-img { height:34px; }

  /* Hero image — tall like reference site */
  .hero {
    height:55vh;
    min-height:300px;
    max-height:480px;
    align-items:flex-end;
  }
  .hero-content { display:none; } /* hide desktop overlay text on mobile */
  .hero-darken {
    background:linear-gradient(to bottom, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.08) 100%);
  }
  .hero-slide {
    background-position: center top;
    background-image:url('../images/Banners/M1.webp');
  }
  .hero-slide:nth-child(1) { background-image:url('../images/Banners/M1.webp'); }
  .hero-slide:nth-child(2) { background-image:url('../images/Banners/M2.webp'); }
  .hero-dots { bottom:10px; }

  /* Mobile hero content block — shown BELOW the image */
  .mob-hero-content {
    display:block;
    background:#fff;
    padding:18px 16px 16px;
    border-bottom:1px solid var(--border);
    text-align: center;
  }
  .mob-hero-title1 {
    font-family:'Playfair Display',serif;
    font-size:26px; font-weight:600; color:var(--dark);
    line-height:1.25;  
  }
  .mob-hero-title {
    font-family:'Playfair Display',serif;
    font-size:20px; font-weight:600; color:var(--dark);
    line-height:1.25; 
    
        margin: 14px 0px;
  }
  .mob-hero-sub {
     font-size: 18px;
     color:#555;
     line-height: 1.2;
     margin-bottom: 16px;
     /* font-weight: bold; */
  }
  
  .mob-hero-sub span.txt-bold{font-size: 30px;display: block;color: var(--primary);font-weight: 600; margin-top:10px;}
  .mob-hero-btn {
    width:100%; background:#fff; color:#1a1a1a;
    border:1.5px solid #ddd; border-radius:6px;
    padding:14px 18px; font-size:14px; font-weight:700;
    cursor:pointer; font-family:'Open Sans',sans-serif;
    display:flex; align-items:center; justify-content:center; gap:8px;
    transition:background 0.2s; margin-bottom:10px;
    position:relative; overflow:hidden;
  }
  .mob-hero-btn:hover { background:#f5f5f5; }
  .mob-hero-rera {
    font-size:10.5px; color:#999; text-align:center;
  }

  /* Badge bar */
  .bb-item { padding:11px 20px; font-size:11px; gap:7px; }

  /* Sections */
  .sec-inner { padding:0 16px; }
  .about-sec,.life-sec,.amen-sec,.conn-sec,.faq-sec,.leg-sec { padding:40px 0; }
  .sec-title {font-size: 18px;line-height: 1.5;margin-bottom: 0;}

  /* About */
  .about-title {font-size: 18px;margin-bottom: 5px;line-height: 1.5;}
  .about-top {gap: 8px;}
  #highlights-carousel .owl-nav{width:95%}
  .about-cards { grid-template-columns:repeat(2,1fr); gap:10px;padding: 0 !important; }
  .about-cards .acard:nth-child(5),
  .about-cards .acard:nth-child(6),
  .about-cards .acard:nth-child(7) { grid-column:auto; }
  .acard-img { height:180px; }
  .acard-label { font-size:14px; padding:8px 10px;text-align:center; }

  /* Life / BHK */
  .life-title {font-size: 18px;line-height: 1.5;}
  .life-body  { font-size:13px; }
  .mp-box     { max-width:100%; }
  .mp-img-col { width:100%; flex:0 0 50%; }
  /* 50/50 horizontal card layout on mobile */
  .bhk-card-inner {min-height:130px;display: flex;align-items: center;width: 100%;flex-direction: column;}
  .bhk-thumb-col  {width: 100%;flex:0 0 50%;min-height:130px;}
  .bhk-plan-img   { padding:10px; }
  .btn-view-plan  { font-size:15px; padding:5px 10px; bottom:10px; }
  .bhk-info       {width: 100%;flex:0 0 50%;padding:14px 12px;}
  .bhk-card-type  {font-size: 20px;margin-bottom:4px;}
  .bhk-card-area  {font-size: 16px;margin-bottom:10px;}
  .btn-check      { padding:7px 12px; font-size:12px; width:100%; justify-content:center; }
  .bhk-cards-row  { gap:10px; }

  /* Amenities — 3 cols on mobile, vertical dividers only (same as desktop) */
  .amen-grid { grid-template-columns:repeat(3,1fr); }
  .amen-item { padding:22px 6px 18px; border:none; }
  .amen-item::after { display:block !important; }
  .amen-item:nth-child(3n)::after  { display:none !important; }
  .amen-item:last-child::after     { display:none !important; }
  .amen-icon { font-size:40px; height:50px; }
  .amen-lbl  { font-size:15px; }

  /* Gallery heading — mobile */
  .gallery-heading { padding:40px 0 0; }
  .gallery-head-title {font-size: 18px;line-height: 1.5;}

  /* Mobile tab bar — show below heading */
  .gallery-mob-tabs {
    display: flex;
    margin-top: 20px;
    /* border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border); */
            background: var(--cream);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .gallery-mob-tabs::-webkit-scrollbar { display: none; }
  .gmt-tab {
    display: block;
    flex: 1;
    padding: 13px 6px;
    font-size: 13px;
    font-weight: 500;
    color: #777;
    background: none;
    border: none;
    border-bottom: 2.5px solid transparent;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    white-space: nowrap;
    text-align: center;
    transition: color 0.2s, border-color 0.2s;
  }
  .gmt-tab.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
    font-weight: 600;
  }

  /* Gallery slider — hide overlaid tab card, full-width image */
  .vision-sec { height:260px; }
  .v-tabs-card { display:none !important; }
  .v-arrows { bottom:10px; right:10px; gap:4px; }
  .v-arr { width:28px; height:28px; font-size:11px; }
  .v-dots { bottom:10px; }
  .v-click-hint { display:none; }

  /* Lightbox */
  .lb-header { padding:10px 14px; flex-wrap:wrap; gap:8px; }
  .lb-header-left { flex-direction:column; gap:8px; }
  .lb-logo-text { font-size:14px; }
  .lb-img-wrap { padding:12px 44px; }
  .lb-prev { left:6px; } .lb-next { right:6px; }
  .lb-nav { width:34px; height:34px; font-size:13px; }
  .lb-thumb { width:64px; height:44px; }
  .lb-counter { top:10px; right:50px; font-size:11px; }

  /* Connectivity — icon LEFT, text RIGHT (same as desktop/reference) */
  .conn-grid   {grid-template-columns:1fr;gap: 12px;24px:unset;margin-top: 24px;}
  .cc-inner    { flex-direction:row; min-height:unset; align-items:stretch; }
  .cc-ico-wrap {
    width: 38%;
    flex: 0 0 38%;
    padding: 22px 14px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .cc-ico-wrap svg { width:62px; height:62px; }
  .cc-body     { flex:1; padding:16px 14px 14px; }
  .cc-title    { font-size:14px; margin-bottom:8px; }
  .cc-list     { padding-left:14px; }
  .cc-list li  { font-size:12px; padding:2.5px 0; }

  /* developer */
  .leg-title {font-size:18px;margin-bottom: 12px;}
  .leg-body  { font-size:13px; }

  /* Modal */
  .modal-box { padding:24px 16px; border-radius:10px; margin:12px; max-width:calc(100% - 24px); }
  .m-title { font-size:22px; }

  /* Chatbot FAB */
  .chat-fab { bottom:18px; right:16px; width:50px; height:50px; }
}

/* ── Very small: max 380px ── */
@media(max-width:380px){
  .hero-content h1 { font-size:17px; }
  .btn-h-outline,.btn-h-wapp { font-size:12px; padding:11px 14px; }
  .about-cards { grid-template-columns:1fr 1fr; gap:8px; }
  .amen-grid { grid-template-columns:repeat(3,1fr); margin-top:20px; }
  .amen-item { padding:18px 4px 14px; }
  .amen-icon { font-size:26px; height:32px; }
  .amen-lbl  { font-size:13px; }
  .bhk-tab        { padding:12px 16px; font-size:12.5px; }
  .bhk-card-inner { min-height:110px; }
  .bhk-thumb-col  { min-height:110px; }
  .bhk-plan-img   { padding:8px; }
  .btn-view-plan  { font-size:15px; padding:4px 9px; bottom:8px; }
  .bhk-info       { padding:10px; text-align:center;}
  .bhk-card-type  { font-size:18px; }
  .bhk-content-col { padding:10px 10px; }
  .bhk-card-area  { font-size:14px; margin-bottom:8px; }
  .btn-check      { padding:6px 8px; font-size:14px; }
}

/* ════════════════════════════════════════════
   BUTTON SHIMMER ANIMATION
   Left → Right flash sweep — all buttons
   Uses transform:translateX (GPU-accelerated,
   reliable across all browsers & devices)
════════════════════════════════════════════ */
@keyframes btn-shimmer {
  0%   { transform: skewX(-20deg) translateX(-300%); }
  100% { transform: skewX(-20deg) translateX(500%); }
}

/* ── Every animated button needs position + overflow ── */
.btn-orange,
.btn-enquire,
.s-btn1,
.btn-mp,
.btn-check,
.btn-nav,
.btn-h-outline,
.btn-h-wapp,
.btn-wa-connect,
.mob-hero-btn {
  position: relative;
  overflow: hidden;
}

/* ── Shimmer streak ── */
.btn-orange::before,
.btn-enquire::before,
.s-btn1::before,
.btn-mp::before,
.btn-check::before,
.btn-nav::before,
.btn-h-outline::before,
.btn-h-wapp::before,
.btn-wa-connect::before,
.mob-hero-btn::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255,255,255,0)    0%,
    rgba(255,255,255,0.52) 50%,
    rgba(255,255,255,0)    100%
  );
  transform: skewX(-20deg) translateX(-300%);
  pointer-events: none;
  z-index: 1;
  animation: btn-shimmer 3.2s ease-in-out infinite;
}

/* ── Staggered delays — every button gleams at a different moment ── */
.btn-orange::before     { animation-delay: 0s;   }
.btn-nav::before        { animation-delay: 0.4s; }
.btn-enquire::before    { animation-delay: 1.6s; }
.s-btn1::before         { animation-delay: 0.3s; }
.btn-mp::before         { animation-delay: 2.0s; }
.btn-check::before      { animation-delay: 1.0s; }
.btn-wa-connect::before { animation-delay: 2.4s; }
.mob-hero-btn::before   { animation-delay: 0.6s; }

/* ── Light/outline buttons use a dark flash instead of white ── */
.btn-h-outline::before {
  background: linear-gradient(
    to right,
    rgba(0,0,0,0)    0%,
    rgba(0,0,0,0.18) 50%,
    rgba(0,0,0,0)    100%
  );
  animation-delay: 0.2s;
}
.btn-h-wapp::before {
  background: linear-gradient(
    to right,
    rgba(255,255,255,0)    0%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0)    100%
  );
  animation-delay: 0.2s;
}

#developer .developer-info{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}


@media (max-width:580px){
    #developer .developer-info{
        text-align: center;
    }
}