/* ══════════════════════════════════════════════════
   DESIGN TOKENS — jewel-dark palette
══════════════════════════════════════════════════ */
:root{
  --obsidian:#0B0608;
  --void:#100810;
  --burgundy:#3A0A1E;
  --plum:#250830;
  --plum-mid:#1A0520;
  --card-bg:#150318;
  --card-raised:#1C0622;
  --card-border:#2E0D3A;

  --gold:#C8922A;
  --gold-hi:#E4B84A;
  --gold-bright:#F5D060;
  --gold-dim:#8A6018;
  --gold-glow:rgba(200,146,42,.18);

  --ruby:#8B1A3C;
  --ruby-hi:#C0254E;
  --saffron:#D4580A;
  --saffron-hi:#F07030;

  --text-1:#F8EDD8;
  --text-2:#C8A878;
  --text-3:#8A6848;
  --border-1:rgba(200,146,42,.22);
  --border-2:rgba(200,146,42,.10);
  --border-hi:rgba(200,146,42,.55);
  --r:6px; --r-lg:12px;
}

/* ══════════════════════════════════════════════════
   RESET + BASE
══════════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{
  font-family:'Inter',sans-serif;
  background:var(--obsidian);
  color:var(--text-1);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 15% 10%, rgba(58,10,30,.7)    0%,transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 85%, rgba(37,8,48,.8)     0%,transparent 55%),
    radial-gradient(ellipse 40% 40% at 50% 50%, rgba(200,146,42,.04) 0%,transparent 70%);
}
body::after{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.025;
  background-image:
    linear-gradient(45deg, var(--gold) 1px,transparent 1px),
    linear-gradient(-45deg,var(--gold) 1px,transparent 1px);
  background-size:60px 60px;
}

/* ══════════════════════════════════════════════════
   KEYFRAMES
══════════════════════════════════════════════════ */
@keyframes shimmer {
  0%   { background-position: -100% 0 }
  100% { background-position:  200% 0 }
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(32px)}
  to  {opacity:1;transform:translateY(0)}
}
@keyframes floatOrb{
  0%,100%{transform:translateY(0)    scale(1);   opacity:.5}
  50%    {transform:translateY(-22px)scale(1.08);opacity:.9}
}
@keyframes rotateSlow{to{transform:rotate(360deg)}}
@keyframes marqueeLTR{
  from{transform:translateX(0)}
  to  {transform:translateX(-50%)}
}
@keyframes borderGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(200,146,42,0)}
  50%    {box-shadow:0 0 20px 4px rgba(200,146,42,.2)}
}
@keyframes stickyPop{
  0%,100%{box-shadow:0 6px 30px rgba(200,146,42,.35)}
  50%    {box-shadow:0 6px 50px rgba(200,146,42,.65)}
}
@keyframes modalPop{
  from{opacity:0;transform:scale(.88)}
  to  {opacity:1;transform:scale(1)}
}
@keyframes toastIn{
  from{opacity:0;transform:translateY(1rem)}
  to  {opacity:1;transform:translateY(0)}
}

/* ══════════════════════════════════════════════════
   SHARED UTILITIES
══════════════════════════════════════════════════ */
.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}

.eyebrow{
  font-family:'Cinzel',serif;
  font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;
  color:var(--gold);text-align:center;margin-bottom:.6rem;display:block;
}
.sec-title{
  font-family:'Cinzel Decorative',cursive;
  font-size:clamp(1.8rem,4vw,3rem);font-weight:700;
  text-align:center;line-height:1.15;margin-bottom:.5rem;
  background:linear-gradient(100deg,var(--gold-dim) 20%,var(--gold-bright) 45%,var(--gold-dim) 70%);
  background-size:800px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
.sec-sub{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:1.1rem;color:var(--text-2);text-align:center;
  max-width:580px;margin:0 auto 3rem;line-height:1.7;
}
/* gold rule with centre diamond */
.rule{
  width:120px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:.9rem auto 2.4rem;position:relative;
}
.rule::before{
  content:'✦';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  color:var(--gold);font-size:.7rem;
  background:inherit;padding:0 .5rem;
  /* background set per section via rule-bg helper classes */
}
.rule-void::before  {background:var(--void)}
.rule-plum::before  {background:var(--plum-mid)}
.rule-obs::before   {background:var(--obsidian)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Cinzel',serif;font-size:.82rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;border:none;cursor:pointer;
  border-radius:var(--r);transition:all .25s;padding:.85rem 2rem;
}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-dim) 0%,var(--gold-hi) 50%,var(--gold-dim) 100%);
  background-size:200% 100%;
  background-position:right center;
  color:var(--obsidian);
  box-shadow:0 4px 20px rgba(200,146,42,.35);
  transition:all .25s,background-position .4s ease;
}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 8px 35px rgba(200,146,42,.55);background-position:left center}
.btn-outline{
  background:transparent;color:var(--gold-hi);
  border:1px solid var(--border-1);
}
.btn-outline:hover{border-color:var(--gold-hi);background:rgba(200,146,42,.08);transform:translateY(-3px)}

/* Base card */
.card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--r-lg);
  position:relative;overflow:revert;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.card::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(200,146,42,.04) 0%,transparent 60%);
}
.card:hover{
  transform:translateY(-6px);
  border-color:var(--border-hi);
  box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 40px rgba(200,146,42,.08);
}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* Section backgrounds */
.sec-void    {background:var(--void)}
.sec-plum    {background:var(--plum-mid)}
.sec-obsidian{background:var(--obsidian)}
section{position:relative;z-index:1;padding:6rem 1.5rem;overflow-x:hidden;box-sizing:border-box;width:100%}
.sec-accent::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);
}

/* ══════════════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════════════ */
nav{
  position:fixed;top:0;width:100%;max-width:100vw;box-sizing:border-box;z-index:900;
  padding:1rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;
  transition:all .35s;border-bottom:1px solid transparent;
}
nav.scrolled{
  background:rgba(11,6,8,.96);backdrop-filter:blur(16px);
  padding:.65rem 2.5rem;border-bottom-color:var(--border-2);
  box-shadow:0 4px 40px rgba(0,0,0,.6);
}
.nav-logo{
  font-family:'Cinzel Decorative',cursive;font-size:1.15rem;font-weight:700;
  color:var(--gold-hi);letter-spacing:.04em;text-decoration:none;
}
.nav-logo em{color:var(--ruby-hi);font-style:normal}
.nav-links{display:flex;gap:2.2rem;list-style:none}
.nav-links a{
  font-family:'Cinzel',serif;font-size:.72rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--text-2);text-decoration:none;transition:color .2s;
}
.nav-links a:hover{color:var(--gold-hi)}
.nav-cta{
  background:linear-gradient(135deg,var(--gold-dim),var(--gold-hi));
  color:var(--obsidian)!important;
  padding:.38rem 1.1rem;border-radius:var(--r);
  font-weight:700!important;letter-spacing:.1em!important;
  white-space:nowrap;
}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;z-index:10}
.hamburger span{display:block;width:26px;height:2px;background:var(--gold-hi);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ══════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════ */
#hero{
  min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;
  padding-top:5rem;
  box-sizing:border-box;
  position:relative;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 80% at 50% 55%,rgba(58,10,30,.85)  0%,transparent 70%),
    radial-gradient(ellipse 50% 40% at 20% 80%,rgba(37,8,48,.9)    0%,transparent 60%),
    radial-gradient(ellipse 40% 35% at 80% 20%,rgba(139,26,60,.25) 0%,transparent 55%),
    linear-gradient(180deg,var(--void) 0%,#18050F 45%,var(--obsidian) 100%);
  /* background-image: url("/static/bg.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  opacity: 0.25; */
}
/* ambient orbs */
.orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;animation:floatOrb 7s ease-in-out infinite}
.orb-1{width:340px;height:340px;left:-80px;top:20%;background:radial-gradient(circle,rgba(139,26,60,.35),transparent 70%);animation-delay:0s}
.orb-2{width:280px;height:280px;right:-60px;top:30%;background:radial-gradient(circle,rgba(200,146,42,.18),transparent 70%);animation-delay:2s}
.orb-3{width:200px;height:200px;left:40%;top:5%;background:radial-gradient(circle,rgba(212,88,10,.2),transparent 70%);animation-delay:3.5s}
.orb-4{width:150px;height:150px;left:15%;bottom:10%;background:radial-gradient(circle,rgba(200,146,42,.12),transparent 70%);animation-delay:1s}
/* concentric rings */
.ring{position:absolute;border-radius:50%;border:1px solid rgba(200,146,42,.08);pointer-events:none}
.ring-1{width:700px;height:700px;top:50%;left:50%;transform:translate(-50%,-50%);animation:rotateSlow 60s linear infinite}
.ring-2{width:500px;height:500px;top:50%;left:50%;transform:translate(-50%,-50%);border-color:rgba(139,26,60,.1);animation:rotateSlow 40s linear infinite reverse}
.ring-3{width:300px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%);animation:rotateSlow 25s linear infinite}

.hero-content{position:relative;z-index:2;text-align:center;padding:2rem;max-width:860px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:auto;}
.hero-pill-group{
  display:flex;flex-direction:column;align-items:center;gap:.45rem;
  margin-bottom:0;
}
.hero-pill{
  display:inline-flex;align-items:center;gap:.6rem;
  border:1px solid var(--border-1);background:rgba(200,146,42,.07);
  border-radius:100px;padding:.38rem 1.2rem;margin-bottom:1.2rem;
  animation:fadeUp .8s ease both;
}
.hero-pill-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--gold-hi);box-shadow:0 0 8px var(--gold-hi);
  animation:borderGlow 2s ease-in-out infinite;
}
.hero-pill-text{
  font-family:'Cinzel',serif;font-size:.68rem;
  letter-spacing:.3em;color:var(--gold-hi);text-transform:uppercase;
}
/* ── Team Presenter (inside hero, before badge pill) ─────── */
.team-presenter{
  display:inline-flex;align-items:center;gap:.5em;
  animation:fadeUp .8s ease both;
}
.team-presenter-name{
  font-family:'Cinzel',serif;
  font-size:clamp(.75rem,1.6vw,1rem);
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-bright);
  text-shadow:0 0 20px rgba(245,208,96,.45),0 1px 6px rgba(0,0,0,.7);
}
.team-presenter-label{
  font-family:'Cinzel',serif;
  font-size:clamp(.6rem,1.1vw,.75rem);
  letter-spacing:.35em;text-transform:uppercase;
  color:var(--text-1);
  opacity:.6;
  font-weight:400;
}
.hero-title{
  font-family:'Cinzel Decorative',cursive;
  font-size:clamp(1.8rem,5.5vw,5.5rem);font-weight:900;
  line-height:1.05;letter-spacing:-.01em;margin-bottom:.3rem;
  background:linear-gradient(100deg,var(--gold-dim) 5%,var(--gold-bright) 35%,var(--text-1) 50%,var(--gold-bright) 65%,var(--gold-dim) 95%);
  background-size: 300% 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation: fadeUp .8s ease .1s both, shimmer 6s linear infinite;
}
.hero-sub{
  font-family:'Cinzel Decorative',cursive;
  font-size:clamp(1.1rem,3.2vw,3rem);font-weight:700;
  color:var(--ruby-hi);display:block;margin-bottom:.8rem;
  letter-spacing:.04em;animation:fadeUp .8s ease .2s both;
  text-shadow:0 0 60px rgba(192,37,78,.4);
}
.hero-tagline{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:clamp(.85rem,1.6vw,1.25rem);color:var(--text-2);
  margin-bottom:1rem;animation:fadeUp .8s ease .3s both;letter-spacing:.02em;
}
.hero-workshop-date{
  display:inline-flex;align-items:center;gap:.75rem;
  background:linear-gradient(135deg,rgba(192,37,78,.25) 0%,rgba(200,146,42,.18) 50%,rgba(192,37,78,.25) 100%);
  border:1.5px solid rgba(200,146,42,.7);
  border-radius:12px;padding:.6rem 1.2rem;margin-bottom:1rem;
  animation:fadeUp .8s ease .35s both;
  position:relative;overflow:hidden;
  box-shadow:0 0 24px rgba(200,146,42,.25),0 0 60px rgba(192,37,78,.15),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.hero-workshop-date::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(200,146,42,.12) 50%,transparent 100%);
  animation:shimmer-date 2.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes shimmer-date{
  0%,100%{opacity:0;transform:translateX(-100%)}
  50%{opacity:1;transform:translateX(100%)}
}
.hero-workshop-date .date-icon{
  font-size:1.35rem;
  filter:drop-shadow(0 0 6px rgba(200,146,42,.8));
  animation:pulse-icon 2s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes pulse-icon{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 6px rgba(200,146,42,.8))}
  50%{transform:scale(1.15);filter:drop-shadow(0 0 12px rgba(200,146,42,1))}
}
.hero-workshop-date .date-label{
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-2);font-family:'Cinzel',serif;font-weight:600;
  text-shadow:0 0 12px rgba(200,146,42,.4);
}
.hero-workshop-date .date-value{
  font-size:1.05rem;font-weight:700;
  color:var(--gold-bright);
  font-family:'Cinzel',serif;letter-spacing:.06em;
  text-shadow:0 0 16px rgba(245,208,96,.6),0 0 32px rgba(200,146,42,.4);
}
.hero-workshop-date .coming-soon-badge{
  background:linear-gradient(135deg,var(--ruby),var(--ruby-hi));
  border-radius:6px;padding:.2rem .65rem;
  font-size:.78rem;letter-spacing:.12em;font-weight:700;
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);
  box-shadow:0 0 12px rgba(192,37,78,.5);
  animation:pulse-badge 1.8s ease-in-out infinite;
}
@keyframes pulse-badge{
  0%,100%{box-shadow:0 0 12px rgba(192,37,78,.5)}
  50%{box-shadow:0 0 20px rgba(192,37,78,.85),0 0 36px rgba(192,37,78,.3)}
}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .8s ease .4s both}
.hero-scroll{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  color:var(--text-3);font-family:'Cinzel',serif;
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;
  z-index:2;animation:floatOrb 2.5s ease-in-out infinite;
}
.scroll-track{width:1px;height:48px;background:linear-gradient(180deg,var(--gold),transparent)}

/* ══════════════════════════════════════════════════
   HOME HERO (dual-event landing)
══════════════════════════════════════════════════ */
#home-hero{
  position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;padding:7rem 1.5rem 4rem;
}

.home-hero-content{
  position:relative;z-index:2;text-align:center;
  display:flex;flex-direction:column;align-items:center;max-width:760px;width:100%;
}
.home-hero-title{
  font-family:'Cinzel',serif;font-size:clamp(1.9rem,5.5vw,3.6rem);
  font-weight:700;color:var(--gold-hi);line-height:1.15;
  text-shadow:0 0 60px rgba(200,146,42,.35);margin:.9rem 0 2rem;
  animation:fadeUp .7s ease both;
}

/* ── Event cards ──────────────────────────────────── */
/* ── Event links (inline, no heavy card) ─────────── */
.home-event-cards{
  display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;align-items:center;
  width:100%;animation:fadeUp .8s ease .15s both;
}
/* thin vertical divider between the two links */
.home-event-cards .home-event-divider{
  width:1px;height:2rem;
  background:linear-gradient(to bottom, transparent, var(--border-1), transparent);
  margin:0 1.5rem;flex-shrink:0;
}
.home-event-card{
  display:flex;flex-direction:column;align-items:center;gap:.45rem;
  text-align:center;text-decoration:none;
  padding:.5rem .9rem;
  position:relative;
  transition:opacity .25s ease;
}
/* subtle underline that grows on hover */
.home-event-card::after{
  content:'';position:absolute;bottom:0;left:50%;right:50%;height:1px;
  background:var(--gold);
  transition:left .3s ease, right .3s ease;
}
.home-event-card--navratri::after{background:var(--ruby-hi)}
.home-event-card:hover::after{left:10%;right:10%}
.home-event-card:hover{opacity:1}
.home-event-card:not(:hover){opacity:.85}
.home-event-card-title{
  font-family:'Cinzel',serif;font-size:clamp(.85rem,1.8vw,.98rem);
  font-weight:700;color:var(--text-1);line-height:1.3;margin:0;
  letter-spacing:.04em;
  transition:color .25s ease;
}
.home-event-card:hover .home-event-card-title{color:var(--gold-hi)}
.home-event-card--navratri:hover .home-event-card-title{color:#e07090}

/* ── Status badges ────────────────────────────────── */
.home-event-status{
  display:flex;align-items:center;gap:.45rem;
  padding:.3rem .8rem;border-radius:999px;
  font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.1em;
  font-weight:600;
}
.home-event-status--live{
  background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:#4ade80;
}
.home-event-status--soon{
  background:rgba(200,146,42,.12);border:1px solid rgba(200,146,42,.3);color:var(--gold);
}
.home-event-status--date{
  background:rgba(255,255,255,.06);border:1px solid var(--card-border);color:var(--text-2);
}
.status-dot{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0}
.status-dot--live{background:#4ade80;box-shadow:0 0 6px #4ade80;animation:pulse 1.6s ease-in-out infinite}
.status-dot--soon{background:var(--gold);opacity:.8}
.status-dot--date{background:var(--text-3)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}



/* ══════════════════════════════════════════════════
   ABOUT
══════════════════════════════════════════════════ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-text p{font-size:1.02rem;line-height:1.9;color:var(--text-2);margin-bottom:1.1rem}
.about-text strong{color:var(--gold-hi);font-weight:600}
.about-pull{
  border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(200,146,42,.07),transparent);
  padding:1.2rem 1.5rem;border-radius:0 var(--r) var(--r) 0;margin:1.8rem 0;
}
.about-pull p{
  font-family:'Playfair Display',serif;font-style:italic;font-size:1.25rem;
  color:var(--gold-bright)!important;margin:0!important;line-height:1.55;
}
.about-visual{
  position:relative;display:flex;align-items:center;justify-content:center;min-height:380px;
}
/* rotating mandala rings */
.mr{position:absolute;border-radius:50%;border:1px solid rgba(200,146,42,.15)}
.mr::before,.mr::after{content:'◆';position:absolute;top:-6px;left:50%;transform:translateX(-50%);color:var(--gold);font-size:.55rem;opacity:.6}
.mr::after{top:auto;bottom:-6px}
.mr1{width:360px;height:360px;animation:rotateSlow 50s linear infinite}
.mr2{width:280px;height:280px;border-color:rgba(139,26,60,.2);animation:rotateSlow 35s linear infinite reverse}
.mr3{width:200px;height:200px;animation:rotateSlow 22s linear infinite}
.mr4{width:120px;height:120px;border-color:rgba(200,146,42,.3);background:radial-gradient(circle,rgba(200,146,42,.12),transparent)}
.mandala-center{position:relative;z-index:2;text-align:center}
.mandala-center .big-emoji{font-size:3.5rem;display:block}
.mandala-center .mantra{
  font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.3em;
  color:var(--gold-dim);text-transform:uppercase;display:block;margin-top:.5rem;
}

/* ══════════════════════════════════════════════════
   WHY JOIN
══════════════════════════════════════════════════ */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.feature-card{padding:2.2rem 1.8rem;display:flex;flex-direction:column;gap:.8rem}
.fc-icon{
  width:52px;height:52px;border-radius:var(--r);
  background:linear-gradient(135deg,var(--burgundy),var(--plum));
  border:1px solid var(--border-1);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;flex-shrink:0;transition:box-shadow .3s;
}
.feature-card:hover .fc-icon{box-shadow:0 0 24px rgba(200,146,42,.3)}
.feature-card h3{
  font-family:'Cinzel',serif;font-size:1.05rem;font-weight:700;
  color:var(--text-1);letter-spacing:.04em;
}
.feature-card p{font-size:.95rem;line-height:1.75;color:var(--text-2)}
.feature-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold-dim),var(--ruby-hi));
  transform:scaleX(0);transform-origin:left;transition:transform .35s;
  border-radius:0 0 var(--r-lg) var(--r-lg);
}
.feature-card:hover::after{transform:scaleX(1)}

/* ══════════════════════════════════════════════════
   TRAINER
══════════════════════════════════════════════════ */
.trainer-list{
  display:flex;flex-direction:column;gap:2.5rem;
}
.trainer-card{
  display:grid;grid-template-columns:260px 1fr;gap:3.5rem;
  align-items:center;padding:3rem;
}
.trainer-card-reverse{
  grid-template-columns:1fr 260px;
}
.trainer-card-reverse .trainer-info{order:1}
.trainer-card-reverse .trainer-avatar{order:2}
.trainer-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:min(240px,70vw);height:min(240px,70vw);aspect-ratio:1/1;margin:0 auto}
.trainer-photo-ring{
  width:220px;height:220px;border-radius:50%;
  background:linear-gradient(135deg,var(--burgundy),var(--plum));
  border:2px solid var(--gold-dim);
  display:flex;align-items:center;justify-content:center;
  font-size:5.5rem;position:relative;z-index:1;
  box-shadow:0 0 50px rgba(139,26,60,.4),inset 0 0 40px rgba(200,146,42,.06);
}
.trainer-avatar::before{
  content:'';position:absolute;width:250px;height:250px;border-radius:50%;
  border:1px solid rgba(200,146,42,.12);animation:rotateSlow 12s linear infinite;
}
.trainer-avatar::after{
  content:'';position:absolute;width:280px;height:280px;border-radius:50%;
  border:1px dashed rgba(200,146,42,.07);animation:rotateSlow 20s linear infinite reverse;
}
.trainer-info h2{
  font-family:'Cinzel Decorative',cursive;font-size:2rem;font-weight:700;
  color:var(--text-1);margin-bottom:.25rem;
  background:linear-gradient(100deg,var(--gold-dim) 20%,var(--gold-bright) 50%,var(--gold-dim) 80%);
  background-size:400px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
.trainer-role{
  font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--ruby-hi);margin-bottom:1.5rem;
}
.trainer-info p{font-size:1rem;line-height:1.85;color:var(--text-2);margin-bottom:.9rem}
.trainer-info strong{color:var(--gold-hi)}
.trainer-specialties{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}
.trainer-specialty{
  display:inline-block;background:rgba(200,146,42,.12);border:1px solid var(--gold-dim);
  border-radius:20px;padding:.25rem .75rem;font-size:.75rem;color:var(--gold-hi);
  font-family:'Cinzel',serif;letter-spacing:.05em;
}
.trainer-stats{
  display:flex;gap:2rem;margin-top:1.8rem;padding-top:1.5rem;
  border-top:1px solid var(--border-2);
}
.stat-n{
  font-family:'Cinzel Decorative',cursive;font-size:2rem;font-weight:700;
  background:linear-gradient(100deg,var(--gold-hi),var(--gold-bright));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;
}
.stat-l{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.2em;color:var(--text-3);text-transform:uppercase}

/* ══════════════════════════════════════════════════
   BATCHES
══════════════════════════════════════════════════ */
.batches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.batch-card{padding:2.2rem;text-align:center}
.batch-card.popular{border-color:var(--gold-dim);background:linear-gradient(160deg,rgba(200,146,42,.08),var(--card-bg))}
.batch-star{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:linear-gradient(90deg,var(--gold-dim),var(--gold-hi));
  color:var(--obsidian);font-family:'Cinzel',serif;
  font-size:.62rem;font-weight:700;letter-spacing:.15em;
  padding:.3rem 1.1rem;border-radius:100px;white-space:nowrap;
}
.batch-time{font-family:'Cinzel Decorative',cursive;font-size:1.65rem;font-weight:700;color:var(--gold-hi);margin-bottom:.3rem;line-height:1.2}
.batch-days{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ruby-hi);margin-bottom:1.2rem}
.batch-level{font-family:'Cinzel',serif;font-size:.82rem;font-weight:700;color:var(--text-1);margin-bottom:.6rem}
.batch-desc{font-size:.92rem;color:var(--text-2);line-height:1.7;margin-bottom:1.2rem}
.seats-badge{
  display:inline-flex;align-items:center;gap:.45rem;
  background:linear-gradient(135deg,rgba(212,88,10,.22),rgba(185,28,28,.18));
  border:1px solid rgba(212,88,10,.6);
  border-radius:6px;
  padding:.15rem 0.5rem;
  animation:seatsPulse 2.4s ease-in-out infinite;
}
.seats-badge-num{
  font-family:'Cinzel Decorative',cursive;font-size:1.05rem;font-weight:900;
  color:#ff6b2b;
  text-shadow:0 0 12px rgba(212,88,10,.7);
  line-height:1;
}
.seats-badge-label{
  font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--saffron-hi);line-height:1.3;text-align:left;
}
@keyframes seatsPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(212,88,10,0);border-color:rgba(212,88,10,.6)}
  50%    {box-shadow:0 0 14px 2px rgba(212,88,10,.35);border-color:rgba(212,88,10,.95)}
}

/* ══════════════════════════════════════════════════
   GALLERY
══════════════════════════════════════════════════ */
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:180px;gap:1rem;
}
.g-item{
  border-radius:var(--r-lg);overflow:hidden;
  background:var(--card-bg);border:1px solid var(--card-border);
  position:relative;cursor:pointer;transition:all .3s;
}
.g-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.g-item:nth-child(4){grid-column:span 2}
.g-item:hover{border-color:var(--border-hi);box-shadow:0 10px 40px rgba(0,0,0,.5)}
.g-inner{
  width:100%;height:100%;
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--card-bg),rgba(200,146,42,.05));
  transition:background .3s;
}
.g-item:hover .g-inner{background:linear-gradient(135deg,var(--card-raised),rgba(200,146,42,.1))}
.g-emoji{font-size:2.2rem}
.g-item:nth-child(1) .g-emoji{font-size:3.5rem}
.g-label{
  position:absolute;bottom:0;left:0;right:0;
  padding:.35rem .6rem;
  background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 100%);
  font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.85);text-align:center;
}
.g-overlay{
  position:absolute;inset:0;background:rgba(200,146,42,.08);
  opacity:0;transition:opacity .3s;
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
.g-item:hover .g-overlay{opacity:1}

/* ══════════════════════════════════════════════════
   PRICING
══════════════════════════════════════════════════ */
.pricing-wrap{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}
.pricing-card{width:300px;padding:2.5rem 2rem;display:flex;flex-direction:column}
.pricing-card.featured-card{
  border-color:var(--gold-dim);
  background:linear-gradient(180deg,rgba(200,146,42,.09),var(--card-bg));
  transform:scale(1.03);
}
.pricing-card.featured-card:hover{transform:scale(1.03) translateY(-6px)}
.offer-ribbon{
  position:absolute;top:-1px;right:-1px;
  background:linear-gradient(135deg,var(--gold-dim),var(--saffron));
  color:var(--obsidian);font-family:'Cinzel',serif;
  font-size:.6rem;font-weight:700;letter-spacing:.12em;
  padding:.35rem 1rem;border-radius:0 var(--r-lg) 0 var(--r);
}
.plan-name{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
.plan-price{font-family:'Cinzel Decorative',cursive;font-size:3.2rem;font-weight:700;line-height:1;color:var(--text-1);margin-bottom:.2rem}
.plan-price sup{font-size:1.4rem;vertical-align:top;margin-top:.5rem}
.plan-duration{color:var(--text-3);font-size:.85rem;margin-bottom:.3rem}
.plan-original{text-decoration:line-through;color:var(--text-3);font-size:.9rem;margin-bottom:1.5rem;opacity:.6}
.plan-features{list-style:none;margin-bottom:2rem;flex:1}
.plan-features li{
  display:flex;gap:.6rem;align-items:flex-start;
  padding:.5rem 0;border-bottom:1px solid var(--border-2);
  color:var(--text-2);font-size:.93rem;line-height:1.5;
}
.plan-features li::before{content:'✦';color:var(--gold);font-size:.65rem;flex-shrink:0;margin-top:.25rem}
.upi-note{
  margin-top:3rem;padding:1.5rem 2rem;
  background:rgba(200,146,42,.05);border:1px solid var(--border-1);
  border-radius:var(--r-lg);text-align:center;
  max-width:460px;margin-left:auto;margin-right:auto;
}
.upi-note h4{font-family:'Cinzel',serif;color:var(--gold-hi);margin-bottom:.5rem;font-size:.9rem;letter-spacing:.1em}
.upi-id-display{
  font-family:monospace;font-size:1.2rem;color:var(--saffron-hi);letter-spacing:.1em;
  background:rgba(0,0,0,.3);padding:.5rem 1rem;border-radius:var(--r);
  display:inline-block;margin:.4rem 0;
}
.upi-note p{color:var(--text-3);font-size:.85rem;margin-top:.4rem}

/* ══════════════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════════════ */
.marquee-shell{overflow:hidden;position:relative;padding:1rem 0}
.marquee-shell::before,.marquee-shell::after{
  content:'';position:absolute;top:0;bottom:0;width:180px;z-index:2;pointer-events:none;
}
.marquee-shell::before{left:0; background:linear-gradient(90deg, var(--plum-mid),transparent)}
.marquee-shell::after {right:0;background:linear-gradient(-90deg,var(--plum-mid),transparent)}
.marquee-track{display:flex;gap:1.25rem;width:max-content;animation:marqueeLTR 38s linear infinite}
.marquee-track:hover{animation-play-state:paused}
.testi-card{
  width:320px;flex-shrink:0;padding:1.8rem;
  border-radius:var(--r-lg);background:var(--card-bg);
  border:1px solid var(--card-border);transition:border-color .3s;
}
@media(max-width:560px){
  .testi-card{width:260px;padding:1.4rem}
  .marquee-shell::before,.marquee-shell::after{width:60px}
}
.testi-card:hover{border-color:var(--border-hi)}
.testi-stars{color:var(--gold);font-size:.9rem;letter-spacing:.15em;margin-bottom:.8rem}
.testi-text{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:1.05rem;color:var(--text-1);line-height:1.65;margin-bottom:1.1rem;
}
.testi-author{display:flex;align-items:center;gap:.8rem}
.testi-av{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--burgundy),var(--ruby));
  border:1px solid var(--border-1);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cinzel',serif;font-size:.8rem;font-weight:700;color:var(--gold-hi);flex-shrink:0;
}
.testi-name{font-weight:600;color:var(--text-1);font-size:.92rem}
.testi-meta{color:var(--text-3);font-size:.78rem}

/* ══════════════════════════════════════════════════
   CONTACT / REGISTER
══════════════════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:3.5rem;align-items:center}
.contact-side h3{
  font-family:'Cinzel Decorative',cursive;font-size:1.6rem;
  margin-bottom:1.8rem;
  background:linear-gradient(100deg,var(--gold-dim),var(--gold-bright),var(--gold-dim));
  background-size:400px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
.contact-item{display:flex;gap:1rem;margin-bottom:1.6rem;align-items:flex-start}
.contact-ico{
  width:46px;height:46px;border-radius:var(--r);
  background:linear-gradient(135deg,var(--burgundy),var(--plum));
  border:1px solid var(--border-1);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;
}
.contact-det h4{
  font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.25rem;
}
.contact-det p,.contact-det a{color:var(--text-2);font-size:.95rem;line-height:1.55;text-decoration:none;transition:color .2s}
.contact-det a:hover{color:var(--gold-hi)}
.wa-btn{
  display:inline-flex;align-items:center;gap:.7rem;
  background:#25D366;color:#fff;
  font-family:'Cinzel',serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.85rem 1.8rem;border-radius:var(--r);text-decoration:none;margin-top:1.6rem;transition:all .25s;
}
.wa-btn:hover{background:#1DAB52;transform:translateY(-2px);box-shadow:0 8px 25px rgba(37,211,102,.3)}
.reg-card{padding:2.5rem}
.reg-card h3{
  font-family:'Cinzel Decorative',cursive;font-size:1.5rem;
  margin-bottom:1.5rem;
  background:linear-gradient(100deg,var(--gold-dim),var(--gold-bright),var(--gold-dim));
  background-size:400px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-g{margin-bottom:1.1rem}
.form-g label{
  display:block;font-family:'Cinzel',serif;
  font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:.4rem;
}
.form-g input,.form-g select{
  width:100%;background:rgba(255,255,255,.04);
  border:1px solid var(--card-border);border-radius:var(--r);
  padding:.75rem 1rem;color:var(--text-1);
  font-family:'Inter',sans-serif;font-size:.95rem;
  transition:border-color .2s,background .2s;appearance:none;
}
.form-g input:focus,.form-g select:focus{outline:none;border-color:var(--gold-dim);background:rgba(200,146,42,.05)}
.form-g input::placeholder{color:var(--text-3)}
.form-g select option{background:var(--card-bg)}
.form-submit{width:100%;padding:1rem;font-size:.82rem;margin-top:.4rem}
.form-note{text-align:center;color:var(--text-3);font-size:.82rem;margin-top:.7rem}

/* ══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */
footer{
  background:var(--void);border-top:1px solid var(--border-2);
  padding:3.5rem 1.5rem 2rem;text-align:center;
}
.footer-logo{
  font-family:'Cinzel Decorative',cursive;font-size:1.7rem;font-weight:700;
  background:linear-gradient(100deg,var(--gold-dim),var(--gold-bright),var(--gold-dim));
  background-size:400px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 5s linear infinite;margin-bottom:.4rem;
}
.footer-tag{font-family:'Playfair Display',serif;font-style:italic;color:var(--text-3);font-size:1rem;margin-bottom:2rem}
.social-row{display:flex;gap:.8rem;justify-content:center;margin-bottom:2rem}
.soc-link{
  width:44px;height:44px;border:1px solid var(--card-border);border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;text-decoration:none;transition:all .2s;
}
.soc-link:hover{border-color:var(--gold-dim);background:rgba(200,146,42,.1);transform:translateY(-2px)}
.footer-copy{border-top:1px solid var(--border-2);padding-top:1.5rem;color:var(--text-3);font-size:.82rem;line-height:1.8}

/* ══════════════════════════════════════════════════
   STICKY BUTTON
══════════════════════════════════════════════════ */
.sticky-btn{
  position:fixed;bottom:2rem;right:2rem;z-index:850;
  padding:.9rem 1.8rem;
  background:linear-gradient(135deg,var(--gold-dim),var(--gold-hi));
  background-size:200% 100%;
  background-position:right center;
  color:var(--obsidian);
  font-family:'Cinzel',serif;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;display:flex;align-items:center;gap:.5rem;
  border-radius:var(--r);
  box-shadow:0 6px 30px rgba(200,146,42,.35);
  transition:transform .2s,box-shadow .2s,background-position .4s ease;
}
.sticky-btn:hover{transform:translateY(-3px);box-shadow:0 8px 40px rgba(200,146,42,.55);background-position:left center;animation:none}

/* ══════════════════════════════════════════════════
   MODALS
══════════════════════════════════════════════════ */
.modal-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.88);z-index:2000;
  align-items:flex-start;justify-content:center;padding:1.5rem;
  overflow-y:auto;
}
.modal-overlay.active{display:flex}
.modal-box{
  background:var(--card-bg);border:1px solid var(--gold-dim);
  border-radius:var(--r-lg);padding:2.5rem;max-width:500px;width:100%;
  position:relative;box-shadow:0 0 80px rgba(200,146,42,.15);
  animation:modalPop .3s ease;
  margin:auto;
}
.modal-close{
  position:absolute;top:1rem;right:1.2rem;
  background:none;border:none;color:var(--text-3);font-size:1.4rem;cursor:pointer;transition:color .2s;
}
.modal-close:hover{color:var(--text-1)}
.modal-icon{font-size:3rem;margin-bottom:.8rem;display:block;text-align:center}
.modal-title{
  font-family:'Cinzel Decorative',cursive;font-size:1.7rem;text-align:center;
  background:linear-gradient(100deg,var(--gold-dim),var(--gold-bright),var(--gold-dim));
  background-size:400px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 3s linear infinite;margin-bottom:.5rem;
}
.modal-text{text-align:center;color:var(--text-2);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}
.upi-box{
  background:rgba(200,146,42,.06);border:1px solid var(--border-1);
  border-radius:var(--r);padding:1.4rem;margin:1.2rem 0;
}
.upi-box h4{font-family:'Cinzel',serif;color:var(--gold-hi);text-align:center;margin-bottom:.9rem;font-size:.85rem;letter-spacing:.1em}
.upi-step{display:flex;gap:.7rem;margin-bottom:.7rem;align-items:flex-start;font-size:.9rem;color:var(--text-2)}
.upi-step-n{
  width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-dim),var(--gold-hi));
  color:var(--obsidian);display:flex;align-items:center;justify-content:center;
  font-size:.7rem;font-weight:700;flex-shrink:0;margin-top:1px;
}
.upi-id-big{
  text-align:center;font-family:monospace;font-size:1.25rem;
  color:var(--saffron-hi);letter-spacing:.12em;
  background:rgba(0,0,0,.35);border-radius:var(--r);
  padding:.6rem 1rem;margin:.7rem 0;
}
.modal-label{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.modal-input{
  width:100%;background:rgba(255,255,255,.04);
  border:1px solid var(--card-border);border-radius:var(--r);
  padding:.75rem 1rem;color:var(--text-1);
  font-family:'Inter',sans-serif;font-size:1rem;margin-top:.4rem;transition:border-color .2s;
}
.modal-input:focus{outline:none;border-color:var(--gold-dim)}
.modal-input::placeholder{color:var(--text-3)}
.modal-btn{width:100%;padding:1rem;margin-top:1rem;justify-content:center}

/* ══════════════════════════════════════════════════
   ADMIN PANEL
══════════════════════════════════════════════════ */
#admin-panel{display:none;position:fixed;inset:0;background:var(--void);z-index:5000;overflow-y:auto}
#admin-panel.active{display:block}
.admin-topbar{
  background:var(--obsidian);border-bottom:1px solid var(--gold-dim);
  padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:10;box-shadow:0 4px 20px rgba(0,0,0,.5);
}
.admin-topbar h1{font-family:'Cinzel',serif;font-size:1.2rem;font-weight:700;color:var(--gold-hi);letter-spacing:.1em}
.admin-topbar-actions{display:flex;gap:.75rem}
.adm-btn{
  padding:.45rem 1.1rem;border:1px solid var(--card-border);border-radius:var(--r);
  background:transparent;color:var(--text-2);font-family:'Cinzel',serif;
  font-size:.72rem;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;
}
.adm-btn:hover{border-color:var(--gold-dim);color:var(--gold-hi);background:rgba(200,146,42,.08)}
.adm-btn.danger{border-color:rgba(200,50,50,.35);color:#e05050}
.adm-btn.danger:hover{background:rgba(200,50,50,.1)}
.admin-body{padding:2rem;max-width:1400px;margin:0 auto}
.admin-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:2rem}
.kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:1.2rem 1.5rem;text-align:center}
.kpi-n{
  font-family:'Cinzel Decorative',cursive;font-size:2.2rem;font-weight:700;
  background:linear-gradient(100deg,var(--gold-hi),var(--gold-bright));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;
}
.kpi-l{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.2em;color:var(--text-3);text-transform:uppercase}
.admin-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--card-border);margin-bottom:1.8rem}
.a-tab{
  padding:.55rem 1.4rem;border:none;background:none;
  font-family:'Cinzel',serif;font-size:.75rem;font-weight:600;letter-spacing:.1em;
  color:var(--text-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;
}
.a-tab.on{color:var(--gold-hi);border-bottom-color:var(--gold)}
.a-tab-content{display:none}
.a-tab-content.on{display:block}
.adm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1px}
.adm-table-wrap::-webkit-scrollbar{height:4px}
.adm-table-wrap::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:2px}
.adm-table{width:100%;border-collapse:collapse;font-size:.88rem}
.adm-table th{
  background:var(--card-bg);color:var(--gold-dim);padding:.7rem 1rem;
  text-align:left;border-bottom:1px solid var(--card-border);
  font-family:'Cinzel',serif;font-weight:600;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;
}
.adm-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border-2);color:var(--text-2)}
.adm-table tr:hover td{background:rgba(200,146,42,.03)}
.badge-paid{background:rgba(74,222,128,.12);color:#4ade80;border:1px solid rgba(74,222,128,.25);padding:.18rem .65rem;border-radius:100px;font-family:'Cinzel',serif;font-size:.62rem;font-weight:700;letter-spacing:.08em;white-space:nowrap;}
.badge-pending{background:rgba(212,88,10,.12);color:var(--saffron-hi);border:1px solid rgba(212,88,10,.3);padding:.18rem .65rem;border-radius:100px;font-family:'Cinzel',serif;font-size:.62rem;font-weight:700;letter-spacing:.08em;white-space:nowrap;}
.adm-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:1.8rem;margin-bottom:1.25rem}
.adm-section h3{
  font-family:'Cinzel',serif;font-size:.85rem;font-weight:700;letter-spacing:.15em;
  color:var(--gold-hi);text-transform:uppercase;
  margin-bottom:1.3rem;padding-bottom:.75rem;border-bottom:1px solid var(--card-border);
}
.adm-field{display:grid;grid-template-columns:160px 1fr 80px;gap:.8rem;align-items:center;margin-bottom:.8rem}
.adm-field label{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-3)}
.adm-field input{
  background:rgba(255,255,255,.04);border:1px solid var(--card-border);border-radius:var(--r);
  padding:.5rem .85rem;color:var(--text-1);font-family:'Inter',sans-serif;font-size:.9rem;transition:border-color .2s;
}
.adm-field input:focus{outline:none;border-color:var(--gold-dim)}
.adm-save{
  padding:.45rem .8rem;
  background:linear-gradient(135deg,var(--gold-dim),var(--gold-hi));
  border:none;border-radius:var(--r);color:var(--obsidian);
  font-family:'Cinzel',serif;font-size:.65rem;font-weight:700;letter-spacing:.1em;
  cursor:pointer;white-space:nowrap;transition:opacity .2s;
}
.adm-save:hover{opacity:.85}
.admin-login-screen{position:fixed;inset:0;z-index:5001;background:var(--void);display:flex;align-items:center;justify-content:center}
.admin-login-box{
  background:var(--card-bg);border:1px solid var(--gold-dim);border-radius:var(--r-lg);
  padding:3rem 2.5rem;width:380px;text-align:center;box-shadow:0 0 80px rgba(200,146,42,.12);
}
.admin-login-box h2{font-family:'Cinzel Decorative',cursive;font-size:1.5rem;color:var(--gold-hi);margin-bottom:.4rem}
.admin-login-box p{color:var(--text-3);font-size:.85rem;margin-bottom:2rem}
.admin-login-box input{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--card-border);border-radius:var(--r);
  padding:.75rem 1rem;color:var(--text-1);font-family:'Inter',sans-serif;font-size:.95rem;
  margin-bottom:.9rem;transition:border-color .2s;
}
.admin-login-box input:focus{outline:none;border-color:var(--gold-dim)}
.admin-login-box input::placeholder{color:var(--text-3)}
.admin-login-btn{
  width:100%;padding:.85rem;
  background:linear-gradient(135deg,var(--gold-dim),var(--gold-hi));
  border:none;border-radius:var(--r);color:var(--obsidian);
  font-family:'Cinzel',serif;font-size:.8rem;font-weight:700;letter-spacing:.15em;cursor:pointer;transition:opacity .2s;
}
.admin-login-btn:hover{opacity:.9}
.admin-err{color:#e05050;font-size:.82rem;margin-top:.4rem;display:none}

/* ══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */

/* ── Tablet / large mobile (≤900px) ──────────────── */
@media(max-width:900px){
  /* --- Nav --- */
  nav{padding:.85rem 1.25rem}
  nav.scrolled{padding:.65rem 1.25rem}
  .nav-links{
    display:none;flex-direction:column;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:rgba(11,6,8,.98);
    border-bottom:1px solid var(--border-2);
    backdrop-filter:blur(16px);
    padding:0;
  }
  .nav-links.open{display:flex}
  .nav-links li{border-bottom:1px solid var(--border-2)}
  .nav-links a{
    display:block;padding:1rem 1.5rem;
    font-size:.8rem;letter-spacing:.2em;
  }
  .nav-links .nav-cta{
    margin:1rem 1.5rem;display:inline-flex;
    border-radius:var(--r);text-align:center;justify-content:center;
  }
  .hamburger{display:flex}

  /* --- Sections --- */
  section{padding:4rem 1.25rem}

  /* --- Hero --- */
  .hero-ctas{flex-direction:column;align-items:center;gap:.75rem}
  .hero-ctas .btn{width:min(320px,100%);justify-content:center}
  .hero-scroll{display:none}
  .orb-1{width:200px;height:200px}
  .orb-2{width:160px;height:160px}
  .ring-1{width:420px;height:420px}
  .ring-2{width:300px;height:300px}
  .ring-3{width:180px;height:180px}
  /* Home hero event links — wrap vertically, hide divider */
  .home-event-cards{flex-direction:column;gap:.25rem}
  .home-event-cards .home-event-divider{display:none}
  .home-event-card{padding:.4rem .75rem}
  .home-event-card-title{font-size:.9rem}

  /* --- About --- */
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-visual{min-height:260px}
  .mr1{width:240px;height:240px}
  .mr2{width:185px;height:185px}
  .mr3{width:130px;height:130px}
  .mr4{width:80px;height:80px}

  /* --- Features --- */
  .features-grid{grid-template-columns:1fr 1fr}

  /* --- Trainer --- */
  .trainer-card,.trainer-card-reverse{
    grid-template-columns:1fr;text-align:center;
    padding:2rem 1.5rem;gap:2rem;
  }
  .trainer-card-reverse .trainer-info{order:2}
  .trainer-card-reverse .trainer-avatar{order:1}
  .trainer-avatar{justify-content:center;width:100%}
  .trainer-photo-ring{width:180px;height:180px;font-size:4rem}
  .trainer-avatar::before{width:200px;height:200px}
  .trainer-avatar::after{width:225px;height:225px}
  .trainer-specialties{justify-content:center}
  .trainer-stats{justify-content:center;gap:2.5rem}

  /* --- Batches --- */
  .batches-grid{grid-template-columns:1fr}

  /* --- Gallery --- */
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .g-item:nth-child(1){grid-column:span 2}
  .g-item:nth-child(4){grid-column:span 1}

  /* --- Pricing --- */
  .pricing-wrap{flex-direction:column;align-items:center}
  .pricing-card{width:min(340px,100%)}
  .pricing-card.featured-card{transform:none}
  .pricing-card.featured-card:hover{transform:translateY(-6px)}

  /* --- Contact / Register --- */
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .form-row{grid-template-columns:1fr}
  .reg-card{padding:1.75rem}

  /* --- Modals --- */
  .modal-box{padding:1.75rem 1.25rem;margin:1rem}

  /* --- Sticky btn --- */
  .sticky-btn{
    bottom:1rem;right:1rem;
    padding:.7rem 1.1rem;font-size:.68rem;
  }

  /* --- Admin panel --- */
  .admin-topbar{padding:.75rem 1rem}
  .admin-topbar h1{font-size:1rem}
  .admin-body{padding:1rem}
  .admin-kpis{grid-template-columns:1fr 1fr}
  .admin-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .admin-tabs::-webkit-scrollbar{height:3px}
  .admin-tabs::-webkit-scrollbar-thumb{background:var(--gold-dim)}
  .a-tab{padding:.5rem .85rem;font-size:.68rem;white-space:nowrap}
  .adm-field{grid-template-columns:1fr}
  .adm-form-grid{grid-template-columns:1fr}

  /* --- Navratri --- */
  .navratri-reg-form{padding:1.75rem 1.25rem}

  /* --- Two-ways --- */
  .two-ways-card .btn{width:100%;justify-content:center}

  /* --- Sponsorship --- */
  .sponsorship-layout{grid-template-columns:1fr;gap:2rem}
  .sform-row{grid-template-columns:1fr}

}

/* ── Small mobile (≤560px) ────────────────────────── */
@media(max-width:560px){
  /* --- Base --- */
  section{padding:3.25rem 1rem}
  .container{padding:0 1rem}
  .sec-sub{font-size:.97rem;margin-bottom:2.25rem}

  /* --- Nav --- */
  nav{padding:.75rem 1rem}
  .nav-logo{font-size:.95rem}

  /* --- Hero --- */
  .hero-content{padding:1rem .75rem}
  .hero-pill{padding:.3rem .9rem;margin-bottom:1.5rem}
  .hero-pill-text{font-size:.6rem;letter-spacing:.2em}
  .hero-tagline{margin-bottom:2rem}

  /* --- Features --- */
  .features-grid{grid-template-columns:1fr}
  .feature-card{padding:1.6rem 1.4rem}

  /* --- Trainer --- */
  .trainer-card,.trainer-card-reverse{padding:1.5rem 1rem}
  .trainer-photo-ring{width:150px;height:150px;font-size:3.5rem}
  .trainer-avatar::before{width:168px;height:168px}
  .trainer-avatar::after{width:192px;height:192px}
  .trainer-stats{flex-wrap:wrap;gap:1.5rem}
  .trainer-info h2{font-size:1.6rem}

  /* --- Gallery --- */
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:140px}
  .g-item:nth-child(1),.g-item:nth-child(4){grid-column:span 1}

  /* --- Pricing --- */
  .pricing-card{width:100%}

  /* --- Contact / Register --- */
  .contact-item{gap:.75rem}
  .contact-ico{width:38px;height:38px;font-size:1.1rem}
  .reg-card{padding:1.25rem 1rem}
  .wa-btn{width:100%;justify-content:center}

  /* --- Modal --- */
  .modal-overlay{padding:.75rem}
  .modal-box{padding:1.5rem 1rem}
  .modal-title{font-size:1.35rem}
  .upi-id-big{font-size:1rem;letter-spacing:.06em;word-break:break-all}

  /* --- Sticky btn --- */
  .sticky-btn{
    left:50%;right:auto;
    transform:translateX(-50%);
    bottom:.85rem;
    white-space:nowrap;
  }
  .sticky-btn:hover{transform:translateX(-50%) translateY(-2px)}

  /* --- Admin panel --- */
  .admin-topbar{flex-wrap:wrap;gap:.5rem}
  .admin-topbar h1{font-size:.9rem}
  .admin-topbar-actions{gap:.4rem}
  .adm-btn{padding:.38rem .75rem;font-size:.65rem}
  .admin-kpis{grid-template-columns:1fr 1fr;gap:.6rem}
  .kpi-card{padding:.9rem 1rem}
  .kpi-n{font-size:1.7rem}
  .admin-login-box{width:calc(100% - 2rem);padding:2rem 1.25rem}

  /* --- Navratri --- */
  .navratri-hero{padding:6rem 1rem 3.5rem}
  .amenity-card{padding:1.1rem .75rem}
  .navratri-reg-form{padding:1.25rem 1rem}

  /* --- Two-ways card --- */
  .two-ways-card{padding:1.75rem 1.25rem}
  .two-ways-card .btn{width:100%;justify-content:center}

  /* --- Batch card --- */
  .batch-card{padding:1.6rem 1.25rem}

  /* --- About pull quote --- */
  .about-pull{padding:.9rem 1.1rem}
  .about-pull p{font-size:1.05rem}
}

/* ── Extra small (≤380px) ─────────────────────────── */
@media(max-width:380px){
  .hero-title{font-size:clamp(1.4rem,6vw,2.4rem)}
  .hero-sub{font-size:clamp(.9rem,4vw,1.6rem)}
  .admin-kpis{grid-template-columns:1fr}
  .kpi-n{font-size:1.5rem}
  .nav-logo{font-size:.85rem;letter-spacing:.02em}
  .pricing-card{padding:1.75rem 1.25rem}
  .plan-price{font-size:2.6rem}
  .trainer-stats .stat-n{font-size:1.6rem}
}

/* ══════════════════════════════════════════════════
   TWO WAYS TO CELEBRATE
══════════════════════════════════════════════════ */
.two-ways-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;
}
.two-ways-card{
  background:var(--card-bg);border:1px solid var(--gold-dim);
  border-radius:var(--r-lg);padding:2.5rem 2rem;
  display:flex;flex-direction:column;gap:1rem;
  transition:transform .3s,box-shadow .3s;
  position:relative;overflow:hidden;
}
.two-ways-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(200,146,42,.06) 0%,transparent 60%);
  pointer-events:none;
}
.two-ways-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(200,146,42,.18)}
.two-ways-card .eyebrow{text-align:left;margin-bottom:0}
.two-ways-card h3{
  font-family:'Cinzel Decorative',cursive;
  font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.2;
  background:linear-gradient(100deg,var(--gold-dim) 20%,var(--gold-bright) 50%,var(--gold-dim) 80%);
  background-size:600px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
.two-ways-card p{color:var(--text-2);font-size:.95rem;line-height:1.6;font-family:'Playfair Display',serif;font-style:italic}
.two-ways-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.two-ways-features li{color:var(--text-2);font-size:.9rem;display:flex;align-items:flex-start;gap:.5rem}
.two-ways-features li::before{content:'✦';color:var(--gold);flex-shrink:0;font-size:.7rem;margin-top:.15em}
.two-ways-card .btn{align-self:flex-start;margin-top:.5rem}

/* ══════════════════════════════════════════════════
   SPONSORSHIP SECTION
══════════════════════════════════════════════════ */
.sponsorship-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;
  margin-top:2.5rem;width:100%;overflow:hidden;
}

@media(max-width:900px){
  .sponsorship-layout{grid-template-columns:1fr;gap:2rem}
  .sform-row{grid-template-columns:1fr}
  .sponsorship-form-wrap{padding:1.25rem;box-sizing:border-box;width:100%;min-width:0}
  .sponsorship-copy{min-width:0;width:100%}
  .sform-field input,.sform-field textarea{width:100%;box-sizing:border-box}
}

.sponsorship-copy{display:flex;flex-direction:column;gap:1.25rem}
.sponsorship-lead{
  font-family:'Playfair Display',serif;font-size:1.25rem;font-style:italic;
  color:var(--gold-hi);line-height:1.55;
}
.sponsorship-body{color:var(--text-2);font-size:.97rem;line-height:1.7}
.sponsorship-perks{
  list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem;
}
.sponsorship-perks li{
  color:var(--text-2);font-size:.95rem;display:flex;align-items:flex-start;gap:.6rem;
  padding:.55rem .75rem;
  background:rgba(200,146,42,.06);border-left:2px solid var(--gold);border-radius:0 6px 6px 0;
}
.sponsorship-form-wrap{
  background:rgba(255,255,255,.03);border:1px solid rgba(200,146,42,.15);
  border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1.25rem;
}
.sponsorship-form-title{
  font-family:'Cinzel',serif;font-size:1.15rem;color:var(--gold-hi);
  margin:0 0 .25rem;letter-spacing:.05em;
}
.sponsorship-form{display:flex;flex-direction:column;gap:1rem}
.sform-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sform-field{display:flex;flex-direction:column;gap:.4rem}
.sform-field label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600}
.sform-field input,.sform-field textarea{
  background:rgba(255,255,255,.05);border:1px solid rgba(200,146,42,.25);
  border-radius:8px;padding:.65rem .9rem;
  color:var(--text-1);font-size:.95rem;font-family:inherit;
  outline:none;transition:border-color .2s;resize:vertical;
}
.sform-field input:focus,.sform-field textarea:focus{border-color:var(--gold)}
.sform-field input::placeholder,.sform-field textarea::placeholder{color:rgba(255,255,255,.25)}
.sform-error{color:#f87171;font-size:.88rem;margin:0}
.sform-submit{width:100%;justify-content:center;margin-top:.25rem}
.sponsorship-success{
  display:flex;align-items:flex-start;gap:.75rem;padding:1.25rem;
  background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.25);
  border-radius:10px;color:var(--text-1);font-size:.95rem;line-height:1.6;
}

/* ══════════════════════════════════════════════════
   NAVRATRI EVENT PAGE
══════════════════════════════════════════════════ */
.navratri-hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:8rem 1.5rem 5rem;position:relative;overflow:hidden;
}
.navratri-hero .hero-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(200,146,42,.18) 0%,transparent 70%),
             radial-gradient(ellipse 50% 40% at 80% 70%,rgba(220,80,20,.12) 0%,transparent 60%),
             var(--void);
  /* z-index:0; */
  /* background-image: url("/static/bg1.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  opacity: 0.25; */
}
.navratri-hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto;text-align:center}
.navratri-hero h1{
  font-family:'Cinzel Decorative',cursive;
  font-size:clamp(2rem,6vw,4rem);line-height:1.1;margin:.8rem 0 1.5rem;
  background:linear-gradient(100deg,var(--gold-dim) 10%,var(--gold-bright) 45%,var(--gold-dim) 80%);
  background-size:800px 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
.navratri-hero p{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:clamp(1rem,2vw,1.25rem);color:var(--text-2);max-width:600px;margin:0 auto 2.5rem;line-height:1.7;
}
.nights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}
.night-card{
  background:var(--card-bg);border:1px solid var(--gold-dim);border-radius:var(--r-lg);
  padding:2rem 1.5rem;text-align:center;transition:transform .3s,box-shadow .3s;
}
.night-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(200,146,42,.2)}
.night-number{
  font-family:'Cinzel Decorative',cursive;font-size:3rem;
  background:linear-gradient(135deg,var(--gold-dim),var(--gold-bright));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;margin-bottom:.5rem;
}
.night-card h3{font-family:'Cinzel',serif;font-size:1rem;letter-spacing:.1em;color:var(--gold-hi);margin-bottom:1rem}
.night-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.night-card ul li{color:var(--text-2);font-size:.88rem;border-top:1px solid var(--border-1);padding:.5rem 0}
.night-card ul li:first-child{border-top:none}
.amenity-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1rem;margin-top:2rem;
}
.amenity-card{
  background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);
  padding:1.5rem 1rem;text-align:center;transition:transform .3s,border-color .3s;
}
.amenity-card:hover{transform:translateY(-4px);border-color:var(--gold-dim)}
.amenity-icon{font-size:2rem;margin-bottom:.6rem}
.amenity-name{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.15em;color:var(--gold-hi);text-transform:uppercase}
.navratri-pricing-wrap{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2rem;width:100%;max-width:800px;margin-left:auto;margin-right:auto;
}
.navratri-pricing-card{
  background:var(--card-bg);border:1px solid var(--gold-dim);border-radius:var(--r-lg);
  padding:2rem 1.5rem;text-align:center;
}
.navratri-pricing-card.featured{
  border-color:var(--gold-hi);
  background:linear-gradient(135deg,rgba(200,146,42,.1) 0%,var(--card-bg) 60%);
  position:relative;
}
.navratri-reg-form{
  max-width:520px;margin:2.5rem auto 0;
  background:var(--card-bg);border:1px solid var(--gold-dim);
  border-radius:var(--r-lg);padding:2.5rem;
}



/* Workshop page back link */
.page-back{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold-dim);text-decoration:none;transition:color .2s;
  margin-bottom:3rem;
}
.page-back:hover{color:var(--gold-hi)}

/* ══════════════════════════════════════════════════
   ADMIN — CRUD FORM GRID (Trainers & Pricing tabs)
══════════════════════════════════════════════════ */
.adm-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.adm-form-grid .adm-field{
  /* inside the form grid, override the 3-col layout to just label + input */
  grid-template-columns:1fr;
  gap:.35rem;
  margin-bottom:0;
}
.adm-form-grid .adm-field label{
  font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--text-3);
}
.adm-form-grid .adm-field input,
.adm-form-grid .adm-field textarea,
.adm-form-grid .adm-field select{
  width:100%;box-sizing:border-box;
  background:rgba(255,255,255,.04);border:1px solid var(--card-border);
  border-radius:var(--r);padding:.55rem .9rem;
  color:var(--text-1);font-family:'Inter',sans-serif;font-size:.9rem;
  transition:border-color .2s;
}
.adm-form-grid .adm-field input:focus,
.adm-form-grid .adm-field textarea:focus,
.adm-form-grid .adm-field select:focus{
  outline:none;border-color:var(--gold-dim);
}
/* full-width override — Yew inline style grid-column:1/-1 already handles this */


/* ══════════════════════════════════════════════════
   ADMIN — PHOTO UPLOAD WIDGET
══════════════════════════════════════════════════ */
.photo-widget{
  display:flex;align-items:flex-start;gap:1.5rem;
  background:rgba(255,255,255,.02);border:1px solid var(--card-border);
  border-radius:var(--r-lg);padding:1.25rem;
}
.photo-preview{
  flex-shrink:0;width:96px;height:96px;border-radius:50%;
  border:2px solid var(--gold-dim);overflow:hidden;
  background:linear-gradient(135deg,var(--burgundy),var(--plum));
  display:flex;align-items:center;justify-content:center;
  position:relative;font-size:2.5rem;
}
.photo-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
.photo-widget-body{ flex:1;min-width:0 }
.photo-tabs{
  display:flex;gap:.25rem;margin-bottom:.75rem;
  border-bottom:1px solid var(--card-border);padding-bottom:.5rem;
}
.photo-tab{
  background:none;border:none;padding:.3rem .75rem;border-radius:var(--r);
  font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-3);cursor:pointer;transition:all .15s;
}
.photo-tab.active{
  background:rgba(200,146,42,.12);color:var(--gold-hi);
  border:1px solid var(--gold-dim);
}
.photo-tab:hover:not(.active){ color:var(--text-2) }
.photo-drop-zone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.3rem;border:2px dashed var(--card-border);border-radius:var(--r);
  padding:1.25rem 1rem;cursor:pointer;transition:border-color .2s,background .2s;
  text-align:center;color:var(--text-2);font-size:.9rem;
}
.photo-drop-zone:hover{ border-color:var(--gold-dim);background:rgba(200,146,42,.04) }
.photo-url-input{
  width:100%;box-sizing:border-box;
  background:rgba(255,255,255,.04);border:1px solid var(--card-border);
  border-radius:var(--r);padding:.55rem .9rem;
  color:var(--text-1);font-family:'Inter',sans-serif;font-size:.9rem;
}
.photo-url-input:focus{ outline:none;border-color:var(--gold-dim) }
@media(max-width:560px){
  .photo-widget{ flex-direction:column;align-items:center }
  .photo-preview{ width:80px;height:80px }
}
/* ══════════════════════════════════════════════════
   CELEBRATION IMAGERY & DECORATIONS
══════════════════════════════════════════════════ */

/* ── Floating petals / diyas (hero) ──────────────── */
.petal {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  font-size: 1.4rem;
  opacity: 0;
  animation: petalFloat linear infinite;
  user-select: none;
}
.petal-1  { left:4%;   top:15%; font-size:1.8rem; animation-duration:8s;  animation-delay:0s;   opacity:.0; }
.petal-2  { left:9%;   top:55%; font-size:.9rem;  animation-duration:6s;  animation-delay:1.2s; opacity:.0; }
.petal-3  { right:5%;  top:20%; font-size:1.6rem; animation-duration:9s;  animation-delay:0.5s; opacity:.0; }
.petal-4  { right:10%; top:60%; font-size:.85rem; animation-duration:7s;  animation-delay:2s;   opacity:.0; }
.petal-5  { left:22%;  top:8%;  font-size:1.1rem; animation-duration:10s; animation-delay:1s;   opacity:.0; }
.petal-6  { right:22%; top:80%; font-size:1.1rem; animation-duration:8.5s;animation-delay:3s;   opacity:.0; }
@keyframes petalFloat {
  0%   { opacity:0;   transform:translateY(0)   rotate(0deg)   scale(0.7); }
  10%  { opacity:.65; }
  50%  { opacity:.5;  transform:translateY(-35px) rotate(180deg) scale(1);   }
  90%  { opacity:.55; }
  100% { opacity:0;   transform:translateY(-70px) rotate(360deg) scale(0.8); }
}

/* ── Hero dancer images ───────────────────────────── */
.hero-dancer {
  position: absolute;
  bottom: 0;
  width: clamp(200px, 24vw, 360px);
  object-fit: contain;
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 0 40px rgba(200,146,42,.25));
}
.hero-dancer-left  {
  left: 0;
  transform: scaleX(-1); /* mirror so they face inward */
  animation: dancerBob 5s ease-in-out infinite;
}
.hero-dancer-right {
  right: 0;
  animation: dancerBob 5s ease-in-out 0.8s infinite;
}
@keyframes dancerBob {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-18px); }
}
.hero-dancer-right { animation-name: dancerBobRight; }
@keyframes dancerBobRight {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-18px); }
}

/* ── About section dancer image ───────────────────── */
.about-dancer-frame {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.about-dancer-img {
  width: clamp(260px, 38vw, 480px);
  object-fit: contain;
  filter: drop-shadow(0 8px 40px rgba(139,26,60,.45));
  animation: dancerBob 6s ease-in-out infinite;
  border-radius: 12px;
}
.about-dancer-caption {
  margin-top: .8rem;
}
.about-dancer-caption .mantra {
  font-family: 'Cinzel', serif;
  font-size: .72rem;
  letter-spacing: .3em;
  color: var(--gold-dim);
  text-transform: uppercase;
  display: block;
  text-align: center;
}

/* ── Dancer image strip (why join) ────────────────── */
.dancer-strip {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0;
  margin-top: 3.5rem;
  overflow: hidden;
  border-radius: var(--r-lg);
  /* gold shimmer border */
  border: 1px solid var(--border-1);
  background: linear-gradient(135deg, rgba(200,146,42,.05), rgba(139,26,60,.07));
  padding: 1rem 1.5rem 0;
  position: relative;
}
.dancer-strip::before {
  content: '✦  Jay Mata Di  ✦';
  position: absolute;
  top: .7rem; left: 50%; transform: translateX(-50%);
  font-family: 'Cinzel', serif;
  font-size: .62rem; letter-spacing: .3em; color: var(--gold-dim);
  white-space: nowrap;
}
.strip-img {
  width: clamp(100px, 18%, 220px);
  object-fit: contain;
  filter: drop-shadow(0 4px 20px rgba(0,0,0,.5));
  transition: transform .4s ease;
  flex-shrink: 0;
}
.strip-img:hover { transform: translateY(-12px) scale(1.06); }

/* ── Two-ways card images ─────────────────────────── */
.two-ways-img-wrap {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--r) var(--r) 0 0;
  padding: 1rem 1rem 0;
  background: linear-gradient(to bottom, rgba(200,146,42,.08), transparent);
  min-height: 180px;
}
.two-ways-img {
  width: clamp(140px, 55%, 220px);
  object-fit: contain;
  filter: drop-shadow(0 4px 24px rgba(139,26,60,.4));
  animation: dancerBob 5.5s ease-in-out infinite;
}

/* ── Batches dancer row ───────────────────────────── */
.batches-dancer-row {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
  overflow: hidden;
}
.batches-dancer {
  width: clamp(220px, 42%, 420px);
  object-fit: contain;
  filter: drop-shadow(0 0 30px rgba(200,146,42,.2));
  animation: dancerBob 5s ease-in-out infinite;
}

/* ── Confetti ticker tape at top of every section ─── */
.sec-accent::after {
  content: '';
  position: absolute;
  top: 4px; left: 50%; transform: translateX(-50%);
  font-size: .55rem; letter-spacing: .6em;
  color: var(--gold-dim);
  opacity: .4;
  pointer-events: none;
  white-space: nowrap;
}

/* ── Responsive adjustments ──────────────────────── */
@media (max-width: 900px) {
  .hero-dancer { width: clamp(120px, 18vw, 200px); }
  .dancer-strip { gap: 0; padding: .75rem 1rem 0; }
  .strip-img { width: clamp(80px, 22%, 160px); }
  .two-ways-img-wrap { margin: -1.75rem -1.5rem .75rem; min-height: 130px; }
  .two-ways-img { width: clamp(110px, 50%, 180px); }
}
@media (max-width: 560px) {
  .hero-dancer { display: none; }
  .dancer-strip { flex-wrap: wrap; }
  .strip-img { width: 45%; }
  .about-dancer-img { width: 90%; }
  .batches-dancer { width: 80%; }
}

/* ══════════════════════════════════════════════════
   NAVRATRI PAGE — CELEBRATION IMAGERY
══════════════════════════════════════════════════ */

/* ── Hero dancer images ───────────────────────────── */
.navratri-dancer {
  position: absolute;
  bottom: 0;
  width: clamp(180px, 22vw, 340px);
  object-fit: contain;
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 0 50px rgba(200,146,42,.3));
}
.navratri-dancer-left  {
  left: 0;
  transform: scaleX(-1);
  animation: dancerBob 5.5s ease-in-out infinite;
}
.navratri-dancer-right {
  right: 0;
  animation: dancerBobRight 5.5s ease-in-out 1s infinite;
}

/* ── Floating petals (navratri hero) ─────────────── */
.nv-petal {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  user-select: none;
}
.nv-p1 { left:6%;   top:18%; font-size:1.7rem; animation: petalFloat 8s ease-in-out 0s    infinite; }
.nv-p2 { left:12%;  top:65%; font-size:.85rem; animation: petalFloat 6s ease-in-out 1.5s  infinite; }
.nv-p3 { right:7%;  top:22%; font-size:1.3rem; animation: petalFloat 9s ease-in-out 0.4s  infinite; }
.nv-p4 { right:13%; top:58%; font-size:1.6rem; animation: petalFloat 7s ease-in-out 2s    infinite; }
.nv-p5 { left:40%;  top:6%;  font-size:.9rem;  animation: petalFloat 10s ease-in-out 1s   infinite; }
.nv-p6 { right:30%; top:78%; font-size:1.1rem; animation: petalFloat 8.5s ease-in-out 3s  infinite; }

/* ── Nights section — dancer strip ───────────────── */
.nv-nights-dancer {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0;
  margin-bottom: 2.5rem;
  padding: 1rem 1rem 0;
  background: linear-gradient(to bottom, rgba(200,146,42,.06), transparent);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  border: 1px solid var(--border-2);
  border-bottom: none;
  position: relative;
  overflow: hidden;
}
.nv-nights-dancer::before {
  content: '✦  Nine Nights of Joy  ✦';
  position: absolute;
  top: .65rem; left: 50%; transform: translateX(-50%);
  font-family: 'Cinzel', serif;
  font-size: .58rem; letter-spacing: .35em;
  color: var(--gold-dim); opacity: .6;
  white-space: nowrap;
}
.nv-nights-img {
  width: clamp(110px, 20%, 230px);
  object-fit: contain;
  filter: drop-shadow(0 4px 20px rgba(0,0,0,.55));
  transition: transform .4s ease;
  flex-shrink: 0;
}
.nv-nights-img:hover { transform: translateY(-14px) scale(1.07); }

/* ── Amenities section — side image ──────────────── */
.nv-amenity-img-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2rem;
}
.nv-amenity-img {
  width: clamp(200px, 35%, 340px);
  object-fit: contain;
  filter: drop-shadow(0 6px 30px rgba(139,26,60,.45));
  animation: dancerBob 6s ease-in-out infinite;
}
.nv-amenity-caption {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1rem;
  color: var(--gold-hi);
  margin-top: .6rem;
  letter-spacing: .03em;
}

/* ── Registration section — side layout ──────────── */
.nv-register-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: end;
  max-width: 900px;
  margin: 0 auto;
}
.nv-register-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  position: sticky;
  top: 5rem;
}
.nv-register-img {
  width: 100%;
  max-width: 320px;
  object-fit: contain;
  filter: drop-shadow(0 8px 40px rgba(139,26,60,.5));
  animation: dancerBob 5.5s ease-in-out 0.5s infinite;
}
.nv-register-quote {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  padding: 1rem 1.25rem;
  background: rgba(200,146,42,.06);
  border: 1px solid var(--border-1);
  border-radius: var(--r-lg);
  text-align: center;
}
.nv-register-quote-text {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: .95rem;
  color: var(--text-2);
  line-height: 1.55;
}
.nv-register-quote-attr {
  font-family: 'Cinzel', serif;
  font-size: .65rem;
  letter-spacing: .15em;
  color: var(--gold-dim);
  text-transform: uppercase;
}

/* ── Responsive ───────────────────────────────────── */
@media (max-width: 900px) {
  .navratri-dancer { width: clamp(110px, 17vw, 190px); }
  .nv-nights-dancer { gap: 0; }
  .nv-nights-img { width: clamp(90px, 28%, 170px); }
  .nv-register-layout {
    grid-template-columns: 1fr;
  }
  .nv-register-side {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .nv-register-img { max-width: 200px; }
}
@media (max-width: 560px) {
  .navratri-dancer { display: none; }
  .nv-nights-dancer { flex-wrap: wrap; padding: .5rem; }
  .nv-nights-img { width: 42%; }
  .nv-amenity-img { width: 70%; }
  .nv-register-side { display: none; }
}
/* ── Coming Soon page ─────────────────────────────────────────────────── */
.coming-soon-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  gap: 1.5rem;
  background: var(--bg, #0a0a0a);
}
.coming-soon-icon {
  font-size: 3.5rem;
  animation: cs-pulse 2s ease-in-out infinite;
}
@keyframes cs-pulse {
  0%, 100% { transform: scale(1);   opacity: 1; }
  50%       { transform: scale(1.1); opacity: .75; }
}
.coming-soon-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2rem, 6vw, 4rem);
  color: var(--gold, #c8922a);
  letter-spacing: .1em;
  margin: 0;
}
.coming-soon-text {
  color: var(--text-2, #aaa);
  font-size: 1.05rem;
  max-width: 480px;
  line-height: 1.75;
  margin: 0;
}
.coming-soon-back {
  margin-top: .5rem;
  font-family: 'Cinzel', serif;
  font-size: .8rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold, #c8922a);
  text-decoration: none;
  opacity: .65;
  transition: opacity .2s;
}
.coming-soon-back:hover { opacity: 1; }