/* ==========================================================================
   Mandli Garba Festival - Master Stylesheet
   Pixel-perfect Replica of Framer Design Aesthetics
   Customized for Authentic Gujarati Garba & Raas Festival
   ========================================================================== */

/* --- Custom Font Faces: Bw Gradual --- */
@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-thinitalic.otf') format('opentype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-lightitalic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-regularitalic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-mediumitalic.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-bolditalic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-extrabold.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-extrabolditalic.otf') format('opentype');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bw Gradual';
  src: url('assets/fonts/bw-gradual/bwgradualdemo-blackitalic.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* --- CSS Variables & Design Tokens --- */
:root {
  /* Brand Master Colors: Red (#901a20) & Cream (#fcf0c8) */
  --brand-red: #901a20;
  --brand-red-hover: #771318;
  --brand-red-dark: #5e0d12;
  --brand-cream: #fcf0c8;
  --brand-cream-light: #fefcf3;
  --brand-cream-soft: #fcf7ea;

  --bg-color: #fcf7ea;
  --grid-line-color: rgba(215, 195, 155, 0.45);
  --primary-terracotta: #901a20;
  --primary-terracotta-hover: #771318;
  --btn-explore-bg: #9e1f26;
  --btn-explore-hover: #80141a;
  --logo-gold: #f5ce79;
  --text-dark: #221a19;
  --text-muted: #786a64;
  --white: #ffffff;
  --cream-light: #fcf0c8;

  /* Primary Font Families */
  --font-gradual: 'Bw Gradual', 'Poppins', 'Anek Gujarati', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-poppins: 'Bw Gradual', 'Poppins', 'Anek Gujarati', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-heading: 'Bw Gradual', 'Poppins', 'Anek Gujarati', sans-serif;
  --font-display: 'Bw Gradual', 'Poppins', 'Anek Gujarati', sans-serif;
  --font-sans: 'Bw Gradual', 'Poppins', 'Anek Gujarati', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-serif: 'Bw Gradual', 'Poppins', 'Anek Gujarati', sans-serif;
  --font-gujarati: 'Anek Gujarati', sans-serif;
  --font-cursive: 'Yatra One', cursive, sans-serif;

  --nav-height: 60px;
  --transition-smooth: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- Reset & Global Defaults --- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  background-color: var(--bg-color);
  color: var(--text-dark);
  font-family: var(--font-gradual);
  position: relative;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  letter-spacing: -0.02em;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

a {
  text-decoration: none;
}

/* ==========================================================================
   Global Anti-Theft Image Security System
   Prevents dragging, copying, downloading, or long-pressing any photo
   ========================================================================== */
img,
picture,
svg,
canvas,
.perf-artist-img,
.about-card-img,
.workshop-card-img,
.royal-logo-img,
.sponsor-logo-img,
.banner-ribbon-instrument-art,
.footer-center-logo-img,
.nav-logo-img,
.mobile-drawer-logo {
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  -webkit-touch-callout: none !important;
  /* Disables iOS / Safari long-press context menu */
  -webkit-user-drag: none !important;
  /* Disables dragging image to desktop or new tab */
  user-drag: none !important;
}

.font-gradual {
  font-family: var(--font-gradual);
}

.font-poppins {
  font-family: var(--font-poppins);
}

/* Subtle warm vignette / paper feel for entire page */
.paper-texture {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.4) 0%, rgba(243, 237, 226, 0.3) 100%);
}

/* ==========================================================================
   Navbar / Floating Pill Header
   ========================================================================== */
.navbar-wrapper {
  position: fixed;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 92%;
  z-index: 100;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
  will-change: transform;
}

/* Hidden state: slides UP out of the viewport on scroll down */
.navbar-wrapper.nav-hidden {
  transform: translate(-50%, -150%);
  opacity: 0;
  pointer-events: none;
}

.navbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  height: var(--nav-height);
  background-color: var(--primary-terracotta);
  border-radius: 9999px;
  padding: 0 8px 0 26px;
  box-shadow: 0 8px 30px rgba(120, 42, 20, 0.22), 0 2px 8px rgba(0, 0, 0, 0.08);
  position: relative;
  /* Crisp, clearly visible white dashed stitching border */
  border: 2px dashed rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: var(--transition-smooth);
}

.navbar:hover {
  border-color: #ffffff;
}

/* Nav Brand Logo */
.nav-brand {
  text-decoration: none;
  display: flex;
  align-items: center;
  user-select: none;
  transition: transform 0.25s ease;
}

.nav-brand:hover {
  transform: scale(1.03);
}

.nav-logo-img {
  height: 48px;
  width: auto;
  max-width: 170px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.22));
  transition: transform 0.25s ease, filter 0.25s ease;
}

.nav-brand:hover .nav-logo-img {
  transform: scale(1.02);
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.35));
}

/* Nav Links */
.nav-links {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 26px;
}

.nav-link {
  text-decoration: none;
  color: var(--white);
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: 0.2px;
  transition: opacity 0.2s ease, transform 0.2s ease;
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--logo-gold);
  border-radius: 2px;
  transition: width 0.25s ease;
}

.nav-link:hover {
  opacity: 0.95;
  color: #fff9ee;
}

.nav-link:hover::after {
  width: 100%;
}

/* Nav Action & Ticket Button */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.btn-nav-ticket {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #ffffff;
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 600;
  background-color: var(--primary-terracotta);
  border: none;
  padding: 8.5px 18px;
  border-radius: 50px;
  box-shadow: 0 3px 14px rgba(150, 56, 32, 0.3);
  transition: var(--transition-smooth);
  overflow: visible;
}

.btn-nav-ticket::before {
  content: '';
  position: absolute;
  inset: 3.5px;
  border: 1.1px dashed rgba(255, 255, 255, 0.75);
  border-radius: 50px;
  pointer-events: none;
  transition: border-color 0.25s ease;
}

.btn-nav-ticket:hover {
  background-color: var(--primary-terracotta-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(150, 56, 32, 0.42);
}

.btn-nav-ticket:hover::before {
  border-color: rgba(255, 255, 255, 0.98);
}

.btn-nav-ticket:active {
  transform: translateY(0);
}

.knot-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  pointer-events: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.12));
}

.btn-nav-ticket:hover .knot-icon {
  transform: rotate(18deg) scale(1.1);
}

/* Mobile Toggle Hamburger Button */
.mobile-toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  position: relative;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 0;
  z-index: 10;
}

.mobile-toggle .bar {
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--white);
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Hamburger active state */
.mobile-toggle.active .top-bar {
  transform: translateY(3.5px) rotate(45deg);
}

.mobile-toggle.active .bottom-bar {
  transform: translateY(-3.5px) rotate(-45deg);
}

/* Mobile Menu Drawer */
.mobile-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 100%;
  background-color: var(--primary-terracotta);
  border-radius: 24px;
  border: 1.5px dashed rgba(255, 235, 215, 0.4);
  padding: 24px;
  box-shadow: 0 16px 40px rgba(120, 42, 20, 0.3);
  backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.mobile-menu.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.mobile-drawer-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px dashed rgba(255, 235, 215, 0.25);
}

.mobile-drawer-logo {
  height: auto;
  max-height: 84px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}

.mobile-nav-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
}

.mobile-link {
  text-decoration: none;
  color: var(--white);
  font-size: 17px;
  font-weight: 500;
  display: block;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: color 0.2s ease, transform 0.2s ease;
}

.mobile-link:hover {
  color: var(--logo-gold);
  transform: translateX(4px);
}

.mobile-menu-cta {
  display: flex;
  width: 100%;
}

.btn-mobile-ticket {
  width: 100%;
  justify-content: center;
}

/* ==========================================================================
   App-like Mobile Bottom Navigation Bar (Dock Pill Style)
   ========================================================================== */
.mobile-bottom-nav {
  display: none;
}

@media (max-width: 768px) {
  .mobile-bottom-nav {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: fixed;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12px;
    right: 12px;
    max-width: 440px;
    margin: 0 auto;
    height: 60px;
    background: rgba(120, 24, 28, 0.95);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-radius: 9999px;
    border: 1.5px dashed rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.38), 0 3px 12px rgba(120, 24, 28, 0.35);
    z-index: 1000;
    padding: 0 6px;
  }

  .bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.72);
    flex: 1;
    height: 100%;
    gap: 3px;
    position: relative;
    transition: color 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
  }

  .bottom-nav-item:active {
    transform: scale(0.92);
  }

  .bottom-nav-item.active {
    color: #ffd27d;
  }

  .bottom-nav-icon {
    transition: transform 0.2s ease, stroke 0.2s ease;
  }

  .bottom-nav-item.active .bottom-nav-icon {
    stroke: #ffd27d;
    transform: translateY(-1px);
  }

  .bottom-nav-label {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.1px;
    line-height: 1;
    font-family: var(--font-sans);
  }

  /* Passes Featured Center Action */
  .bottom-nav-item.bottom-nav-passes {
    color: #ffffff;
  }

  .bottom-nav-passes-badge {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e34c38 0%, #901a20 100%);
    border: 1.5px solid rgba(255, 210, 125, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
    margin-top: -12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }

  .bottom-nav-item.bottom-nav-passes:active .bottom-nav-passes-badge {
    transform: scale(0.9);
  }

  .bottom-nav-item.bottom-nav-passes.active .bottom-nav-passes-badge {
    border-color: #ffd27d;
    box-shadow: 0 0 14px rgba(255, 210, 125, 0.55);
  }

  .bottom-nav-item.bottom-nav-passes .bottom-nav-label {
    color: #ffd27d;
    font-weight: 700;
  }
}

/* ==========================================================================
   Section 1: Hero Section Layout (SQUARES ONLY APPEAR HERE)
   ========================================================================== */
.hero-section {
  flex: 1;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 135px 20px 60px;
  position: relative;
  z-index: 2;
  background-color: var(--bg-color);
  background-image: url('assets/hero/bg.png');
  background-repeat: repeat;
  background-position: center center;
  background-size: 420px 210px;
  overflow: hidden;
}

/* --- Hero Image Trail Effect (Mouse Follower) --- */
.hero-image-trail-container {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.trail-image-item {
  position: absolute;
  width: 140px;
  height: 165px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  opacity: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  animation: none !important;
}

.trail-image-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  filter: none !important;
}

/* ==========================================================================
   Hero Parallax Floating Elements (Cultural Characters & Festive Elements)
   ========================================================================== */
.hero-floating-parallax {
  display: none;
  /* Desktop uses interactive hover trail; mobile uses floating parallax */
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}

.floating-element {
  position: absolute;
  pointer-events: none;
  will-change: transform;
  transform: translate3d(var(--shift-x, 0px), calc(var(--shift-y, 0px) - var(--scroll-y, 0px)), 0);
}

.floating-anim-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  opacity: 1;
  will-change: transform;
}

.floating-img {
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  display: block;
  user-select: none;
  pointer-events: none;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  filter: none !important;
}

/* Staggered entrance */
.float-item-1 .floating-anim-wrapper {
  animation-delay: 0.15s;
}

.float-item-2 .floating-anim-wrapper {
  animation-delay: 0.25s;
}

.float-item-3 .floating-anim-wrapper {
  animation-delay: 0.35s;
}

.float-item-4 .floating-anim-wrapper {
  animation-delay: 0.45s;
}

.float-item-5 .floating-anim-wrapper {
  animation-delay: 0.55s;
}

.float-item-6 .floating-anim-wrapper {
  animation-delay: 0.65s;
}

.float-item-7 .floating-anim-wrapper {
  animation-delay: 0.75s;
}

.float-item-8 .floating-anim-wrapper {
  animation-delay: 0.85s;
}

/* Desktop Positions (Wide Viewport) */
.float-item-1 {
  top: 7%;
  left: 3%;
  width: 140px;
  height: auto;
}

.float-item-2 {
  top: 6%;
  right: 3%;
  width: 145px;
  height: auto;
}

.float-item-3 {
  top: 44%;
  left: 2%;
  width: 150px;
  height: auto;
}

.float-item-4 {
  top: 76%;
  left: 6%;
  width: 135px;
  height: auto;
}

.float-item-5 {
  top: 40%;
  right: 2%;
  width: 130px;
  height: auto;
}

.float-item-6 {
  top: 18%;
  right: 17%;
  width: 105px;
  height: auto;
}

.float-item-7 {
  top: 18%;
  left: 17%;
  width: 110px;
  height: auto;
}

.float-item-8 {
  top: 74%;
  right: 6%;
  width: 135px;
  height: auto;
}

/* Organic multi-frequency floating drift for mobile festival characters */
.float-drift-a {
  animation: floatDriftA 7s ease-in-out infinite alternate !important;
}

.float-drift-b {
  animation: floatDriftB 8.5s ease-in-out infinite alternate !important;
}

.float-drift-c {
  animation: floatDriftC 10s ease-in-out infinite alternate !important;
}

@keyframes floatDriftA {
  0% {
    transform: translate3d(0, 0px, 0);
  }

  50% {
    transform: translate3d(2px, -10px, 0);
  }

  100% {
    transform: translate3d(-2px, 7px, 0);
  }
}

@keyframes floatDriftB {
  0% {
    transform: translate3d(0, 0px, 0);
  }

  50% {
    transform: translate3d(-2px, 11px, 0);
  }

  100% {
    transform: translate3d(2px, -8px, 0);
  }
}

@keyframes floatDriftC {
  0% {
    transform: translate3d(0, 0px, 0);
  }

  50% {
    transform: translate3d(2px, -11px, 0);
  }

  100% {
    transform: translate3d(-2px, 9px, 0);
  }
}

.hero-container {
  width: 100%;
  max-width: 920px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: auto 0;
  padding-top: 28px;
  position: relative;
  z-index: 5;
}

/* Accessibility - Screen Reader Only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* --- Hero Main Title & Tagline --- */
.hero-title-wrapper {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

/* Primary Raas Rang Emblem Logo */
.hero-main-logo-wrap {
  position: relative;
  display: inline-block;
  user-select: none;
  text-align: center;
  margin-bottom: -10px;
  z-index: 2;
}

.hero-main-logo-img {
  width: 100%;
  max-width: clamp(135px, 14vw, 185px);
  height: auto;
  display: block;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
  filter: drop-shadow(0 6px 18px rgba(144, 26, 32, 0.22));
  transition: transform 0.3s ease;
}

/* Mandli Calligraphy & Cultural Artwork Title */
.hero-mandli-title-wrap {
  position: relative;
  display: inline-block;
  user-select: none;
  text-align: center;
  z-index: 1;
}

.hero-gujarati-title-h1 {
  margin: 0;
  padding: 0;
  display: inline-block;
  line-height: 1;
}

.hero-mandli-title-img {
  width: 100%;
  max-width: clamp(240px, 24vw, 340px);
  height: auto;
  display: block;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

/* Hero Tagline positioned nicely */
.hero-tagline {
  position: absolute;
  bottom: 12px;
  right: -205px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 450;
  color: #38312d;
  letter-spacing: -0.1px;
  white-space: nowrap;
}

/* --- Event Meta Card (Mandli 25 + Dates) --- */
.event-meta-card {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 0;
  padding: 6px 12px;
  background: transparent;
}

/* Mandli Event Badge */
.c30-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding-right: 18px;
  border-right: 1.5px solid #dcd7ce;
}

.c30-top-text {
  font-family: var(--font-sans);
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: #1a1817;
  white-space: nowrap;
}

.c30-number {
  font-family: var(--font-gradual);
  font-size: 28px;
  font-weight: 800;
  color: #111010;
  letter-spacing: -0.5px;
  margin: 1px 0;
}

.c30-sub {
  font-family: var(--font-sans);
  font-size: 6.5px;
  font-weight: 800;
  letter-spacing: 0.6px;
  color: #1a1817;
  white-space: nowrap;
}

/* Event Info (Dates & Venue) */
.event-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 4px;
}

.event-date {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 700;
  color: #201d1c;
  letter-spacing: 0.2px;
}

/* Event Venue Interactive Link (Purple Orchids Party Plot) */
a.event-venue,
a.event-venue:link,
a.event-venue:visited,
a.event-venue:focus,
a.event-venue:active {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 600;
  color: #201d1c !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
  cursor: pointer;
  transition: color 0.22s ease, transform 0.22s ease;
}

a.event-venue:hover,
a.event-venue:hover:visited {
  color: var(--brand-red, #901a20) !important;
  transform: translateY(-1px);
  text-decoration: none !important;
  outline: none !important;
}

a.event-venue .pin-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  color: #201d1c !important;
  fill: #201d1c !important;
  filter: none !important;
  outline: none !important;
  transition: color 0.22s ease, fill 0.22s ease, transform 0.22s ease;
}

a.event-venue:hover .pin-icon {
  color: var(--brand-red, #901a20) !important;
  fill: var(--brand-red, #901a20) !important;
  filter: none !important;
  transform: scale(1.08);
}

a.event-venue .venue-text {
  color: inherit !important;
  text-decoration: none !important;
  outline: none !important;
}

/* --- Call to Action Buttons Group --- */
.hero-cta-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 26px;
  border-radius: 9999px;
  text-decoration: none;
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: 0.2px;
  transition: var(--transition-smooth);
  cursor: pointer;
}

/* Button 1: Book Garba Passes */
.btn-book {
  position: relative;
  background-color: var(--primary-terracotta);
  color: #ffffff;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.2px;
  padding: 12px 24px;
  border-radius: 50px;
  border: none;
  box-shadow: 0 4px 16px rgba(150, 56, 32, 0.28), 0 2px 6px rgba(0, 0, 0, 0.08);
  overflow: visible;
}

.btn-book::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1.2px dashed rgba(255, 255, 255, 0.78);
  border-radius: 50px;
  pointer-events: none;
  transition: border-color 0.25s ease, opacity 0.25s ease;
}

.btn-book:hover {
  background-color: var(--primary-terracotta-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(150, 56, 32, 0.38), 0 4px 10px rgba(0, 0, 0, 0.12);
}

.btn-book:hover::before {
  border-color: rgba(255, 255, 255, 0.98);
}

.btn-book:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(150, 56, 32, 0.25);
}

.cta-knot-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  pointer-events: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.12));
}

.btn-book:hover .cta-knot-icon {
  transform: rotate(18deg) scale(1.1);
}

/* Button 2: Explore Events */
.btn-explore {
  background-color: var(--btn-explore-bg);
  color: var(--white);
  border: 1.5px solid transparent;
  box-shadow: 0 4px 18px rgba(171, 68, 43, 0.22);
}

.btn-explore:hover {
  background-color: var(--btn-explore-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(171, 68, 43, 0.32);
}

.btn-explore:active {
  transform: translateY(0);
}

.arrow-icon {
  stroke: var(--white);
  transition: transform 0.25s ease;
}

.btn-explore:hover .arrow-icon {
  transform: translateX(4px);
}

/* Free Walk-in Subtext */
.free-walkin-text {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  color: var(--text-muted);
  margin-top: 4px;
}

/* ==========================================================================
   Section 2: About Us Section (CLEAN PARCHMENT BACKGROUND)
   ========================================================================== */
.about-section {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 60px 20px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--bg-color);
}

/* --- Toran Garland Top Banner --- */
.toran-garland-container {
  width: 100%;
  max-width: 1100px;
  height: 48px;
  margin-bottom: 50px;
  overflow: hidden;
  position: relative;
}

.toran-garland-track {
  width: 100%;
  height: 100%;
  background-repeat: repeat-x;
  background-size: 130px 44px;
  background-position: center top;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='44' viewBox='0 0 130 44'%3E%3Cpath d='M0 4 Q65 34 130 4' fill='none' stroke='%23e67e22' stroke-width='2.5' stroke-dasharray='4,2'/%3E%3Ccircle cx='0' cy='4' r='4.5' fill='%23f39c12'/%3E%3Ccircle cx='18' cy='12' r='4' fill='%23e67e22'/%3E%3Ccircle cx='36' cy='18' r='4.5' fill='%23f1c40f'/%3E%3Ccircle cx='54' cy='22' r='4' fill='%23e67e22'/%3E%3Ccircle cx='65' cy='23' r='5' fill='%23d35400'/%3E%3Ccircle cx='76' cy='22' r='4' fill='%23e67e22'/%3E%3Ccircle cx='94' cy='18' r='4.5' fill='%23f1c40f'/%3E%3Ccircle cx='112' cy='12' r='4' fill='%23e67e22'/%3E%3Ccircle cx='130' cy='4' r='4.5' fill='%23f39c12'/%3E%3Cpath d='M25 15 C20 22 22 34 26 38 C30 34 32 22 27 15 Z' fill='%2327ae60'/%3E%3Cpath d='M65 24 C59 31 61 40 65 44 C69 40 71 31 65 24 Z' fill='%23229954'/%3E%3Cpath d='M105 15 C100 22 102 34 106 38 C110 34 112 22 107 15 Z' fill='%2327ae60'/%3E%3C/svg%3E");
}

.about-container {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Section Tag (ABOUT MANDLI) */
.section-tag-wrapper {
  margin-bottom: 22px;
}

.section-tag {
  display: inline-block;
  background-color: var(--primary-terracotta);
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 6px 18px;
  border-radius: 9999px;
  box-shadow: 0 2px 10px rgba(152, 56, 32, 0.2);
}

/* Main Headline */
.about-title {
  font-family: var(--font-serif);
  font-size: clamp(30px, 4.5vw, 44px);
  font-weight: 700;
  color: #1f1b1a;
  line-height: 1.22;
  margin-bottom: 18px;
  letter-spacing: -0.2px;
}

/* Subtitle Description */
.about-subtitle {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  color: #5a524c;
  max-width: 620px;
  margin-bottom: 54px;
}

/* --- 3 Cards Grid --- */
.about-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
}

.about-card {
  position: relative;
  border-radius: 20px;
  aspect-ratio: 3 / 4;
  min-height: unset;
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.35s ease;
  text-align: left;
}

.about-card:hover {
  transform: none;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
}

.card-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.card-header-group {
  display: flex;
  flex-direction: column;
}

.card-title {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.25;
}

.card-desc {
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.5;
}

.card-tagline {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.2px;
  margin-bottom: 12px;
}

/* Colors for Card Typography */
.text-light {
  color: #ffffff;
}

.text-sand {
  color: #f5dfb8;
}

.text-cream {
  color: #fcf0c8;
}

/* --- Card 1: Curated by Mandli --- */
.card-chapter30 {
  background-color: #fcf0c8;
  background-image: url('assets/bg/1.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 1px solid rgba(220, 200, 160, 0.7);
  color: #261f1c;
  position: relative;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.card-chapter30 .card-paper-bg {
  display: none;
}

.card-chapter30 .hanging-garland {
  display: none;
  /* The festive toran/garland is already beautifully illustrated inside assets/bg/1.png */
}

.card-chapter30 .c30-brand-mark {
  background: rgba(255, 250, 240, 0.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
  display: inline-flex;
}

.card-chapter30 .card-title {
  color: #1a1412;
  font-weight: 800;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.85);
}

.card-chapter30 .card-desc {
  color: #3b2f29;
  font-weight: 500;
  line-height: 1.55;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.85);
}

.c30-brand-mark {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  margin-bottom: 14px;
}

.c30-brand-top {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #111;
  text-transform: uppercase;
}

.c30-brand-num {
  font-family: var(--font-sans);
  font-size: 38px;
  font-weight: 900;
  color: #111;
  letter-spacing: -1.5px;
  margin-top: -2px;
}

.c30-brand-sub-text {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: #111;
  text-transform: uppercase;
  margin-top: 2px;
}

.hanging-garland {
  position: absolute;
  top: 0;
  right: 22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.garland-string {
  width: 2px;
  height: 14px;
  background: #d35400;
}

.marigold {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  margin: -1px 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.marigold.orange {
  background: radial-gradient(circle at 40% 40%, #ff9f43, #e67e22);
}

.marigold.yellow {
  background: radial-gradient(circle at 40% 40%, #feca57, #f1c40f);
}

.mango-leaf-tip {
  width: 16px;
  height: 24px;
  background: linear-gradient(180deg, #27ae60 0%, #1e8449 100%);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  margin-top: 1px;
}

/* --- Card 2: What Is Mandli --- */
.card-smruthi {
  background-color: #4a210b;
  background-image: url('assets/bg/2.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 1px solid rgba(255, 255, 255, 0.12);
  position: relative;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.card-smruthi .card-top-toran {
  display: none;
  /* Festive toran is already illustrated in assets/bg/2.png */
}

.card-smruthi .card-watermark-telugu {
  display: none;
  /* Artistic motifs already present in assets/bg/2.png */
}

.card-smruthi .card-title {
  color: #ffffff;
  font-weight: 800;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
}

.card-smruthi .card-tagline {
  color: #f7e0c4;
  font-weight: 600;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

.card-smruthi .card-desc {
  color: #fff9ed;
  font-weight: 500;
  line-height: 1.55;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
}

.card-top-toran {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20px;
  background-repeat: repeat-x;
  background-size: 50px 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='18' viewBox='0 0 50 18'%3E%3Ccircle cx='10' cy='4' r='3.5' fill='%23f39c12'/%3E%3Ccircle cx='25' cy='7' r='4' fill='%23e67e22'/%3E%3Ccircle cx='40' cy='4' r='3.5' fill='%23f1c40f'/%3E%3Cpath d='M25 8 C22 12 23 16 25 18 C27 16 28 12 25 8 Z' fill='%2327ae60'/%3E%3C/svg%3E");
  opacity: 0.9;
  z-index: 1;
}

.card-watermark-telugu {
  position: absolute;
  right: -10px;
  bottom: 10px;
  font-family: var(--font-gujarati);
  font-size: 130px;
  font-weight: 800;
  color: rgba(230, 185, 140, 0.12);
  line-height: 0.8;
  pointer-events: none;
  z-index: 1;
  user-select: none;
}

/* --- Card 3: The Mandli Experience --- */
.card-experience {
  background-color: #901a20;
  background-image: url('assets/bg/3.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 1px solid rgba(255, 255, 255, 0.12);
  position: relative;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.card-experience .card-kolam-bg {
  display: none;
  /* The festive motifs are already illustrated in assets/bg/3.png */
}

.card-experience .card-title {
  color: #ffffff;
  font-weight: 800;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.card-experience .card-tagline {
  color: #fde8cc;
  font-weight: 600;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

.card-experience .card-desc {
  color: #fff9ee;
  font-weight: 500;
  line-height: 1.55;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}

.card-kolam-bg {
  position: absolute;
  right: -20px;
  top: 20px;
  width: 220px;
  height: 220px;
  stroke: rgba(255, 240, 225, 0.18);
  pointer-events: none;
  z-index: 1;
}

.gujarati-inline-logo {
  font-family: var(--font-gujarati);
  font-size: 26px;
  font-weight: 700;
  color: #ffd88a;
  vertical-align: -1px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

/* ==========================================================================
   Section 3: Performances Showcase Styles (CLEAN PARCHMENT BACKGROUND)
   ========================================================================== */
.performances-section {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 60px 20px 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--bg-color);
}

/* Top introductory text */
.section-intro-text {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: #554d46;
  text-align: center;
  max-width: 720px;
  margin-bottom: 40px;
}

/* Toran Garland with Center Badge */
.toran-with-badge-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1080px;
  margin-bottom: 36px;
  position: relative;
}

.toran-garland-line {
  flex: 1;
  height: 38px;
  background-repeat: repeat-x;
  background-size: 120px 36px;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='36' viewBox='0 0 120 36'%3E%3Cpath d='M0 4 Q60 28 120 4' fill='none' stroke='%23e67e22' stroke-width='2' stroke-dasharray='4,2'/%3E%3Ccircle cx='0' cy='4' r='4' fill='%23f39c12'/%3E%3Ccircle cx='15' cy='11' r='3.5' fill='%23e67e22'/%3E%3Ccircle cx='30' cy='16' r='4' fill='%23f1c40f'/%3E%3Ccircle cx='45' cy='19' r='3.5' fill='%23e67e22'/%3E%3Ccircle cx='60' cy='20' r='4.5' fill='%23d35400'/%3E%3Ccircle cx='75' cy='19' r='3.5' fill='%23e67e22'/%3E%3Ccircle cx='90' cy='16' r='4' fill='%23f1c40f'/%3E%3Ccircle cx='105' cy='11' r='3.5' fill='%23e67e22'/%3E%3Ccircle cx='120' cy='4' r='4' fill='%23f39c12'/%3E%3Cpath d='M22 14 C18 20 20 28 23 32 C26 28 28 20 24 14 Z' fill='%2327ae60'/%3E%3Cpath d='M60 21 C55 27 57 34 60 36 C63 34 65 27 60 21 Z' fill='%23229954'/%3E%3Cpath d='M98 14 C94 20 96 28 99 32 C102 28 104 20 100 14 Z' fill='%2327ae60'/%3E%3C/svg%3E");
}

.toran-badge-center {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--primary-terracotta);
  color: var(--white);
  padding: 6px 18px;
  border-radius: 6px;
  font-family: var(--font-serif);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 2px;
  box-shadow: 0 4px 12px rgba(152, 56, 32, 0.25);
  margin: 0 14px;
  user-select: none;
}

.badge-diya {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.badge-diya-img {
  width: 17px;
  height: 17px;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
}

.performances-container {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.performances-title {
  font-family: var(--font-serif);
  font-size: clamp(32px, 4.5vw, 44px);
  font-weight: 700;
  color: #1f1b1a;
  line-height: 1.2;
  margin-bottom: 12px;
}

.performances-subtitle {
  font-family: var(--font-sans);
  font-size: 14.5px;
  color: #5d544e;
  max-width: 600px;
  margin-bottom: 50px;
}

/* --- Grand Performance Showcase Feature Card --- */
.performance-showcase-card {
  position: relative;
  width: 100%;
  max-width: 820px;
  min-height: 380px;
  background: #fdf5ea url('assets/bg/AA.png') no-repeat center center;
  background-size: 100% 100%;
  border: 1.5px solid rgba(220, 195, 155, 0.7);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.07), 0 2px 10px rgba(0, 0, 0, 0.03);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  overflow: hidden;
  text-align: left;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}

.performance-showcase-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.11), 0 4px 14px rgba(0, 0, 0, 0.05);
}

.perf-card-bg {
  display: none;
}

/* Kolam / Rangoli Background Behind Artist */
.perf-rangoli-decor {
  display: none;
}

/* Left Content Column */
.perf-card-content {
  position: relative;
  z-index: 3;
  flex: 1 1 55%;
  padding: 38px 24px 34px 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.perf-category-tag {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #70655d;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.perf-artist-title {
  font-family: var(--font-gradual);
  font-size: clamp(20px, 2.3vw, 26px);
  font-weight: 800;
  color: #2b1d19;
  letter-spacing: 0.3px;
  line-height: 1.25;
  margin-bottom: 8px;
}

.perf-artist-sub {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--primary-terracotta);
  letter-spacing: 0.3px;
  margin-bottom: 18px;
}

/* Schedule & Time Meta */
.perf-meta-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.perf-datetime {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: var(--font-serif);
  font-size: 14.5px;
  font-weight: 700;
  color: #2b1d19;
}

.perf-date-item,
.perf-time-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.meta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.meta-icon-svg {
  width: 15px;
  height: 15px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.perf-story-desc {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.5;
  color: #483f39;
  max-width: 360px;
  margin-bottom: 24px;
}

/* Bottom Small Mandli Meta */
.perf-bottom-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.perf-mini-logo {
  font-family: var(--font-gujarati);
  font-size: 22px;
  font-weight: 700;
  color: #901a20;
}

.perf-mini-venue {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #7a6e66;
  line-height: 1.25;
}

/* Right Media Column */
.perf-card-media {
  position: relative;
  z-index: 3;
  flex: 1 1 45%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 10px 20px 20px 0;
}

.perf-artist-img-wrapper {
  position: relative;
  width: 100%;
  max-width: 320px;
  height: 100%;
  min-height: 330px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.perf-artist-img {
  width: 100%;
  height: auto;
  max-height: 340px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.1));
}

/* Floating Ticket Button on Card */
.btn-perf-ticket {
  position: absolute;
  bottom: 24px;
  right: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--primary-terracotta);
  color: #ffffff;
  padding: 11px 22px;
  border-radius: 50px;
  border: none;
  font-family: var(--font-poppins);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 6px 20px rgba(150, 56, 32, 0.35);
  transition: var(--transition-smooth);
  z-index: 10;
  overflow: visible;
}

.btn-perf-ticket::before {
  content: '';
  position: absolute;
  inset: 3.5px;
  border: 1.1px dashed rgba(255, 255, 255, 0.78);
  border-radius: 50px;
  pointer-events: none;
  transition: border-color 0.3s ease;
}

.btn-perf-ticket:hover {
  background-color: var(--primary-terracotta-hover);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(150, 56, 32, 0.45);
}

.btn-perf-ticket:hover::before {
  border-color: rgba(255, 255, 255, 0.98);
}

.knot-icon-sm {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  pointer-events: none;
}

.btn-perf-ticket:hover .knot-icon-sm {
  transform: rotate(18deg) scale(1.1);
}

/* ==========================================================================
   Section 4: Workshops Section Styles
   ========================================================================== */
.workshops-section {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 60px 20px 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--bg-color);
}

.workshops-container {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.workshops-title {
  font-family: var(--font-serif);
  font-size: clamp(32px, 4.5vw, 44px);
  font-weight: 700;
  color: #1f1b1a;
  line-height: 1.2;
  margin-bottom: 12px;
}

.workshops-subtitle {
  font-family: var(--font-sans);
  font-size: 14.5px;
  color: #5d544e;
  line-height: 1.55;
  max-width: 620px;
  margin-bottom: 60px;
}

/* Ticket Partner Cards Container */
.workshops-cards-grid {
  display: flex;
  justify-content: center;
  gap: 36px;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.workshop-card {
  position: relative;
  border-radius: 28px;
  min-height: 520px;
  padding: 42px 36px 34px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
  border: none !important;
  overflow: visible;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08), 0 2px 10px rgba(0, 0, 0, 0.04);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}

.workshop-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.12), 0 4px 14px rgba(0, 0, 0, 0.06);
}

/* Inset Dotted Border Frame (Signature Design Element) */
.workshop-card::before {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: 20px;
  pointer-events: none;
  z-index: 2;
}

/* Card 1: Terracotta Workshop */
.card-workshop-terracotta {
  background-color: #901a20;
}

.card-workshop-terracotta::before {
  border: 2.5px dotted rgba(252, 240, 200, 0.85);
}

/* Card 2: Sand / Cream Workshop */
.card-workshop-sand {
  background-color: #fcf0c8;
}

.card-workshop-sand::before {
  border: 2.5px dotted #901a20;
}

/* Card Content Wrapper */
.workshop-card-inner {
  position: relative;
  z-index: 4;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Floating Masks Visual on Card 1 */
.floating-craft-masks {
  position: absolute;
  top: -24px;
  right: -24px;
  width: 220px;
  height: auto;
  z-index: 5;
  pointer-events: none;
  transition: transform 0.35s ease;
}

.workshop-card:hover .floating-craft-masks {
  transform: scale(1.04) rotate(2deg);
}

.craft-masks-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.28));
}

/* Floating Lamp Visual on Card 2 */
.floating-craft-lamp {
  position: absolute;
  top: -55px;
  right: -26px;
  width: 195px;
  height: auto;
  z-index: 5;
  pointer-events: none;
  transition: transform 0.35s ease;
}

.workshop-card:hover .floating-craft-lamp {
  transform: scale(1.03) translateY(-4px);
}

.craft-lamp-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 14px 24px rgba(0, 0, 0, 0.2));
}

/* Card Typography */
.workshop-card-title {
  font-family: var(--font-gradual);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 22px;
  max-width: 270px;
}

.workshop-card-title.text-light {
  color: #fefcf8;
}

.workshop-card-title.text-dark {
  color: #522113;
}

.workshop-card-desc {
  font-family: var(--font-sans);
  font-size: 14.5px;
  line-height: 1.5;
  margin-bottom: 30px;
  max-width: 290px;
}

.workshop-card-desc.text-cream {
  color: var(--brand-cream);
}

.text-dark-muted {
  color: #3f3630;
}

.text-dark-terracotta {
  color: var(--brand-red);
}

/* Schedule Info */
.workshop-schedule {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 32px;
  font-family: var(--font-gradual);
}

.workshop-schedule.text-cream {
  color: #fefcf8;
}

.workshop-schedule.text-dark {
  color: #38241b;
}

.sched-row {
  display: flex;
  align-items: baseline;
  gap: 18px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.2px;
}

.sched-date {
  font-weight: 700;
}

.sched-time {
  font-weight: 500;
}

/* Bottom Row & Buttons */
. -bottom-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: auto;
  gap: 16px;
  padding-top: 14px;
}

.workshop-mini-meta {
  display: flex;
  align-items: center;
  gap: 10px;
}

.workshop-logo-mini {
  font-family: var(--font-gujarati);
  font-size: 26px;
  font-weight: 700;
  color: #fcf0c8;
  line-height: 1;
}

.workshop-logo-mini.text-dark-terracotta {
  color: #901a20;
}

.workshop-venue-text {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #e8ded4;
  line-height: 1.3;
  text-transform: uppercase;
}

.workshop-venue-text.text-dark-muted {
  color: #5d4f47;
}

/* Workshop Action Buttons (Tactile Pill with 3D shadow) */
.btn-workshop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10.5px 22px;
  border-radius: 9999px;
  text-decoration: none;
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  cursor: pointer;
  white-space: nowrap;
  border: none;
}

/* Cream Button on Terracotta Card */
.btn-workshop-cream {
  background-color: #fcf0c8;
  color: #901a20;
  box-shadow: 0 4px 0 #5e0d12, 0 6px 14px rgba(0, 0, 0, 0.2);
}

.btn-workshop-cream:hover {
  background-color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #5e0d12, 0 8px 18px rgba(0, 0, 0, 0.25);
}

.btn-workshop-cream:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #5e0d12, 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Terracotta Button on Cream Card */
.btn-workshop-terracotta {
  background-color: #901a20;
  color: #ffffff;
  box-shadow: 0 4px 0 #5e0d12, 0 6px 14px rgba(0, 0, 0, 0.16);
}

.btn-workshop-terracotta:hover {
  background-color: #771318;
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #5a1c0d, 0 8px 18px rgba(0, 0, 0, 0.22);
}

.btn-workshop-terracotta:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #5a1c0d, 0 4px 8px rgba(0, 0, 0, 0.16);
}

/* ==========================================================================
   Ticket Partner Card (MePass) Styles
   ========================================================================== */
.tickets-booking-section {
  scroll-margin-top: 80px;
}

.ticket-partner-card {
  width: 100%;
  max-width: 580px;
  min-height: auto;
  padding: 38px 40px 34px;
}

.ticket-partner-card .floating-craft-masks {
  top: -20px;
  right: -16px;
  width: 140px;
  opacity: 0.9;
}

.ticket-partner-card .floating-craft-lamp {
  top: -30px;
  right: -12px;
  width: 125px;
  opacity: 0.9;
}

.partner-card-badge {
  font-family: var(--font-gradual);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 14px;
  display: inline-block;
}

.partner-logo-header {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  height: 44px;
}

.bms-logo-svg,
.bms-logo-header-img {
  height: 40px;
  width: auto;
  max-width: 190px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
}

.mepass-logo-header-img {
  height: 38px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  display: block;
}

.workshop-card-subtitle {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 28px;
}

.ticket-partner-card .workshop-bottom-row {
  margin-top: auto;
  padding-top: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.btn-partner-book {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 26px;
  font-size: 14.5px;
}

.btn-partner-book .btn-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.btn-partner-book .btn-arrow svg {
  width: 100%;
  height: 100%;
  display: block;
}

.btn-partner-book:hover .btn-arrow {
  transform: translate(2px, -2px);
}

/* --- Royal Festive Gold Framed Offline Notice Card (Matching Reference UI) --- */
.offline-ticket-notice-card {
  width: 100%;
  max-width: 980px;
  margin: 40px auto 0;
  background: linear-gradient(135deg, #fffef9 0%, #fbf3db 50%, #f7e7bd 100%);
  border: 2.5px solid #dca032;
  border-radius: 30px;
  padding: 30px 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  box-shadow:
    0 16px 40px rgba(144, 26, 32, 0.08),
    0 4px 12px rgba(0, 0, 0, 0.04),
    inset 0 0 0 2.5px #fffcf0,
    inset 0 0 0 4.5px rgba(220, 160, 50, 0.55);
  text-align: left;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.offline-ticket-notice-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 20px 48px rgba(144, 26, 32, 0.12),
    0 6px 16px rgba(0, 0, 0, 0.05),
    inset 0 0 0 2.5px #fffcf0,
    inset 0 0 0 4.5px rgba(220, 160, 50, 0.7);
}

/* Corner Festive Florets */
.card-corner-motif {
  position: absolute;
  width: 28px;
  height: 28px;
  pointer-events: none;
  z-index: 3;
}

.card-corner-motif.corner-tl {
  top: 5px;
  left: 5px;
}

.card-corner-motif.corner-tr {
  top: 5px;
  right: 5px;
}

.card-corner-motif.corner-bl {
  bottom: 5px;
  left: 5px;
}

.card-corner-motif.corner-br {
  bottom: 5px;
  right: 5px;
}

/* Left Edge Watermark Mandala */
.offline-mandala-left {
  position: absolute;
  top: 50%;
  left: -50px;
  transform: translateY(-50%);
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(220, 160, 50, 0.18) 0%, rgba(220, 160, 50, 0.05) 55%, transparent 70%);
  border: 1px dashed rgba(220, 160, 50, 0.25);
  pointer-events: none;
  z-index: 1;
}

/* Left Column Content */
.offline-notice-left {
  position: relative;
  z-index: 2;
  flex: 1.2;
  min-width: 290px;
}

/* Top-Left Golden Pill Badge */
.offline-notice-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbf4df 100%);
  border: 1.5px solid #dca032;
  border-radius: 9999px;
  font-family: var(--font-gradual);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: #8b151b;
  text-transform: uppercase;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(220, 160, 50, 0.2), inset 0 1px 2px #ffffff;
}

.offline-notice-pill .floret-diamond {
  color: #901a20;
  font-size: 12px;
  line-height: 1;
}

.offline-notice-title {
  font-family: var(--font-gradual);
  font-size: 21px;
  font-weight: 800;
  color: #2b1711;
  margin-bottom: 8px;
  line-height: 1.3;
  letter-spacing: 0.2px;
}

.offline-notice-desc {
  font-family: var(--font-sans);
  font-size: 13.5px;
  color: #55443b;
  line-height: 1.55;
  margin: 0 0 16px 0;
  max-width: 520px;
}

.offline-notice-desc strong {
  color: #901a20;
  font-weight: 700;
}

/* Golden Divider Bar */
.offline-gold-divider {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 320px;
  margin-top: 4px;
}

.gold-divider-line {
  flex: 1;
  height: 1.5px;
  background: linear-gradient(90deg, #dca032 0%, rgba(220, 160, 50, 0.3) 100%);
}

.offline-gold-divider .gold-divider-line:first-child {
  background: linear-gradient(270deg, #dca032 0%, rgba(220, 160, 50, 0.3) 100%);
}

.gold-divider-diamond {
  color: #901a20;
  font-size: 13px;
  line-height: 1;
}

/* Right Column: 3 Golden Pill Capsules */
.offline-notice-badges-list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 290px;
}

.offline-info-item {
  display: flex;
  align-items: center;
  background: linear-gradient(180deg, #ffffff 0%, #fffcf5 60%, #faecd0 100%);
  border: 1.5px solid #dca032;
  border-radius: 9999px;
  padding: 7px 18px 7px 8px;
  box-shadow:
    0 3px 10px rgba(0, 0, 0, 0.04),
    inset 0 1px 2px #ffffff;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.offline-info-item:hover {
  transform: translateX(4px);
  border-color: #901a20;
  box-shadow: 0 4px 14px rgba(144, 26, 32, 0.12), inset 0 1px 2px #ffffff;
}

.offline-item-icon-ring {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid #dca032;
  background: #fffdf8;
  flex-shrink: 0;
  box-shadow: inset 0 1px 2px rgba(220, 160, 50, 0.2);
}

.offline-item-divider {
  display: block;
  width: 1.5px;
  height: 24px;
  background: linear-gradient(180deg, rgba(220, 160, 50, 0.3) 0%, #dca032 50%, rgba(220, 160, 50, 0.3) 100%);
  margin: 0 12px 0 10px;
  flex-shrink: 0;
}

.offline-item-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.offline-item-text strong {
  font-family: var(--font-gradual);
  font-size: 13.5px;
  font-weight: 800;
  color: #2b1711;
  letter-spacing: 0.2px;
}

.offline-item-text span {
  font-family: var(--font-sans);
  font-size: 12px;
  color: #5a463d;
}

/* Decorative Arch Mandala Motif */
.offline-card-mandala {
  position: absolute;
  bottom: 0;
  left: 52%;
  transform: translateX(-50%);
  width: 290px;
  height: auto;
  max-width: 36%;
  pointer-events: none;
  z-index: 1;
  opacity: 0.32;
  user-select: none;
  -webkit-user-drag: none;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

.offline-ticket-notice-card:hover .offline-card-mandala {
  transform: translateX(-50%) translateY(-2px) scale(1.03);
  opacity: 0.42;
}

.sub-en-hint {
  display: block;
  font-size: 13px;
  color: #7a6e67;
  margin-top: 4px;
  font-style: italic;
}

/* ==========================================================================
   Section 5: Sponsorship & Partners Styles (Pixel-Perfect to Client Mockup)
   ========================================================================== */
.sponsorship-section {
  position: relative;
  width: 100%;
  padding: 60px 20px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--bg-color);
  z-index: 2;
  overflow: hidden;
}

.sponsorship-section .toran-with-badge-container {
  margin: 0 auto 36px;
  width: 100%;
  max-width: 1080px;
}

/* Ornate Chamfered Badge */
.ornate-sponsor-badge {
  background: linear-gradient(135deg, #7c151a 0%, #600d11 100%);
  border: 1.5px solid #d4af37;
  box-shadow: 0 4px 18px rgba(124, 21, 26, 0.35), inset 0 0 10px rgba(212, 175, 55, 0.2);
  color: #ffffff;
  padding: 8px 24px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-gradual), var(--font-poppins);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.badge-diamond {
  color: #d4af37;
  font-size: 14px;
  line-height: 1;
}

.sponsorship-frame-wrapper {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.09);
  border: 1.5px solid rgba(144, 26, 32, 0.15);
}

.sponsorship-inner-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ==========================================================================
   BLOCK 1: TOP ROYAL MAROON CARD (Organized By • Title Sponsor • Co-Organized)
   ========================================================================== */
.sponsorship-royal-top-card {
  background: #7d161c url('assets/bg/S1.png') no-repeat center center;
  background-size: 100% 100%;
  padding: 58px 36px 52px;
  position: relative;
  overflow: hidden;
  border-bottom: 2px solid rgba(212, 175, 55, 0.3);
}

/* Traditional Mandala Watermarks in Corners */
.royal-card-mandala {
  position: absolute;
  width: 150px;
  height: 150px;
  pointer-events: none;
  opacity: 0.18;
  background-repeat: no-repeat;
  background-size: contain;
}

.royal-mandala-tl {
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23f6cbab' stroke-width='1.2'%3E%3Cpath d='M0,0 M0,20 C10,20 20,10 20,0 M0,40 C22,40 40,22 40,0 M0,60 C33,60 60,33 60,0 M0,80 C44,80 80,44 80,0 M0,100 C55,100 100,55 100,0'/%3E%3Ccircle cx='0' cy='0' r='30' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='50' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='70' stroke-dasharray='2 3'/%3E%3C/svg%3E");
}

.royal-mandala-tr {
  top: 0;
  right: 0;
  transform: scaleX(-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23f6cbab' stroke-width='1.2'%3E%3Cpath d='M0,0 M0,20 C10,20 20,10 20,0 M0,40 C22,40 40,22 40,0 M0,60 C33,60 60,33 60,0 M0,80 C44,80 80,44 80,0 M0,100 C55,100 100,55 100,0'/%3E%3Ccircle cx='0' cy='0' r='30' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='50' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='70' stroke-dasharray='2 3'/%3E%3C/svg%3E");
}

.royal-mandala-bl {
  bottom: 0;
  left: 0;
  transform: scaleY(-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23f6cbab' stroke-width='1.2'%3E%3Cpath d='M0,0 M0,20 C10,20 20,10 20,0 M0,40 C22,40 40,22 40,0 M0,60 C33,60 60,33 60,0 M0,80 C44,80 80,44 80,0 M0,100 C55,100 100,55 100,0'/%3E%3Ccircle cx='0' cy='0' r='30' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='50' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='70' stroke-dasharray='2 3'/%3E%3C/svg%3E");
}

.royal-mandala-br {
  bottom: 0;
  right: 0;
  transform: scale(-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23f6cbab' stroke-width='1.2'%3E%3Cpath d='M0,0 M0,20 C10,20 20,10 20,0 M0,40 C22,40 40,22 40,0 M0,60 C33,60 60,33 60,0 M0,80 C44,80 80,44 80,0 M0,100 C55,100 100,55 100,0'/%3E%3Ccircle cx='0' cy='0' r='30' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='50' stroke-dasharray='2 3'/%3E%3Ccircle cx='0' cy='0' r='70' stroke-dasharray='2 3'/%3E%3C/svg%3E");
}

/* 3-Column Trio Layout */
.royal-trio-grid {
  display: grid;
  grid-template-columns: 1fr 1.65fr 1fr;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 2;
  width: 100%;
}

.royal-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.royal-col-eyebrow {
  display: inline-block;
  font-family: var(--font-gradual), var(--font-poppins);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: #f7ceb2;
  margin-bottom: 14px;
}

/* Left: Organized By */
.royal-left .royal-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
}

.royal-logo-main {
  max-width: 220px;
  max-height: 98px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));
  transition: transform 0.3s ease;
}

.royal-logo-main:hover {
  transform: scale(1.05);
}

/* Center: Title Sponsor (To Be Announce Soon) */
.royal-center {
  padding: 0 28px;
  border-left: 1px solid rgba(247, 206, 178, 0.3);
  border-right: 1px solid rgba(247, 206, 178, 0.3);
}

.royal-title-sponsor-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.royal-title-tba {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: var(--font-serif);
  font-size: clamp(24px, 2.7vw, 38px);
  font-weight: 600;
  color: #ffffff;
  letter-spacing: -0.3px;
  line-height: 1.15;
  white-space: nowrap;
  margin: 0;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.tba-diamond {
  color: #d4af37;
  font-size: 14px;
  line-height: 1;
}

.royal-flourish-divider {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
}

/* Right: Managed By (Shubharambh Entertainment) */
.royal-right .royal-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
}

.royal-logo-managed {
  max-width: 280px;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.35));
  transition: transform 0.3s ease;
}

.royal-logo-managed:hover {
  transform: scale(1.05);
}

/* ==========================================================================
   BLOCK 2: MIDDLE CREAM SECTION (CO-POWERED BY & SUPPORT PARTNERS)
   ========================================================================== */
.sponsorship-cream-block {
  background-color: #fbf7ee;
  padding: 52px 20px 60px;
  position: relative;
  overflow: hidden;
  border-bottom: 2px solid rgba(144, 26, 32, 0.12);
}

.cream-mandala-side {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 82%;
  max-height: 540px;
  width: auto;
  pointer-events: none;
  z-index: 1;
  opacity: 0.6;
  filter: drop-shadow(0 2px 8px rgba(220, 160, 60, 0.15));
  transition: opacity 0.3s ease;
}

.cream-mandala-left {
  left: 0;
}

.cream-mandala-right {
  right: 0;
}

/* Mobile Top & Bottom Mandalas (ST.png & SB.png) - Hidden on Desktop */
.cream-mandala-mobile {
  display: none;
}

.sponsorship-cream-block .sponsorship-inner-container {
  position: relative;
  z-index: 2;
}

.tier-heading-flourish {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 26px;
}

.tier-heading-flourish .flourish-line {
  flex: 1;
  max-width: 140px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #b8860b 50%, transparent);
}

.tier-gold-heading {
  font-family: var(--font-gradual), var(--font-poppins);
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 2.8px;
  color: #8c242a;
  text-transform: uppercase;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.flourish-star {
  color: #b8860b;
  font-size: 12px;
}

.tier-support-wrapper {
  margin-top: 48px;
}

/* 3 Cards Grid (Co-Powered By) */
.sponsor-cards-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* 4 Cards Grid (Support Partners) */
.sponsor-cards-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

/* Ornate Cream Card with Traditional Gold Filigree Corners */
.sponsor-ornate-card {
  background-color: #ffffff;
  border: 1.5px solid #dccbb2;
  border-radius: 12px;
  padding: 22px 18px 20px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 144px;
  text-align: center;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02);
}

.sponsor-ornate-card:hover {
  border-color: #b8860b;
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(144, 26, 32, 0.1);
}

/* Corner Filigree Ornaments */
.card-filigree {
  position: absolute;
  width: 22px;
  height: 22px;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  opacity: 0.8;
}

.filigree-tl {
  top: 5px;
  left: 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cca872' stroke-width='1.5'%3E%3Cpath d='M3,20 C3,10 10,3 20,3'/%3E%3Cpath d='M6,16 C6,10 10,6 16,6' stroke-dasharray='1 2'/%3E%3Ccircle cx='3' cy='20' r='1.5' fill='%23cca872'/%3E%3Ccircle cx='20' cy='3' r='1.5' fill='%23cca872'/%3E%3C/svg%3E");
}

.filigree-tr {
  top: 5px;
  right: 5px;
  transform: scaleX(-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cca872' stroke-width='1.5'%3E%3Cpath d='M3,20 C3,10 10,3 20,3'/%3E%3Cpath d='M6,16 C6,10 10,6 16,6' stroke-dasharray='1 2'/%3E%3Ccircle cx='3' cy='20' r='1.5' fill='%23cca872'/%3E%3Ccircle cx='20' cy='3' r='1.5' fill='%23cca872'/%3E%3C/svg%3E");
}

.filigree-bl {
  bottom: 5px;
  left: 5px;
  transform: scaleY(-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cca872' stroke-width='1.5'%3E%3Cpath d='M3,20 C3,10 10,3 20,3'/%3E%3Cpath d='M6,16 C6,10 10,6 16,6' stroke-dasharray='1 2'/%3E%3Ccircle cx='3' cy='20' r='1.5' fill='%23cca872'/%3E%3Ccircle cx='20' cy='3' r='1.5' fill='%23cca872'/%3E%3C/svg%3E");
}

.filigree-br {
  bottom: 5px;
  right: 5px;
  transform: scale(-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cca872' stroke-width='1.5'%3E%3Cpath d='M3,20 C3,10 10,3 20,3'/%3E%3Cpath d='M6,16 C6,10 10,6 16,6' stroke-dasharray='1 2'/%3E%3Ccircle cx='3' cy='20' r='1.5' fill='%23cca872'/%3E%3Ccircle cx='20' cy='3' r='1.5' fill='%23cca872'/%3E%3C/svg%3E");
}

/* Card Content Details */
.sponsor-card-role {
  font-family: var(--font-poppins);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #8c242a;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.role-diamond {
  color: #8c242a;
  font-size: 11px;
  line-height: 1;
}

.sponsor-card-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  width: 100%;
}

.sponsor-tba-red {
  font-family: var(--font-serif);
  font-size: 25px;
  font-weight: 800;
  color: #8c1e23;
  letter-spacing: -0.4px;
}

.sponsor-img-wrap {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
  width: 100%;
}

.sponsor-logo-img {
  max-height: 46px;
  max-width: 185px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.25s ease;
}

.sponsor-ornate-card:hover .sponsor-logo-img {
  transform: scale(1.05);
}

.sponsor-card-sub {
  font-family: var(--font-poppins);
  font-size: 12.5px;
  font-weight: 600;
  color: #2b2b2b;
  line-height: 1.35;
}

/* ==========================================================================
   BLOCK 3: BOTTOM ROYAL BANNER (BECOME OUR SPONSOR With S3.png Master Artwork)
   ========================================================================== */
.sponsorship-bottom-banner {
  background: linear-gradient(135deg, #7c151a 0%, #600d11 100%);
  padding: 60px 36px 95px;
  position: relative;
  overflow: hidden;
}

/* Master Festive Ribbon with Dandiya & Dhol (S3.png Desktop / MS3.png Mobile) */
.banner-ribbon-picture {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1280px;
  pointer-events: none;
  z-index: 1;
  display: block;
  line-height: 0;
}

.banner-ribbon-instrument-art {
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
  filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35));
}

.banner-content-relative {
  position: relative;
  z-index: 2;
  max-width: 1140px;
  margin: 0 auto;
}

.banner-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 0;
  flex-wrap: wrap;
}

.banner-top-left {
  flex: 1 1 340px;
  min-width: 280px;
}

.royal-eyebrow-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-gradual), var(--font-poppins);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #f7ceb2;
  margin-bottom: 12px;
}

.royal-eyebrow-tag .eyebrow-sparkle {
  color: #dfb55b;
  font-size: 11px;
  line-height: 1;
}

.banner-heading {
  font-family: var(--font-serif);
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.08;
  letter-spacing: -0.8px;
  margin: 0;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.banner-top-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  flex: 1.25 1 480px;
  min-width: 320px;
  max-width: 580px;
}

.banner-desc {
  font-family: var(--font-poppins);
  font-size: 13.5px;
  color: #f4ded2;
  line-height: 1.55;
  margin: 0;
}

.btn-banner-deck {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #fbf0cb;
  color: #781318;
  padding: 11px 26px;
  border-radius: 9999px;
  text-decoration: none;
  font-family: var(--font-poppins);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
}

.btn-banner-deck:hover {
  background-color: #ffffff;
  color: #550c10;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25);
}

.deck-arrow {
  font-size: 15px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.btn-banner-deck:hover .deck-arrow {
  transform: translateX(3px);
}

/* Dashed Box Containing Inline Form */
.banner-dashed-form-box {
  width: 100%;
  background: rgba(0, 0, 0, 0.16);
  border: 1.5px dashed rgba(251, 240, 203, 0.45);
  border-radius: 20px;
  padding: 16px 18px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.banner-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: center;
}

.form-pill-wrap {
  width: 100%;
}

.banner-pill-input {
  width: 100%;
  padding: 11px 18px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: #ffffff;
  font-family: var(--font-poppins);
  font-size: 12.5px;
  color: #222222;
  font-weight: 500;
  outline: none;
  transition: var(--transition-smooth);
}

.banner-pill-input::placeholder {
  color: #666666;
  opacity: 0.9;
}

.banner-pill-input:focus {
  border-color: #fbf0cb;
  box-shadow: 0 0 0 3px rgba(251, 240, 203, 0.4);
}

.select-pill-container {
  position: relative;
  width: 100%;
}

.banner-pill-select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  padding-right: 32px;
}

.select-chevron-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 13px;
  color: #444444;
  font-weight: 700;
}

.btn-banner-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: linear-gradient(135deg, #fcedbf 0%, #dfb55b 50%, #c58f2d 100%);
  color: #550c10;
  border: 1.5px solid #fff2cc;
  padding: 12px 22px;
  border-radius: 9999px;
  font-family: var(--font-poppins);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.8px;
  cursor: pointer;
  white-space: nowrap;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25), 0 0 14px rgba(223, 181, 91, 0.25);
}

.btn-banner-submit:hover {
  background: linear-gradient(135deg, #ffffff 0%, #fae29c 50%, #dfb55b 100%);
  color: #3f0508;
  border-color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35), 0 0 20px rgba(223, 181, 91, 0.4);
}

.form-status-msg {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  font-family: var(--font-poppins);
  font-size: 13px;
  line-height: 1.5;
}

.form-status-msg.success {
  background-color: #eaf6ec;
  border: 1px solid #9ad7a6;
  color: #1a5e2a;
}

/* ==========================================================================
   Section 6: FAQs & Festival Guidelines Styles
   ========================================================================== */
.section-heading-center {
  text-align: center;
  margin-bottom: 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.faq-main-title {
  font-family: var(--font-gradual);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 800;
  color: #2b1b17;
  letter-spacing: -0.5px;
  line-height: 1.15;
  margin-top: 10px;
  margin-bottom: 12px;
}

.faq-main-subtitle {
  font-family: var(--font-poppins);
  font-size: 15px;
  line-height: 1.65;
  color: #69564c;
  max-width: 680px;
  margin: 0 auto;
}

.btn-pill-terracotta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background-color: var(--brand-red);
  color: #ffffff;
  padding: 13px 28px;
  border-radius: 9999px;
  text-decoration: none;
  font-family: var(--font-poppins);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: var(--transition-smooth);
  box-shadow: 0 6px 18px rgba(144, 26, 32, 0.28);
  white-space: nowrap;
  border: 1px solid transparent;
}

.btn-pill-terracotta:hover {
  background-color: var(--brand-red-hover);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(144, 26, 32, 0.38);
}

.btn-pill-terracotta .btn-arrow {
  font-size: 15px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.btn-pill-terracotta:hover .btn-arrow {
  transform: translate(2px, -2px);
}

.faqs-section {
  position: relative;
  width: 100%;
  padding: 70px 20px 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--bg-color);
  z-index: 2;
  overflow: hidden;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28);
}

.faqs-section .toran-with-badge-container {
  margin: 0 auto 36px;
  width: 100%;
  max-width: 1080px;
}

.faqs-container {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}

/* Accordion Container */
.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 36px;
}

.faq-item {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(144, 26, 32, 0.16);
  border-radius: 18px;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 16px rgba(144, 26, 32, 0.05);
  cursor: pointer;
}

.faq-item:hover {
  border-color: rgba(144, 26, 32, 0.36);
  box-shadow: 0 8px 24px rgba(144, 26, 32, 0.09);
  transform: translateY(-2px);
}

.faq-item.active {
  background: #ffffff;
  border-color: var(--brand-red);
  box-shadow: 0 12px 32px rgba(144, 26, 32, 0.14);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 28px;
  gap: 16px;
  user-select: none;
}

.faq-question-text {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}

.faq-q-title-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
}

.faq-q-num {
  font-family: var(--font-gradual);
  font-size: 15px;
  font-weight: 700;
  color: var(--brand-red);
  opacity: 0.85;
  min-width: 24px;
}

.faq-q-title {
  font-family: var(--font-gradual);
  font-size: 17.5px;
  font-weight: 700;
  color: #2b1b17;
  line-height: 1.35;
  margin: 0;
}

.faq-q-gujarati {
  font-family: var(--font-gujarati);
  font-size: 13.5px;
  color: var(--brand-red-hover);
  font-weight: 500;
  padding-left: 38px;
}

.faq-icon-bubble {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--brand-cream);
  color: var(--brand-red);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  flex-shrink: 0;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 6px rgba(144, 26, 32, 0.1);
}

.faq-item.active .faq-icon-bubble {
  background-color: var(--brand-red);
  color: var(--brand-cream);
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
  opacity: 0;
}

.faq-item.active .faq-answer {
  max-height: 600px;
  opacity: 1;
}

.faq-answer-inner {
  padding: 0 28px 24px 66px;
  font-family: var(--font-poppins);
  font-size: 14.5px;
  color: #524039;
  line-height: 1.65;
}

.faq-bullets-list {
  margin: 12px 0;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.faq-bullets-list li {
  line-height: 1.55;
}

.faq-alert-note {
  background-color: rgba(144, 26, 32, 0.08);
  border-left: 3px solid var(--brand-red);
  padding: 10px 14px;
  border-radius: 0 8px 8px 0;
  font-size: 13px;
  color: var(--brand-red-dark);
  margin-top: 14px;
  font-weight: 500;
}

/* FAQ Helpdesk Banner */
.faq-helpdesk-banner {
  margin-top: 50px;
  background: linear-gradient(135deg, var(--brand-red) 0%, #681115 100%);
  border-radius: 24px;
  padding: 38px 42px;
  color: #ffffff;
  box-shadow: 0 16px 40px rgba(94, 13, 18, 0.25);
  border: 1px solid rgba(252, 240, 200, 0.2);
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.faq-helpdesk-banner:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px rgba(94, 13, 18, 0.35);
}

.helpdesk-banner-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

/* Decorative Arch Mandala in Helpdesk Banner (matching Offline Box) */
.helpdesk-card-mandala {
  position: absolute;
  bottom: 0;
  left: 58%;
  transform: translateX(-50%);
  width: 290px;
  height: auto;
  max-width: 36%;
  pointer-events: none;
  z-index: 1;
  opacity: 0.5;
  user-select: none;
  -webkit-user-drag: none;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

.faq-helpdesk-banner:hover .helpdesk-card-mandala {
  transform: translateX(-50%) translateY(-2px) scale(1.03);
  opacity: 0.65;
}

.helpdesk-title {
  font-family: var(--font-gradual);
  font-size: 22px;
  font-weight: 800;
  color: var(--brand-cream);
  margin: 10px 0 6px;
  line-height: 1.3;
}

.helpdesk-desc {
  font-family: var(--font-poppins);
  font-size: 13.5px;
  color: rgba(252, 240, 200, 0.9);
  line-height: 1.55;
  max-width: 520px;
}

.helpdesk-action-buttons {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  flex-shrink: 0;
  min-width: 215px;
}

/* Pill Button Styles (FAQ Helpdesk & General) */
.btn-pill-cream {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #fcf0c8;
  color: #901a20 !important;
  padding: 13px 26px;
  border-radius: 9999px;
  text-decoration: none !important;
  font-family: var(--font-poppins);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.6px;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
}

.btn-pill-cream:hover {
  background-color: #ffffff;
  color: #771318 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25);
}

.btn-pill-cream svg {
  stroke: currentColor;
  flex-shrink: 0;
}

.btn-pill-cream .btn-arrow {
  font-size: 15px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.btn-pill-cream:hover .btn-arrow {
  transform: translate(2px, -2px);
}

.btn-pill-terracotta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #6a1317;
  color: #fcf0c8 !important;
  border: 1.5px solid rgba(252, 240, 200, 0.45);
  padding: 13px 26px;
  border-radius: 9999px;
  text-decoration: none !important;
  font-family: var(--font-poppins);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
}

.btn-pill-terracotta:hover {
  background-color: #82171c;
  color: #ffffff !important;
  border-color: #fcf0c8;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25);
}

.btn-pill-terracotta svg {
  stroke: currentColor;
  flex-shrink: 0;
}

.helpdesk-action-buttons .btn-pill-terracotta,
.helpdesk-action-buttons .btn-pill-cream {
  justify-content: center;
  width: 100%;
}

/* ==========================================================================
   Master Site Footer Styles (Minimalist & Ultra-Clean Red Edition)
   ========================================================================== */
.site-footer {
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #681115;
  color: #f7ebe1;
  padding: 38px 24px 28px;
  z-index: 1;
  border-top: 2px solid rgba(252, 240, 200, 0.45);
  box-shadow: inset 0 8px 28px rgba(0, 0, 0, 0.45);
  margin-top: auto;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
}

/* Protected Background Artwork Layer (assets/bg/footer.png) */
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('assets/bg/footer.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  z-index: 0;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
  -webkit-user-drag: none !important;
}

/* Transparent Anti-Theft Security Shield */
.site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  z-index: 1;
  pointer-events: auto;
}

.footer-minimal-container {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Center Brand Logo & Event Pill */
.footer-brand-center {
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  position: relative;
  z-index: 2;
}

.footer-center-logo-link {
  display: inline-block;
  text-decoration: none;
  transition: transform 0.25s ease;
  position: relative;
  z-index: 2;
}

.footer-center-logo-link:hover {
  transform: scale(1.03);
}

.footer-center-logo-img {
  height: 180px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.6));
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

/* --- Clean Luxury Typography for Footer Event Details (No Box / No Pill) --- */
.footer-event-luxury-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--font-gradual), var(--font-poppins);
  line-height: 1.3;
  flex-wrap: wrap;
  padding: 6px 0 2px;
  margin-top: 4px;
  transition: all 0.3s ease;
}

.footer-luxury-dates {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #fcf0c8;
  letter-spacing: 0.8px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  transition: color 0.25s ease, transform 0.25s ease;
}

.footer-luxury-dates .luxury-date-icon {
  width: 15px;
  height: 15px;
  color: #f5ce79;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.footer-luxury-divider {
  width: 1.5px;
  height: 15px;
  background: linear-gradient(180deg, transparent, rgba(245, 206, 121, 0.65) 50%, transparent);
  border-radius: 1px;
}

.footer-luxury-venue {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: #f7dfce;
  letter-spacing: 0.5px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  transition: color 0.25s ease, transform 0.25s ease;
  text-decoration: none;
  cursor: pointer;
}

.footer-luxury-diya,
.footer-luxury-location-icon {
  width: 15px;
  height: 15px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(86%) sepia(34%) saturate(769%) hue-rotate(341deg) brightness(102%) contrast(96%) drop-shadow(0 0 5px rgba(245, 206, 121, 0.65));
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.footer-event-luxury-info:hover .luxury-date-icon,
.footer-event-luxury-info:hover .footer-luxury-diya,
.footer-event-luxury-info:hover .footer-luxury-location-icon {
  transform: scale(1.15);
}

.footer-event-luxury-info:hover .footer-luxury-dates {
  color: #ffffff;
}

.footer-event-luxury-info:hover .footer-luxury-venue {
  color: #fcf0c8;
}

.footer-luxury-venue:hover {
  color: #ffffff !important;
}

.footer-luxury-venue:hover .footer-luxury-location-icon {
  transform: scale(1.15);
  filter: brightness(0) saturate(100%) invert(95%) drop-shadow(0 0 8px rgba(255, 255, 255, 0.8));
}


/* Horizontal Nav Links */
.footer-nav-center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 26px;
}

.footer-nav-center a {
  font-family: var(--font-poppins);
  font-size: 14px;
  font-weight: 500;
  color: #edd7cb;
  text-decoration: none;
  transition: all 0.2s ease;
}

.footer-nav-center a:hover {
  color: #ffffff;
  text-shadow: 0 0 12px rgba(252, 240, 200, 0.65);
}

.footer-nav-center .dot-sep {
  color: rgba(252, 240, 200, 0.5);
  font-size: 11px;
}

/* Centered Social Buttons */
.footer-social-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 32px;
}

.social-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(252, 240, 200, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff4ea;
  text-decoration: none;
  transition: all 0.25s ease;
}

.social-icon-btn:hover {
  background: var(--brand-red);
  color: #ffffff;
  border-color: var(--brand-cream);
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}

/* Footer Bottom Bar - Positioned Above Divider Line & Centered */
.footer-bottom-bar {
  width: 100%;
  max-width: 840px;
  border-top: none;
  border-bottom: 1px solid rgba(252, 240, 200, 0.22);
  margin-top: 6px;
  margin-bottom: 22px;
  padding-top: 4px;
  padding-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 22px;
  font-family: var(--font-poppins);
  font-size: 13px;
  color: rgba(252, 240, 200, 0.85);
  letter-spacing: 0.3px;
  position: relative;
  z-index: 5;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.footer-bottom-divider {
  color: rgba(252, 240, 200, 0.45);
  font-size: 13px;
  user-select: none;
  display: inline-block;
}

.footer-copy {
  margin: 0;
  color: rgba(252, 240, 200, 0.82);
  font-size: 13px;
  font-weight: 400;
}

.footer-powered-block {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(252, 240, 200, 0.82);
}

.footer-powered-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.footer-powered-link:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}

.footer-powered-logo {
  height: 22px;
  width: auto;
  max-width: 95px;
  object-fit: contain;
  filter: brightness(0) invert(0.95);
  vertical-align: middle;
  transition: filter 0.2s ease;
}

.footer-powered-link:hover .footer-powered-logo {
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(240, 195, 112, 0.5));
}

/* Footer Image Anti-Theft Lock */
.site-footer img {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.site-footer a {
  position: relative;
  z-index: 2;
}


/* ==========================================================================

/* ==========================================================================
   Responsive Breakpoints (Mobile, Tablet & Small Screens)
   ========================================================================== */

/* Medium Screens / Small Laptops */
@media (max-width: 1080px) {
  .hero-tagline {
    position: static;
    margin-top: 12px;
    text-align: center;
    white-space: normal;
  }

  .hero-title-wrapper {
    flex-direction: column;
    margin-bottom: 30px;
  }

  .hero-main-logo-img {
    max-width: clamp(120px, 15vw, 155px);
  }

  .hero-mandli-title-img {
    max-width: clamp(220px, 30vw, 300px);
  }

  .sponsor-cards-grid-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .about-cards-grid {
    gap: 18px;
  }

  .about-card {
    padding: 24px 20px;
    min-height: 330px;
  }
}

/* Tablet Screens */
@media (max-width: 860px) {
  .nav-links {
    gap: 18px;
  }

  .nav-link {
    font-size: 13.5px;
  }

  .btn-nav-ticket span {
    font-size: 12.5px;
  }

  .hero-main-logo-img {
    max-width: clamp(110px, 17vw, 140px);
  }

  .hero-mandli-title-img {
    max-width: clamp(200px, 35vw, 270px);
  }

  .about-cards-grid {
    grid-template-columns: 1fr;
    max-width: 460px;
    margin: 0 auto;
  }

  .about-card {
    min-height: unset;
    aspect-ratio: 3 / 4;
  }

  /* Performance Card on Tablet */
  .performance-showcase-card {
    flex-direction: column;
    max-width: 540px;
    background: #fdf5ea url('assets/bg/aam.png') no-repeat center center;
    background-size: 100% 100%;
  }

  .perf-rangoli-decor {
    display: none;
  }

  .perf-card-content {
    padding: 30px 24px 20px;
  }

  .perf-card-media {
    padding: 0 24px 30px;
    justify-content: center;
  }

  .btn-perf-ticket {
    bottom: 24px;
    right: 36px;
  }

  /* Workshops on Tablet */
  .workshops-cards-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
    gap: 50px;
  }

  .floating-craft-lamp {
    top: -50px;
    right: -10px;
    width: 160px;
    height: 320px;
  }
}

/* Mobile Screens (< 768px) */
@media (max-width: 768px) {
  /* Completely hide desktop/top navbar and hamburger menu on mobile */
  .navbar-wrapper {
    display: none !important;
  }

  .mobile-toggle {
    display: none !important;
  }

  .mobile-menu {
    display: none !important;
  }

  /* Body bottom padding so content is never obscured by the bottom nav dock */
  body {
    padding-bottom: 84px !important;
  }

  .hero-section {
    padding: 50px 16px 36px;
    min-height: auto;
    background-size: 240px 120px;
  }

  .hero-title-wrapper {
    flex-direction: column;
    margin-bottom: 20px;
  }

  .hero-main-logo-wrap {
    margin-bottom: -6px;
  }

  .hero-main-logo-img {
    max-width: clamp(105px, 28vw, 135px);
  }

  .hero-mandli-title-img {
    max-width: clamp(185px, 55vw, 240px);
  }

  .hero-tagline {
    position: static;
    right: auto;
    bottom: auto;
    font-size: 13px;
    line-height: 1.35;
    margin-top: 10px;
    text-align: center;
    white-space: normal;
  }

  .event-meta-card {
    gap: 16px;
    margin-bottom: 0;
  }

  .c30-badge {
    padding-right: 14px;
  }

  .c30-number {
    font-size: 24px;
  }

  .event-date {
    font-size: 18px;
  }

  .event-venue {
    font-size: 15px;
  }

  .pin-icon {
    width: 15px;
    height: 15px;
  }

  .hero-cta-group {
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    gap: 12px;
  }

  .btn-cta {
    width: 100%;
    padding: 13px 20px;
    font-size: 14px;
  }

  /* Parallax Floating Elements in Mobile Hero */
  .hero-floating-parallax {
    display: block;
    z-index: 2;
  }

  .hero-image-trail-container {
    display: none;
    /* Cursor trail on desktop; floating parallax on mobile */
  }

  .float-item-1 {
    top: 9%;
    left: -4px;
    width: 76px;
    height: auto;
  }

  .float-item-2 {
    top: 8%;
    right: -4px;
    width: 76px;
    height: auto;
  }

  .float-item-3 {
    top: 48%;
    left: -6px;
    width: 78px;
    height: auto;
  }

  .float-item-4 {
    top: 75%;
    left: 4px;
    width: 68px;
    height: auto;
  }

  .float-item-5 {
    top: 47%;
    right: -6px;
    width: 66px;
    height: auto;
  }

  .float-item-6 {
    top: 26%;
    right: 4px;
    width: 58px;
    height: auto;
  }

  .float-item-7 {
    top: 27%;
    left: 4px;
    width: 62px;
    height: auto;
  }

  .float-item-8 {
    top: 74%;
    right: 4px;
    width: 70px;
    height: auto;
  }

  /* About Us Mobile */
  .about-section {
    padding: 40px 16px 60px;
  }

  .toran-garland-container {
    height: 38px;
    margin-bottom: 30px;
  }

  .toran-garland-track {
    background-size: 100px 34px;
  }

  .about-title {
    font-size: clamp(24px, 6.5vw, 32px);
    margin-bottom: 14px;
  }

  .about-subtitle {
    font-size: 13.5px;
    line-height: 1.5;
    margin-bottom: 36px;
  }

  .about-cards-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    width: 100%;
    max-width: 100%;
  }

  .about-card {
    min-height: unset;
    aspect-ratio: 3 / 4;
    padding: 24px 20px;
    border-radius: 18px;
  }

  .c30-brand-num {
    font-size: 34px;
  }

  .c30-brand-mark {
    margin-bottom: 12px;
  }

  .card-title {
    font-size: 20px;
  }

  .card-desc {
    font-size: 13px;
  }

  /* Performances Mobile */
  .performances-section {
    padding: 40px 16px 60px;
  }

  .section-intro-text {
    font-size: 13.5px;
    margin-bottom: 28px;
  }

  .toran-with-badge-container {
    margin-bottom: 28px;
  }

  .toran-badge-center {
    font-size: 11.5px;
    padding: 5px 12px;
    margin: 0 6px;
    letter-spacing: 1px;
  }

  .badge-diya-img {
    width: 14px;
    height: 14px;
  }

  .toran-garland-line {
    background-size: 80px 24px;
    height: 26px;
  }

  .performances-title {
    font-size: clamp(24px, 6.5vw, 32px);
  }

  .performances-subtitle {
    font-size: 13.5px;
    margin-bottom: 34px;
  }

  .performance-showcase-card {
    flex-direction: column;
    border-radius: 20px;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    background: #fdf5ea url('assets/bg/aam.png') no-repeat center center;
    background-size: 100% 100%;
  }

  /* Hide background rangoli motif on mobile so it doesn't overlap text */
  .perf-rangoli-decor {
    display: none !important;
  }

  .perf-card-content {
    padding: 36px 20px 18px;
  }

  .perf-category-tag {
    font-size: 10px;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
  }

  .perf-artist-title {
    font-size: clamp(20px, 5.6vw, 24px);
    line-height: 1.25;
    margin-bottom: 8px;
  }

  .perf-artist-sub {
    font-size: 13px;
    margin-bottom: 14px;
  }

  .perf-meta-row {
    margin-bottom: 16px;
  }

  .perf-datetime {
    flex-wrap: wrap;
    gap: 10px 16px;
    font-size: 13.5px;
  }

  .perf-story-desc {
    font-size: 12.5px;
    line-height: 1.55;
    margin-bottom: 16px;
    max-width: 100%;
  }

  .perf-bottom-meta {
    padding-top: 14px;
    margin-bottom: 8px;
    border-top: 1px dashed rgba(144, 26, 32, 0.18);
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .perf-mini-logo {
    font-size: 20px;
  }

  .perf-mini-venue {
    font-size: 9.5px;
    line-height: 1.35;
  }

  .perf-card-media {
    padding: 0 16px 28px;
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .perf-artist-img-wrapper {
    position: relative;
    width: 100%;
    min-height: auto;
    border-radius: 16px;
    overflow: hidden;
  }

  .perf-artist-img {
    width: 100%;
    height: auto;
    max-height: 280px;
    object-fit: cover;
    display: block;
    border-radius: 16px;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .btn-perf-ticket {
    position: absolute;
    bottom: 38px;
    right: 26px;
    font-family: var(--font-poppins);
    font-size: 12.5px;
    font-weight: 600;
    padding: 9px 18px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.3px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
  }

  /* Workshops Mobile */
  .workshops-section {
    padding: 40px 16px 80px;
  }

  .workshops-title {
    font-size: clamp(24px, 6.5vw, 32px);
  }

  .workshops-subtitle {
    font-size: 13.5px;
    margin-bottom: 40px;
  }

  .workshops-cards-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .workshop-card {
    padding: 34px 26px 28px;
    min-height: auto;
    border-radius: 24px;
  }

  .workshop-card::before {
    inset: 10px;
    border-radius: 16px;
    border-width: 2px;
  }

  .workshop-card-title {
    font-size: 26px;
    max-width: 220px;
  }

  .workshop-card-desc {
    font-size: 13.5px;
    max-width: 220px;
  }

  .floating-craft-masks {
    top: -15px;
    right: -10px;
    width: 150px;
    height: auto;
  }

  .floating-craft-lamp {
    top: -45px;
    right: -10px;
    width: 140px;
    height: auto;
  }

  .workshop-bottom-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .btn-workshop {
    width: 100%;
  }

  .offline-ticket-notice-card {
    flex-direction: column;
    align-items: stretch;
    padding: 26px 18px 22px;
    gap: 20px;
    margin-top: 24px;
    border-radius: 22px;
  }

  .offline-card-mandala {
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    max-width: 65%;
    opacity: 0.25;
  }

  .offline-notice-title {
    font-size: 19px;
  }

  .offline-notice-badges-list {
    width: 100%;
    min-width: 0;
  }

  .offline-info-item {
    border-radius: 9999px;
    padding: 6px 14px 6px 6px;
  }

  .offline-item-icon-ring {
    width: 36px;
    height: 36px;
  }

  .offline-gold-divider {
    max-width: 100%;
  }

  /* Sponsorship Mobile (Pixel-Perfect to Client Mockup) */
  .sponsorship-section {
    padding: 30px 12px 0;
  }

  .sponsorship-frame-wrapper {
    border-radius: 18px;
  }

  .sponsorship-inner-container {
    padding: 0 16px;
  }

  .sponsorship-royal-top-card {
    background: #7d161c url('assets/bg/MS1.png') no-repeat center center;
    background-size: 100% 100%;
    padding: 42px 20px 38px;
  }

  .royal-trio-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    text-align: center;
  }

  .royal-col {
    padding: 0;
  }

  .royal-center {
    order: -1;
    border-left: none;
    border-right: none;
    border-bottom: 1px dashed rgba(247, 206, 178, 0.3);
    padding-bottom: 22px;
  }

  .royal-title-tba {
    font-size: clamp(22px, 6.2vw, 30px);
    white-space: normal;
    text-align: center;
  }

  .royal-logo-main {
    max-width: 170px;
    max-height: 72px;
  }

  .royal-logo-managed {
    max-width: 220px;
    max-height: 48px;
  }

  .sponsorship-cream-block {
    padding: 36px 14px 44px;
  }

  /* In Mobile: Hide side mandalas and show top (ST.png) & bottom (SB.png) mandalas */
  .cream-mandala-side {
    display: none !important;
  }

  .cream-mandala-mobile {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 250px;
    max-width: 65%;
    height: auto;
    pointer-events: none;
    z-index: 1;
    opacity: 0.65;
    filter: drop-shadow(0 2px 8px rgba(220, 160, 60, 0.18));
  }

  .cream-mandala-top {
    top: 0;
  }

  .cream-mandala-bottom {
    bottom: 0;
  }

  .tier-heading-flourish {
    margin-bottom: 20px;
  }

  .tier-heading-flourish .flourish-line {
    max-width: 40px;
  }

  .tier-gold-heading {
    font-size: 12px;
    letter-spacing: 2px;
  }

  .tier-support-wrapper {
    margin-top: 36px;
  }

  .sponsor-cards-grid-3 {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* Support Partners on Mobile: 2 per line (2x2 grid) */
  .sponsor-cards-grid-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .sponsor-cards-grid-4 .sponsor-ornate-card {
    min-height: 116px;
    padding: 14px 6px 12px;
  }

  .sponsor-cards-grid-4 .sponsor-card-role {
    font-size: 9px;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
  }

  .sponsor-cards-grid-4 .role-diamond {
    font-size: 8.5px;
  }

  .sponsor-cards-grid-4 .sponsor-img-wrap {
    height: 38px;
    margin-bottom: 4px;
  }

  .sponsor-cards-grid-4 .sponsor-logo-img {
    max-height: 34px;
    max-width: 95%;
  }

  .sponsor-cards-grid-4 .sponsor-card-sub {
    font-size: 10.5px;
    line-height: 1.25;
  }

  .sponsor-ornate-card {
    min-height: 128px;
    padding: 18px 14px 16px;
  }

  .sponsor-tba-red {
    font-size: 22px;
  }

  .sponsor-img-wrap {
    height: 44px;
  }

  .sponsor-logo-img {
    max-height: 40px;
  }

  .sponsorship-bottom-banner {
    padding: 38px 16px clamp(210px, 56vw, 245px);
    overflow: hidden;
    position: relative;
    border-radius: 0 0 18px 18px;
    width: 100%;
    background: linear-gradient(180deg, #7c151a 0%, #600d11 60%, #46070a 100%);
  }

  .sponsorship-bottom-banner .sponsorship-inner-container {
    padding: 0;
  }

  .banner-ribbon-picture {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 430px;
    pointer-events: none;
    z-index: 1;
    display: block;
    line-height: 0;
  }

  .banner-ribbon-instrument-art {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: bottom center;
    filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.45));
    opacity: 0.98;
  }

  .banner-top-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 0;
    width: 100%;
    text-align: center;
  }

  .banner-top-left {
    flex: none;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .royal-eyebrow-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #fce1be;
    background: rgba(251, 240, 203, 0.12);
    border: 1px solid rgba(251, 240, 203, 0.35);
    padding: 5px 14px;
    border-radius: 9999px;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }

  .banner-heading {
    font-size: clamp(26px, 7vw, 34px);
    line-height: 1.15;
    letter-spacing: -0.5px;
    color: #ffffff;
    margin: 0;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  }

  .banner-top-right {
    flex: none;
    width: 100%;
    min-width: 0;
    max-width: 480px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    text-align: center;
  }

  .banner-desc {
    font-size: 13.5px;
    line-height: 1.6;
    color: rgba(253, 242, 233, 0.92);
    text-align: center;
    margin: 0 auto;
    max-width: 440px;
  }

  .banner-dashed-form-box {
    width: 100%;
    max-width: 460px;
    margin: 4px auto 0;
    padding: 18px 16px;
    background: rgba(30, 4, 7, 0.55);
    border: 1.5px dashed rgba(251, 240, 203, 0.55);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .banner-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
    width: 100%;
  }

  .form-pill-wrap {
    width: 100%;
  }

  .banner-pill-input {
    width: 100%;
    height: 48px;
    padding: 0 18px;
    border-radius: 9999px;
    border: 1.5px solid rgba(251, 240, 203, 0.4);
    background: #ffffff;
    font-family: var(--font-poppins);
    font-size: 16px;
    color: #1f1f1f;
    font-weight: 500;
    outline: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    -webkit-appearance: none;
  }

  .banner-pill-input::placeholder {
    color: #737373;
    font-size: 14.5px;
    font-weight: 400;
    opacity: 1;
  }

  .banner-pill-input:focus {
    border-color: #ffd700;
    background: #fffdf9;
    box-shadow: 0 0 0 3px rgba(251, 240, 203, 0.45), 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  .btn-banner-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0 24px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #fcedbf 0%, #dfb55b 50%, #c58f2d 100%);
    color: #53090d;
    border: 1.5px solid #fff2cc;
    font-family: var(--font-poppins);
    font-size: 13.5px;
    font-weight: 800;
    letter-spacing: 1px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35), 0 0 16px rgba(223, 181, 91, 0.3);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  }

  .btn-banner-submit:hover,
  .btn-banner-submit:focus {
    filter: brightness(1.06);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 20px rgba(223, 181, 91, 0.5);
  }

  .btn-banner-submit:active {
    transform: scale(0.98);
  }

  /* FAQs Mobile Responsive */
  .faqs-section {
    padding: 50px 16px 70px;
  }

  .faq-question {
    padding: 18px 18px;
    gap: 12px;
  }

  .faq-q-title-row {
    gap: 10px;
  }

  .faq-q-num {
    font-size: 14px;
    min-width: 20px;
  }

  .faq-q-title {
    font-size: 15.5px;
  }

  .faq-q-gujarati {
    padding-left: 30px;
    font-size: 12.5px;
  }

  .faq-answer-inner {
    padding: 0 18px 20px 18px;
    font-size: 13.5px;
  }

  .faq-helpdesk-banner {
    padding: 28px 22px;
    border-radius: 18px;
    margin-top: 36px;
  }

  .helpdesk-card-mandala {
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    max-width: 65%;
    opacity: 0.4;
  }

  .helpdesk-banner-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .helpdesk-title {
    font-size: 19px;
  }

  .helpdesk-action-buttons {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }

  .helpdesk-action-buttons .btn-pill-terracotta,
  .helpdesk-action-buttons .btn-pill-cream {
    width: 100%;
    justify-content: center;
  }

  /* Footer Mobile (Minimalist Edition) */
  .site-footer {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 2 !important;
    padding: 42px 16px 36px;
    margin-top: 0;
  }

  .site-footer::before {
    background-image: url('assets/bg/Mfooter.png');
    background-position: center bottom;
    background-size: cover;
  }

  .footer-center-logo-img {
    height: 125px;
    max-width: 155px;
  }

  .footer-event-luxury-info {
    gap: 12px;
  }

  .footer-luxury-dates {
    font-size: 12.5px;
  }

  .footer-luxury-venue {
    font-size: 12px;
  }

  .footer-nav-center {
    gap: 12px 14px;
    margin-bottom: 22px;
  }

  .footer-nav-center a {
    font-size: 13px;
  }

  .footer-social-center {
    margin-bottom: 28px;
  }

  .footer-bottom-bar {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding-top: 4px;
    padding-bottom: 14px;
    margin-bottom: 18px;
  }

  .footer-bottom-divider {
    display: none;
  }
}

/* Extra Small Screens (< 380px) */
@media (max-width: 380px) {
  .hero-main-logo-img {
    max-width: 95px;
  }

  .hero-mandli-title-img {
    max-width: 175px;
  }

  .event-date {
    font-size: 16px;
  }

  .event-venue {
    font-size: 14px;
  }

  .about-title,
  .performances-title,
  .workshops-title {
    font-size: 22px;
  }

  .float-item-1 {
    top: 8%;
    left: 2px;
    width: 62px;
    height: auto;
  }

  .float-item-2 {
    top: 7%;
    right: 2px;
    width: 62px;
    height: auto;
  }

  .float-item-3 {
    top: 48%;
    left: -4px;
    width: 60px;
    height: auto;
  }

  .float-item-4 {
    top: 77%;
    left: 4px;
    width: 56px;
    height: auto;
  }

  .float-item-5 {
    top: 47%;
    right: -4px;
    width: 56px;
    height: auto;
  }

  .float-item-6 {
    top: 25%;
    right: 4px;
    width: 50px;
    height: auto;
  }

  .float-item-7 {
    display: block;
    top: 26%;
    left: 4px;
    width: 50px;
    height: auto;
  }

  .float-item-8 {
    top: 76%;
    right: 4px;
    width: 58px;
    height: auto;
  }

  .title-sponsor-logo-img {
    max-width: 210px;
    max-height: 52px;
  }

  .service-partners-grid {
    grid-template-columns: 1fr;
  }

  /* Extra Small Screens: Become Our Sponsor Banner Tweaks */
  .sponsorship-bottom-banner {
    padding: 30px 12px 205px;
  }

  .banner-heading {
    font-size: 24px;
    line-height: 1.2;
  }

  .banner-desc {
    font-size: 12.5px;
  }

  .banner-dashed-form-box {
    padding: 14px 12px;
    border-radius: 16px;
  }

  .banner-pill-input {
    height: 44px;
    font-size: 15px;
    padding: 0 14px;
  }

  .banner-pill-input::placeholder {
    font-size: 13px;
  }

  .btn-banner-submit {
    height: 44px;
    font-size: 12.5px;
  }
}

/* ==========================================================================
   AUTHENTIC ON-SCROLL ANIMATION SYSTEM (AOS / ScrollReveal)
   Engineered for smooth 60/120fps performance & cultural aesthetics
   ========================================================================== */

/* ==========================================================================
   Floating Left-Side Festival Music Player Button
   ========================================================================== */
.btn-music-toggle {
  position: fixed;
  bottom: 26px;
  left: 26px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--primary-terracotta, #901a20);
  color: var(--brand-cream, #fcf0c8);
  border: 2px solid rgba(252, 240, 200, 0.65);
  box-shadow: 0 8px 24px rgba(144, 26, 32, 0.38), 0 2px 6px rgba(0, 0, 0, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 95;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.25s,
    box-shadow 0.25s,
    border-color 0.25s;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.btn-music-toggle:hover {
  background: var(--brand-red-hover, #771318);
  transform: translateY(-3px) scale(1.08);
  box-shadow: 0 12px 28px rgba(144, 26, 32, 0.48), 0 0 18px rgba(252, 240, 200, 0.4);
  border-color: #ffffff;
}

.btn-music-toggle:active {
  transform: translateY(-1px) scale(0.96);
}

/* Soundwave Equalizer Bars */
.music-wave-bars {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  height: 18px;
  width: 20px;
  pointer-events: none;
}

.music-wave-bars .bar {
  width: 3px;
  height: 4px;
  background-color: var(--brand-cream, #fcf0c8);
  border-radius: 2px;
  transition: height 0.25s ease, background-color 0.25s ease;
}

/* Animated Dancing Bars When Playing */
.btn-music-toggle.playing .music-wave-bars .bar-1 {
  animation: musicBarWave 0.75s ease-in-out infinite alternate;
}

.btn-music-toggle.playing .music-wave-bars .bar-2 {
  animation: musicBarWave 0.95s ease-in-out 0.15s infinite alternate;
}

.btn-music-toggle.playing .music-wave-bars .bar-3 {
  animation: musicBarWave 0.65s ease-in-out 0.3s infinite alternate;
}

.btn-music-toggle.playing .music-wave-bars .bar-4 {
  animation: musicBarWave 0.85s ease-in-out 0.1s infinite alternate;
}

@keyframes musicBarWave {
  0% {
    height: 4px;
  }

  50% {
    height: 18px;
  }

  100% {
    height: 8px;
  }
}

/* Muted Icon (Hidden When Playing) */
.music-icon-muted {
  display: block;
  width: 20px;
  height: 20px;
  stroke: var(--brand-cream, #fcf0c8);
  pointer-events: none;
  transition: transform 0.25s ease;
}

.btn-music-toggle.playing .music-icon-muted {
  display: none;
}

.btn-music-toggle:not(.playing) .music-wave-bars {
  display: none;
}

/* Subtle Pulse Glow Ring When Playing */
.music-pulse-ring {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px solid rgba(252, 240, 200, 0.7);
  pointer-events: none;
  opacity: 0;
}

.btn-music-toggle.playing .music-pulse-ring {
  animation: musicPulseGlow 2.2s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@keyframes musicPulseGlow {
  0% {
    transform: scale(0.96);
    opacity: 0.85;
  }

  100% {
    transform: scale(1.42);
    opacity: 0;
  }
}

/* Floating Social & Action Buttons (Right-Side) */
/* Floating Social & Action Buttons (Right-Side - Royal Festive Theme) */
.btn-floating-social {
  position: fixed;
  right: 26px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-terracotta, #901a20);
  color: var(--brand-cream, #fcf0c8);
  border: 2px solid rgba(252, 240, 200, 0.65);
  box-shadow: 0 8px 24px rgba(144, 26, 32, 0.38), 0 2px 6px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  z-index: 96;
  text-decoration: none;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.25s,
    box-shadow 0.25s,
    border-color 0.25s,
    color 0.25s;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.btn-floating-social:hover {
  background: var(--brand-red-hover, #771318);
  color: #ffffff;
  transform: translateY(-3px) scale(1.08);
  box-shadow: 0 12px 28px rgba(144, 26, 32, 0.5), 0 0 18px rgba(252, 240, 200, 0.45);
  border-color: #ffd88a;
}

.btn-floating-social:active {
  transform: translateY(-1px) scale(0.96);
}

.btn-floating-whatsapp {
  bottom: 26px;
}

.btn-floating-instagram {
  bottom: 86px;
}

/* Tooltips */
.floating-tooltip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  background: #1e1310;
  color: #fcf0c8;
  font-family: var(--font-poppins);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid rgba(251, 240, 203, 0.25);
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.25s;
}

.floating-tooltip::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: #1e1310;
  border-right: 1px solid rgba(251, 240, 203, 0.25);
  border-top: 1px solid rgba(251, 240, 203, 0.25);
}

.btn-floating-social:hover .floating-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

/* Subtle Pulse Glow Ring for WhatsApp (Festival Gold / Cream Glow) */
.wa-pulse-ring {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px solid rgba(252, 240, 200, 0.75);
  pointer-events: none;
  opacity: 0;
  animation: waPulseGlow 2.5s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@keyframes waPulseGlow {
  0% {
    transform: scale(0.96);
    opacity: 0.85;
  }
  100% {
    transform: scale(1.42);
    opacity: 0;
  }
}

/* Floating Back-to-Top Button */
.btn-back-to-top {
  position: fixed;
  bottom: 146px;
  right: 26px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--primary-terracotta, #901a20);
  color: var(--brand-cream, #fcf0c8);
  border: 2px solid rgba(252, 240, 200, 0.65);
  box-shadow: 0 8px 24px rgba(144, 26, 32, 0.38), 0 2px 6px rgba(0, 0, 0, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 95;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.85);
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.35s,
    background-color 0.25s,
    box-shadow 0.25s,
    border-color 0.25s,
    color 0.25s;
}

.btn-back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.btn-back-to-top:hover {
  background: var(--brand-red-hover);
  color: #ffffff;
  border-color: #ffd88a;
  transform: translateY(-3px) scale(1.08);
  box-shadow: 0 12px 28px rgba(144, 26, 32, 0.5), 0 0 18px rgba(252, 240, 200, 0.45);
}

.btn-back-to-top:active {
  transform: translateY(-1px) scale(0.96);
}

.btn-back-to-top svg {
  width: 22px;
  height: 22px;
  stroke: #ffffff;
  transition: transform 0.25s ease;
}

.btn-back-to-top:hover svg {
  transform: translateY(-2px);
}

/* Base Reveal Element Styles */
[data-reveal] {
  opacity: 0;
  transition-property: opacity, transform, filter;
  transition-duration: 0.85s;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

/* Fade Up (Default) */
[data-reveal="fade-up"],
[data-reveal=""],
[data-reveal="true"] {
  transform: translate3d(0, 36px, 0);
}

/* Fade Down */
[data-reveal="fade-down"] {
  transform: translate3d(0, -36px, 0);
}

/* Fade Left (Comes from right) */
[data-reveal="fade-left"] {
  transform: translate3d(42px, 0, 0);
}

/* Fade Right (Comes from left) */
[data-reveal="fade-right"] {
  transform: translate3d(-42px, 0, 0);
}

/* Zoom In */
[data-reveal="zoom-in"] {
  transform: scale3d(0.92, 0.92, 1) translate3d(0, 24px, 0);
}

/* Flip Up (3D Perspective tilt) */
[data-reveal="flip-up"] {
  transform: perspective(1000px) rotateX(14deg) translate3d(0, 30px, 0);
  transform-origin: center bottom;
}

/* Active Revealed State */
[data-reveal].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0deg);
}

/* Stagger Delay Utility Classes */
[data-reveal-delay="50"] {
  --reveal-delay: 50ms;
}

[data-reveal-delay="100"] {
  --reveal-delay: 100ms;
}

[data-reveal-delay="150"] {
  --reveal-delay: 150ms;
}

[data-reveal-delay="200"] {
  --reveal-delay: 200ms;
}

[data-reveal-delay="250"] {
  --reveal-delay: 250ms;
}

[data-reveal-delay="300"] {
  --reveal-delay: 300ms;
}

[data-reveal-delay="350"] {
  --reveal-delay: 350ms;
}

[data-reveal-delay="400"] {
  --reveal-delay: 400ms;
}

[data-reveal-delay="450"] {
  --reveal-delay: 450ms;
}

[data-reveal-delay="500"] {
  --reveal-delay: 500ms;
}

/* Toran Garland Festive Scroll Flourish */
.toran-with-badge-container[data-reveal] .toran-garland-line {
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
}

.toran-with-badge-container[data-reveal].is-revealed .toran-garland-line {
  transform: scaleX(1);
}

.toran-with-badge-container[data-reveal] .toran-badge-center {
  transform: scale(0.82);
  opacity: 0;
  transition: transform 0.75s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s, opacity 0.55s ease 0.1s;
}

.toran-with-badge-container[data-reveal].is-revealed .toran-badge-center {
  transform: scale(1);
  opacity: 1;
}

/* Subtle Shimmer Glow on Newly Revealed Cards */
.is-revealed.about-card,
.is-revealed.workshop-card,
.is-revealed.performance-showcase-card {
  animation: cardEntranceGlow 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes cardEntranceGlow {
  0% {
    box-shadow: 0 4px 12px rgba(139, 38, 22, 0);
  }

  50% {
    box-shadow: 0 16px 36px rgba(139, 38, 22, 0.14), 0 2px 8px rgba(245, 166, 35, 0.08);
  }

  100% {
    /* Retains default class box shadow */
  }
}

/* Responsive Tweaks for Scroll Animations & Floating Action Buttons */
@media (max-width: 768px) {
  .btn-music-toggle {
    bottom: 84px;
    left: 12px;
    width: 42px;
    height: 42px;
    z-index: 1001;
  }

  .btn-floating-social {
    right: 12px;
    width: 40px;
    height: 40px;
  }

  .btn-floating-social svg {
    width: 19px;
    height: 19px;
  }

  .btn-floating-whatsapp {
    bottom: 84px;
  }

  .btn-floating-instagram {
    bottom: 132px;
  }

  .btn-back-to-top {
    bottom: 180px;
    right: 12px;
    width: 38px;
    height: 38px;
  }

  .btn-back-to-top svg {
    width: 18px;
    height: 18px;
  }

  .floating-tooltip {
    display: none !important;
  }

  /* Vertical fade-up on mobile to prevent horizontal translation overflow */
  [data-reveal="fade-up"],
  [data-reveal=""],
  [data-reveal="true"] {
    transform: translate3d(0, 20px, 0);
  }

  [data-reveal="fade-down"] {
    transform: translate3d(0, -20px, 0);
  }

  [data-reveal="fade-left"] {
    transform: translate3d(0, 20px, 0);
  }

  [data-reveal="fade-right"] {
    transform: translate3d(0, 20px, 0);
  }
}

/* Accessibility: User prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  .toran-with-badge-container[data-reveal] .toran-garland-line,
  .toran-with-badge-container[data-reveal] .toran-badge-center {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
  }
}