/* =========================================================
   Sanki Events — Geeta Rabari Navratri 2026
   Festive garba / dandiya landing page — Sanki brand palette
========================================================= */

:root{
  --bg:#17081a;
  --bg-rgb:23 8 26;
  --bg-soft:#210b26;
  --contrast-rgb:255 255 255;
  --ink:#fff5ec;
  --ink-dim:#d7b9cf;
  --violet:#821d64;
  --orange:#fb4a25;
  --teal:#07a499;
  --crimson:#e61c58;
  --grad: linear-gradient(115deg, var(--violet) 0%, var(--crimson) 38%, var(--orange) 68%);
  --teal-grad: linear-gradient(115deg, var(--violet) 0%, var(--crimson) 38%, var(--orange) 68%, var(--teal) 100%);
  --grad-cta: linear-gradient(120deg, var(--crimson) 0%, var(--orange) 100%);
  --shadow-cta: rgba(230,28,88,.32);
  --shadow-cta-hover: rgba(251,74,37,.42);
  --radius: 26px;
  --radius-sm: 16px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --ease: cubic-bezier(.16,.84,.32,1);
  --grain-opacity: .22;
}

[data-theme="light"]{
  --bg:#fdf6ef;
  --bg-rgb:253 246 239;
  --bg-soft:#f7eadc;
  --contrast-rgb:34 16 36;
  --ink:#241127;
  --ink-dim:#6c5468;
  --shadow-cta: rgba(230,28,88,.16);
  --shadow-cta-hover: rgba(251,74,37,.24);
  --grain-opacity:.05;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Outfit', sans-serif;
  overflow-x:clip;
  transition:background .45s var(--ease), color .45s var(--ease);
}
body.loading{ overflow:hidden; height:100vh; }

img{ max-width:100%; }
a{ text-decoration:none; color:inherit; }
h1,h2,h3,h4{ font-family:'Archivo Black', 'Outfit', sans-serif; font-weight:400; margin:0; }
.container{ max-width:1240px; }

.text-grad{
  background:var(--grad);
  /* background:var(--teal); */
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.section-kicker{
  font-family:'Space Mono', monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.82rem;
  font-weight:800;
  color:var(--teal);
  margin-bottom:.75rem;
}
.kicker--crimson{ color:var(--crimson); }
.kicker--orange{ color:var(--orange); }
.kicker--violet{ color:var(--violet); }
.kicker--teal{ color:var(--teal); }
.section-title{
  font-size:clamp(2rem, 4.2vw, 3.4rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.01em;
  margin-bottom:1.5rem;
  text-transform:uppercase;
}
.section-text{
  color:var(--ink-dim);
  font-size:1.05rem;
  line-height:1.7;
  max-width:46ch;
}

/* ---------- Reveal on scroll ---------- */
.reveal{
  opacity:0;
  transform:translateY(46px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.in-view{ opacity:1; }

/* =========================================================
   PRELOADER
========================================================= */
#preloader{
  position:fixed; inset:0; z-index:9999;
  background:radial-gradient(circle at 50% 40%, #2b0f30 0%, #17081a 70%);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .7s var(--ease), visibility .7s var(--ease);
}
#preloader.hide{ opacity:0; visibility:hidden; pointer-events:none; }
.preloader-inner{ text-align:center; }
.dandiya-loader{ animation:spin 3.2s linear infinite; }
.dandiya-ring{ animation:spin 6s linear infinite reverse; transform-origin:60px 60px; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.preloader-label{
  margin-top:1.4rem;
  font-family:'Space Mono', monospace;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--ink-dim);
}
#preloader-percent{ color:var(--orange); font-weight:700; }

/* =========================================================
   NAVBAR
========================================================= */
.custom-navbar{
  padding:1.1rem 0;
  background:transparent;
  transition:background .4s var(--ease), padding .4s var(--ease), backdrop-filter .4s;
  z-index:80;
}
.custom-navbar.scrolled{
  background:rgb(var(--bg-rgb) / .82);
  backdrop-filter:blur(14px);
  padding:.65rem 0;
  border-bottom:1px solid rgb(var(--contrast-rgb) / .06);
}
.custom-navbar .nav-link{
  position:relative;
  color:var(--ink);
  font-weight:500;
  font-size:.92rem;
  opacity:.85;
  padding:.5rem 1rem !important;
  transition:opacity .3s, color .3s;
}
.custom-navbar .nav-link::after{
  content:"";
  position:absolute; left:1rem; right:1rem; bottom:.15rem;
  height:2px; border-radius:2px;
  background:var(--grad-cta);
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.custom-navbar .nav-link:hover{ opacity:1; color:var(--orange); }
.custom-navbar .nav-link:hover::after{ transform:scaleX(1); }
.navbar-toggler{ border:none; color:var(--ink); font-size:1.6rem; background:transparent; }
.navbar-toggler:focus{ box-shadow:none; }

.navbar-brand img{ height:52px; width:auto; transition:height .3s var(--ease); }
.custom-navbar.scrolled .navbar-brand img{ height:42px; }

.theme-toggle{
  position:relative;
  width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  border:1px solid rgb(var(--contrast-rgb) / .18);
  background:rgb(var(--contrast-rgb) / .06);
  color:var(--ink);
  cursor:pointer;
  transition:transform .35s var(--ease), border-color .3s, background .3s;
}
.theme-toggle:hover{ border-color:var(--orange); transform:translateY(-2px) rotate(-8deg); }
.theme-toggle__icon{
  position:absolute; font-size:1.05rem;
  transition:opacity .4s var(--ease), transform .5s var(--ease);
}
.theme-toggle__icon--sun{ opacity:0; transform:rotate(85deg) scale(.4); color:var(--orange); }
.theme-toggle__icon--moon{ opacity:1; transform:rotate(0) scale(1); }
[data-theme="light"] .theme-toggle__icon--sun{ opacity:1; transform:rotate(0) scale(1); }
[data-theme="light"] .theme-toggle__icon--moon{ opacity:0; transform:rotate(-85deg) scale(.4); }

.btn-cta{
  position:relative;
  overflow:hidden;
  background:var(--grad-cta) !important;
  color:#fff5ec !important;
  font-weight:700;
  border:none;
  border-radius:999px;
  padding:.65rem 1.5rem;
  box-shadow:0 8px 24px var(--shadow-cta);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  white-space:nowrap;
}
.btn-cta::after{
  content:"";
  position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.4), transparent);
  transform:skewX(-20deg);
  transition:left .6s var(--ease);
}
.btn-cta:hover::after{ left:130%; }
.btn-cta:hover{ transform:translateY(-3px) scale(1.02); box-shadow:0 14px 32px var(--shadow-cta-hover); color:#fff5ec; }
.btn-xl{ padding:1rem 2.4rem; font-size:1.05rem; }
.btn-ghost{
  border:1px solid rgb(var(--contrast-rgb) / .25);
  color:var(--ink);
  border-radius:999px;
  padding:.65rem 1.5rem;
  transition:all .3s var(--ease);
}
.btn-ghost:hover{ background:rgb(var(--contrast-rgb) / .08); border-color:var(--orange); color:var(--orange); }
.btn-outline-cta{
  border:1px solid rgb(var(--contrast-rgb) / .2);
  color:var(--ink);
  background:transparent;
  border-radius:999px;
  padding:.55rem 1.4rem;
  font-weight:600;
  font-size:.9rem;
}
.btn-outline-cta:disabled{ opacity:.45; cursor:not-allowed; }
.btn-outline-cta:not(:disabled):hover{ border-color:var(--orange); color:var(--orange); }

/* =========================================================
   HERO — ABSTRACT PORTAL
========================================================= */
.hero{
  position:relative;
  min-height:100vh;
  min-height:100dvh;
  display:flex; flex-direction:column; justify-content:center;
  padding:9rem 0 5rem;
  overflow:hidden;
  isolation:isolate;
  background:var(--bg);
}

.hero-mesh{
  position:absolute; inset:0; z-index:-3;
  background:
    radial-gradient(circle at 12% 18%, rgba(230,28,88,.22), transparent 42%),
    radial-gradient(circle at 88% 12%, rgba(7,164,153,.18), transparent 46%),
    radial-gradient(circle at 78% 92%, rgba(251,74,37,.16), transparent 50%),
    radial-gradient(circle at 15% 95%, rgba(130,29,100,.22), transparent 48%),
    var(--bg);
}
.hero-grain{
  position:absolute; inset:0; z-index:-1;
  opacity:var(--grain-opacity); mix-blend-mode:overlay; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px;
}

.hero-blob{
  position:absolute; border-radius:50%;
  filter:blur(90px); opacity:.28; z-index:-2;
  transition:transform .5s cubic-bezier(.16,.84,.32,1);
  will-change:transform;
}
.blob-1{ width:520px; height:520px; background:var(--crimson); top:-140px; left:-160px; }
.blob-2{ width:460px; height:460px; background:var(--teal); bottom:-160px; right:-120px; opacity:.22; }
.blob-3{ width:340px; height:340px; background:var(--violet); top:30%; right:8%; opacity:.24; }

.hero-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.15fr 1fr;
  align-items:center; gap:3.5rem;
}

.hero-copy{ will-change:transform, opacity; }
.pill{
  display:inline-flex; align-items:center; gap:.4rem;
  font-family:'Space Mono', monospace;
  font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.5rem 1.1rem; border-radius:999px;
  border:1px solid rgb(var(--contrast-rgb) / .18);
  background:rgb(var(--contrast-rgb) / .06);
  margin-bottom:1.8rem;
}
.pill-brand{ color: #ffff; }

.hero-kinetic{ margin-bottom:1.6rem; }
.kinetic-row{ position:relative; display:block; line-height:.82; }
.kinetic-word{
  position:relative; z-index:1;
  display:inline-block;
  font-family:'Archivo Black','Outfit',sans-serif;
  font-size:clamp(2.6rem, 6.4vw, 4.8rem);
  text-transform:uppercase;
  color:var(--ink);
}
.kinetic-word--ghost{
  position:absolute; z-index:0;
  top:.09em; left:.05em;
  color:transparent;
  -webkit-text-stroke:1px rgb(var(--contrast-rgb) / .16);
}
.kinetic-row--grad .kinetic-word{
  background:var(--grad);
  /* background:var(--teal); */
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.kinetic-row--tag{
  display:block; margin-top:1.1rem;
  font-family:'Space Mono', monospace;
  font-size:clamp(.85rem, 1.6vw, 1.15rem);
  letter-spacing:.4em; text-transform:uppercase;
  color:var(--ink-dim);
}
.kinetic-row--tag em{ font-style:normal; color:var(--orange); letter-spacing:.1em; }

.hero-sub{
  max-width:520px; margin:0 0 1.8rem;
  color:var(--ink-dim); font-size:1.08rem; line-height:1.7;
}
.hero-chips{ display:flex; flex-wrap:wrap; gap:.7rem; margin-bottom:2.2rem; }
.chip{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgb(var(--contrast-rgb) / .06);
  border:1px solid rgb(var(--contrast-rgb) / .12);
  padding:.5rem 1rem; border-radius:999px;
  font-size:.85rem; color:var(--ink);
}
.hero-cta{ display:flex; flex-wrap:wrap; gap:1rem; }

/* ---------- Visual column: video portal + orbiting chips ---------- */
.hero-visual{
  position:relative;
  width:100%; max-width:440px;
  aspect-ratio:1/1;
  margin:0 auto;
  will-change:transform, opacity;
}
.video-portal{
  position:relative; width:100%; height:100%;
  padding:5px; border-radius:34px;
  background:var(--teal-grad);
  transform:rotate(-3deg);
  box-shadow:0 30px 70px rgba(230,28,88,.3), 0 14px 44px rgba(0,0,0,.55);
  will-change:transform;
}
.video-portal__inner{
  position:relative; width:100%; height:100%;
  border-radius:30px; overflow:hidden; background:var(--bg);
}
.video-portal__media{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block;
}
.portal-badge{
  position:absolute; top:14px; left:14px; z-index:2;
  display:inline-flex; align-items:center; gap:.45rem;
  background:rgba(23,8,26,.6); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);
  padding:.4rem .85rem; border-radius:999px;
  font-family:'Space Mono', monospace; font-size:.66rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
}
 .portal-dot{ width:7px; height:7px; border-radius:50%; background:var(--orange); animation:pulseDot 1.6s ease-in-out infinite; }

  .portal-mute-btn{
  position:absolute; bottom:14px; right:14px; z-index:2;
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.18);
  background:rgba(23,8,26,.6); backdrop-filter:blur(8px);
  color:var(--ink); cursor:pointer; transition:background .2s ease, border-color .2s ease, transform .2s ease;
  }
  .portal-mute-btn:hover{ background:rgba(23,8,26,.8); border-color:rgba(255,255,255,.3); transform:scale(1.06); }
  .portal-mute-btn i{ font-size:1.05rem; line-height:1; }
  .portal-mute-btn i:nth-child(2){ display:none; }
  .portal-mute-btn.is-unmuted i:nth-child(1){ display:none; }
  .portal-mute-btn.is-unmuted i:nth-child(2){ display:inline-block; color:var(--orange); }

.stamp-badge{
  position:absolute; top:-9%; left:-11%; width:112px; height:112px;
  z-index:5; animation:rotateSlow 16s linear infinite;
}
.stamp-badge svg{ width:100%; height:100%; }
.stamp-badge text{ fill:var(--ink); font-family:'Space Mono', monospace; font-size:9px; letter-spacing:2px; }
.stamp-center{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--orange);
}

.orbit-chip{
  position:absolute; border-radius:50%; overflow:hidden;
  border:3px solid var(--bg); z-index:4;
  box-shadow:0 16px 32px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.08);
  will-change:transform;
}
.orbit-chip img{ width:100%; height:100%; object-fit:cover; display:block; animation:floatChip 6s ease-in-out infinite; }
.orbit-chip--1{ width:118px; height:118px; top:-8%; right:-12%; }
.orbit-chip--2{ width:96px; height:96px; bottom:8%; left:-13%; }
.orbit-chip--2 img{ animation-delay:.7s; animation-duration:7s; }
.orbit-chip--3{ width:76px; height:76px; bottom:-9%; right:16%; }
.orbit-chip--3 img{ animation-delay:1.3s; animation-duration:5.2s; }

.hero-scrollcue{
  position:absolute; left:50%; bottom:1.8rem; transform:translateX(-50%);
  z-index:5; width:26px; height:42px;
  border:2px solid rgb(var(--contrast-rgb) / .32); border-radius:999px;
  display:flex; justify-content:center; padding-top:8px;
}
.hero-scrollcue span{ width:4px; height:8px; border-radius:999px; background:var(--orange); animation:scrollDot 1.8s ease-in-out infinite; }

@keyframes pulseDot{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }
@keyframes rotateSlow{ to{ transform:rotate(360deg); } }
@keyframes floatChip{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@keyframes scrollDot{ 0%{ transform:translateY(0); opacity:1; } 70%{ transform:translateY(14px); opacity:0; } 100%{ transform:translateY(0); opacity:0; } }

@media (max-width: 991px){
  .hero-grid{ grid-template-columns:1fr; gap:4.5rem; text-align:center; }
  .hero-copy{ order:2; }
  .hero-visual{ order:1; max-width:340px; }
  .hero-sub{ margin-inline:auto; }
  .hero-chips, .hero-cta{ justify-content:center; }
  .kinetic-row, .kinetic-row--tag{ text-align:center; }
  .kinetic-word--ghost{ left:50%; transform:translateX(calc(-50% + .05em)); }
}
@media (max-width: 575px){
  .stamp-badge{ display:none; }
  .orbit-chip--3{ display:none; }
}

/* =========================================================
   MARQUEE
========================================================= */
.marquee-strip{
  background:var(--grad);
  padding:.9rem 0;
  overflow:hidden;
  transform:skewY(-1.4deg);
  margin:-1.4rem 0 -.6rem;
  position:relative; z-index:5;
}
.marquee-track{ display:flex; white-space:nowrap; width:max-content; animation:marquee 32s linear infinite; }
.marquee-track span{
  font-family:'Archivo Black', sans-serif; font-weight:400; font-size:1rem;
  color:var(--ink); padding-right:1rem;
}
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* =========================================================
   DIVA SECTION
========================================================= */
.diva-section{ padding:8rem 0 6rem; position:relative; }
.diva-frame{
  position:relative;
  clip-path: polygon(8% 0%, 100% 0%, 100% 82%, 92% 100%, 0% 100%, 0% 14%);
  border-radius:12px;
  overflow:hidden;
  border:2px solid rgba(251,74,37,.35);
}
.diva-img{ width:100%; display:block; aspect-ratio:4/5; object-fit:cover; }
.diva-tag{
  position:absolute; bottom:1.2rem; left:1.2rem;
  background:rgba(23,8,26,.72); backdrop-filter:blur(6px);
  border:1px solid rgba(251,74,37,.45);
  color:var(--orange);
  font-family:'Space Mono', monospace; font-size:.7rem; letter-spacing:.16em;
  padding:.5rem 1rem; border-radius:999px;
}
.stat-row{ display:flex; gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.stat-card{
  background:rgb(var(--contrast-rgb) / .05);
  border:1px solid rgb(var(--contrast-rgb) / .1);
  border-radius:var(--radius-sm);
  padding:1.1rem 1.4rem;
  min-width:120px;
  transition:transform .35s var(--ease), border-color .35s;
}
.stat-card:hover{ transform:translateY(-4px); border-color:rgb(var(--contrast-rgb) / .25); }
.stat-row .stat-card:nth-child(1){ transition-delay:0s; }
.stat-row .stat-card:nth-child(2){ transition-delay:.08s; }
.stat-row .stat-card:nth-child(3){ transition-delay:.16s; }
.stat-num{ display:block; font-family:'Archivo Black',sans-serif; font-size:1.7rem; font-weight:400; color:var(--crimson); }
.stat-num-1{ color:var(--teal); }
.stat-num-2{ color:var(--crimson); }
.stat-num-3{ color:var(--violet); }
.stat-label{ font-size:.78rem; color:var(--ink-dim); text-transform:uppercase; letter-spacing:.05em; }

/* =========================================================
   EXPERIENCE / GALLERY — full-photo slideshow, 2-up
========================================================= */
.experience-section{ padding:6rem 0; background:var(--bg-soft); position:relative; }

/* ---- Gallery carousel shell ---- */
.gallery-carousel{
  margin-top:3rem; overflow:hidden; position:relative;
  border-radius:var(--radius-lg);
}
.gallery-track{
  display:flex;
  transition:transform .7s var(--ease);
}
.gallery-carousel.is-dragging .gallery-track{ transition:none; }

.gallery-slide{
  flex:0 0 100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1.4rem;
}

.gallery-item{
  margin:0; position:relative; overflow:hidden;
  border-radius:var(--radius-md);
  aspect-ratio:4 / 5;
  background:rgb(var(--contrast-rgb) / .06);
  box-shadow:0 18px 40px -22px rgb(0 0 0 / .45);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.gallery-item img,
.gallery-item video{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s var(--ease);
}
.gallery-item:hover{ transform:translateY(-6px); box-shadow:0 24px 48px -20px rgb(0 0 0 / .55); }
.gallery-item:hover img,
.gallery-item:hover video{ transform:scale(1.05); }
.gallery-item figcaption{
  position:absolute; left:1rem; bottom:1rem;
  font-family:'Space Mono', monospace; font-size:.72rem; letter-spacing:.08em;
  color:#fff5ec; background:rgba(23,8,26,.68); backdrop-filter:blur(4px);
  padding:.4rem .8rem; border-radius:999px; text-transform:uppercase;
}

.carousel-controls{
  display:flex; align-items:center; justify-content:center; gap:1.2rem;
  margin-top:2.2rem;
}
.carousel-nav{
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid rgb(var(--contrast-rgb) / .25);
  color:var(--ink); font-size:1rem; cursor:pointer;
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.carousel-nav:hover{ background:var(--crimson); border-color:var(--crimson); color:#fff5ec; transform:translateY(-2px); }
.carousel-nav:disabled{ opacity:.35; cursor:default; }
.carousel-nav:disabled:hover{ background:transparent; border-color:rgb(var(--contrast-rgb) / .25); color:var(--ink); transform:none; }
.carousel-dots{ display:flex; align-items:center; gap:.5rem; }
.carousel-dot{
  width:8px; height:8px; border-radius:50%; padding:0; border:none;
  background:rgb(var(--contrast-rgb) / .25); cursor:pointer;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.carousel-dot.is-active{ background:var(--crimson); transform:scale(1.35); }

@media (max-width: 767px){
  .gallery-slide{ grid-template-columns:1fr; gap:1rem; }
  .gallery-item{ aspect-ratio:16 / 11; }
}

/* =========================================================
   TEASER / "VIDEO"
========================================================= */
.teaser-section{ --ink:#fff5ec; --ink-dim:#d7b9cf; position:relative; height:70vh; overflow:hidden; display:flex; align-items:center; }
.teaser-bg{
  position:absolute; inset:-10% -5%;
  background-size:cover; background-position:center;
  animation:kenburns 18s ease-in-out infinite alternate;
}
@keyframes kenburns{ from{ transform:scale(1); } to{ transform:scale(1.12); } }
.teaser-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(23,8,26,.78), rgba(23,8,26,.42) 40%, rgba(23,8,26,.92));
}
.teaser-content{ position:relative; z-index:2; text-align:center; color:var(--ink); }
.teaser-content h3{ font-size:clamp(1.6rem, 3.4vw, 2.6rem); margin:1.4rem 0 .8rem; text-transform:uppercase; }
.teaser-content p{ color:var(--ink-dim); max-width:520px; margin:0 auto; }
.play-btn{
  width:78px; height:78px; border-radius:50%;
  background:var(--grad); border:none; color:var(--ink); font-size:1.8rem;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto; box-shadow:0 0 0 0 rgba(230,28,88,.5);
  animation:pulse-ring 2.4s infinite;
  cursor:pointer;
}
@keyframes pulse-ring{
  0%{ box-shadow:0 0 0 0 rgba(230,28,88,.45); }
  70%{ box-shadow:0 0 0 22px rgba(230,28,88,0); }
  100%{ box-shadow:0 0 0 0 rgba(230,28,88,0); }
}

/* =========================================================
   TICKETS / CTA
========================================================= */
.tickets-section{ padding:6rem 0; }
.ticket-card{
  position:relative;
  text-align:center;
  padding:4.5rem 2rem;
  border-radius:calc(var(--radius-lg) + 4px);
  background:linear-gradient(160deg, rgba(130,29,100,.22), rgba(230,28,88,.12) 50%, rgba(7,164,153,.14));
  border:1px solid rgb(var(--contrast-rgb) / .1);
  overflow:hidden;
}
.ticket-card__glow{
  position:absolute; inset:-40%;
  background:conic-gradient(from 0deg, var(--teal), var(--crimson), var(--violet), var(--orange), var(--teal));
  filter:blur(90px); opacity:.24; animation:spin 14s linear infinite; z-index:0;
}
.ticket-title, .ticket-sub, .btn-xl, .ticket-note, .section-kicker{ position:relative; z-index:1; }
.ticket-title{ font-size:clamp(1.8rem, 4vw, 3rem); text-transform:uppercase; margin-bottom:1rem; font-weight:800; }
.ticket-sub{ max-width:560px; margin:0 auto 2rem; color:var(--ink-dim); line-height:1.7; }
.ticket-note{ margin-top:1.4rem; color:var(--ink-dim); font-size:.9rem; }
.ticket-deco{
  position:absolute; width:130px; opacity:.92; z-index:0;
  padding:6px;
  background:var(--ink);
  border-radius:4px;
  box-shadow:0 16px 28px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.06);
}
.ticket-deco--left{ left:-2%; top:8%; transform:rotate(-8deg); }
.ticket-deco--right{ right:-2%; bottom:6%; transform:rotate(10deg); width:130px; }
@media (max-width: 767px){ .ticket-deco{ display:none; } }

/* ---------- Ticket chooser (city → day → ticket type) ---------- */
.ticket-chooser{
  /* margin-top:3.5rem; */
  padding:2.6rem;
  border-radius:var(--radius-lg);
  border:1px solid rgb(var(--contrast-rgb) / .1);
  background:rgb(var(--contrast-rgb) / .02);
}
.ticket-chooser__head{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap; 
  /* margin-bottom:2.4rem; */
}
.ticket-chooser__title{
  font-size:clamp(1.5rem, 3.2vw, 2.1rem);
  text-transform:uppercase; letter-spacing:-.01em;
  margin:.3rem 0 .5rem;
}
.ticket-chooser__sub{ color:var(--ink-dim); max-width:46ch; line-height:1.6; font-size:.95rem; margin:0; }
.selling-badge{
  display:inline-flex; align-items:center; gap:.4rem;
  border:1px solid rgba(230,28,88,.4);
  background:rgba(230,28,88,.12);
  color:var(--crimson);
  font-family:'Space Mono', monospace; font-size:.72rem; letter-spacing:.06em;
  text-transform:uppercase; font-weight:700;
  padding:.5rem .9rem; border-radius:999px; white-space:nowrap;
}

.chooser-step{ margin-bottom:2.2rem; }
.chooser-step:last-child{ margin-bottom:0; }
.chooser-step__label{
  display:flex; align-items:center; gap:.6rem;
  font-family:'Space Mono', monospace; font-size:.84rem; letter-spacing:.03em;
  text-transform:uppercase; color:var(--ink-dim); margin-bottom:1rem;
}
.chooser-step__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%;
  background:var(--grad-cta); color:#fff5ec; font-size:.68rem; font-weight:700;
}

.pill-row{ display:flex; gap:.7rem; flex-wrap:wrap; }
.pill-row--scroll{
  flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:.4rem; margin-bottom:-.4rem;
  scrollbar-width:none;
}
.pill-row--scroll::-webkit-scrollbar{ display:none; }
.select-pill{
  scroll-snap-align:start;
  flex:0 0 auto;
  display:flex; flex-direction:column; align-items:flex-start; gap:.15rem;
  border:1px solid rgb(var(--contrast-rgb) / .16);
  background:rgb(var(--contrast-rgb) / .03);
  color:var(--ink);
  border-radius:var(--radius-sm);
  padding:.65rem 1.1rem;
  font-family:'Outfit', sans-serif;
  cursor:pointer;
  transition:border-color .3s, background .3s, transform .3s var(--ease);
}
.select-pill:hover{ border-color:rgb(var(--contrast-rgb) / .35); transform:translateY(-2px); }
.select-pill .pill-main{ font-weight:700; font-size:.92rem; white-space:nowrap; }
.select-pill .pill-sub{ font-size:.72rem; color:var(--ink-dim); white-space:nowrap; }
.select-pill.is-active{
  border-color:transparent;
  background:var(--grad-cta);
  box-shadow:0 8px 20px var(--shadow-cta);
}
.select-pill.is-active .pill-main{ color:#fff5ec; }
.select-pill.is-active .pill-sub{ color:rgba(255,245,236,.85); }
.select-pill:disabled{ opacity:.4; cursor:not-allowed; }

.ticket-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem;
}
.ticket-tile{
  position:relative;
  display:flex; flex-direction:column;
  border-radius:var(--radius-md);
  border:1px solid rgb(var(--contrast-rgb) / .12);
  background:rgb(var(--contrast-rgb) / .025);
  padding:1.6rem 1.5rem 1.4rem;
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s, opacity .5s;
  animation:ticket-tile-in .45s var(--ease) backwards;
}
.ticket-tile:nth-child(1){ animation-delay:.03s; }
.ticket-tile:nth-child(2){ animation-delay:.1s; }
.ticket-tile:nth-child(3){ animation-delay:.17s; }
@keyframes ticket-tile-in{
  from{ opacity:0; transform:translateY(14px); }
  to{ opacity:1; transform:translateY(0); }
}
.ticket-tile:hover{ transform:translateY(-5px); border-color:rgb(var(--contrast-rgb) / .28); box-shadow:0 18px 40px rgba(0,0,0,.18); }
.ticket-tile--popular{ border-color:var(--orange); box-shadow:0 0 0 1px var(--orange), 0 16px 36px rgba(251,74,37,.16); }
.ticket-tile__badge{
  position:absolute; top:0; right:0;
  font-family:'Space Mono', monospace; font-size:.66rem; letter-spacing:.08em;
  text-transform:uppercase; font-weight:700; color:#fff5ec;
  background:var(--grad-cta);
  padding:.4rem .8rem;
  border-radius:0 var(--radius-md) 0 var(--radius-sm);
}
.ticket-tile__type{
  font-size:1.05rem; font-weight:800; text-transform:uppercase; letter-spacing:-.01em;
  margin:.4rem 0 1rem; line-height:1.25; min-height:2.6em;
}
.ticket-tile__price{ margin-bottom:1rem; }
.ticket-tile__price .amount{
  font-family:'Archivo Black','Outfit',sans-serif;
  font-size:2rem; color:var(--orange);
}
.ticket-tile__price .amount .currency{
  font-family:'Outfit', sans-serif;
  font-size:1.1rem;
  font-weight:700;
  vertical-align:middle;
}
.ticket-tile__price .per{ font-size:.85rem; color:var(--ink-dim); }
.ticket-tile__features{ list-style:none; margin:0 0 1.4rem; padding:0; display:flex; flex-direction:column; gap:.55rem; flex-grow:1; }
.ticket-tile__features li{ display:flex; align-items:flex-start; gap:.5rem; font-size:.86rem; color:var(--ink-dim); line-height:1.4; }
.ticket-tile__features i{ color:var(--teal); margin-top:.15rem; flex-shrink:0; }
.ticket-tile__footer{
  display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  border-top:1px solid rgb(var(--contrast-rgb) / .1);
  padding-top:1.1rem;
}
.ticket-tile__avail{ display:flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--ink-dim); }
.ticket-tile__avail i{ color:var(--crimson); }
.book-btn{
  display:inline-flex; align-items:center; gap:.4rem;
  border:none; background:none; color:var(--ink);
  font-weight:700; font-size:.92rem;
  cursor:pointer;
  transition:color .3s, gap .3s;
}
.book-btn:hover{ color:var(--orange); gap:.6rem; }

@media (max-width: 900px){
  .ticket-grid{ grid-template-columns:1fr; }
  .ticket-chooser{ padding:1.8rem 1.3rem; }
}

/* =========================================================
   PICK YOUR SCENE — flat color-block cards
========================================================= */
.scenes-section{ padding:7rem 0 6rem; position:relative; }
.scenes-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap; margin-bottom:3rem;
}
.scenes-title{
  font-size:clamp(2.4rem, 6vw, 4.6rem);
  line-height:.94; text-transform:uppercase; letter-spacing:-.02em;
}
.view-all-link{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:'Space Mono', monospace; font-size:.85rem; letter-spacing:.05em;
  text-underline-offset:4px; text-decoration:underline; color:var(--ink);
  padding-bottom:.6rem; white-space:nowrap;
  transition:color .3s, gap .3s;
}
.view-all-link:hover{ color:var(--orange); gap:.75rem; }

.scene-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.4rem;
}
.scene-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  padding:2.2rem 2rem;
  min-height:340px;
  display:flex; flex-direction:column; justify-content:space-between;
  color:#fff5ec;
  transition:transform .45s var(--ease), rotate .45s var(--ease), box-shadow .45s var(--ease), opacity .9s var(--ease);
}
.scene-card:nth-child(1){ transition-delay:0s; }
.scene-card:nth-child(2){ transition-delay:.08s; }
.scene-card:nth-child(3){ transition-delay:.16s; }
.scene-card:nth-child(odd):hover{ transform:translateY(-8px) rotate(-1deg); box-shadow:0 20px 44px rgba(0,0,0,.28); }
.scene-card:nth-child(even):hover{ transform:translateY(-8px) rotate(1deg); box-shadow:0 20px 44px rgba(0,0,0,.28); }
.scene-card--violet{ background:var(--violet); }
.scene-card--crimson{ background:var(--crimson); }
.scene-card--teal{ background:var(--teal); }
.scene-card__icon{
  position:absolute; top:-1.2rem; right:-1rem;
  font-size:9rem; color:rgba(255,255,255,.1);
  z-index:0; pointer-events:none;
}
.scene-card__cover{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  opacity:.32; mix-blend-mode:overlay; pointer-events:none;
}
.scene-card__top, .scene-card__title, .scene-card__desc, .scene-pill{ position:relative; z-index:1; }
.scene-card__top{
  display:flex; justify-content:space-between;
  font-family:'Space Mono', monospace; font-size:.72rem;
  letter-spacing:.1em; text-transform:uppercase; opacity:.85;
}
.scene-card__title{
  font-size:clamp(1.8rem, 3vw, 2.4rem);
  line-height:1.02; text-transform:uppercase;
  margin:1.6rem 0 .8rem;
}
.scene-card__desc{ font-size:.95rem; line-height:1.5; opacity:.9; margin-bottom:1.6rem; max-width:24ch; }
.scene-pill{
  display:inline-flex; align-items:center; gap:.5rem; align-self:flex-start;
  background:#fff5ec; color:#1a0c1c;
  font-family:'Outfit', 'Noto Sans', system-ui, sans-serif;
  font-weight:700; font-size:.85rem;
  padding:.6rem 1.1rem; border-radius:999px;
  transition:transform .3s var(--ease), gap .3s var(--ease);
}
.scene-pill i{ transition:transform .3s var(--ease); }
.scene-pill:hover{ transform:scale(1.04); gap:.7rem; }
.scene-pill:hover i{ transform:translate(2px,-2px); }
@media (max-width: 900px){
  .scene-grid{ grid-template-columns:1fr; }
  .scenes-title{ font-size:clamp(2.2rem, 9vw, 3rem); }
}
@media (max-width: 575px){
  .scenes-head{ flex-direction:column; align-items:flex-start; gap:.75rem; }
  .view-all-link{ padding-bottom:0; }
}

/* =========================================================
   THE SANKI WAY / MEMORIES — ghost type + parallax letter
========================================================= */
.sanki-way-section{
  --ink:#fff5ec;
  --ink-dim:#d7b9cf;
  --contrast-rgb:255 255 255;
  --bg-rgb:11 4 16;
  position:relative; overflow:clip;
  padding:8rem 0 7rem;
  background:#0b0410;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1.6px);
  background-size:24px 24px;
  color:var(--ink);
}
.giant-letter{
  position:absolute; top:-8%; right:-3%;
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(16rem, 40vw, 32rem);
  line-height:1; color:rgba(255,255,255,.04);
  z-index:0; pointer-events:none; user-select:none;
}
.memories-wrap{ position:relative; z-index:1; margin-bottom:3.5rem; }
.ghost-text{
  font-size:clamp(2.6rem, 8.5vw, 6.5rem);
  line-height:.94; text-transform:uppercase; letter-spacing:-.02em;
  color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255);
}
.memories-text{
  font-size:clamp(3rem, 10vw, 7.5rem);
  line-height:.9; text-transform:uppercase; letter-spacing:-.02em;
  color:var(--crimson); margin-top:-.4rem;
}
.reviews-carousel{ position:relative; z-index:1; overflow:hidden; }
.reviews-track{ display:flex; transition:transform .6s var(--ease); }
.reviews-slide{
  flex:0 0 100%; min-width:0;
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem;
}
.review-card{
  border:1px solid rgb(var(--contrast-rgb) / .12);
  border-radius:var(--radius-md);
  padding:1.8rem 1.6rem;
  background:rgb(var(--contrast-rgb) / .02);
  transition:border-color .35s, transform .35s var(--ease);
  display:flex; flex-direction:column;
}
.review-card:hover{ transform:translateY(-6px); border-color:rgb(var(--contrast-rgb) / .3); }
.review-card__head{ display:flex; align-items:center; gap:.8rem; margin-bottom:.9rem; }
.review-avatar{
  width:42px; height:42px; min-width:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo Black', sans-serif; font-size:1.05rem; color:var(--ink);
}
.review-avatar--orange{ background:var(--orange); }
.review-avatar--crimson{ background:var(--crimson); }
.review-avatar--teal{ background:var(--teal); }
.review-avatar--violet{ background:var(--violet); }
.review-name{ font-family:'Outfit', sans-serif; font-weight:700; font-size:.95rem; margin:0; text-transform:none; }
.review-sub{ font-size:.75rem; color:var(--ink-dim); margin:0; }
.review-stars{ color:var(--orange); font-size:.8rem; letter-spacing:.15em; margin-bottom:.7rem; }
.review-text{
  color:var(--ink-dim); font-size:.88rem; line-height:1.55; margin:0 0 1rem;
  flex-grow:1;
}
.review-date{
  font-family:'Space Mono', monospace; font-size:.7rem; letter-spacing:.05em;
  color:var(--ink-dim); text-transform:uppercase; margin:0;
  display:flex; align-items:center; gap:.4rem;
}

.scroll-down-btn{
  display:flex; align-items:center; justify-content:center;
  width:54px; height:54px; margin:3.5rem auto 0;
  border-radius:50%; border:1px solid rgb(var(--contrast-rgb) / .25);
  color:var(--ink); font-size:1.1rem;
  animation:bounce-down 2.2s ease-in-out infinite;
  transition:background .3s, border-color .3s;
  position:relative; z-index:1;
}
.scroll-down-btn:hover{ background:var(--grad); border-color:transparent; }
@keyframes bounce-down{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(9px); } }

@media (max-width: 900px){
  .reviews-slide{ grid-template-columns:repeat(2, 1fr); }
  .giant-letter{ font-size:clamp(12rem, 50vw, 20rem); top:-4%; }
}
@media (max-width: 575px){
  .reviews-slide{ grid-template-columns:1fr; }
  .sanki-way-section{ padding:5.5rem 0; }
}

/* =========================================================
   FOOTER
========================================================= */
.site-footer{
  --ink:#fff5ec;
  --ink-dim:#d7b9cf;
  --contrast-rgb:255 255 255;
  background:#0e0511; padding:5rem 0 2rem; border-top:1px solid rgba(255,255,255,.06);
  color:var(--ink);
}
.footer-tagline{ color:var(--ink-dim); font-size:.92rem; line-height:1.7; max-width:34ch; }
.footer-social{ display:flex; gap:.8rem; margin-top:1rem; }
.footer-social a{
  width:38px; height:38px; border-radius:50%;
  border:1px solid rgb(var(--contrast-rgb) / .14);
  display:flex; align-items:center; justify-content:center;
  transition:all .3s;
}
.site-footer .navbar-brand img,
.site-footer img[alt="Sanki Events logo"]{ height:58px; }
.footer-social a:hover{ background:var(--grad); color:var(--ink); border-color:transparent; }
.footer-heading{ font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; color:var(--orange); margin-bottom:1rem; font-family:'Archivo Black',sans-serif; }
.footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6rem; color:var(--ink-dim); font-size:.92rem; }
.footer-links a:hover{ color:var(--orange); }
.site-footer hr{ border-color:rgba(255,255,255,.08); margin:3rem 0 1.4rem; }
.footer-bottom{ color:var(--ink-dim); font-size:.8rem; text-align:center; margin:0; }

/* =========================================================
   RESPONSIVE TYPE TUNING
========================================================= */
@media (max-width: 767px){
  .hero{ padding-top:7rem; padding-bottom:4rem; min-height:auto; }
  .kinetic-word{ font-size:clamp(2.1rem, 11vw, 3.4rem); }
}
@media (max-width: 575px){
  .hero{ padding-top:6.5rem; }
  .diva-section, .experience-section, .tickets-section, .scenes-section{ padding-top:4.5rem; padding-bottom:4.5rem; }
  .ticket-card{ padding:3rem 1.2rem; }
  .stat-row{ gap:.7rem; }
  .stat-card{ min-width:100px; padding:.9rem 1.1rem; }
}

/* =========================================================
   BOOKING MODAL
========================================================= */
.booking-modal .modal-content{
  background:var(--bg-soft);
  color:var(--ink);
  border:1px solid rgb(var(--contrast-rgb) / .1);
  border-radius:var(--radius-lg);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
  overflow:hidden;
}
.booking-modal .modal-header{
  border-bottom:1px solid rgb(var(--contrast-rgb) / .08);
  padding:1.6rem 1.8rem 1.2rem;
  align-items:flex-start;
}
.booking-modal__kicker{
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--orange); font-family:'Archivo Black',sans-serif; margin:0 0 .35rem;
}
.booking-modal .modal-title{ font-size:1.5rem; color:var(--ink); }
.booking-modal .btn-close{ filter:invert(1) grayscale(1) brightness(1.8); opacity:.7; }
.booking-modal .btn-close:hover{ opacity:1; }
.booking-modal .modal-body{ padding:1.4rem 1.8rem; }
.booking-modal .modal-footer{
  border-top:1px solid rgb(var(--contrast-rgb) / .08);
  padding:1.2rem 1.8rem 1.6rem;
  gap:.75rem;
}

.booking-summary{
  display:flex; flex-direction:column; gap:.6rem;
  background:rgb(var(--contrast-rgb) / .04);
  border:1px solid rgb(var(--contrast-rgb) / .08);
  border-radius:var(--radius-sm);
  padding:1rem 1.1rem;
  margin-bottom:1.3rem;
}
.booking-summary__row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.88rem; }
.booking-summary__label{ display:flex; align-items:center; gap:.5rem; color:var(--ink-dim); }
.booking-summary__label i{ color:var(--orange); }
.booking-summary__value{ font-weight:600; text-align:right; color:var(--ink); }

.booking-alert{ border-radius:var(--radius-sm); padding:.75rem 1rem; font-size:.85rem; margin-bottom:1.1rem; }
.booking-alert--error{ background:rgba(230,28,88,.12); border:1px solid rgba(230,28,88,.35); color:#ffb4c9; }

.booking-field{ margin-bottom:1.1rem; }
.booking-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.booking-label{ display:block; font-size:.8rem; font-weight:600; color:var(--ink-dim); margin-bottom:.4rem; }
.booking-label .req{ color:var(--orange); }
.booking-label .opt{ font-weight:400; opacity:.7; }
.booking-input{
  width:100%; background:rgb(var(--contrast-rgb) / .05);
  border:1px solid rgb(var(--contrast-rgb) / .14);
  border-radius:var(--radius-sm);
  padding:.7rem .9rem; color:var(--ink); font-family:'Outfit',sans-serif; font-size:.95rem;
  transition:border-color .25s, background .25s;
}
.booking-input::placeholder{ color:var(--ink-dim); opacity:.6; }
.booking-input:focus{ outline:none; border-color:var(--orange); background:rgb(var(--contrast-rgb) / .08); }

.qty-stepper{ display:flex; align-items:center; gap:.75rem; }
.qty-stepper__btn{
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  border:1px solid rgb(var(--contrast-rgb) / .16);
  background:rgb(var(--contrast-rgb) / .05); color:var(--ink);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; cursor:pointer; transition:all .25s;
}
.qty-stepper__btn:hover{ background:var(--grad); border-color:transparent; }
.qty-stepper__input{
  width:64px; text-align:center; background:rgb(var(--contrast-rgb) / .05);
  border:1px solid rgb(var(--contrast-rgb) / .14); border-radius:var(--radius-sm);
  padding:.6rem; color:var(--ink); font-size:1rem; font-weight:600;
  -moz-appearance:textfield;
}
.qty-stepper__input::-webkit-outer-spin-button,
.qty-stepper__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.booking-total{
  margin-top:1.2rem; padding-top:1.1rem;
  border-top:1px dashed rgb(var(--contrast-rgb) / .16);
}
.booking-total__row{ display:flex; align-items:center; justify-content:space-between; font-size:.9rem; color:var(--ink-dim); padding:.25rem 0; }
.booking-total__row--grand{ font-size:1.15rem; font-weight:700; color:var(--ink); }
.booking-total__row--grand span:last-child{ color:var(--orange); font-family:'Archivo Black',sans-serif; }

.booking-modal .btn{ border-radius:var(--radius-sm); padding:.75rem 1.4rem; font-size:.92rem; }
.spin{ display:inline-block; animation:spin .8s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }

@media (max-width: 575px){
  .booking-field-row{ grid-template-columns:1fr; gap:0; }
  .booking-modal .modal-header,
  .booking-modal .modal-body,
  .booking-modal .modal-footer{ padding-left:1.2rem; padding-right:1.2rem; }
}

