/* ==========================================================================
   OMAXE DWARKA DELHI Ã¢â‚¬â€ LUXURY LANDING PAGE
   Design tokens, base, and section styles
   ========================================================================== */

:root{
  --blue: #0D4D99;
  --blue-deep: #082f5e;
  --red: #D62828;
  --white: #FFFFFF;
  --grey-light: #F7F7F7;
  --grey-dark: #555555;
  --gold: #C8A45D;
  --gold-light: #e6cf9f;
  --bg: #FAFAFA;

  --font-heading: 'Cinzel', serif;
  --font-sub: 'Playfair Display', serif;
  --font-body: 'Poppins', sans-serif;

  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 8px;

  --shadow-soft: 0 10px 40px rgba(13,77,153,0.08);
  --shadow-strong: 0 20px 60px rgba(8,47,94,0.18);

  --transition: all .35s cubic-bezier(.25,.8,.25,1);
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  font-family: var(--font-body);
  color: var(--grey-dark);
  background: var(--bg);
  overflow-x: hidden;
  font-weight: 400;
  line-height: 1.7;
}

h1,h2,h3,h4,h5,h6{
  font-family: var(--font-heading);
  color: var(--blue-deep);
  margin: 0;
}

img{ max-width: 100%; display: block; }

a{ text-decoration: none; color: inherit; }

::selection{ background: var(--gold); color: #fff; }

:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* ==========================================================================
   JALI PATTERN Ã¢â‚¬â€ signature motif (Indian lattice-screen, gold on transparent)
   ========================================================================== */

.jali-strip{
  height: 46px;
  width: 100%;
  background-image:
    radial-gradient(circle at 10px 10px, transparent 6px, var(--gold) 6.6px, var(--gold) 7px, transparent 7.6px),
    radial-gradient(circle at 30px 30px, transparent 6px, var(--gold) 6.6px, var(--gold) 7px, transparent 7.6px);
  background-size: 40px 40px;
  background-position: 0 0, 20px 20px;
  opacity: .18;
}
.jali-strip.flip{ transform: scaleY(-1); }

.hero-jali-overlay{
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 12px 12px, transparent 7px, rgba(200,164,93,.35) 7.6px, rgba(200,164,93,.35) 8px, transparent 8.6px),
    radial-gradient(circle at 36px 36px, transparent 7px, rgba(200,164,93,.35) 7.6px, rgba(200,164,93,.35) 8px, transparent 8.6px);
  background-size: 48px 48px;
  background-position: 0 0, 24px 24px;
  pointer-events:none;
  mix-blend-mode: overlay;
  opacity:.5;
}

.jali-corner{
  position:absolute;
  bottom:-22px; left:-22px;
  width:110px; height:110px;
  background-image: radial-gradient(circle at 10px 10px, transparent 5px, var(--gold) 5.6px, var(--gold) 6px, transparent 6.6px);
  background-size: 20px 20px;
  opacity:.5;
  z-index:0;
}

/* ==========================================================================
   PRELOADER
   ========================================================================== */

#preloader{
  position: fixed; inset:0; z-index: 99999;
  background: var(--blue-deep);
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  transition: opacity .6s ease, visibility .6s ease;
}
#preloader.loaded{ opacity:0; visibility:hidden; }
.loader-jali{ text-align:center; }
.loader-word{
  font-family: var(--font-heading);
  font-size: 2.6rem;
  letter-spacing: 10px;
  color: #fff;
  display:block;
  animation: pulseGold 1.8s ease-in-out infinite;
}
.loader-sub{
  font-family: var(--font-body);
  letter-spacing: 4px;
  font-size: .75rem;
  color: var(--gold-light);
  display:block;
  margin-top: 10px;
}
@keyframes pulseGold{
  0%,100%{ text-shadow: 0 0 0 rgba(200,164,93,0); }
  50%{ text-shadow: 0 0 24px rgba(200,164,93,.7); }
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.main-header{
  position: fixed; top:0; left:0; width:100%;
  z-index: 1000;
  height: 90px;
  background: transparent;
  transition: var(--transition);
}
.main-header.scrolled{
  background: rgba(255,255,255,.97);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(10px);
}
.header-inner{ height: 90px; }

.brand-logo{ display:flex; align-items:center; gap:12px; }
.brand-mark{
  width:48px; height:48px; border-radius:50%;
  background: linear-gradient(135deg, var(--gold), #a9843f);
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 4px 14px rgba(200,164,93,.4);
  flex-shrink:0;
}
.brand-mark.small{ width:40px; height:40px; }
.brand-o{
  font-family: var(--font-heading);
  color:#fff; font-size:1.4rem; font-weight:700;
}
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-name{
  font-family: var(--font-heading);
  font-weight:700; font-size:1.3rem; letter-spacing:2px;
  color: var(--white);
  transition: var(--transition);
}
.main-header.scrolled .brand-name{ color: var(--blue-deep); }
.brand-tag{
  font-size:.62rem; letter-spacing:2px; color: var(--gold-light);
  text-transform:uppercase;
}
.main-header.scrolled .brand-tag{ color: var(--gold); }

.main-nav{ gap: 28px; }
.main-nav a{
  font-size:.9rem; font-weight:500; color:#fff;
  position:relative; padding: 6px 0;
  transition: var(--transition);
}
.main-header.scrolled .main-nav a{ color: var(--blue-deep); }
.main-nav a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
  background: var(--gold); transition: var(--transition);
}
.main-nav a:hover::after{ width:100%; }
.main-nav a:hover{ color: var(--gold); }

.header-ctas{ gap: 14px; }
.icon-cta{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border: 1.5px solid rgba(255,255,255,.5);
  color:#fff; transition: var(--transition);
}
.main-header.scrolled .icon-cta{ border-color: var(--blue); color: var(--blue); }
.icon-cta:hover{ background: var(--gold); border-color: var(--gold); color:#fff; }
.icon-cta.whatsapp:hover{ background:#25D366; border-color:#25D366; }

.btn-enquire{
  background: linear-gradient(135deg, var(--gold), #a9843f);
  color:#fff !important; padding: 10px 26px; border-radius: 30px;
  font-weight:600; font-size:.85rem; letter-spacing:.5px;
  box-shadow: 0 6px 18px rgba(200,164,93,.35);
  transition: var(--transition);
}
.btn-enquire:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px rgba(200,164,93,.5); }

.mobile-toggle{
  width:38px; height:32px; background:none; border:none;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:4px 2px; z-index:1001;
}
.mobile-toggle span{
  display:block; height:2.5px; width:100%; background:#fff; border-radius:2px;
  transition: var(--transition);
}
.main-header.scrolled .mobile-toggle span{ background: var(--blue-deep); }
.mobile-toggle.active span:nth-child(1){ transform: translateY(9px) rotate(45deg); background: var(--blue-deep); }
.mobile-toggle.active span:nth-child(2){ opacity:0; }
.mobile-toggle.active span:nth-child(3){ transform: translateY(-9px) rotate(-45deg); background: var(--blue-deep); }

.mobile-nav{
  position: fixed; top:90px; right:-100%; width:min(340px,88vw); height: calc(100vh - 90px);
  background:#fff; box-shadow: -10px 0 40px rgba(0,0,0,.15);
  display:flex; flex-direction:column; padding: 30px 28px;
  transition: right .4s cubic-bezier(.25,.8,.25,1);
  z-index:999; overflow-y:auto;
}
.mobile-nav.active{ right:0; }
.mobile-nav a{
  padding: 14px 0; border-bottom: 1px solid #eee;
  color: var(--blue-deep); font-weight:500;
}
.mobile-cta-row{ display:flex; gap:12px; margin-top:24px; }
.btn-outline-light-gold{
  border: 1.5px solid var(--gold); color: var(--gold) !important; border-radius:30px; padding:10px 18px; flex:1; text-align:center; font-weight:600; font-size:.85rem;
}
.btn-whatsapp-solid{
  background:#25D366; color:#fff !important; border-radius:30px; padding:10px 18px; flex:1; text-align:center; font-weight:600; font-size:.85rem;
}

/* ==========================================================================
   BUTTONS (generic)
   ========================================================================== */

.btn{ font-family: var(--font-body); border-radius: 30px; font-weight:600; letter-spacing:.3px; }

.btn-hero-primary{
  background: linear-gradient(135deg, var(--red), #a91d1d);
  color:#fff; padding: 14px 30px; box-shadow: 0 10px 26px rgba(214,40,40,.35);
  border:none; transition: var(--transition);
}
.btn-hero-primary:hover{ transform: translateY(-3px); box-shadow: 0 14px 32px rgba(214,40,40,.5); color:#fff; }

.btn-hero-outline{
  border: 1.5px solid rgba(255,255,255,.7); color:#fff; padding: 13.5px 28px;
  transition: var(--transition);
}
.btn-hero-outline:hover{ background:#fff; color: var(--blue-deep); }

.btn-hero-ghost{
  color:#fff; padding: 13.5px 22px; border: 1.5px solid transparent;
  transition: var(--transition);
}
.btn-hero-ghost:hover{ border-color: var(--gold); color: var(--gold-light); }
.btn-hero-ghost.whatsapp-ghost:hover{ border-color:#25D366; color:#25D366; }

.btn-gold-outline{
  border: 1.5px solid var(--gold); color: var(--gold-dark, #a9843f); padding: 12px 28px;
  transition: var(--transition); font-weight:600;
}
.btn-gold-outline:hover{ background: var(--gold); color:#fff; }

.btn-form-submit{
  background: linear-gradient(135deg, var(--blue), var(--blue-deep));
  color:#fff; padding: 14px; box-shadow: 0 10px 26px rgba(13,77,153,.35);
  border:none; transition: var(--transition);
}
.btn-form-submit:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px rgba(13,77,153,.5); color:#fff; }

.btn-map{
  background: var(--white); color: var(--blue) !important; padding: 9px 20px;
  border: 1.5px solid var(--blue); font-weight:600; font-size:.85rem;
}
.btn-map:hover{ background: var(--blue); color:#fff !important; }

/* ==========================================================================
   SECTION HELPERS
   ========================================================================== */

.section{padding: 60px 0;position:relative;}
.section-eyebrow{
  font-family: var(--font-sub); font-style:italic; color: var(--gold-dark,#a9843f);
  letter-spacing:2px; font-size:.95rem; display:block; margin-bottom: 12px;
}
.section-eyebrow.light{ color: var(--gold-light); }
.section-title{
  font-size: 23px;
  margin-bottom: 6px;
  line-height:1.3;
}
.section-title.light{ color:#fff; }
.section-lead{font-size: 16px;color: var(--grey-dark);margin-bottom:16px;}
.section-body{ color: var(--grey-dark); }
.section-body.light{ color: rgba(255,255,255,.8); }

/* ==========================================================================
   HERO
   ========================================================================== */

.hero-section{
  position: relative; min-height: 100vh; display:flex; align-items:center;
  overflow:hidden; padding-top: 90px;
}
.hero-bg{
  position:absolute;
  inset:0;
  background: linear-gradient(120deg, rgb(8 47 94 / 47%) 10%, rgb(13 77 153 / 54%) 55%, rgb(8 47 94 / 18%) 100%), url(img/banner.jpg) center / cover no-repeat;
  z-index:-2;
}
.min-vh-hero{ min-height: calc(100vh - 90px); padding: 60px 0; }

.badge-new-launch{
  display:inline-flex; align-items:center;
  background: rgba(200,164,93,.15); border: 1px solid var(--gold);
  color: var(--gold-light); padding: 8px 18px; border-radius: 30px;
  font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; margin-bottom: 22px;
}

.hero-heading{
  font-size: 30px;
  color:#fff;
  line-height:1.25;
  margin-bottom:20px;
}
.hero-heading span{ color: var(--gold-light); }

.hero-sub{
  color: rgba(255,255,255,.85); font-size:1.08rem; max-width:520px; margin-bottom: 30px;
}

.hero-info-row{
  display:flex; flex-wrap:wrap; gap: 22px; margin-bottom: 34px;
  border-top: 1px solid rgba(255,255,255,.2); padding-top: 24px;
}
.hero-info-item{ display:flex; align-items:center; gap:12px; }
.hero-info-item i{ color: var(--gold-light); font-size:1.2rem; }
.hero-info-item small{ display:block; color: rgba(255,255,255,.6); font-size:.72rem; text-transform:uppercase; letter-spacing:1px; }
.hero-info-item span{ display:block; color:#fff; font-weight:600; font-size:.92rem; }

.hero-cta-row{ display:flex; flex-wrap:wrap; gap:14px; }

.hero-form-card{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: var(--radius-lg);
  padding: 20px 20px;
  box-shadow: var(--shadow-strong);
}
.hero-form-header{ margin-bottom: 22px; }
.gold-eyebrow{ color: var(--gold-light); font-size:.78rem; letter-spacing:2px; text-transform:uppercase; }
.hero-form-header h3{ color:#fff; font-size:1.5rem; margin: 8px 0 4px; }
.hero-form-header p{ color: rgba(255,255,255,.7); font-size:.88rem; margin:0; }
.hero-lead-form .form-control{
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.3);
  color:#fff; padding: 13px 16px; border-radius: var(--radius-sm);
}
.hero-lead-form .form-control::placeholder{ color: rgba(255,255,255,.55); }
.hero-lead-form .form-control:focus{
  background: rgba(255,255,255,.14); border-color: var(--gold); box-shadow:none; color:#fff;
}
.form-disclaimer{ font-size:.72rem; color: rgba(255,255,255,.55); margin: 12px 0 0; text-align:center; }

.hero-scroll-cue{
  position:absolute; bottom: 26px; left:50%; transform:translateX(-50%);
  color: rgba(255,255,255,.7); font-size:.72rem; letter-spacing:2px; text-transform:uppercase;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.hero-scroll-cue span{
  width:1px; height:34px; background: rgba(255,255,255,.4); position:relative; overflow:hidden;
}
.hero-scroll-cue span::after{
  content:''; position:absolute; top:-34px; left:0; width:100%; height:100%;
  background: var(--gold); animation: scrollCue 2s infinite;
}
@keyframes scrollCue{ to{ top:34px; } }

/* ==========================================================================
   ABOUT
   ========================================================================== */

.about-section{ background: var(--bg); }
.about-image-wrap{ position: relative; }
.about-img-main{ border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); position:relative; z-index:1; }
.about-stat-card{
  position:absolute; bottom: -24px; right: -18px; z-index:2;
  background: linear-gradient(135deg, var(--blue), var(--blue-deep));
  color:#fff; border-radius: var(--radius-md); padding: 22px 26px;
  box-shadow: var(--shadow-strong); text-align:center; min-width:140px;
}
.stat-num{ font-family: var(--font-heading); font-size:2.2rem; display:block; color: var(--gold-light); }
.stat-label{ font-size:.72rem; letter-spacing:.5px; }

.why-choose-pill{
  background:#fff; border: 1px solid #eee; border-radius: 30px;
  padding: 10px 16px; font-size:.82rem; font-weight:600; color: var(--blue-deep);
  display:flex; align-items:center; gap:8px; box-shadow: var(--shadow-soft);
  height:100%;
}
.why-choose-pill i{ color: var(--gold); }

/* ==========================================================================
   HIGHLIGHTS
   ========================================================================== */

.highlights-section{
  background: linear-gradient(135deg, var(--blue-deep), var(--blue));
  position: relative;
}
.highlight-card{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius-md);
  padding: 30px 16px; text-align:center; height:100%;
  transition: var(--transition);
}
.highlight-card i{
  font-size: 1.8rem; color: var(--gold-light); margin-bottom: 14px; display:block;
  transition: var(--transition);
}
.highlight-card span{ color:#fff; font-size:.9rem; font-weight:500; }
.highlight-card:hover{
  background: rgba(200,164,93,.16); border-color: var(--gold);
  transform: translateY(-8px);
}
.highlight-card:hover i{ transform: scale(1.15) rotate(-6deg); color: var(--gold-light); }

/* ==========================================================================
   LOCATION
   ========================================================================== */

.location-section{ background: var(--white); }
.location-card{
  background: var(--grey-light); border-radius: var(--radius-md);
  padding: 30px 26px; height:100%; position:relative; overflow:hidden;
  transition: var(--transition); border: 1px solid transparent;
}
.location-card:hover{ border-color: var(--gold); box-shadow: var(--shadow-soft); transform: translateY(-6px); }
.location-card i{ font-size:1.7rem; color: var(--blue); margin-bottom:14px; display:block; }
.location-card h4{ font-size:1.05rem; margin-bottom:6px; }
.location-card p{ font-size:.85rem; color: var(--grey-dark); margin-bottom: 14px; }
.distance-badge{
  display:inline-block; background: var(--gold); color:#fff; font-size:.72rem;
  padding: 4px 14px; border-radius: 20px; font-weight:600;
}
.map-cta-card{
  background: linear-gradient(135deg, var(--blue), var(--blue-deep));
  color:#fff; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.map-cta-card i{ color: var(--gold-light); }
.map-cta-card h4{ color:#fff; }
.map-cta-card p{ color: rgba(255,255,255,.7); }

/* ==========================================================================
   SITE PLAN
   ========================================================================== */

.siteplan-section{ background: var(--grey-light); }
.siteplan-image-wrap{
  border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-soft);
}
.siteplan-image-wrap img{ transition: transform .6s ease; }
.siteplan-image-wrap:hover img{ transform: scale(1.08); }
.siteplan-legend{ list-style:none; padding:0; margin: 0 0 28px; }
.siteplan-legend li{
  display:flex; align-items:center; gap:12px; padding: 10px 0; border-bottom:1px solid #e5e5e5;
  font-size:.92rem; color: var(--grey-dark); font-weight:500;
}
.dot{ width:14px; height:14px; border-radius:50%; flex-shrink:0; }
.dot.blue{ background: var(--blue); }
.dot.gold{ background: var(--gold); }
.dot.red{ background: var(--red); }
.dot.grey{ background: var(--grey-dark); }

/* ==========================================================================
   FLOOR PLAN
   ========================================================================== */

.floorplan-section{ background: var(--white); }
.floorplan-tabs .nav-link{
  color: var(--blue-deep); font-weight:600; padding: 12px 30px; border-radius: 30px;
  margin: 0 6px; border: 1.5px solid #e5e5e5; transition: var(--transition);
}
.floorplan-tabs .nav-link.active{
  background: linear-gradient(135deg, var(--blue), var(--blue-deep)); color:#fff; border-color: var(--blue);
}
.floorplan-img{ border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }
.price-table{ border-collapse: separate; border-spacing: 0 10px; }
.price-table thead th{
  background: var(--grey-light); color: var(--blue-deep); font-weight:600; padding: 14px 18px;
  border:none; font-size:.85rem; text-transform:uppercase; letter-spacing:.5px;
}
.price-table tbody td{ background:#fff; padding: 16px 18px; border:none; font-weight:500; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.price-table tbody tr td:first-child{ border-radius: 10px 0 0 10px; }
.price-table tbody tr td:last-child{border-radius: 0 10px 10px 0;color: green;font-weight:700;}

/* ==========================================================================
   AMENITIES
   ========================================================================== */

.amenities-section{ background: var(--grey-light); }
.amenity-card{
  background:#fff; border-radius: var(--radius-md); padding: 34px 16px; text-align:center;
  box-shadow: var(--shadow-soft); height:100%; transition: var(--transition);
  border-bottom: 3px solid transparent;
}
.amenity-card:hover{ transform: translateY(-8px); border-bottom-color: var(--gold); }
.amenity-card i{ font-size:1.8rem; color: var(--blue); margin-bottom: 14px; display:block; }
.amenity-card:hover i{ color: var(--gold); }
.amenity-card h5{ font-size:.92rem; font-family: var(--font-body); font-weight:600; color: var(--blue-deep); }

/* ==========================================================================
   WHY INVEST
   ========================================================================== */

.why-invest-section{ background: linear-gradient(135deg, var(--blue-deep), var(--blue)); position:relative; }
.invest-card{
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius-md); padding: 26px; height:100%; transition: var(--transition);
}
.invest-card:hover{ background: rgba(200,164,93,.14); border-color: var(--gold); }
.invest-card i{ font-size:1.5rem; color: var(--gold-light); margin-bottom: 12px; display:block; }
.invest-card h5{ color:#fff; font-size:1rem; font-family: var(--font-body); font-weight:600; margin-bottom:6px; }
.invest-card p{ color: rgba(255,255,255,.7); font-size:.85rem; margin:0; }

/* ==========================================================================
   GALLERY
   ========================================================================== */

.gallery-section{ background: var(--white); }
.gallery-masonry{
  columns: 3 220px; column-gap: 16px;
}
.gallery-item{
  display:block; position:relative; margin-bottom:16px; border-radius: var(--radius-md);
  overflow:hidden; break-inside: avoid; box-shadow: var(--shadow-soft);
}
.gallery-item img{ width:100%; height:auto; transition: transform .6s ease; }
.gallery-item.tall img{ aspect-ratio: 3/4; object-fit:cover; }
.gallery-item:not(.tall) img{ aspect-ratio: 4/3; object-fit:cover; }
.gallery-item:hover img{ transform: scale(1.12); }
.gallery-cap{
  position:absolute; left:0; bottom:0; width:100%; padding: 14px 16px;
  background: linear-gradient(to top, rgba(8,47,94,.85), transparent);
  color:#fff; font-size:.85rem; font-weight:600; letter-spacing:.5px;
  opacity:0; transform: translateY(10px); transition: var(--transition);
}
.gallery-item:hover .gallery-cap{ opacity:1; transform: translateY(0); }

.lightbox-overlay{
  position: fixed; inset:0; background: rgba(8,10,15,.94); z-index: 9998;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition: var(--transition); padding: 30px;
}
.lightbox-overlay.active{ opacity:1; visibility:visible; }
.lightbox-overlay img{ max-height: 80vh; max-width: 90vw; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.lightbox-overlay p{ color:#fff; margin-top: 16px; letter-spacing:1px; }
.lightbox-close{
  position:absolute; top: 26px; right: 30px; background:none; border: 1.5px solid rgba(255,255,255,.4);
  color:#fff; width:44px; height:44px; border-radius:50%; font-size:1.1rem;
}
.lightbox-close:hover{ border-color: var(--gold); color: var(--gold); }

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */

.testimonials-section{ background: var(--grey-light); }
.google-rating{
  display:inline-flex; align-items:center; gap:10px; background:#fff; padding: 10px 22px;
  border-radius: 30px; box-shadow: var(--shadow-soft); font-weight:700; color: var(--blue-deep); margin-top: 14px;
}
.google-rating i.fa-google{ color:#4285F4; }
.google-rating .stars{ color: var(--gold); font-size:.85rem; }

.testimonial-card{
  background:#fff; border-radius: var(--radius-lg); padding: 34px 30px; box-shadow: var(--shadow-soft);
  height: 100%; display:flex; flex-direction:column;
}
.testimonial-card .stars.gold{ color: var(--gold); margin-bottom: 16px; }
.testimonial-card p{ font-family: var(--font-sub); font-style:italic; color: var(--grey-dark); flex-grow:1; }
.testimonial-author{ margin-top: 18px; }
.testimonial-author strong{ display:block; color: var(--blue-deep); }
.testimonial-author span{ font-size:.8rem; color: var(--grey-dark); }
.video-card{ align-items:center; text-align:center; justify-content:center; }
.video-thumb{
  width:64px; height:64px; border-radius:50%; background: var(--red); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom: 16px;
}
.swiper-pagination-bullet-active{ background: var(--gold) !important; }

/* ==========================================================================
   FAQ
   ========================================================================== */

.faq-section{ background: var(--white); }
.faq-accordion .accordion-item{
  border: none; margin-bottom: 14px; border-radius: var(--radius-md) !important; overflow:hidden;
  box-shadow: var(--shadow-soft);
}
.faq-accordion .accordion-button{
  font-family: var(--font-body); font-weight:600; color: var(--blue-deep);
  padding: 20px 24px; background:#fff;
}
.faq-accordion .accordion-button:not(.collapsed){
  background: linear-gradient(135deg, var(--blue), var(--blue-deep)); color:#fff;
}
.faq-accordion .accordion-button:focus{ box-shadow:none; }
.faq-accordion .accordion-button::after{ filter: none; }
.faq-accordion .accordion-body{ padding: 18px 24px 22px; color: var(--grey-dark); font-size:.92rem; }

/* ==========================================================================
   CONTACT
   ========================================================================== */

.contact-section{ background: linear-gradient(135deg, var(--blue-deep), var(--blue)); position:relative; }
.contact-form-card{
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(14px); border-radius: var(--radius-lg); padding: 36px;
}
.contact-form-card .form-control, .contact-form-card textarea{
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28); color:#fff;
  padding: 13px 16px; border-radius: var(--radius-sm);
}
.contact-form-card .form-control::placeholder{ color: rgba(255,255,255,.55); }
.contact-form-card .form-control:focus{ background: rgba(255,255,255,.14); border-color: var(--gold); box-shadow:none; color:#fff; }

.contact-info-card{
  background:#fff; border-radius: var(--radius-lg); padding: 30px; box-shadow: var(--shadow-strong);
}
.map-embed{ border-radius: var(--radius-md); overflow:hidden; margin-bottom: 24px; }
.contact-detail-row{ display:flex; gap:16px; margin-bottom: 18px; }
.contact-detail-row i{ color: var(--gold); font-size:1.2rem; margin-top:4px; }
.contact-detail-row strong{ display:block; color: var(--blue-deep); font-size:.92rem; }
.contact-detail-row p{ margin:2px 0 0; font-size:.85rem; color: var(--grey-dark); }
.contact-detail-row a{ color: var(--blue); font-weight:600; }

/* ==========================================================================
   FOOTER
   ========================================================================== */

.main-footer{ background: #071d38; color: rgba(255,255,255,.7); padding: 70px 0 30px; }
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom: 18px;justify-content: center;}
.footer-brand .brand-name{ color:#fff; }
.footer-about{font-size:.88rem;line-height:1.8;color: rgba(255,255,255,.55);text-align: center;}
.footer-social{ display:flex; gap:12px; margin-top: 18px; }
.footer-social a{
  width:38px; height:38px; border-radius:50%; border: 1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center; color:#fff; transition: var(--transition);
}
.footer-social a:hover{ background: var(--gold); border-color: var(--gold); }
.footer-heading{ color:#fff; font-family: var(--font-body); font-size:1rem; font-weight:600; margin-bottom: 20px; }
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom: 12px; }
.footer-links a{ font-size:.88rem; color: rgba(255,255,255,.6); transition: var(--transition); }
.footer-links a:hover{ color: var(--gold-light); padding-left: 4px; }
.footer-newsletter{ display:flex; margin-top: 14px; }
.footer-newsletter input{
  flex:1; padding: 12px 16px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06);
  color:#fff; border-radius: 30px 0 0 30px; font-size:.85rem;
}
.footer-newsletter input::placeholder{ color: rgba(255,255,255,.4); }
.footer-newsletter button{
  background: var(--gold); border:none; color:#fff; padding: 0 22px; border-radius: 0 30px 30px 0;
}
.footer-divider{ border-color: rgba(255,255,255,.12); margin: 40px 0 24px; }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.82rem; }
.footer-legal{ display:flex; gap:20px; }
.footer-legal a:hover{ color: var(--gold-light); }
.footer-disclaimer{ font-size:.72rem; color: rgba(255,255,255,.35); margin-top: 20px; text-align:center; }

/* ==========================================================================
   FLOATING / STICKY
   ========================================================================== */

.floating-whatsapp, .floating-call{
  position: fixed; right: 26px; z-index: 900;
  width: 56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.4rem; box-shadow: var(--shadow-strong);
  transition: var(--transition);
}
.floating-whatsapp{ bottom: 96px; background:#25D366; }
.floating-call{ bottom: 26px; background: var(--red); }
.floating-whatsapp:hover, .floating-call:hover{ transform: scale(1.1); color:#fff; }
.floating-whatsapp::before{
  content:''; position:absolute; inset:-6px; border-radius:50%; border: 2px solid #25D366;
  animation: ripple 1.8s infinite;
}
@keyframes ripple{ 0%{ transform: scale(.9); opacity:1; } 100%{ transform: scale(1.5); opacity:0; } }

.back-to-top{
  position: fixed; left: 26px; bottom: 26px; z-index: 900;
  width:48px; height:48px; border-radius:50%; background: var(--blue-deep); color:#fff;
  border:none; box-shadow: var(--shadow-strong); opacity:0; visibility:hidden; transform: translateY(10px);
  transition: var(--transition);
}
.back-to-top.show{ opacity:1; visibility:visible; transform: translateY(0); }
.back-to-top:hover{ background: var(--gold); }

.sticky-mobile-cta{
  position: fixed; bottom:0; left:0; width:100%; z-index: 950;
  background:#fff; box-shadow: 0 -6px 20px rgba(0,0,0,.1);
  display:flex; border-top: 1px solid #eee;
}
.sticky-mobile-cta a{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:4px;
  padding: 10px 0 8px; font-size:.72rem; color: var(--blue-deep); font-weight:600;
  border-right: 1px solid #eee;
}
.sticky-mobile-cta a:last-child{ border-right:none; }
.sticky-mobile-cta a i{ font-size:1.1rem; }
.sticky-mobile-cta a.active-cta{ background: var(--red); color:#fff; }

/* ==========================================================================
   MODALS / POPUPS
   ========================================================================== */

.brochure-modal-content{
  border-radius: var(--radius-lg); border:none; padding: 42px 36px; text-align:center;
  background: linear-gradient(160deg, #fff, var(--grey-light));
}
.brochure-modal-content h3{ margin: 10px 0 8px; }
.brochure-modal-content p{ font-size:.9rem; color: var(--grey-dark); margin-bottom: 22px; }
.brochure-modal-content .btn-close{ position:absolute; top:18px; right:18px; }

.exit-popup-overlay{
  position: fixed; inset:0; background: rgba(8,10,15,.7); z-index: 9997;
  display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden;
  transition: var(--transition); padding: 20px;
}
.exit-popup-overlay.active{ opacity:1; visibility:visible; }
.exit-popup-card{
  background: linear-gradient(160deg, #fff, var(--grey-light)); border-radius: var(--radius-lg);
  padding: 44px 38px; max-width: 440px; text-align:center; position:relative;
  box-shadow: var(--shadow-strong); transform: scale(.9); transition: var(--transition);
}
.exit-popup-overlay.active .exit-popup-card{ transform: scale(1); }
.exit-popup-card h3{ margin: 10px 0 8px; }
.exit-popup-card p{ font-size:.9rem; color: var(--grey-dark); margin-bottom: 22px; }
.exit-popup-close{
  position:absolute; top:16px; right:16px; background:none; border:none; font-size:1.2rem; color: var(--grey-dark);
}

.form-toast{
  position: fixed; top: 110px; right: 26px; z-index: 9999;
  background: var(--blue-deep); color:#fff; padding: 16px 26px; border-radius: var(--radius-sm);
  box-shadow: var(--shadow-strong); transform: translateX(120%); transition: transform .5s cubic-bezier(.25,.8,.25,1);
  font-size:.9rem;
}
.form-toast.show{ transform: translateX(0); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior:auto !important; }
}
.brand-text img {
    width: 160px;
    height: 100%;
}

.btn-hero-ghost.whatsapp-ghost {
    border-color: #25D366;
    color: #25D366;
}


.btn-whatsapp-solid:hover {
    background: #25D366;
    color: #fff !important;
    border-radius: 30px;
    padding: 10px 18px;
    flex: 1;
    text-align: center;
    font-weight: 600;
    font-size: .85rem;
}

/* privcy */
.privacy-section{
    padding:70px 0;
}

.privacy-box{
    background:#fff;
    padding:50px;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.privacy-box h1{
    font-size:38px;
    font-weight:700;
    color:#0d2d62;
    margin-bottom:10px;
}

.privacy-box h5{
    color:#b38b2d;
    font-weight:700;
    margin-top:35px;
    margin-bottom:15px;
}

.privacy-box p{
    font-size:16px;
    line-height:1.9;
    margin-bottom:15px;
}

.privacy-box ul{
    padding-left:22px;
    margin-bottom:20px;
}

.privacy-box ul li{
    margin-bottom:10px;
    line-height:1.8;
}

.contact-box{
    background:#f8f9fa;
    border-left:5px solid #b38b2d;
    padding:20px;
    margin-top:20px;
    border-radius:6px;
}

@media(max-width:767px){

.privacy-box{
    padding:30px 20px;
}

.privacy-box h1{
    font-size:30px;
}

}