/* Family Yatra - main stylesheet */
:root{
  --bg-void:#0b0705;
  --bg-deep:#120b08;
  --bg-panel:#180f0a;
  --bg-panel-2:#1e130d;
  --gold:#d8ad4d;
  --gold-light:#f3d98b;
  --gold-dim:#8a6f34;
  --saffron:#e8752c;
  --maroon:#7a2331;
  --text-hi:#f7efe1;
  --text-mid:#cdbfa8;
  --text-dim:#93856f;
  --line:rgba(216,173,77,0.18);
  --shadow-soft:0 20px 50px -20px rgba(0,0,0,0.6);
  --ease:cubic-bezier(.16,.84,.44,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-void);
  color:var(--text-hi);
  font-family:'Poppins',sans-serif;
  font-weight:300;
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:700;line-height:1.15;color:var(--text-hi);}
.serif-accent{font-family:'Cormorant Garamond',serif;}
.container{max-width:1240px;margin:0 auto;padding:0 28px;}
section{position:relative;}
::selection{background:var(--gold);color:#1a1005;}

/* ---------- utility / decorative ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Cormorant Garamond',serif;font-weight:600;font-style:italic;
  font-size:1.15rem;color:var(--gold-light);letter-spacing:.08em;
  margin-bottom:14px;
}
.eyebrow::before,.eyebrow::after{content:"";width:26px;height:1px;background:var(--gold-dim);}
.section-head{text-align:center;max-width:660px;margin:0 auto 56px;}
.section-head h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:14px;}
.section-head p{color:var(--text-mid);font-size:1.02rem;font-weight:300;}
.divider-mark{width:70px;height:22px;margin:18px auto 0;opacity:.85;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 34px;border-radius:2px;font-size:.86rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .35s ease,color .35s ease;
  white-space:nowrap;position:relative;overflow:hidden;
}
.btn-primary{background:linear-gradient(135deg,var(--gold-light),var(--gold) 60%,var(--gold-dim));color:#241505;box-shadow:0 12px 30px -10px rgba(216,173,77,.55);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px rgba(216,173,77,.7);}
.btn-outline{border:1px solid rgba(247,239,225,.4);color:var(--text-hi);background:rgba(255,255,255,.03);backdrop-filter:blur(6px);}
.btn-outline:hover{background:rgba(247,239,225,.12);border-color:var(--text-hi);transform:translateY(-3px);}
.btn-small{padding:11px 22px;font-size:.72rem;}

/* ---------- reveal animation ----------
   Hidden state only applies once .reveal-armed lands on <html> (set by JS
   right before observers are wired up). If JS never reaches that line for
   any reason, content simply stays visible instead of vanishing. */
.reveal,.reveal-zoom,.reveal-left,.reveal-right{transition:opacity .9s var(--ease),transform .9s var(--ease);}
html.reveal-armed .reveal{opacity:0;transform:translateY(36px);}
html.reveal-armed .reveal-zoom{opacity:0;transform:scale(.92);transition-duration:1s;}
html.reveal-armed .reveal-left{opacity:0;transform:translateX(-40px);}
html.reveal-armed .reveal-right{opacity:0;transform:translateX(40px);}
html.reveal-armed .reveal.in-view,html.reveal-armed .reveal-zoom.in-view,html.reveal-armed .reveal-left.in-view,html.reveal-armed .reveal-right.in-view{opacity:1;transform:none;}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}.d4{transition-delay:.32s;}.d5{transition-delay:.4s;}

/* ================= HEADER ================= */
header{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  padding:22px 0;
  background:linear-gradient(to bottom, rgba(10,6,4,.85), rgba(10,6,4,0));
  transition:background .4s ease,padding .4s ease,box-shadow .4s ease;
}
header.scrolled{
  padding:12px 0;
  background:rgba(11,7,5,.92);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 30px -14px rgba(0,0,0,.6);
  border-bottom:1px solid var(--line);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo{display:flex;align-items:center;gap:12px;}
.logo svg{width:38px;height:38px;flex-shrink:0;}
.logo-img{height:52px;width:auto;display:block;}
.logo-img--footer{height:64px;}
.logo-text{display:flex;flex-direction:column;line-height:1.1;}
.logo-text strong{font-family:'Playfair Display',serif;font-size:1.22rem;letter-spacing:.02em;color:var(--text-hi);}
.logo-text span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.75rem;color:var(--gold-light);letter-spacing:.14em;text-transform:uppercase;}

nav.main-nav ul{display:flex;gap:38px;}
nav.main-nav a{
  font-size:.85rem;font-weight:500;letter-spacing:.03em;color:var(--text-mid);
  position:relative;padding:6px 0;transition:color .3s ease;white-space:nowrap;
}
nav.main-nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);
  transition:width .35s var(--ease);
}
nav.main-nav a:hover,nav.main-nav a.active{color:var(--text-hi);}
nav.main-nav a:hover::after,nav.main-nav a.active::after{width:100%;}

.header-right{display:flex;align-items:center;gap:26px;}
.header-phone{display:flex;align-items:center;gap:10px;}
.header-phone .icon-circle{
  width:38px;height:38px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;
}
.header-phone .txt{display:flex;flex-direction:column;line-height:1.2;}
.header-phone .txt small{font-size:.65rem;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;}
.header-phone .txt strong{font-size:.92rem;color:var(--text-hi);font-weight:600;}

.menu-toggle{display:none;flex-direction:column;gap:5px;width:30px;z-index:1200;}
.menu-toggle span{height:2px;width:100%;background:var(--text-hi);border-radius:2px;transition:transform .35s ease,opacity .35s ease;}
.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.active span:nth-child(2){opacity:0;}
.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ================= HERO ================= */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  overflow:hidden;isolation:isolate;
  padding:130px 0 70px; /* keeps hero content clear of the fixed header */
}
.hero-bg{
  position:absolute;inset:-6% -3%;z-index:-2;
  background:url('../img/home.jpg') center 38%/cover no-repeat;
  filter:saturate(1.05) contrast(1.05);
  will-change:transform;
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(216,173,77,.14), transparent 55%),
    linear-gradient(180deg, rgba(8,5,3,.55) 0%, rgba(8,5,3,.72) 45%, rgba(8,5,3,.95) 100%);
}
.hero-wrap{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.hero-content{max-width:640px;}
.hero-form{width:100%;}
.hero-content .eyebrow{color:var(--gold-light);}
.hero-highlight{
  display:inline-flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
  backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);
  border:1px solid rgba(216,173,77,.4);
  border-radius:50px;padding:8px 22px 8px 8px;margin-bottom:26px;
  animation:heroGlow 2.6s ease-in-out infinite;
}
.hero-highlight .hh-img{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--gold-light);}
.hero-highlight .hh-img img{width:100%;height:100%;object-fit:cover;}
.hero-highlight .hh-text{display:flex;flex-direction:column;line-height:1.3;}
.hero-highlight .hh-text strong{font-size:.86rem;color:var(--gold-light);font-family:'Playfair Display',serif;}
.hero-highlight .hh-text span{font-size:.68rem;color:var(--text-dim);}
@keyframes heroGlow{
  0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 0 rgba(216,173,77,.35);}
  50%{box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 8px rgba(216,173,77,0);}
}
.hero-content h1{
  font-size:clamp(2rem,4.2vw,3.3rem);
  margin-bottom:14px;
  text-shadow:0 8px 40px rgba(0,0,0,.5);
}
.hero-content h1 em{font-style:italic;color:var(--gold-light);}
.hero-content p.lead{
  font-size:1.08rem;color:var(--text-mid);max-width:560px;margin-bottom:24px;font-weight:300;
}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:56px;}

.hero-stats{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:30px;max-width:640px;}
.hero-stats .stat{flex:1;min-width:120px;padding-right:24px;}
.hero-stats .stat h3{font-size:2.6rem;color:var(--gold-light);font-family:'Playfair Display',serif;display:flex;align-items:baseline;gap:2px;}
.hero-stats .stat h3 .counter{font:inherit;color:inherit;letter-spacing:0;}
.hero-stats .stat > span{display:block;margin-top:4px;font-size:.74rem;color:var(--text-mid);letter-spacing:.08em;text-transform:uppercase;line-height:1.4;}

/* ---- hero package showcase ---- */
.hero-trust{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-mid);margin-bottom:14px;
  padding:6px 14px;border:1px solid var(--line);border-radius:40px;background:rgba(11,7,5,.45);backdrop-filter:blur(6px);}
.hero-trust span{color:#ffc94d;letter-spacing:.1em;}
.hero-show{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:300px;margin-bottom:20px;}
.hs-item{position:relative;display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);transition:border-color .3s ease;}
.hs-main{grid-row:1 / 3;border-color:var(--gold-dim);}
.hs-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.hs-main img{object-position:center 22%;}
.hs-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,5,3,.88));}
.hs-item:hover{border-color:var(--gold);}
.hs-item:hover img{transform:scale(1.06);}
.hs-cap{position:absolute;left:14px;bottom:12px;z-index:2;display:flex;flex-direction:column;line-height:1.15;
  font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:#fff;}
.hs-main .hs-cap{font-size:1.45rem;}
.hs-cap small{font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);}

.hero-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.hero-steps li{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:30px;font-size:.8rem;color:var(--text-hi);
  background:rgba(11,7,5,.5);border:1px solid var(--line);}
.hero-steps b{font-weight:400;}

.hero-call{display:flex;gap:12px;align-items:stretch;}
.hc-main{flex:1;display:flex;align-items:center;gap:14px;padding:12px 22px 12px 12px;border-radius:10px;
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 60%,var(--gold-dim));color:#241505;
  box-shadow:0 14px 34px -12px rgba(216,173,77,.6);transition:transform .3s var(--ease),box-shadow .3s ease;}
.hc-main:hover{transform:translateY(-3px);box-shadow:0 20px 40px -12px rgba(216,173,77,.75);}
.hc-icon{width:48px;height:48px;border-radius:50%;background:#241505;color:var(--gold-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;
  animation:pulseRing 2.2s ease-in-out infinite;}
@keyframes pulseRing{0%,100%{box-shadow:0 0 0 0 rgba(36,21,5,.45);}50%{box-shadow:0 0 0 9px rgba(36,21,5,0);}}
.hc-txt{display:flex;flex-direction:column;font-size:1.45rem;font-weight:700;letter-spacing:.01em;line-height:1.15;}
.hc-txt small{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.75;}
.hc-wa{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 20px;border-radius:10px;
  background:#25D366;color:#06301a;font-size:.72rem;font-weight:700;}
.hc-wa:hover{filter:brightness(1.08);}
@media (prefers-reduced-motion:reduce){.hc-icon{animation:none;}}

.booking-form.flash{animation:formFlash 1.4s ease;}
@keyframes formFlash{0%,100%{box-shadow:var(--shadow-soft);}30%{box-shadow:0 0 0 3px var(--gold),0 0 40px rgba(216,173,77,.45);}}

.scroll-cue{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-dim);
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
}
.scroll-cue .line{width:1px;height:38px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden;}
.scroll-cue .line::after{content:"";position:absolute;top:-40%;left:0;width:100%;height:40%;background:var(--gold-light);animation:cue 1.8s ease-in-out infinite;}
@keyframes cue{0%{top:-40%;}100%{top:100%;}}

/* ================= MARQUEE STRIP ================= */
.marquee-strip{
  background:var(--bg-panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 0;overflow:hidden;white-space:nowrap;
}
.marquee-track{display:inline-flex;gap:50px;animation:scrollLeft 26s linear infinite;}
.marquee-track span{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;color:var(--text-dim);
  display:inline-flex;align-items:center;gap:50px;
}
.marquee-track span b{color:var(--gold-light);font-weight:600;}
@keyframes scrollLeft{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ================= SECTION GENERIC ================= */
.section{padding:120px 0;}
.section-alt{background:var(--bg-deep);}

/* ---- Departure board ---- */
.board{
  max-width:1100px;margin:0 auto;border-radius:10px;overflow:hidden;
  background:#0a0705;border:1px solid var(--gold-dim);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(243,217,139,.08);
  font-family:'JetBrains Mono',ui-monospace,monospace;
}
.board-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:18px 26px;background:linear-gradient(180deg,#1c130c,#120b08);border-bottom:1px solid var(--gold-dim);
}
.board-title{display:flex;align-items:center;gap:14px;color:var(--gold-light);font-size:1.25rem;font-weight:700;letter-spacing:.32em;}
.board-title svg{transform:rotate(45deg);}
.board-where{display:flex;align-items:center;gap:18px;color:var(--text-mid);font-size:.78rem;letter-spacing:.14em;}
.board-clock{color:var(--gold-light);font-size:1.15rem;font-weight:700;padding:4px 10px;border:1px solid var(--line);border-radius:4px;background:#000;}
.board-table{width:100%;border-collapse:collapse;}
.board-table th{
  text-align:left;padding:12px 18px;font-size:.66rem;font-weight:500;letter-spacing:.18em;color:var(--text-dim);
  border-bottom:1px solid var(--line);background:#0e0906;
}
.board-table td{padding:16px 18px;border-bottom:1px solid rgba(216,173,77,.08);vertical-align:middle;}
.board-table tbody tr{transition:background .3s ease;}
.board-table tbody tr:nth-child(even){background:rgba(255,255,255,.015);}
.board-table tbody tr:hover{background:rgba(216,173,77,.07);}
.flap{display:inline-flex;gap:2px;}
.flap i{
  font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:.95em;padding:3px 1px;
  background:linear-gradient(180deg,#1d1610 0 49%,#100b07 51% 100%);border-radius:2px;
  color:var(--gold-light);font-weight:700;font-size:1.02rem;line-height:1.1;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.6);
}
.flap i.sp{background:transparent;box-shadow:none;}
.flap i.flip{animation:flapFlip .09s linear;}
@keyframes flapFlip{0%{transform:scaleY(1);}50%{transform:scaleY(.2);}100%{transform:scaleY(1);}}
.b-no{color:var(--text-dim);font-size:.8rem;white-space:nowrap;}
.b-temple{color:var(--text-hi);font-family:'Poppins',sans-serif;font-size:.86rem;}
.b-temple small{display:block;color:var(--text-dim);font-size:.72rem;margin-top:2px;}
.b-gate{color:var(--gold-light);font-weight:700;font-size:1rem;letter-spacing:.08em;}
.b-gate small{display:block;color:var(--text-dim);font-weight:500;font-size:.66rem;letter-spacing:.06em;margin-top:2px;}
.b-trip{color:var(--text-hi);font-size:.86rem;white-space:nowrap;}
.b-status{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.14em;color:#7fe0a0;white-space:nowrap;}
.b-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;}
.b-status.boarding{color:#ffb547;}
.b-status.boarding::before{animation:blink 1.1s steps(2) infinite;}
@keyframes blink{50%{opacity:.15;}}
.board-book{
  display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:4px;white-space:nowrap;
  font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#241505;background:linear-gradient(135deg,var(--gold-light),var(--gold));transition:transform .25s ease,box-shadow .25s ease;
}
.board-book:hover{transform:translateY(-2px);box-shadow:0 10px 20px -8px rgba(216,173,77,.6);}
.board-foot{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 26px;font-size:.7rem;letter-spacing:.06em;color:var(--text-dim);background:#0e0906;
}
.board-foot b{color:var(--gold-light);font-weight:500;}
@media (max-width:900px){
  .board-table thead{display:none;}
  .board-table,.board-table tbody{display:block;}
  .board-table tbody tr{
    display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:16px 18px;
    border-bottom:1px solid rgba(216,173,77,.1);
  }
  .board-table td{padding:0;border:0;}
  .board-table td.c-no{display:none;}
  .board-table td.c-dest{grid-column:1;}
  .board-table td.c-gate{grid-column:2;grid-row:1;text-align:right;}
  .board-table td.c-temple{grid-column:1 / -1;}
  .board-table td.c-trip{grid-column:1;}
  .board-table td.c-status{display:none;}
  .board-table td.c-book{grid-column:2;grid-row:3;}
  .board-top{padding:16px 18px;}
  .board-title{font-size:1rem;letter-spacing:.24em;}
  .board-foot{padding:12px 18px;}
}
@media (max-width:420px){
  .flap i{font-size:.86rem;}
}
@media (prefers-reduced-motion:reduce){
  .flap i.flip,.b-status.boarding::before{animation:none;}
}

/* ---- Packages ---- */
.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.pkg-card{
  background:linear-gradient(180deg,var(--bg-panel),var(--bg-panel-2));
  border:1px solid var(--line);border-radius:6px;overflow:hidden;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s ease;
  display:flex;flex-direction:column;
}
.pkg-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px -25px rgba(0,0,0,.7);border-color:var(--gold-dim);}
.pkg-media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.pkg-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.pkg-card:hover .pkg-media img{transform:scale(1.1);}
.pkg-tag{
  position:absolute;top:14px;left:14px;background:rgba(11,7,5,.75);backdrop-filter:blur(4px);
  border:1px solid var(--gold-dim);color:var(--gold-light);font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 12px;border-radius:20px;
}
.pkg-duration{
  position:absolute;left:14px;bottom:14px;background:var(--gold);color:#241505;
  font-size:.74rem;font-weight:700;letter-spacing:.04em;padding:6px 12px;border-radius:20px;
}
.pkg-body{padding:24px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.pkg-body h3{font-size:1.25rem;}
.pkg-route{color:var(--text-dim);font-size:.8rem;}
.pkg-desc{color:var(--text-mid);font-size:.86rem;}
.pkg-includes{list-style:none;display:flex;flex-direction:column;gap:7px;margin:4px 0 0;padding:0;flex:1;}
.pkg-includes li{position:relative;padding-left:24px;font-size:.85rem;color:var(--text-hi);}
.pkg-includes li::before{
  content:"";position:absolute;left:0;top:.2em;width:15px;height:15px;border-radius:50%;
  background:rgba(216,173,77,.15) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23f3d98b%27 stroke-width=%273.5%27%3E%3Cpath d=%27M5 12l5 5L19 7%27/%3E%3C/svg%3E") center/9px no-repeat;
}
.pkg-foot{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:10px;padding-top:16px;border-top:1px dashed var(--line);}
.pkg-price{display:flex;align-items:baseline;justify-content:space-between;line-height:1.1;}
.pkg-price small{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.pkg-price strong{font-size:1.5rem;color:var(--gold-light);font-family:"Playfair Display",serif;}
.pkg-btn{width:100%;justify-content:center;text-align:center;padding:13px 16px;font-size:.78rem;}

/* ---- About text + facilities ---- */
.about-text p{color:var(--text-mid);margin-bottom:14px;max-width:520px;}
.about-text p strong{color:var(--text-hi);font-weight:600;}
.about-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.25rem;color:var(--gold-light);margin-top:22px;}
.journey-text{max-width:820px;margin:0 auto;text-align:center;}
.journey-text p{color:var(--text-mid);margin-bottom:16px;}
.journey-text p strong{color:var(--text-hi);font-weight:600;}
.journey-text .about-tagline{margin-top:6px;}

/* ---- Licence ---- */
.licence-wrap{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:70px;align-items:center;}
.licence-doc{
  position:relative;display:block;width:100%;padding:14px;cursor:zoom-in;
  background:linear-gradient(180deg,var(--bg-panel),var(--bg-panel-2));
  border:1px solid var(--gold-dim);border-radius:6px;box-shadow:var(--shadow-soft);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.licence-doc:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(0,0,0,.7);}
.licence-doc img{width:100%;height:auto;display:block;border-radius:3px;}
.licence-doc img{background:#fdfbf6;padding:10px;box-shadow:0 0 0 1px rgba(216,173,77,.35);}
.licence-doc .zoom-hint{
  display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;
  color:var(--gold-light);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
}
.licence-text p{color:var(--text-mid);margin-bottom:16px;max-width:520px;}
.licence-meta{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;}
.licence-meta li{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px;}
.licence-meta small{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.licence-meta strong{color:var(--text-hi);font-size:.92rem;font-weight:500;word-break:break-word;}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(5,3,2,.92);display:none;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;}
.lightbox.open{display:flex;}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.lightbox-close{position:absolute;top:16px;right:20px;color:#fff;font-size:2rem;line-height:1;background:none;border:0;cursor:pointer;}
@media (max-width:860px){
  .licence-wrap{grid-template-columns:1fr;gap:40px;}
  .licence-doc{max-width:380px;margin:0 auto;}
}

/* ---- Why Choose Us ---- */
.why-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.why-media{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-soft);}
.why-media img{width:100%;height:100%;object-fit:cover;}
.why-media-badge{
  position:absolute;bottom:0;left:12px;right:12px;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.02));
  backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%);
  border:1px solid rgba(255,255,255,.25);border-bottom:none;box-shadow:0 8px 32px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.18);
  border-radius:6px 6px 0 0;padding:10px 14px;display:flex;gap:10px;align-items:center;
}
.why-media-badge .num{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--gold-light);text-shadow:0 2px 10px rgba(0,0,0,.6);}
.why-media-badge .lbl{font-size:.66rem;color:var(--text-hi);line-height:1.25;text-shadow:0 1px 6px rgba(0,0,0,.7);}

.why-list{display:flex;flex-direction:column;gap:26px;margin-top:34px;}
.why-item{display:flex;gap:20px;align-items:flex-start;padding-bottom:26px;border-bottom:1px solid var(--line);}
.why-item:last-child{border-bottom:none;padding-bottom:0;}
.why-icon{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,rgba(216,173,77,.18),rgba(216,173,77,.04));
  border:1px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;color:var(--gold-light);
  transition:transform .4s var(--ease),background .4s ease;
}
.why-item:hover .why-icon{transform:scale(1.1) rotate(-6deg);background:var(--gold);color:#241505;}
.why-text h4{font-size:1.12rem;margin-bottom:6px;}
.why-text p{color:var(--text-mid);font-size:.88rem;}

/* ---- Gallery ---- */
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:16px;
}
.g-item{position:relative;overflow:hidden;border-radius:6px;}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.g-item:hover img{transform:scale(1.14);}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,4,2,.9),transparent 60%);opacity:.75;transition:opacity .4s ease;}
.g-item:hover::after{opacity:1;}
.g-caption{position:absolute;left:16px;bottom:14px;right:16px;z-index:2;transform:translateY(10px);opacity:.85;transition:transform .4s ease,opacity .4s ease;}
.g-item:hover .g-caption{transform:translateY(0);opacity:1;}
.g-caption strong{font-size:.92rem;font-family:'Playfair Display',serif;display:block;}
.g-caption span{font-size:.68rem;color:var(--gold-light);letter-spacing:.06em;text-transform:uppercase;}
.g-big{grid-column:span 2;grid-row:span 2;}
.g-caption p{font-size:.78rem;color:var(--text-mid);line-height:1.45;margin:4px 0 0;max-height:0;overflow:hidden;transition:max-height .45s ease;}
.g-item:hover .g-caption p{max-height:80px;}
.g-big .g-caption p{max-height:80px;font-size:.86rem;max-width:420px;}
.g-big .g-caption strong{font-size:1.25rem;}
.g-caption{text-shadow:0 1px 10px rgba(0,0,0,.85);}
.g-big::after{background:linear-gradient(0deg,rgba(6,4,2,.92),rgba(6,4,2,.25) 55%,transparent 80%);opacity:1;}
@media (hover:none){.g-caption p{max-height:80px;}}
.inc-strip{list-style:none;padding:0;margin:-10px auto 40px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.inc-strip li{display:flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--gold-dim);border-radius:999px;
  background:linear-gradient(135deg,rgba(216,173,77,.12),rgba(216,173,77,.02));color:var(--text-hi);font-size:.82rem;}
.inc-strip svg{color:var(--gold-light);flex-shrink:0;}
.photo-credits{margin:18px 0 0;text-align:center;font-size:.66rem;color:var(--text-dim);}

/* ---- Booking / Contact ---- */
.booking-section{
  position:relative;background:linear-gradient(180deg,var(--bg-void),var(--bg-deep));
  overflow:hidden;
}
.booking-section::before{
  content:"";position:absolute;inset:0;
  background:url('../img/tirumala-night.jpg') center/cover;
  opacity:.1;filter:grayscale(.3);
}
.booking-wrap{position:relative;z-index:1;max-width:620px;margin:0 auto;}
.contact-block{padding-right:10px;}
.contact-block .eyebrow{justify-content:flex-start;}
.contact-block h2{font-size:clamp(2rem,3.6vw,2.6rem);margin-bottom:18px;}
.contact-block p.lead{color:var(--text-mid);margin-bottom:34px;font-size:.98rem;}
.contact-list{display:flex;flex-direction:column;gap:22px;margin-bottom:34px;}
.contact-list li{display:flex;gap:16px;align-items:center;}
.contact-list .ci{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-dim);color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-list .ct small{display:block;color:var(--text-dim);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;}
.contact-list .ct strong{font-size:.98rem;font-weight:500;}
.social-row{display:flex;gap:12px;}
.social-row a{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:var(--text-mid);
}
.social-row a:hover{background:var(--gold);color:#241505;border-color:var(--gold);transform:translateY(-3px);}

.booking-form{
  background:linear-gradient(180deg,rgba(24,15,10,.9),rgba(30,19,13,.9));
  border:1px solid var(--line);border-radius:10px;padding:44px;box-shadow:var(--shadow-soft);
}
.booking-form h3{font-size:1.5rem;margin-bottom:6px;}
.booking-form > p{color:var(--text-mid);font-size:.86rem;margin-bottom:28px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.field.full{grid-column:1/-1;}
.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);}
.field select,.field input{
  background:rgba(11,7,5,.6);border:1px solid var(--line);border-radius:4px;
  padding:14px 16px;color:var(--text-hi);font-family:inherit;font-size:16px;
  transition:border-color .3s ease,background .3s ease;
  color-scheme:dark;
  width:100%;
}
.field select:focus,.field input:focus{outline:none;border-color:var(--gold);background:rgba(11,7,5,.85);}
.field input::placeholder{color:var(--text-dim);}
.booking-form .btn{width:100%;margin-top:6px;}
.form-msg{
  margin-top:16px;font-size:.84rem;color:var(--gold-light);display:none;align-items:center;gap:8px;
  border:1px solid var(--gold-dim);background:rgba(216,173,77,.08);padding:12px 16px;border-radius:4px;
}
.form-msg.show{display:flex;}

/* ---- Testimonial strip ---- */
.quote-strip{
  padding:90px 0;text-align:center;position:relative;
  background:linear-gradient(180deg,var(--bg-deep),var(--bg-void));
}
.quote-strip svg{width:34px;height:34px;color:var(--gold-dim);margin:0 auto 22px;}
.quote-strip p{
  max-width:760px;margin:0 auto 24px;font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.3rem,2.6vw,1.75rem);color:var(--text-hi);line-height:1.5;
}
.quote-strip .who{color:var(--gold-light);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;}

/* ---- Footer ---- */
footer{background:var(--bg-panel);border-top:1px solid var(--line);padding:80px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px;margin-bottom:60px;}
.footer-brand p{color:var(--text-mid);font-size:.86rem;margin:18px 0 22px;max-width:300px;}
footer h5{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-hi);margin-bottom:20px;}
footer ul li{margin-bottom:12px;}
footer ul a{color:var(--text-mid);font-size:.88rem;transition:color .3s ease,padding-left .3s ease;}
footer ul a:hover{color:var(--gold-light);padding-left:4px;}
.footer-bottom{
  border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;color:var(--text-dim);font-size:.78rem;
}

/* ---- floating helpers ---- */
.to-top{
  position:fixed;right:26px;bottom:26px;width:50px;height:50px;border-radius:50%;
  background:var(--gold);color:#241505;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px -8px rgba(216,173,77,.6);z-index:900;
  opacity:0;pointer-events:none;transform:translateY(14px) scale(.85);
  transition:opacity .35s ease,transform .35s ease;
}
.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
.to-top:hover{transform:translateY(-4px) scale(1.05);}


.m-bar{display:none;}
.pkg-hint{display:none;margin:-18px 0 12px;text-align:right;font-size:.78rem;color:var(--gold-light);}

/* ================= RESPONSIVE ================= */
@media (max-width:1080px){
  .pkg-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .g-big{grid-column:span 2;grid-row:span 2;}
  .why-wrap{grid-template-columns:1fr;gap:44px;}
  .why-media{max-width:460px;margin:0 auto;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero-wrap{grid-template-columns:1fr;gap:44px;}
  nav.main-nav ul{gap:22px;}
  .header-right{gap:16px;}
  .hero-form{max-width:520px;margin:0 auto;}
  .hero{min-height:auto;padding:120px 0 60px;}
}
@media (max-width:860px){
  nav.main-nav,.header-phone .txt{display:none;}
  .menu-toggle{display:flex;}
  .header-right{gap:14px;}
  nav.main-nav{
    position:fixed;inset:0 0 0 30%;top:0;height:100svh;
    background:rgba(10,6,4,.98);backdrop-filter:blur(10px);
    display:flex;align-items:center;padding:100px 40px 40px;
    transform:translateX(100%);transition:transform .5s var(--ease);
    border-left:1px solid var(--line);
  }
  nav.main-nav.open{transform:translateX(0);display:flex;}
  nav.main-nav ul{flex-direction:column;gap:26px;}
  nav.main-nav a{font-size:1.15rem;}

  /* sticky bottom action bar replaces the round call button */
  .m-bar{
    display:grid;grid-template-columns:.85fr 1.15fr 1.3fr;gap:8px;
    position:fixed;left:0;right:0;bottom:0;z-index:950;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(11,7,5,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);
  }
  .m-bar a{display:flex;align-items:center;justify-content:center;gap:6px;height:46px;padding:0 6px;border-radius:8px;font-size:.82rem;font-weight:600;white-space:nowrap;}
  .m-call{border:1px solid var(--gold-dim);color:var(--gold-light);}
  .m-wa{background:#25D366;color:#06301a;}
  .m-quote{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#241505;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem !important;}
  body{padding-bottom:70px;}
  .to-top{bottom:84px;right:16px;width:44px;height:44px;}
  .header-phone{display:none;}
}
@media (max-width:760px){
  .section{padding:64px 0;}
  .section-head{margin-bottom:36px;}
  /* packages: horizontal swipe carousel instead of 8 stacked cards */
  .pkg-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;
    margin:0 -28px;padding:4px 28px 18px;scroll-padding:0 28px;scrollbar-width:none;}
  .pkg-grid::-webkit-scrollbar{display:none;}
  .pkg-grid{align-items:flex-start;}
  .pkg-card{flex:0 0 84%;scroll-snap-align:start;}
  .pkg-card:hover{transform:none;}
  .pkg-media{aspect-ratio:16/10;}
  .pkg-hint{display:block;}
  /* form: tighter spacing, date + travellers side by side */
  .form-grid{grid-template-columns:1fr 1fr;gap:0 12px;align-items:end;}
  .field{margin-bottom:14px;gap:6px;}
  .field:nth-child(1),.field:nth-child(2){grid-column:1/-1;}
  .booking-form > p{margin-bottom:18px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}
  .g-big{grid-column:span 2;}
  .g-big{grid-row:span 1;}
  .inc-strip{gap:8px;}
  .inc-strip li{padding:7px 12px;font-size:.76rem;}
  .hero-stats{gap:20px;}
  .hero-cta{flex-direction:column;align-items:stretch;}
  .hero-show{height:240px;}
  .hs-main .hs-cap{font-size:1.2rem;}
  .hs-cap{font-size:.92rem;}
  .scroll-cue{display:none;}
  .hero-cta .btn{width:100%;}
  .booking-form{padding:28px 22px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px;margin-bottom:36px;}
  .footer-brand,.footer-grid > div:last-child{grid-column:1/-1;}
  .quote-strip{padding:60px 0;}
  .hero-trust{font-size:.7rem;padding:5px 12px;}
  .why-media{aspect-ratio:4/3;}
}
@media (max-width:480px){
  nav.main-nav{inset:0 0 0 22%;padding:100px 26px 30px;}
  .logo-text span{display:none;}
  .logo svg{width:32px;height:32px;}
  .logo-img{height:42px;}
  .header-right{gap:10px;}
  .header-phone .icon-circle{width:34px;height:34px;}
  .btn{padding:14px 20px;}
  .btn-small{padding:9px 16px;font-size:.68rem;}
  .hero-content h1{font-size:1.75rem;}
  .hero-show{height:200px;gap:8px;}
  .hc-main{padding:10px 14px 10px 10px;gap:10px;}
  .hc-icon{width:40px;height:40px;}
  .hc-txt{font-size:1.15rem;}
  .hc-wa{padding:8px 12px;}
  .hero-content p.lead{font-size:1rem;}
  .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;}
  .hero-stats .stat{min-width:0;padding-right:0;}
  .booking-form{padding:24px 18px;}
  .section-head h2{font-size:1.7rem;}
  .pkg-body{padding:20px 18px 22px;}
  .why-media-badge{padding:8px 12px;gap:8px;}
  .why-media-badge .num{font-size:1.1rem;}
  .container{padding:0 18px;}
  .pkg-grid{margin:0 -18px;padding:4px 18px 18px;scroll-padding:0 18px;}
  .eyebrow{font-size:1rem;gap:8px;}
  .eyebrow::before,.eyebrow::after{width:16px;}
  .hero-trust span{display:none;}
}

/* ---------- helpers (moved from inline style attributes) ---------- */
.eyebrow-center{justify-content:center;}
.pos-8{object-position:center 8%;}
.pos-15{object-position:center 15%;}
.pos-35{object-position:center 35%;}
.pos-40{object-position:center 40%;}
.pos-50{object-position:center 50%;}
.pos-55{object-position:center 55%;}
.pos-60{object-position:center 60%;}
