/* ==========================================================================
   VINAY G GURUJI — VEDIC ASTROLOGER
   Design tokens:
   Color   : --navy-deep #070a1e, --navy #10123a, --purple #241354,
             --purple-deep #170b33, --gold #d4af37, --gold-bright #f6d67c
   Type    : Cinzel (display / headings), Poppins (body / UI)
   Signature: Rotating zodiac ring + constellation glow behind the hero,
              echoed faintly as a mandala watermark through every section.
   ========================================================================== */

:root{
  --navy-deep:#060815;
  --navy:#0d1030;
  --navy-soft:#141a45;
  --purple-deep:#170a30;
  --purple:#2a1454;
  --purple-soft:#3a1e70;
  --gold:#d4af37;
  --gold-bright:#f6d67c;
  --gold-dim:#8a7226;
  --ink:#eae6f7;
  --ink-muted:#aca6cf;
  --ink-faint:#726c99;
  --glass:rgba(234,230,247,0.05);
  --glass-border:rgba(212,175,55,0.25);
  --shadow-gold:0 0 24px rgba(212,175,55,0.35);
  --font-display:'Cinzel', serif;
  --font-body:'Poppins', sans-serif;
  --radius:16px;
  --container:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  /* background:var(--navy-deep);
  color:var(--ink); */
  overflow-x:hidden;
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4,h5{font-family:var(--font-display);margin:0 0 .5em;font-weight:700;letter-spacing:.02em;}
p{margin:0 0 1em;color:var(--ink-muted);}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

/* @media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
} */

::selection{background:var(--gold);color:var(--navy-deep);}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;}

/* ---------- Background texture (whole site) ---------- */
.cosmic-backdrop{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 10%, rgba(58,30,112,.35), transparent 55%),
    radial-gradient(ellipse at 85% 30%, rgba(42,20,84,.3), transparent 50%),
    radial-gradient(ellipse at 50% 90%, rgba(16,18,58,.5), transparent 60%),
    /* var(--navy-deep); */
}
.stars{position:absolute;inset:0;background-repeat:repeat;opacity:.6;}
.stars-1{background-image:radial-gradient(1px 1px at 20px 30px, #fff, transparent),
  radial-gradient(1px 1px at 120px 90px, #fff, transparent),
  radial-gradient(1.5px 1.5px at 200px 40px, var(--gold-bright), transparent),
  radial-gradient(1px 1px at 300px 150px, #fff, transparent);
  background-size:340px 220px; animation:driftStars 140s linear infinite;}
.stars-2{background-image:radial-gradient(1px 1px at 60px 120px, #fff, transparent),
  radial-gradient(1.5px 1.5px at 260px 60px, #fff, transparent),
  radial-gradient(1px 1px at 340px 200px, var(--gold), transparent);
  background-size:400px 300px;opacity:.4; animation:driftStars 220s linear infinite reverse;}
.stars-3{background-image:radial-gradient(1.5px 1.5px at 100px 20px, var(--gold-bright), transparent),
  radial-gradient(1px 1px at 220px 160px,#fff,transparent);
  background-size:260px 260px;opacity:.35; animation:driftStars 90s linear infinite;}
@keyframes driftStars{from{background-position:0 0;}to{background-position:-1000px 500px;}}

main, header, footer{position:relative;z-index:1;}

/* ---------- Loader ---------- */
#loader{
  position:fixed;inset:0;z-index:9999;background:var(--navy-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  transition:opacity .6s ease, visibility .6s ease;
}
#loader.hide{opacity:0;visibility:hidden;}
.loader-wheel{position:relative;width:70px;height:70px;}
.loader-wheel svg{width:100%;height:100%;transform:rotate(-90deg);animation:spin 2.4s linear infinite;}
.loader-wheel circle{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:70 200;stroke-linecap:round;}
.loader-om{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gold-bright);font-size:22px;}
.loader-text{color:var(--ink-muted);letter-spacing:.15em;text-transform:uppercase;font-size:12px;}
@keyframes spin{to{transform:rotate(270deg);}}

/* ---------- Header ---------- */
/* .site-header{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:18px 0;
  transition:padding .35s ease, background .35s ease, box-shadow .35s ease;
}
.site-header.scrolled{
  padding:10px 0;
  background:rgba(6,8,21,.85);
  backdrop-filter:blur(14px);
  box-shadow:0 8px 30px rgba(0,0,0,.4), 0 0 0 1px rgba(212,175,55,.08);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-glyph{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%, var(--purple-soft), var(--purple-deep));
  border:1px solid var(--glass-border);color:var(--gold-bright);font-size:20px;
  box-shadow:0 0 18px rgba(212,175,55,.25);
}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-text strong{font-family:var(--font-display);font-size:17px;color:var(--ink);letter-spacing:.03em;}
.brand-text em{font-style:normal;font-size:10.5px;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;} */
/* 
.main-nav ul{display:flex;gap:30px;}
.main-nav a{
  font-size:14px;font-weight:500;color:var(--ink-muted);position:relative;padding:6px 0;
  transition:color .25s ease;
}
.main-nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);
  transition:width .3s ease;
}
.main-nav a:hover,.main-nav a.active{color:var(--gold-bright);}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}

.nav-actions{display:flex;align-items:center;gap:14px;}
.btn-whatsapp-mini{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#25D366;color:#04220f;font-size:17px;box-shadow:0 4px 14px rgba(37,211,102,.35);
}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;}
.hamburger span{width:24px;height:2px;background:var(--gold-bright);border-radius:2px;transition:.3s;} */

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 30px;border-radius:999px;font-size:14.5px;font-weight:600;
  border:1px solid transparent;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  white-space:nowrap;
}
.btn-gold{
  background:linear-gradient(135deg, var(--gold-bright), var(--gold) 60%, var(--gold-dim));
  color:#241205;box-shadow:0 8px 24px rgba(212,175,55,.28);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(212,175,55,.4);}
.btn-outline{
  border-color:var(--glass-border);color:var(--gold-bright);background:rgba(212,175,55,.06);
}
.btn-outline:hover{background:rgba(212,175,55,.14);transform:translateY(-2px);}
.btn-sm{padding:10px 20px;font-size:13px;margin-top:10px;}
.btn-block{width:100%;justify-content:center;}

/* ---------- Eyebrow / section heads ---------- */
.eyebrow{
  font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin-bottom:14px;font-weight:600;
}
.section-title{font-size:clamp(28px,4vw,42px);color:var(--ink);}
.section-role{color:var(--gold-bright);font-weight:500;margin-bottom:18px;font-family:var(--font-body);}
.section-sub{color:var(--ink-muted);max-width:560px;}
.section-head{text-align:center;margin-bottom:56px;}
.section-head .section-sub{margin:0 auto;}

section{padding:110px 0;position:relative;}
@media (max-width:768px){section{padding:74px 0;}}

/* ==========================================================================
   HERO
   ========================================================================== */
/* .hero{
  min-height:100vh;display:flex;align-items:center;position:relative;
  padding-top:120px;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 20%, rgba(58,30,112,.45), transparent 60%);
} */
.hero-zodiac-ring{
  position:absolute;top:50%;left:50%;width:min(900px,140vw);height:min(900px,140vw);
  transform:translate(-50%,-50%);opacity:.5;pointer-events:none;
}
.zodiac-ring-svg{width:100%;height:100%;animation:ringSpin 160s linear infinite;}
.zodiac-ring-svg .ring{fill:none;stroke:var(--gold);stroke-opacity:.35;}
.ring-outer{stroke-width:1;stroke-dasharray:2 10;}
.ring-mid{stroke-width:.6;stroke-opacity:.2;}
.ring-inner{stroke-width:1;stroke-dasharray:1 6;stroke-opacity:.28;}
.zodiac-glyphs text{fill:var(--gold-bright);opacity:.55;text-anchor:middle;}
@keyframes ringSpin{to{transform:rotate(360deg);}}

.hero-mandala{
  position:absolute;top:50%;left:50%;width:520px;height:520px;transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(212,175,55,.12), transparent 70%);
  border-radius:50%;filter:blur(6px);
}

.hero-planets{position:absolute;inset:0;pointer-events:none;}
.planet{position:absolute;border-radius:50%;filter:blur(.2px);opacity:.85;}
.p1{width:14px;height:14px;top:22%;left:12%;background:radial-gradient(circle at 35% 30%, var(--gold-bright), var(--gold-dim));box-shadow:0 0 18px rgba(246,214,124,.6);animation:floatY 7s ease-in-out infinite;}
.p2{width:22px;height:22px;top:65%;left:8%;background:radial-gradient(circle at 35% 30%, #b892f5, #4a1f8f);box-shadow:0 0 22px rgba(184,146,245,.4);animation:floatY 9s ease-in-out infinite 1s;}
.p3{width:10px;height:10px;top:18%;right:14%;background:radial-gradient(circle at 35% 30%, #fff, var(--gold));box-shadow:0 0 14px rgba(255,255,255,.6);animation:floatY 6s ease-in-out infinite .5s;}
.p4{width:30px;height:30px;top:70%;right:10%;background:radial-gradient(circle at 30% 30%, #f6d67c, #7a5a12);box-shadow:0 0 26px rgba(212,175,55,.35);animation:floatY 10s ease-in-out infinite 2s;}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-22px);}}

.hero-content{position:relative;text-align:left;max-width:820px;margin:0 auto;}
.hero-content .eyebrow{display:flex;align-items:left;justify-content:center;gap:8px;}
.hero-title{
  font-size:clamp(38px,6.2vw,72px);line-height:1.08;color:var(--ink);
  text-shadow:0 0 40px rgba(212,175,55,.15);
}
.gold-shimmer{
  background:linear-gradient(100deg, var(--gold-dim), var(--gold-bright) 30%, #fff 45%, var(--gold-bright) 60%, var(--gold-dim));
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 5s linear infinite;
}
@keyframes shimmer{to{background-position:-220% center;}}
/* .hero-subtitle{width: 100%;text-align:left;font-size:clamp(16px,2vw,19px);color:var(--ink-muted);max-width:520px;margin-bottom: 35px;}
.hero-ctas{display:flex;gap:18px;justify-content:flex-start;flex-wrap:wrap;margin-bottom:44px;}
.hero-languages{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.hero-languages>span{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);}
.lang-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;}
.lang-pills span{
  padding:6px 16px;border:1px solid var(--glass-border);border-radius:999px;font-size:13px;
  color:var(--gold-bright);background:rgba(212,175,55,.05);
} */

/* .scroll-cue{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  width:26px;height:42px;border:2px solid var(--glass-border);border-radius:20px;
  display:flex;justify-content:center;padding-top:6px;
}
.scroll-cue span{width:4px;height:8px;border-radius:2px;background:var(--gold);animation:scrollCue 1.8s ease-in-out infinite;}
@keyframes scrollCue{0%{opacity:1;transform:translateY(0);}70%{opacity:0;transform:translateY(14px);}100%{opacity:0;}} */

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;}
.about-portrait{position:relative;display:flex;flex-direction:column;align-items:center;}
.portrait-frame{
  position:relative;width:320px;max-width:100%;aspect-ratio:1/1.15;border-radius:50% 50% 46% 46%/58% 58% 42% 42%;
  background:linear-gradient(160deg, var(--purple-soft), var(--purple-deep));
  border:2px solid var(--gold);box-shadow:0 0 0 10px rgba(212,175,55,.06), 0 30px 60px rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.portrait-placeholder{font-size:110px;color:rgba(212,175,55,.5);}
.frame-orbit{
  position:absolute;inset:-16px;border:1px dashed rgba(212,175,55,.35);border-radius:50%;
  animation:ringSpin 40s linear infinite;
}
.portrait-badge{
  margin-top:15px;background:var(--navy);border:1px solid var(--glass-border);
  padding:10px 22px;border-radius:999px;font-size:13px;color:var(--gold-bright);
  display:flex;align-items:center;gap:8px;box-shadow:0 10px 26px rgba(0,0,0,.4);
}
.about-text{max-width:600px;}
.lang-known{margin:26px 0 30px;}
.lang-known h3{font-size:16px;color:var(--gold-bright);font-family:var(--font-body);letter-spacing:.05em;}
.lang-list{display:flex;flex-wrap:wrap;gap:12px;}
.lang-list li{
  display:flex;align-items:center;gap:8px;font-size:13.5px;padding:8px 16px;
  border:1px solid var(--glass-border);border-radius:10px;color:var(--ink-muted);
}
.lang-list i{color:var(--gold);}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.stat-card{
  background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;
  padding:20px 14px;text-align:center;
}
.stat-num{font-family:var(--font-display);font-size:clamp(24px,3vw,32px);color:var(--gold-bright);}
.stat-suffix{font-family:var(--font-display);font-size:clamp(20px,2.4vw,26px);color:var(--gold-bright);}
.stat-card p{margin:6px 0 0;font-size:12.5px;color:var(--ink-faint);}

@media (max-width:900px){
  .about-grid{grid-template-columns:1fr;text-align:center;}
  .about-text{margin-left:auto;margin-right:auto;}
  .lang-known ul,.lang-list{justify-content:center;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
}

/* ==========================================================================
   SERVICES
   ========================================================================== */
.services{background:linear-gradient(180deg, transparent, rgba(42,20,84,.18) 20%, rgba(42,20,84,.18) 80%, transparent);}
.services-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.service-card{
  background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);
  padding:32px 24px;position:relative;overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.service-card::before{
  content:"";position:absolute;top:-40%;right:-40%;width:70%;height:70%;
  background:radial-gradient(circle, rgba(212,175,55,.14), transparent 70%);
  opacity:0;transition:opacity .4s ease;
}
.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.4);border-color:rgba(212,175,55,.55);}
.service-card:hover::before{opacity:1;}
.service-icon{
  width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, var(--purple-soft), var(--purple-deep));color:var(--gold-bright);
  font-size:22px;margin-bottom:18px;
}
.service-card h3{font-size:18px;color:var(--ink);}
.service-card p{font-size:14px;margin-bottom:16px;}
.card-link{font-size:13.5px;color:var(--gold-bright);font-weight:600;display:inline-flex;align-items:center;gap:6px;}
.card-link i{transition:transform .25s ease;font-size:11px;}
.card-link:hover i{transform:translateX(4px);}

@media (max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.services-grid{grid-template-columns:1fr;}}

/* ---------- WHY US ---------- */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.why-card{
  text-align:center;padding:34px 18px;border-radius:var(--radius);
  background:rgba(234,230,247,.03);border:1px solid rgba(212,175,55,.15);
  transition:transform .3s ease, background .3s ease;
}
.why-card:hover{transform:translateY(-6px);background:rgba(212,175,55,.06);}
.why-card i{font-size:28px;color:var(--gold);margin-bottom:14px;}
.why-card h4{font-size:15px;color:var(--ink);margin:0;font-family:var(--font-body);font-weight:600;}
@media (max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);}}

/* ==========================================================================
   KUNDALI
   ========================================================================== */
.kundali-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;}
.kundali-chart{width:100%;max-width:380px;margin:0 auto;display:block;}
.k-border{fill:rgba(42,20,84,.35);stroke:var(--gold);stroke-width:1.5;}
.k-line{stroke:rgba(212,175,55,.6);stroke-width:1;}
.k-num{fill:var(--gold-bright);font-family:var(--font-display);font-size:14px;text-anchor:middle;}
.kundali-points{margin:24px 0 30px;display:flex;flex-direction:column;gap:12px;}
.kundali-points li{display:flex;gap:10px;font-size:14.5px;color:var(--ink-muted);}
.kundali-points i{color:var(--gold);margin-top:3px;}
@media (max-width:900px){.kundali-grid{grid-template-columns:1fr;text-align:center;}.kundali-points{align-items:center;}}
/* Kundali Section */
.kundali{
    padding:80px 0;
    background:#1b1433;
}

.kundali-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:60px;
}

/* Wheel Container */
.wheel-container{
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

/* Glowing circle behind */
.wheel-container::before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    border-radius:50%;
    background:radial-gradient(circle,
        rgba(255,215,120,.25),
        transparent 70%);
    filter:blur(10px);
}

/* Rotating Wheel */
.zodiac-wheel{
    width:340px;
    max-width:100%;
    animation:rotateWheel 35s linear infinite;
    filter:drop-shadow(0 0 20px rgba(255,215,120,.4));
}

/* Rotation */
@keyframes rotateWheel{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}
.zodiac-wheel:hover{
    animation-play-state:paused;
}
@media(max-width:992px){

    .kundali-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .zodiac-wheel{
        width:280px;
        margin-bottom:40px;
    }

}
.wheel-container::after{
    content:"";
    position:absolute;
    width:355px;
    height:355px;
    border-radius:50%;
    border:2px solid rgba(255,215,120,.35);
    animation:pulseRing 4s ease-in-out infinite;
}

@keyframes pulseRing{

    0%,100%{
        transform:scale(1);
        opacity:.6;
    }

    50%{
        transform:scale(1.05);
        opacity:1;
    }

}

/* ==========================================================================
   CONSULT OPTIONS
   ========================================================================== */
.consult-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.consult-card{
  text-align:center;padding:30px 16px;border-radius:var(--radius);
  border:1px solid var(--glass-border);background:var(--glass);
  transition:transform .3s ease, box-shadow .3s ease;
}
.consult-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,0,0,.4);}
.consult-card i{font-size:26px;color:var(--gold-bright);margin-bottom:12px;}
.consult-card h4{font-size:14.5px;margin:0 0 6px;color:var(--ink);font-family:var(--font-body);font-weight:600;}
.consult-card p{font-size:12.5px;margin:0;}
.consult-card.is-soon{opacity:.55;cursor:not-allowed;}
@media (max-width:900px){.consult-grid{grid-template-columns:repeat(2,1fr);}}

/* ==========================================================================
   BOOKING / CONTACT FORMS
   ========================================================================== */
.glass-panel{
  background:linear-gradient(160deg, rgba(42,20,84,.35), rgba(13,16,48,.55));
  border:1px solid var(--glass-border);border-radius:20px;padding:38px;
  backdrop-filter:blur(10px);box-shadow:0 30px 60px rgba(0,0,0,.4);
}
.booking-grid,.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-size:13px;color:var(--ink-muted);margin-bottom:8px;letter-spacing:.03em;}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:13px 16px;border-radius:10px;border:1px solid rgba(212,175,55,.25);
  background:rgba(6,8,21,.5);color:var(--ink);font-family:var(--font-body);font-size:14px;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.15);
}
.form-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d4af37' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}
.booking-success{
  display:none;margin-top:16px;padding:14px 18px;border-radius:12px;
  background:rgba(60,150,90,.12);border:1px solid rgba(90,200,120,.4);color:#a9e8bb;font-size:14px;
}
.booking-success.show{display:flex;align-items:center;gap:10px;}
.contact-form h3{font-size:20px;margin-bottom:22px;color:var(--gold-bright);}
.contact-list{display:flex;flex-direction:column;gap:16px;margin:24px 0 30px;}
.contact-list li{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--ink-muted);}
.contact-list i{width:20px;color:var(--gold);}
.map-placeholder{
  border:1px dashed var(--glass-border);border-radius:16px;padding:50px 20px;text-align:center;
  color:var(--ink-faint);background:rgba(234,230,247,.02);
}
.map-placeholder i{font-size:30px;color:var(--gold);display:block;margin-bottom:10px;}

@media (max-width:900px){
  .booking-grid,.contact-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .glass-panel{padding:26px;}
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.testimonial-swiper{padding-bottom:50px;}
.testimonial-card{
  background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);
  padding:34px;height:100%;
}
.testimonial-card .stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px;font-size:15px;}
.testimonial-card p{color:var(--ink);font-style:italic;font-size:15px;}
.testimonial-card h5{margin:16px 0 2px;font-size:15px;color:var(--gold-bright);font-family:var(--font-body);font-weight:600;}
.testimonial-card span{font-size:12.5px;color:var(--ink-faint);}
.swiper-pagination-bullet{background:var(--gold);opacity:.4;}
.swiper-pagination-bullet-active{opacity:1;}

/* ==========================================================================
   BLOG
   ========================================================================== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{
  background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);
  padding:28px;transition:transform .3s ease;
}
.blog-card:hover{transform:translateY(-6px);}
.blog-icon{font-size:22px;color:var(--gold-bright);margin-bottom:12px;}
.blog-tag{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);}
.blog-card h4{font-size:17px;margin:10px 0 8px;color:var(--ink);}
.blog-card p{font-size:14px;}
@media (max-width:900px){.blog-grid{grid-template-columns:1fr;}}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.faq-item{border:1px solid var(--glass-border);border-radius:14px;overflow:hidden;background:var(--glass);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;color:var(--ink);
  padding:20px 24px;font-size:15.5px;font-weight:500;display:flex;justify-content:space-between;align-items:center;
}
.faq-q i{color:var(--gold);transition:transform .3s ease;}
.faq-item.open .faq-q i{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 24px;}
.faq-item.open .faq-a{max-height:200px;padding-bottom:20px;}
.faq-a p{font-size:14px;margin:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:linear-gradient(180deg, transparent, var(--purple-deep) 40%);padding-top:80px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;}
.footer-brand p{font-size:13.5px;margin:16px 0 20px;max-width:280px;}
.social-icons{display:flex;gap:10px;}
.social-icons a{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--glass-border);
  display:flex;align-items:center;justify-content:center;color:var(--gold-bright);font-size:14px;
  transition:background .25s ease;
}
.social-icons a:hover{background:rgba(212,175,55,.15);}
.footer-links h5,.footer-contact h5{color:var(--gold-bright);font-family:var(--font-body);font-size:14px;margin-bottom:16px;}
.footer-links ul{display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-size:13.5px;color:var(--ink-muted);transition:color .25s ease;}
.footer-links a:hover{color:var(--gold-bright);}
.footer-contact p{font-size:13.5px;display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.footer-contact i{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(212,175,55,.15);padding:20px 0;}
.footer-bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--ink-faint);}
.footer-legal{display:flex;gap:20px;}
.footer-legal a:hover{color:var(--gold-bright);}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;text-align:center;}.footer-brand p{margin-left:auto;margin-right:auto;}.social-icons{justify-content:center;}}

/* ==========================================================================
   FLOATING WHATSAPP + BACK TO TOP
   ========================================================================== */
.whatsapp-float{
  position:fixed;bottom:26px;left:26px;z-index:400;
  display:flex;align-items:center;gap:10px;background:#25D366;color:#04220f;
  padding:14px 20px 14px 14px;border-radius:999px;box-shadow:0 10px 30px rgba(37,211,102,.4);
  font-size:14px;font-weight:600;animation:pulseWA 2.6s ease-in-out infinite;
}
.whatsapp-float i{font-size:22px;}
@keyframes pulseWA{0%,100%{box-shadow:0 10px 30px rgba(37,211,102,.4);}50%{box-shadow:0 10px 40px rgba(37,211,102,.65);}}
@media (max-width:600px){.whatsapp-label{display:none;}.whatsapp-float{padding:14px;}}

#backToTop{
  position:fixed;bottom:26px;right:26px;z-index:400;width:46px;height:46px;border-radius:50%;
  background:var(--navy);border:1px solid var(--glass-border);color:var(--gold-bright);
  display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;
  transform:translateY(10px);transition:all .3s ease;box-shadow:0 10px 24px rgba(0,0,0,.4);
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0);}

/* ==========================================================================
   CHATBOT
   ========================================================================== */
.chatbot{position:fixed;bottom:26px;right:84px;z-index:450;}
.chatbot-toggle{
  width:56px;height:56px;border-radius:50%;border:1px solid var(--glass-border);
  background:linear-gradient(135deg, var(--gold-bright), var(--gold));color:#241205;
  font-size:22px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(212,175,55,.4);
}
.chatbot-window{
  position:absolute;bottom:70px;right:0;width:320px;max-height:440px;
  background:var(--navy);border:1px solid var(--glass-border);border-radius:18px;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.98);transition:all .3s ease;
}
.chatbot-window.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.chatbot-header{
  background:linear-gradient(135deg, var(--purple-soft), var(--purple-deep));
  padding:14px 18px;display:flex;justify-content:space-between;align-items:center;
  font-family:var(--font-display);color:var(--gold-bright);font-size:15px;
}
.chatbot-header button{background:none;border:none;color:var(--ink-muted);font-size:16px;}
.chatbot-body{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;max-height:300px;}
.chat-msg{padding:10px 14px;border-radius:12px;font-size:13.5px;max-width:88%;}
.chat-msg.bot{background:rgba(212,175,55,.1);color:var(--ink);border:1px solid rgba(212,175,55,.2);align-self:flex-start;}
.chat-msg.user{background:var(--purple-soft);color:var(--ink);align-self:flex-end;}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.chat-suggestions button{
  padding:6px 12px;border-radius:999px;border:1px solid var(--glass-border);
  background:rgba(234,230,247,.03);color:var(--gold-bright);font-size:12px;
}
.chat-suggestions button:hover{background:rgba(212,175,55,.14);}
.chatbot-input{display:flex;border-top:1px solid rgba(212,175,55,.15);}
.chatbot-input input{
  flex:1;border:none;background:none;color:var(--ink);padding:14px 16px;font-size:13.5px;
}
.chatbot-input input:focus{outline:none;}
.chatbot-input button{background:none;border:none;color:var(--gold);padding:0 16px;font-size:15px;}

@media (max-width:480px){
  .chatbot{right:20px;bottom:20px;}
  .chatbot-window{width:calc(100vw - 40px);right:-20px;}
  .whatsapp-float{left:16px;bottom:20px;}
}

/* ==========================================================================
   RESPONSIVE NAV
   ========================================================================== */
@media (max-width:960px){
  .hamburger{display:flex;}
  .main-nav{
    position:fixed;top:0;right:0;height:100vh;width:min(320px,80vw);
    background:linear-gradient(180deg, var(--navy), var(--purple-deep));
    border-left:1px solid var(--glass-border);
    transform:translateX(100%);transition:transform .4s ease;
    padding:100px 30px 30px;z-index:490;
  }
  .main-nav.open{transform:translateX(0);}
  .main-nav ul{flex-direction:column;gap:22px;}
  .main-nav a{font-size:16px;}
}

/* fade-in utility fallback if AOS JS hasn't loaded yet */
[data-aos]{opacity:1;}

.tools-menu{

    position:relative;

}

.tools-menu>a{

    display:flex;
    align-items:center;
    gap:8px;

}

.mega-menu{

    position:absolute;

    top:100%;
    left:50%;

    transform:translateX(-50%) translateY(20px);

    width:900px;

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(20px);

    border:1px solid #E8DAB6;

    border-radius:22px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

    padding:35px;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

.tools-menu:hover .mega-menu{

    opacity:1;

    visibility:visible;

    transform:translateX(-50%) translateY(8px);

}

.menu-column{

    display:flex;

    flex-direction:column;

}

.menu-column h4{

    color:var(--gold);

    font-size:17px;

    margin-bottom:18px;

    display:flex;

    align-items:center;

    gap:10px;

}

.menu-column h4 i{

    color:var(--gold-bright);

}

.menu-column a{

    color:var(--ivory-dim);

    padding:10px 0;

    font-size:14px;

    transition:.3s;

}

.menu-column a:hover{

    color:var(--gold);

    padding-left:8px;

}

.tools-menu>a i{

    font-size:12px;

    transition:.3s;

}

.tools-menu:hover>a i{

    transform:rotate(180deg);

}

@media(max-width:992px){

    .mega-menu{

        position:static;

        transform:none;

        width:100%;

        grid-template-columns:1fr;

        opacity:1;

        visibility:visible;

        display:none;

        margin-top:15px;

    }

    .tools-menu.active .mega-menu{

        display:grid;

    }

}

.dropdown{
    position:relative;
}

.dropdown>a{
    display:flex;
    align-items:center;
    gap:8px;
}

.dropdown-menu{

    position:absolute;

    top:120%;

    left:50%;

    transform:translateX(-50%);

    min-width:260px;

    background:#fff;

    border-radius:16px;

    border:1px solid #E8D9B8;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    padding:12px 0;

    list-style:none;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:999;

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    top:100%;

}

.dropdown-menu li{

    width:100%;

}

.dropdown-menu li a{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 20px;

    color:#2C2417;

    text-decoration:none;

    transition:.3s;

}

.dropdown-menu li a:hover{

    background:#FFF8EC;

    color:#C89B3C;

}

.dropdown-menu li a i{

    width:22px;

    color:#C89B3C;

}



