/*
 * ╔═══════════════════════════════════════════════════════╗
 * ║  VVR PRO — vvr-pro.css                              ║
 * ║  Luxury Wedding & Event Production · Los Cabos      ║
 * ╚═══════════════════════════════════════════════════════╝
 *
 *  Colocar en: assets/css/vvr-pro.css
 *
 *  SECCIONES:
 *  01. Tokens & Reset
 *  02. Cursor personalizado
 *  03. Navegación + mobile nav
 *  04. Hero
 *  05. Botones & CTAs
 *  06. Animaciones scroll
 *  07. Video + play button
 *  08. Press band
 *  09. Timeline servicios
 *  10. Galerías — film strip + flechas
 *  11. Stats & Who We Are
 *  12. Venues band
 *  13. Event Design & Infrastructure
 *  14. Services planners
 *  15. Testimonios
 *  16. Hindu Weddings — split layout + gallery
 *  17. FAQ accordion
 *  18. CTA Band
 *  19. Formulario
 *  20. Footer + WhatsApp flotante
 *  21. Responsive tablet (max-width:1024px)
 *  22. Responsive mobile (max-width:768px)
 *  23. Responsive small (max-width:380px)
 *  24. prefers-reduced-motion
 * ─────────────────────────────────────────────────────
 */

/*
 * ╔══════════════════════════════════════════════════╗
 * ║  VVR PRO — vvr-pro.css                          ║
 * ║  Wedding & Event Production · Los Cabos · 1999  ║
 * ╚══════════════════════════════════════════════════╝
 *
 *  INSTRUCCIONES PARA EL PROGRAMADOR:
 *  Colocar en: assets/css/vvr-pro.css
 *  Enlazar en index.html:
 *  <link rel="stylesheet" href="assets/css/vvr-pro.css">
 *
 *  IMÁGENES REQUERIDAS (ver sección de placeholders):
 *  assets/img/hero-brides.jpg      — Hero brides (1920×1080 mín)
 *  assets/img/hero-planners.jpg    — Hero planners (1920×1080 mín)
 *  assets/img/who-we-are.jpg       — Equipo / producción (4:3)
 *  assets/img/team-production.jpg  — Equipo planners (4:3)
 *  assets/img/gallery-01.jpg ... gallery-12.jpg  — Galería brides
 *  assets/img/planners-01.jpg ... planners-10.jpg — Galería planners
 *  assets/img/risk-01.jpg ... risk-05.jpg         — Strip The Real Risk
 *
 *  FUENTES: Google Fonts (requiere conexión)
 *  Cormorant Garamond + Montserrat
 * ─────────────────────────────────────────────────
 */

/* ═══════════════════════════════════════
   TOKENS
═══════════════════════════════════════ */
:root {
  --white:   #ffffff;
  --bone:    #f8f5f0;
  --bone-dk: #ede8e0;
  --ink:     #111110;
  --ink-2:   #2a2a28;
  --ink-3:   #5a5a54;
  --gold:    #b89a5a;
  --gold-lt: #d4b87a;
  --gold-dk: #8a7040;
  --border:  rgba(184,154,90,0.18);
  --ff-serif: 'Cormorant Garamond', Georgia, serif;
  --ff-sans:  'Montserrat', system-ui, sans-serif;
  --ease:     cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--ff-sans);background:var(--white);color:var(--ink);line-height:1.7;overflow-x:hidden;cursor:none;}

/* ═══════════════════════════════════════
   CUSTOM CURSOR
═══════════════════════════════════════ */
.cursor{
  position:fixed;top:0;left:0;z-index:9999;pointer-events:none;
  mix-blend-mode:difference;
}
.cursor-dot{
  width:8px;height:8px;border-radius:50%;background:var(--gold);
  transform:translate(-50%,-50%);transition:transform 0.1s var(--ease);
}
.cursor-ring{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);
  transform:translate(-50%,-50%);
  transition:width 0.35s var(--ease),height 0.35s var(--ease),transform 0.08s linear,opacity 0.3s;
  opacity:0.6;position:absolute;top:0;left:0;
}
body:hover .cursor-ring{opacity:1;}
.cursor-expand .cursor-ring{width:64px;height:64px;}

/* ═══════════════════════════════════════
   PAGE TOGGLE NAV
═══════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem 4rem;
  transition:background 0.4s,padding 0.4s,box-shadow 0.4s;
}
.nav.scrolled{
  background:rgba(255,255,255,0.97);
  padding:1rem 4rem;
  box-shadow:0 1px 0 var(--border);
  backdrop-filter:blur(12px);
}
.nav-logo{
  font-family:var(--ff-serif);font-size:1.6rem;font-weight:300;
  color:var(--white);letter-spacing:0.12em;text-decoration:none;
  transition:color 0.4s;
}
.nav.scrolled .nav-logo{color:var(--ink);}
.nav-logo em{font-style:normal;color:var(--gold);}
.nav-center{display:flex;gap:0;}
.toggle-pill{
  display:flex;background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.2);border-radius:2px;
  overflow:hidden;transition:background 0.4s,border-color 0.4s;
}
.nav.scrolled .toggle-pill{background:var(--bone);border-color:var(--border);}
.tog-btn{
  padding:0.45rem 1.5rem;font-family:var(--ff-sans);
  font-size:0.65rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;
  cursor:pointer;border:none;background:transparent;color:rgba(255,255,255,0.6);
  transition:all 0.3s;
}
.nav.scrolled .tog-btn{color:var(--ink-3);}
.tog-btn.active{background:var(--gold);color:var(--ink);}
.nav-cta{
  font-family:var(--ff-sans);font-size:0.65rem;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;
  color:var(--gold);border:1px solid rgba(184,154,90,0.5);
  padding:0.45rem 1.5rem;transition:all 0.3s var(--ease);
  position:relative;overflow:hidden;
}
.nav-cta::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateX(-100%);transition:transform 0.4s var(--ease);
}
.nav-cta:hover::before{transform:translateX(0);}
.nav-cta span{position:relative;z-index:1;transition:color 0.4s;}
.nav-cta:hover span{color:var(--ink);}

/* ═══════════════════════════════════════
   PAGES
═══════════════════════════════════════ */
.page{display:none;}
.page.active{display:block;}

/* ═══════════════════════════════════════
   HERO — FULL BLEED + EDITORIAL TYPE
═══════════════════════════════════════ */
.hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:7rem 4rem 5rem;position:relative;overflow:hidden;
  background:#060604;
}
/* Background image layer */
.hero-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  /* In production: background-image:url('assets/img/hero-wedding.jpg'); */
  background-image:linear-gradient(160deg,#1c1408 0%,#080604 50%,#12100a 100%);
  transform:scale(1.04);
  transition:transform 8s ease;
}
.hero:hover .hero-img{transform:scale(1);}
/* Dark gradient overlay */
.hero-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    rgba(4,4,3,0.55) 0%,
    rgba(4,4,3,0.25) 30%,
    rgba(4,4,3,0.35) 60%,
    rgba(4,4,3,0.75) 100%
  );
}
/* Giant background word — Artik style */
.hero-bg-word{
  position:absolute;
  bottom:-0.1em;left:-0.05em;
  font-family:var(--ff-serif);
  font-size:clamp(18rem,38vw,52rem);
  font-weight:300;line-height:0.82;
  color:rgba(255,255,255,0.028);
  white-space:nowrap;letter-spacing:-0.04em;
  user-select:none;pointer-events:none;
  animation:bgDrift 28s ease-in-out infinite alternate;
}
@keyframes bgDrift{
  from{transform:translateX(-1%) scale(1);}
  to{transform:translateX(1%) scale(1.015);}
}
/* Content grid */
.hero-grid{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
  width:100%;position:relative;z-index:2;
  max-width:860px;margin:0 auto;
  gap:0;
}
.hero-eyebrow{
  font-size:0.72rem;font-weight:400;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:2rem;display:block;text-align:center;
  opacity:0;animation:heroFade 0.6s 0.2s var(--ease) forwards;
}
/* Massive editorial H1 — word by word slide */
.hero-h1{
  font-family:var(--ff-serif);
  font-size:clamp(3.2rem,7.5vw,7rem);
  font-weight:300;line-height:0.95;
  color:var(--white);letter-spacing:-0.025em;
  margin-bottom:0;text-align:center;
}
.hero-h1 .word{display:block;overflow:hidden;}
.hero-h1 .word span{
  display:block;
  transform:translateY(105%);
  animation:wordUp 1.1s var(--ease) forwards;
}
.hero-h1 .word:nth-child(1) span{animation-delay:0.1s;}
.hero-h1 .word:nth-child(2) span{animation-delay:0.28s;}
.hero-h1 .word:nth-child(3) span{animation-delay:0.46s;}
.hero-h1 em{font-style:italic;color:var(--gold-lt);}
@keyframes wordUp{to{transform:translateY(0);}}
/* Modular line */
.hero-modular{
  display:flex;align-items:center;gap:0.75rem;
  border-top:1px solid rgba(184,154,90,0.25);
  padding-top:1.75rem;margin-top:1.75rem;
  opacity:0;animation:heroFade 0.6s 0.6s var(--ease) forwards;
}
.hero-modular-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.hero-modular p{font-size:0.7rem;letter-spacing:0.1em;color:rgba(255,255,255,0.45);}
.hero-ctas{
  display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:2.5rem;
  justify-content:center;width:100%;
  opacity:0;animation:heroFade 0.6s 0.8s var(--ease) forwards;
}
/* Trust column — right side */
.hero-right{
  opacity:0;animation:heroFade 0.6s 0.3s var(--ease) forwards;
  min-width:260px;
}
.hero-trust{display:flex;flex-direction:column;gap:0;}
.trust-row{
  display:flex;align-items:center;gap:1.25rem;
  padding:1.1rem 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.trust-row:last-child{border-bottom:none;}
.trust-num{
  font-family:var(--ff-serif);font-size:1.9rem;font-weight:300;
  color:var(--gold);line-height:1;min-width:68px;letter-spacing:-0.02em;
}
.trust-desc{font-size:0.65rem;letter-spacing:0.05em;color:rgba(255,255,255,0.35);line-height:1.55;}
.trust-desc strong{display:block;color:rgba(255,255,255,0.65);font-weight:400;font-size:0.72rem;margin-bottom:0.1rem;}
/* Scroll indicator */
.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:0.5rem;z-index:3;
  opacity:0;animation:heroFade 0.6s 1.2s var(--ease) forwards;
}
.hero-scroll-line{
  width:1px;height:44px;background:rgba(255,255,255,0.15);
  position:relative;overflow:hidden;
}
.hero-scroll-line::after{
  content:'';position:absolute;top:-100%;left:0;right:0;height:100%;
  background:var(--gold);animation:scrollLine 2s 1.5s infinite;
}
@keyframes scrollLine{to{top:200%;}}
.hero-scroll-label{font-size:0.55rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.22);}
@keyframes heroFade{to{opacity:1;}}

/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.btn-gold{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:var(--gold);color:var(--ink);
  padding:0.85rem 2rem;font-family:var(--ff-sans);
  font-size:0.68rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;
  text-decoration:none;border:none;cursor:none;
  position:relative;overflow:hidden;transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease);
}
.btn-gold::after{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,0.2);
  transform:translateX(-100%) skewX(-15deg);
  transition:transform 0.5s var(--ease);
}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(184,154,90,0.4);}
.btn-gold:hover::after{transform:translateX(120%) skewX(-15deg);}
.btn-outline-light{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:transparent;color:rgba(255,255,255,0.7);
  padding:0.85rem 2rem;font-family:var(--ff-sans);
  font-size:0.68rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;
  text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:none;
  transition:all 0.3s var(--ease);
}
.btn-outline-light:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);}
.btn-outline-dark{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:transparent;color:var(--ink);
  padding:0.85rem 2rem;font-family:var(--ff-sans);
  font-size:0.68rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;
  text-decoration:none;border:1px solid rgba(17,17,16,0.2);cursor:none;
  transition:all 0.3s var(--ease);
}
.btn-outline-dark:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);}

/* ═══════════════════════════════════════
   SCROLL ANIMATIONS
═══════════════════════════════════════ */
.sr{opacity:0;transform:translateY(40px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease);}
.sr.vis{opacity:1;transform:translateY(0);}
.sr-l{opacity:0;transform:translateX(-50px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease);}
.sr-l.vis{opacity:1;transform:translateX(0);}
.sr-r{opacity:0;transform:translateX(50px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease);}
.sr-r.vis{opacity:1;transform:translateX(0);}
.sr-s{opacity:0;transform:scale(0.92);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
.sr-s.vis{opacity:1;transform:scale(1);}
.d1{transition-delay:0.1s;}.d2{transition-delay:0.2s;}.d3{transition-delay:0.3s;}
.d4{transition-delay:0.4s;}.d5{transition-delay:0.5s;}.d6{transition-delay:0.6s;}

/* ═══════════════════════════════════════
   SECTION LABELS
═══════════════════════════════════════ */
.lbl{
  font-size:0.6rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:0.75rem;display:block;
}
.ruled-title{
  font-family:var(--ff-serif);
  font-size:clamp(2rem,5vw,3.8rem);
  font-weight:300;line-height:1.1;color:var(--ink);
  margin-bottom:1.25rem;
}
.ruled-title em{font-style:italic;color:var(--gold);}
.ruled-title-white{color:var(--ink);}
.ruled-title-white em{color:var(--gold-lt);}
.body-text{font-size:0.88rem;color:var(--ink-3);line-height:1.85;max-width:520px;}
.body-text-white{color:var(--ink-3);}
.gold-rule{
  width:0;height:1px;background:var(--gold);margin:1.25rem 0;
  transition:width 1.4s var(--ease);
}
.gold-rule.drawn{width:48px;}
.gold-rule-center{margin:1.25rem auto;}

/* ═══════════════════════════════════════
   VIDEO SECTION
═══════════════════════════════════════ */
.video-section{
  padding:4rem 0 0;background:var(--white);
  position:relative;overflow:hidden;
  text-align:center;
}
.video-label-block{
  position:absolute;top:0;left:0;right:0;z-index:3;
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:2.5rem 4rem;
  background:linear-gradient(to bottom,rgba(4,4,3,0.7),transparent);
}
.video-label-left{}
.video-label-right{text-align:right;}
.video-section-lbl{
  font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:0.35rem;display:block;
}
.video-section-title{
  font-family:var(--ff-serif);font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:300;color:var(--white);line-height:1.1;
}
.video-section-title em{font-style:italic;color:var(--gold-lt);}
.video-section-sub{
  font-size:0.72rem;color:rgba(255,255,255,0.4);
  letter-spacing:0.05em;margin-top:0.5rem;
}
.video-wrap{
  position:relative;padding-bottom:52%;height:0;
  max-width:100%;margin-top:2.5rem;
  box-shadow:0 24px 80px rgba(0,0,0,0.12);
}
.video-placeholder{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#1c1408 0%,#080604 60%,#12100a 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;
}
.play-ring{
  width:80px;height:80px;border-radius:50%;
  border:1px solid rgba(184,154,90,0.5);
  display:flex;align-items:center;justify-content:center;
  cursor:none;transition:all 0.4s var(--ease);position:relative;
}
.play-ring::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:var(--gold);transform:scale(0);
  transition:transform 0.4s var(--ease);
}
.play-ring:hover{border-color:var(--gold);}
.play-ring:hover::before{transform:scale(1);}
.play-ring svg{position:relative;z-index:1;}
.play-ring:hover svg path{fill:var(--ink);}
.video-caption{
  font-size:0.65rem;letter-spacing:0.15em;
  color:rgba(255,255,255,0.25);text-transform:uppercase;
}
.video-bottom-bar{
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.5rem 4rem;
  background:linear-gradient(to top,rgba(4,4,3,0.75),transparent);
}
.video-bottom-tag{
  font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(255,255,255,0.3);
}
.video-bottom-line{
  width:80px;height:1px;background:rgba(184,154,90,0.3);
}

/* ═══════════════════════════════════════
   TWO COL
═══════════════════════════════════════ */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.two-col.rev{direction:rtl;}
.two-col.rev>*{direction:ltr;}

/* ═══════════════════════════════════════
   STATS
═══════════════════════════════════════ */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-top:2.5rem;}
.stat-cell{
  background:var(--white);padding:2rem 1.5rem;text-align:center;
  transition:background 0.3s;
}
.stat-cell:hover{background:var(--bone);}
.stat-n{
  font-family:var(--ff-serif);font-size:2.8rem;font-weight:300;
  color:var(--gold);line-height:1;display:block;
}
.stat-l{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);margin-top:0.5rem;}

/* ═══════════════════════════════════════
   VENUES BAND — COMPACT
═══════════════════════════════════════ */
.venues-band{
  padding:2.5rem 4rem;background:var(--ink);
  border-top:1px solid rgba(255,255,255,0.04);
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.venues-strip{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:0;
  margin-top:1.5rem;
}
.venue-cell{
  padding:0.75rem 2rem;
  border-right:1px solid rgba(255,255,255,0.07);
  text-align:center;cursor:none;
  transition:background 0.3s var(--ease);
}
.venue-cell:last-child{border-right:none;}
.venue-cell:hover{background:rgba(184,154,90,0.06);}
.venue-n{
  font-family:var(--ff-serif);font-size:0.95rem;font-weight:300;
  color:rgba(255,255,255,0.55);
  transition:color 0.3s;white-space:nowrap;
}
.venue-cell:hover .venue-n{color:var(--gold);}
.venue-loc{display:none;}

/* ═══════════════════════════════════════
   TIMELINE
═══════════════════════════════════════ */
.timeline-section{padding:7rem 4rem;background:var(--white);}
.timeline-intro{text-align:center;margin-bottom:5rem;}
.timeline-wrap{max-width:860px;margin:0 auto;position:relative;}
.timeline-axis{
  position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom,transparent,var(--border) 8%,var(--border) 92%,transparent);
  transform:translateX(-50%);
}
.t-chapter{
  text-align:center;margin:3rem 0 2.5rem;position:relative;
}
.t-chapter-pill{
  display:inline-block;
  font-size:0.6rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  padding:0.4rem 1.5rem;
}
.t-chapter-pill.ceremony{background:var(--gold);color:var(--ink);}
.t-chapter-pill.reception{background:var(--ink);color:var(--gold);}
.t-item{
  display:grid;grid-template-columns:1fr 48px 1fr;
  align-items:start;margin-bottom:3rem;
}
.t-dot{
  display:flex;justify-content:center;padding-top:6px;
}
.t-dot-inner{
  width:14px;height:14px;border-radius:50%;
  border:1.5px solid var(--gold);background:var(--white);
  position:relative;transition:background 0.3s;
}
.t-dot-inner::after{
  content:'';position:absolute;top:50%;left:50%;
  width:6px;height:6px;border-radius:50%;
  background:var(--gold);transform:translate(-50%,-50%);
}
.t-item:hover .t-dot-inner{background:var(--gold);}
.t-left{padding-right:2.5rem;text-align:right;}
.t-right{padding-left:2.5rem;}
.t-title{
  font-family:var(--ff-serif);font-size:1.1rem;font-weight:400;
  color:var(--ink);margin-bottom:0.4rem;
}
.t-desc{font-size:0.8rem;color:var(--ink-3);line-height:1.75;}
.t-tag{font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.3rem;}
.t-sub{font-size:0.72rem;color:rgba(17,17,16,0.35);}
.t-closing{
  text-align:center;margin-top:4rem;
  padding:2.5rem;border:1px solid var(--border);
  background:linear-gradient(135deg,var(--bone),var(--white));
}
.t-closing p{
  font-family:var(--ff-serif);font-size:1.3rem;font-style:italic;
  color:var(--ink);margin-bottom:1.5rem;line-height:1.5;
}
.t-closing small{font-size:0.72rem;color:var(--ink-3);display:block;margin-bottom:1.5rem;}

/* ═══════════════════════════════════════
   GALLERY — FILM STRIP (MOBILE FIRST)
═══════════════════════════════════════ */
.gallery-section{
  padding:7rem 0;background:var(--bone);
  overflow:hidden;
}
.gallery-intro{text-align:center;margin-bottom:3.5rem;padding:0 4rem;}
.gallery-cta{text-align:center;margin-top:3rem;padding:0 4rem;}

/* Film strip track */
.film-strip{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scroll-behavior:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  padding:0 4rem;
  cursor:grab;
  user-select:none;
  touch-action:pan-x;
}


.film-strip::-webkit-scrollbar{
  display:none;
}

.film-strip.dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  scroll-behavior:auto;
}

/* Each card */
.film-card{
  flex:0 0 auto;
  scroll-snap-align:center;
  position:relative;
  overflow:hidden;
  background:var(--bone-dk);
  transition:transform 0.22s ease-out, box-shadow 0.22s ease-out;
  will-change:transform;
  transform:translateZ(0);
}

.film-card.portrait{width:clamp(240px,38vw,420px);aspect-ratio:3/4;}
.film-card.landscape{width:clamp(320px,55vw,600px);aspect-ratio:16/9;}
.film-card.square{width:clamp(240px,36vw,400px);aspect-ratio:1/1;}
.film-card:hover{transform:scale(1.02);box-shadow:0 16px 48px rgba(0,0,0,0.15);}
.film-card img{width:100%;height:100%;object-fit:cover;display:block;}

.film-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

/* Placeholder */
.film-placeholder{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:0.75rem;
  background:var(--bone-dk);
}
.film-placeholder-num{
  font-family:var(--ff-serif);font-size:2rem;font-weight:300;
  color:rgba(184,154,90,0.25);line-height:1;
}
.film-placeholder-label{
  font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(184,154,90,0.35);
}
.film-card-label{
  position:absolute;bottom:0;left:0;right:0;padding:1.5rem;
  background:linear-gradient(to top,rgba(17,17,16,0.7),transparent);
  opacity:0;transition:opacity 0.4s var(--ease);
  font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.8);
}
.film-card:hover .film-card-label{opacity:1;}

/* Scroll indicator */
.film-scroll-hint{
  display:flex;align-items:center;justify-content:center;gap:0.75rem;
  margin-top:2rem;padding:0 4rem;
}
.film-scroll-track{
  flex:1;max-width:200px;height:1px;background:var(--border);position:relative;overflow:hidden;
}
.film-scroll-thumb{
  position:absolute;top:0;left:0;height:100%;width:30%;
  background:var(--gold);border-radius:99px;
  animation:thumbScroll 3s ease-in-out infinite alternate;
}
@keyframes thumbScroll{from{left:0;}to{left:70%;}}
.film-scroll-label{
  font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-3);
}

/* ═══════════════════════════════════════
   HOW IT WORKS
═══════════════════════════════════════ */
.how-section{padding:7rem 4rem;background:var(--bone);}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;margin-top:4rem;}
.how-step{}
.how-num{
  font-family:var(--ff-serif);font-size:4rem;font-weight:300;
  color:var(--border);line-height:1;margin-bottom:1.25rem;
  transition:color 0.4s;
}
.how-step:hover .how-num{color:var(--gold);}
.how-title{
  font-family:var(--ff-serif);font-size:1.2rem;font-weight:400;
  color:var(--ink);margin-bottom:0.75rem;
}
.how-desc{font-size:0.82rem;color:var(--ink-3);line-height:1.8;}
.how-connector{display:none;}

/* ═══════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════ */
.testi-section{padding:7rem 4rem;background:var(--white);}
.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3.5rem;}
.testi-card{
  background:var(--white);padding:2.5rem;
  border-bottom:2px solid transparent;
  transition:border-color 0.4s,transform 0.4s var(--ease),box-shadow 0.4s;
}
.testi-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,0.07);}
.testi-stars{letter-spacing:0.1em;color:var(--gold);font-size:0.7rem;margin-bottom:1.25rem;}
.testi-q{
  font-family:var(--ff-serif);font-size:1.05rem;font-style:italic;
  color:var(--ink);line-height:1.75;margin-bottom:1.5rem;
  position:relative;padding-left:1.25rem;
}
.testi-q::before{
  content:'\201C';position:absolute;left:-0.25rem;top:-0.75rem;
  font-size:3.5rem;color:var(--gold-lt);line-height:1;font-family:var(--ff-serif);
}
.testi-author{font-size:0.75rem;font-weight:500;color:var(--gold);letter-spacing:0.05em;}
.testi-detail{font-size:0.7rem;color:var(--ink-3);margin-top:0.2rem;}

/* ═══════════════════════════════════════
   FAQ
═══════════════════════════════════════ */
.faq-section{padding:7rem 4rem;background:var(--bone);}
.faq-wrap{max-width:720px;}
.faq-item{
  border-bottom:1px solid var(--border);padding:1.5rem 0;cursor:none;
}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-qt{font-size:0.9rem;font-weight:400;color:var(--ink);}
.faq-ic{
  width:28px;height:28px;border:1px solid var(--border);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:1rem;flex-shrink:0;
  transition:all 0.3s var(--ease);
}
.faq-item.open .faq-ic{background:var(--gold);color:var(--ink);transform:rotate(45deg);}
.faq-a{font-size:0.82rem;color:var(--ink-3);line-height:1.85;padding-top:1rem;display:none;}
.faq-item.open .faq-a{display:block;}

/* ═══════════════════════════════════════
   CTA BAND
═══════════════════════════════════════ */
.cta-band{
  padding:8rem 4rem;
  background:var(--ink-2);
  text-align:center;
  position:relative;overflow:hidden;
}
.cta-band-bg{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--ff-serif);font-size:clamp(6rem,18vw,18rem);
  font-weight:300;color:rgba(255,255,255,0.02);white-space:nowrap;
  pointer-events:none;letter-spacing:0.1em;
}
.cta-band-content{position:relative;z-index:2;}
.cta-guarantee{font-size:0.68rem;letter-spacing:0.1em;color:rgba(255,255,255,0.3);margin-top:1.25rem;}

/* ═══════════════════════════════════════
   FORM
═══════════════════════════════════════ */
.form-section{padding:7rem 4rem;background:var(--bone);}
.form-wrap{max-width:680px;margin:0 auto;}
.form-header{margin-bottom:2.5rem;}
.form-title{
  font-family:var(--ff-serif);font-size:2.5rem;font-weight:300;
  color:var(--ink);margin-bottom:0.5rem;
}
.form-sub{font-size:0.82rem;color:var(--ink-3);}
.form-badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(184,154,90,0.08);border:1px solid var(--border);
  padding:0.5rem 1rem;font-size:0.68rem;letter-spacing:0.08em;
  color:var(--gold);margin-bottom:2rem;
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.f-field{display:flex;flex-direction:column;gap:0.4rem;}
.f-field.full{grid-column:1/-1;}
.f-label{font-size:0.62rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);}
.f-input{
  background:var(--white);border:1px solid var(--border);
  color:var(--ink);padding:0.8rem 1rem;
  font-family:var(--ff-sans);font-size:0.82rem;
  outline:none;transition:border-color 0.3s;
  -webkit-appearance:none;
}
.f-input:focus{border-color:var(--gold);}
.f-input::placeholder{color:rgba(17,17,16,0.25);}
.f-submit{
  width:100%;padding:1.1rem;margin-top:1.25rem;
  background:var(--gold);color:var(--ink);
  font-family:var(--ff-sans);font-size:0.72rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;
  border:none;cursor:none;
  position:relative;overflow:hidden;
  transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease);
}
.f-submit::after{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,0.18);
  transform:translateX(-100%) skewX(-15deg);
  transition:transform 0.5s var(--ease);
}
.f-submit:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(184,154,90,0.4);}
.f-submit:hover::after{transform:translateX(120%) skewX(-15deg);}
.f-privacy{font-size:0.65rem;color:rgba(17,17,16,0.35);text-align:center;margin-top:0.75rem;line-height:1.6;}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
footer{
  background:var(--ink);padding:4rem;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
}
.footer-brand{}
.footer-logo-text{
  font-family:var(--ff-serif);font-size:1.8rem;font-weight:300;
  color:var(--white);letter-spacing:0.12em;margin-bottom:0.5rem;
}
.footer-logo-text em{font-style:normal;color:var(--gold);}
.footer-tagline{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-bottom:1.25rem;}
.footer-desc{font-size:0.78rem;color:rgba(255,255,255,0.35);line-height:1.8;max-width:280px;}
.footer-col-title{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;}
.footer-links{list-style:none;}
.footer-links li{padding:0.3rem 0;}
.footer-links a{font-size:0.75rem;color:rgba(255,255,255,0.35);text-decoration:none;transition:color 0.2s;}
.footer-links a:hover{color:var(--gold);}
.footer-bottom{
  background:var(--ink);border-top:1px solid rgba(255,255,255,0.05);
  padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;
}
.footer-copy{font-size:0.65rem;color:rgba(255,255,255,0.2);}

/* ═══════════════════════════════════════
   WA FLOAT
═══════════════════════════════════════ */
.wa-float{
  position:fixed;bottom:2.5rem;right:2.5rem;z-index:200;
  width:54px;height:54px;border-radius:50%;background:#25d366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,0.4);cursor:none;
  transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease);
}
.wa-float:hover{transform:scale(1.12);box-shadow:0 8px 32px rgba(37,211,102,0.5);}
.wa-float svg{width:26px;height:26px;fill:white;}

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
/* ═══════════════════════════════════════
   RESPONSIVE — TABLET
═══════════════════════════════════════ */
@media(max-width:1024px){
  .nav{padding:1.25rem 2rem;}
  .nav.scrolled{padding:1rem 2rem;}
  .hero{padding:6rem 2rem 5rem;}
  .hero-grid{gap:2rem;}
  .hero-bg-word{font-size:clamp(10rem,28vw,22rem);}
  footer{grid-template-columns:1fr 1fr;gap:2rem;padding:3rem 2rem;}
  .footer-bottom{padding:1.25rem 2rem;}
  .timeline-section,.gallery-section,.how-section,
  .testi-section,.faq-section,.cta-band,.form-section{padding:5rem 2rem;}
  .video-section{padding:3rem 0 0;}
  .two-col{gap:3rem;}
}

/* ═══════════════════════════════════════
   RESPONSIVE — MOBILE
═══════════════════════════════════════ */
@media(max-width:768px){
  body{cursor:auto;}
  .cursor{display:none;}

  /* ── NAV MOBILE ── */
  .nav{padding:0.75rem 1rem;flex-wrap:wrap;gap:0.5rem;}
  .nav.scrolled{padding:0.5rem 1rem;}
  .nav-logo{font-size:1rem;flex:0 0 auto;}
  .nav-center{order:3;width:100%;display:flex;justify-content:center;}
  .toggle-pill{width:100%;justify-content:center;}
  .tog-btn{flex:1;text-align:center;padding:0.45rem 0.5rem;font-size:0.58rem;}
  .nav-cta{padding:0.35rem 0.75rem;font-size:0.55rem;flex:0 0 auto;}

  /* ── HERO ── */
  .hero{padding:5rem 1.25rem 3.5rem;min-height:100svh;align-items:center;}
  .hero-grid{grid-template-columns:1fr;max-width:100%;}
  .hero-right{display:none;}
  .hero-h1{font-size:clamp(2.8rem,11vw,4.5rem);line-height:1;}
  .hero-h1 .word span{animation-delay:0s!important;}
  .hero-bg-word{font-size:clamp(7rem,38vw,14rem);}
  .hero-eyebrow{font-size:0.62rem;margin-bottom:1.5rem;}
  .hero-ctas{flex-direction:column;gap:0.75rem;}
  .hero-ctas a{text-align:center;justify-content:center;width:100%;}
  .hero-scroll{display:none;}

  /* ── VIDEO ── */
  .video-section{padding:3rem 0 0;}
  .video-section > div:first-child{padding:0 1.25rem 1.5rem!important;}
  .video-wrap{padding-bottom:60%;}

  /* ── LAYOUT ── */
  .two-col{grid-template-columns:1fr!important;gap:2.5rem;direction:ltr!important;}
  .how-grid{grid-template-columns:1fr;gap:2rem;}
  .testi-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
  footer{grid-template-columns:1fr;padding:2.5rem 1.25rem;gap:2rem;}
  .footer-bottom{padding:1rem 1.25rem;flex-direction:column;gap:0.5rem;text-align:center;}

  /* ── SECTIONS ── */
  .timeline-section,.how-section,.testi-section,
  .faq-section,.form-section{padding:4rem 1.25rem;}
  .cta-band{padding:5rem 1.25rem;}
  .gallery-section{padding:4rem 0;}
  .gallery-intro{padding:0 1.25rem 2rem!important;}
  .film-scroll-hint,.gallery-cta{padding:0 1.25rem!important;}

  /* ── FILM STRIP ── */
.film-strip{
  padding:0 1.25rem;
  gap:0.75rem;
}

.film-card.portrait{
  width:70vw;
}

.film-card.landscape{
  width:84vw;
}

.film-card.square{
  width:70vw;
}

  /* ── VENUES ── */
  .venues-band{padding:2rem 1.25rem;}
  .venues-strip{flex-wrap:wrap;justify-content:center;}
  .venue-cell{padding:0.5rem 0.75rem;border-right:none;border-bottom:1px solid rgba(255,255,255,0.07);}
  .venue-n{font-size:0.78rem;}

  /* ── TIMELINE ── */
  .t-item{grid-template-columns:28px 1fr;}
  .t-left{display:none;}
  .t-right{padding-left:1rem;}
  .t-chapter{margin:2rem 0 1.5rem;}
  .timeline-axis{left:14px;}

  /* ── TYPOGRAPHY ── */
  .ruled-title{font-size:clamp(1.8rem,7vw,2.5rem);}
  .section-title{font-size:clamp(1.6rem,6vw,2.2rem);}
  .how-num{font-size:2.5rem;}

  /* ── BUTTONS ── */
  .btn-gold,.btn-outline-dark{padding:0.8rem 1.5rem;font-size:0.68rem;}

  /* ── PRELOADER ── */

  /* ── FORM ── */
  .form-title{font-size:1.8rem;}
  .form-section{padding:4rem 1.25rem;}

  /* ── CTA BAND ── */
  .cta-band-bg{font-size:clamp(5rem,25vw,10rem);}
  .cta-band .ruled-title{font-size:clamp(1.8rem,7vw,2.8rem);}
}

/* ── VERY SMALL ── */
@media(max-width:380px){
  .hero-h1{font-size:clamp(2.4rem,10vw,3.5rem);}
  .film-card.portrait{width:85vw;}
  .film-card.landscape{width:92vw;}
  .film-card.square{width:85vw;}
  .tog-btn{padding:0.35rem 0.75rem;}


}
/* ── VIDEO PLAY BUTTON ── */
.video-play-btn{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:transparent;border:none;cursor:pointer;
  width:72px;height:72px;z-index:3;
  transition:transform 0.3s,opacity 0.3s;
}
.video-play-btn svg{width:72px;height:72px;}
.video-play-btn:hover{transform:translate(-50%,-50%) scale(1.1);}
.video-play-btn.playing{opacity:0;}
.video-play-btn.playing:hover{opacity:1;}
.video-placeholder:hover .video-play-btn.playing{opacity:1;}
@media(max-width:768px){
  .video-play-btn{width:56px;height:56px;}
  .video-play-btn svg{width:56px;height:56px;}
}


.hindu-section{position:relative;overflow:hidden;background:var(--ink);}
.hindu-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-image:url('assets/img/hindu-bg.webp');opacity:0.25;transform:scale(1.04);}
.hindu-overlay{position:relative;z-index:2;padding:4rem 1.25rem 0;max-width:600px;margin:0 auto;text-align:center;}
.hindu-eyebrow{font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:0.75rem;}
.hindu-title{font-family:var(--ff-serif);font-size:clamp(2rem,6vw,3.2rem);font-weight:300;line-height:1.1;color:var(--white);margin-bottom:1rem;}
.hindu-title em{color:var(--gold-lt);font-style:italic;}
.hindu-body{font-size:0.85rem;color:rgba(255,255,255,0.65);line-height:1.8;margin-bottom:0.5rem;}
.hindu-tagline{font-family:var(--ff-serif);font-size:1rem;font-style:italic;color:var(--gold);margin-bottom:2rem;line-height:1.6;}
.hindu-rituals{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;padding:0 1.25rem 1.5rem;position:relative;z-index:2;max-width:600px;margin:0 auto;}
.hindu-ritual-pill{padding:0.4rem 0.9rem;border:1px solid rgba(184,154,90,0.35);border-radius:99px;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.65);background:rgba(184,154,90,0.08);}
.hindu-strip-wrap{position:relative;z-index:2;padding:0 0 2rem;overflow:hidden;}
.hindu-strip{display:flex;gap:0.75rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 1.25rem 1rem;}
.hindu-strip::-webkit-scrollbar{display:none;}
.hindu-card{flex:0 0 auto;scroll-snap-align:start;position:relative;overflow:hidden;border-radius:2px;background:rgba(255,255,255,0.06);border:1px solid rgba(184,154,90,0.2);will-change:transform;}
.hindu-card.portrait{width:clamp(160px,42vw,240px);aspect-ratio:3/4;}
.hindu-card.square{width:clamp(160px,42vw,240px);aspect-ratio:1/1;}
.hindu-card.landscape{width:clamp(240px,62vw,360px);aspect-ratio:16/9;}
.hindu-card img{width:100%;height:100%;object-fit:cover;display:block;}
.hindu-card-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4rem;}
.hindu-card-ph-n{font-family:var(--ff-serif);font-size:1.5rem;font-weight:300;color:rgba(184,154,90,0.25);}
.hindu-card-ph-l{font-size:0.48rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(184,154,90,0.35);text-align:center;padding:0 0.5rem;}
.hindu-card-label{position:absolute;bottom:0;left:0;right:0;padding:0.75rem;background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.8);}
.hindu-tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(184,154,90,0.15);margin:0 1.25rem;position:relative;z-index:2;}
.hindu-tech-cell{padding:1.25rem;background:rgba(10,10,8,0.7);}
.hindu-tech-cell.dark{background:var(--ink);border:1px solid rgba(184,154,90,0.3);}
.hindu-tech-label{font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:0.5rem;display:block;}
.hindu-tech-text{font-size:0.75rem;color:rgba(255,255,255,0.6);line-height:1.7;}
.hindu-tech-quote{font-size:0.88rem;color:rgba(255,255,255,0.88);line-height:1.75;font-family:var(--ff-serif);font-style:italic;}
.hindu-cta{text-align:center;padding:1.5rem 1.25rem 2.5rem;position:relative;z-index:2;}
@media(min-width:769px){
  .hindu-overlay{padding:5rem 4rem 0;max-width:860px;}
  .hindu-rituals{padding:0 4rem 1.5rem;max-width:860px;}
  .hindu-strip{padding:0 4rem 1rem;}
  .hindu-card.portrait{width:clamp(200px,20vw,260px);}
  .hindu-card.square{width:clamp(200px,20vw,260px);}
  .hindu-card.landscape{width:clamp(280px,32vw,400px);}
  .hindu-tech-grid{margin:0 4rem;grid-template-columns:repeat(3,1fr);}
  .hindu-cta{padding:2rem 4rem 3rem;}
}


/* ── GALLERY ARROWS (desktop only) ── */
.gallery-wrap{position:relative;}
.gallery-arrow-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(184,154,90,0.4);
  background:rgba(248,245,240,0.92);
  backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:10;
  transition:all 0.25s ease;
  box-shadow:0 2px 12px rgba(0,0,0,0.08);
}
.gallery-arrow-btn:hover{
  background:var(--gold);
  border-color:var(--gold);
}
.gallery-arrow-btn:hover svg path{stroke:#fff;}
.gallery-arrow-btn svg{width:14px;height:14px;}
.gallery-arrow-btn svg path{stroke:var(--ink);stroke-width:1.8;fill:none;transition:stroke 0.25s;}
.gallery-arrow-btn.prev{left:-22px;}
.gallery-arrow-btn.next{right:-22px;}
.gallery-arrow-btn.hindu-prev{left:8px;}
.gallery-arrow-btn.hindu-next{right:8px;}

/* Hide arrows on mobile */
@media(max-width:768px){
  .gallery-arrow-btn{display:none;}
}


/* ── HINDU SPLIT LAYOUT ── */
.hindu-split{
  position:relative;overflow:hidden;
  background:var(--ink);
}
.hindu-split-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  background-image:url('assets/img/hindu-bg.webp');
  opacity:0.15;
}
.hindu-split-inner{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:520px;
  max-width:1200px;
  margin:0 auto;
}

/* LEFT — text panel */
.hindu-text-panel{
  padding:4rem 3rem 4rem 4rem;
  display:flex;flex-direction:column;
  justify-content:center;
  border-right:1px solid rgba(184,154,90,0.15);
}
.hindu-split-eyebrow{
  font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:1rem;
}
.hindu-split-title{
  font-family:var(--ff-serif);
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:300;line-height:1.1;
  color:var(--white);
  margin-bottom:0.75rem;
}
.hindu-split-title em{color:var(--gold-lt);font-style:italic;}
.hindu-split-intro{
  font-size:0.82rem;color:rgba(255,255,255,0.55);
  line-height:1.8;margin-bottom:2rem;
  max-width:320px;
}
.hindu-split-tagline{
  font-family:var(--ff-serif);font-size:0.95rem;
  font-style:italic;color:var(--gold);
  line-height:1.6;margin-bottom:2rem;
  max-width:300px;
}
/* Ritual tabs */
.hindu-tabs{
  display:flex;flex-direction:column;gap:0;
  border-top:1px solid rgba(184,154,90,0.15);
}
.hindu-tab{
  padding:0.75rem 0;
  border-bottom:1px solid rgba(184,154,90,0.1);
  cursor:pointer;
  transition:all 0.25s ease;
}
.hindu-tab.active .hindu-tab-name{color:var(--gold);}
.hindu-tab.active .hindu-tab-desc{max-height:80px;opacity:1;margin-top:0.4rem;}
.hindu-tab-name{
  font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(255,255,255,0.5);
  transition:color 0.25s;
  display:flex;align-items:center;gap:0.75rem;
}
.hindu-tab-name::before{
  content:'';width:20px;height:1px;
  background:rgba(184,154,90,0.3);
  transition:background 0.25s,width 0.25s;
  flex-shrink:0;
}
.hindu-tab.active .hindu-tab-name::before{
  background:var(--gold);width:32px;
}
.hindu-tab-desc{
  font-size:0.75rem;color:rgba(255,255,255,0.55);
  line-height:1.7;max-height:0;opacity:0;
  overflow:hidden;transition:all 0.35s ease;
  padding-left:calc(20px + 0.75rem);
}

/* RIGHT — gallery panel */
.hindu-gallery-panel{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
.hindu-gallery-track{
  flex:1;position:relative;overflow:hidden;
}
.hindu-slide{
  position:absolute;inset:0;
  opacity:0;transition:opacity 0.5s ease;
}
.hindu-slide.active{opacity:1;}
.hindu-slide img,
.hindu-slide .hindu-slide-ph{
  width:100%;height:100%;object-fit:cover;display:block;
}
.hindu-slide-ph{
  background:rgba(255,255,255,0.04);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:0.5rem;
}
.hindu-slide-ph-n{
  font-family:var(--ff-serif);font-size:3rem;font-weight:300;
  color:rgba(184,154,90,0.2);
}
.hindu-slide-ph-l{
  font-size:0.55rem;letter-spacing:0.18em;text-transform:uppercase;
  color:rgba(184,154,90,0.3);
}
/* Scroll strip at bottom of gallery */
.hindu-gallery-strip{
  display:flex;gap:0.5rem;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:0.75rem 1rem;
  background:rgba(0,0,0,0.4);
  flex-shrink:0;
}
.hindu-gallery-strip::-webkit-scrollbar{display:none;}
.hindu-thumb{
  flex:0 0 auto;
  width:70px;height:50px;
  scroll-snap-align:start;
  overflow:hidden;
  cursor:pointer;
  border:2px solid transparent;
  transition:border-color 0.25s;
  opacity:0.55;
  transition:opacity 0.25s,border-color 0.25s;
}
.hindu-thumb.active{
  border-color:var(--gold);
  opacity:1;
}
.hindu-thumb img,.hindu-thumb .hindu-thumb-ph{
  width:100%;height:100%;object-fit:cover;display:block;
}
.hindu-thumb-ph{background:rgba(255,255,255,0.06);}

/* Gallery nav arrows */
.hindu-gallery-arrows{
  position:absolute;top:50%;transform:translateY(-50%);
  width:100%;display:flex;justify-content:space-between;
  padding:0 0.75rem;pointer-events:none;z-index:5;
}
.hindu-gallery-arrow{
  width:38px;height:38px;border-radius:50%;
  background:rgba(10,10,8,0.6);
  border:1px solid rgba(184,154,90,0.3);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;pointer-events:all;
  transition:all 0.25s;
}
.hindu-gallery-arrow:hover{background:var(--gold);border-color:var(--gold);}
.hindu-gallery-arrow svg{width:13px;height:13px;}
.hindu-gallery-arrow svg path{stroke:#fff;stroke-width:1.8;fill:none;}

/* Mobile */
@media(max-width:768px){
  .hindu-split-inner{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hindu-gallery-panel{
    min-height:420px;
  }
  .hindu-text-panel{
    padding:3rem 1.25rem 2rem;
    border-right:none;
    border-bottom:1px solid rgba(184,154,90,0.15);
  }
  .hindu-split-intro{max-width:100%;}
  .hindu-split-tagline{max-width:100%;}
  .hindu-gallery-panel{min-height:420px;}
  .hindu-gallery-track{min-height:320px;}
}


@media(max-width:380px){
  .nav{padding:0.6rem 0.75rem;gap:0.4rem;}
  .tog-btn{padding:0.4rem 0.4rem;font-size:0.52rem;}
  .nav-cta{padding:0.3rem 0.6rem;font-size:0.52rem;}
  .nav-logo{font-size:0.9rem;}
}


/* 1. EL CONTENEDOR DE LA TARJETA */
.film-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  will-change: transform;
  transform: translateZ(0);
}

/* 2. LA IMAGEN AL FONDO ABSOLUTO */
.film-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0 !important; /* Forzamos a que sea la capa inferior de todas */
  user-select: none;
  -webkit-user-drag: none;
}

/* 3. EL TEXTO CENTRAL ADELANTE DEL TODO */
.film-placeholder {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10 !important; /* Capa superior para que jamás quede atrás */
  text-align: center;
  background: transparent !important;
  width: 100% !important;
}

/* 4. EL CONTENEDOR DEL TEXTO INFERIOR CON EL DEGRADADO INTEGRADO */
/* En lugar de usar ::after en toda la tarjeta (que causaba el desfase), 
   metemos el degradado directamente en el contenedor del texto para que cubra perfecto de lado a lado */
.film-card-label {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important; /* Cubre todo el ancho sin importar el padding */
  box-sizing: border-box !important;
  z-index: 5 !important; /* Por encima de la foto, por debajo del centro */
  
  /* El degradado arranca desde abajo del texto y sube */
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0) 100%) !important;
  
  /* Espaciado interno para que las letras no peguen en los bordes de la tarjeta */
  padding: 40px 25px 25px 25px !important; 
  margin: 0 !important;
  
  /* Asegura que el texto mantenga su color e iluminación */
  color: #ffffff !important;
}

/* Eliminamos el ::after anterior para que no se dupliquen degradados */
.film-card::after {
  display: none !important;
}