/* ============================================================
   SEOUL DAK — GRAND OPENING event page (grand-opening.css)
   Phoenix Marketcity, Bangalore · 10 July · 3–7 PM
   Loaded only by phoenix-marketcity.html (body.sd-landing.sd-go),
   on TOP of landing-v2.css — reuses its tokens (--sd-red, --f-disp,
   --r-xl, --ease …) and its .ld-reveal / [data-magnetic] hooks.

   Self-contained widgets (no landing.js menu-card contract):
     .sd-go-hero · .sd-go-countdown[data-countdown-to] · .sd-go-ticket ·
     .sd-go-card · .sd-go-meter · .sd-go-wheel · .sd-go-rsvp · .sd-go-details
   driven by js/grand-opening.js.
   ============================================================ */

body.sd-go {
  --go-flame-1: #ffd23f;
  --go-flame-2: #ff8a1e;
  --go-flame-3: #ff3b2f;
  --go-gold:    #f4c95d;
  --go-script:  #ff6b6b;   /* lightened brand red for script/accent text on dark */
}

/* Clip phantom horizontal width from fixed/off-canvas chrome (header + drawer)
   so there is ZERO horizontal scroll on mobile. `clip` (not `hidden`) does NOT
   create a scroll container, so vertical page scrolling is unaffected. */
html { overflow-x: clip; }

/* tighten section rhythm a touch on this page */
.sd-go-section { position: relative; padding: clamp(56px, 8vw, 104px) clamp(18px, 5vw, 60px); }
.sd-go-section__inner { max-width: var(--container-max); margin: 0 auto; }
.sd-go-center { text-align: center; }
.sd-go-center .sd-ld-eyebrow::before { display: none; }
.sd-go-center .sd-ld-eyebrow { padding-left: 0; }

/* ============================================================
   1 · HERO — full-bleed dark food photo + red veil + countdown
   ============================================================ */
.sd-go-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 150px clamp(18px, 5vw, 48px) clamp(48px, 7vw, 88px);
  overflow: hidden;
  isolation: isolate;
  text-align: center;
  color: #fff;
}
.sd-go-hero__bg { position: absolute; inset: 0; z-index: -3; }
body.sd-go .sd-go-hero__bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: center;
  transform: scale(1.04);
  animation: sd-go-kenburns 22s ease-in-out infinite alternate;
}
@keyframes sd-go-kenburns {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to   { transform: scale(1.14) translate3d(-1.5%, -1.5%, 0); }
}
.sd-go-hero__veil {
  position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(42,10,10,0.30) 0%, rgba(42,10,10,0.72) 60%, rgba(20,5,5,0.92) 100%),
    linear-gradient(180deg, rgba(214,41,41,0.28) 0%, rgba(26,6,6,0.20) 40%, rgba(26,6,6,0.86) 100%);
}
/* faint floating spark layer */
.sd-go-hero__sparks { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.sd-go-hero__neon {
  position: absolute; right: 4%; top: 12%; width: clamp(120px, 12vw, 190px); z-index: -1;
  filter:
    drop-shadow(0 0 1.5px rgba(255,255,255,0.95))
    drop-shadow(0 0 10px rgba(255,70,80,0.55))
    drop-shadow(0 0 28px rgba(215,25,32,0.4));
  animation: sd-go-float 7s ease-in-out infinite alternate;
}
@keyframes sd-go-float { from { transform: translateY(0) rotate(-5deg); } to { transform: translateY(-16px) rotate(-2deg); } }

.sd-go-hero__inner { position: relative; max-width: 920px; margin: 0 auto; }

.sd-go-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-body); font-weight: 800; font-size: 0.74rem;
  letter-spacing: 0.32em; text-transform: uppercase;
  color: #fff; background: rgba(214,41,41,0.92);
  padding: 9px 18px; border-radius: var(--r-pill);
  box-shadow: 0 10px 30px -10px rgba(214,41,41,0.8);
}
.sd-go-hero__eyebrow::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: #fff;
  box-shadow: 0 0 0 0 rgba(255,255,255,0.7); animation: sd-go-pulse 1.8s ease-in-out infinite;
}
@keyframes sd-go-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,255,255,0.6); }
  70%  { box-shadow: 0 0 0 10px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

.sd-go-hero__title {
  font-family: var(--f-disp); font-weight: 700; text-transform: uppercase;
  line-height: 0.96; letter-spacing: -0.01em;
  font-size: clamp(2.4rem, 7vw, 5.3rem);
  margin: 18px auto 6px;
  text-shadow: 0 6px 40px rgba(0,0,0,0.4);
}
.sd-go-hero__title .ld-accent { color: #ff5a5a; }
.sd-go-hero__title .ld-accent { -webkit-text-fill-color: #ff6b6b; }

.sd-go-hero__script {
  font-family: var(--f-script); font-size: clamp(1.3rem, 3.2vw, 2.1rem);
  color: var(--go-script); transform: rotate(-2deg); margin: 4px 0 6px;
}
.sd-go-hero__sub {
  font-size: clamp(0.96rem, 1.6vw, 1.12rem); line-height: 1.6;
  color: rgba(255,255,255,0.88); max-width: 54ch; margin: 0 auto;
}

/* ---- countdown ---- */
.sd-go-countdown {
  display: flex; align-items: stretch; justify-content: center; flex-wrap: wrap;
  gap: clamp(8px, 1.6vw, 16px); margin: clamp(26px, 4vw, 40px) auto clamp(20px, 3vw, 30px);
}
.sd-go-cd__cell {
  min-width: clamp(74px, 12vw, 122px);
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.24);
  border-radius: var(--r-lg);
  padding: clamp(12px, 2vw, 20px) clamp(8px, 2vw, 18px);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 20px 40px -24px rgba(0,0,0,0.7);
}
.sd-go-cd__num {
  display: block; font-family: var(--f-disp); font-weight: 700;
  font-size: clamp(2.1rem, 6.5vw, 4rem); line-height: 1; color: #fff;
  font-variant-numeric: tabular-nums; letter-spacing: 0.01em;
}
.sd-go-cd__num.is-tick { animation: sd-go-tick 0.5s var(--ease); }
@keyframes sd-go-tick { 0% { transform: translateY(-28%); opacity: 0.3; } 100% { transform: translateY(0); opacity: 1; } }
.sd-go-cd__lbl {
  display: block; margin-top: 8px; font-family: var(--f-body); font-weight: 700;
  font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,0.7);
}
.sd-go-cd__open { display: none; }
.sd-go-countdown.is-open .sd-go-cd__cell { display: none; }
.sd-go-countdown.is-open .sd-go-cd__open {
  display: inline-block; font-family: var(--f-disp); font-weight: 700; text-transform: uppercase;
  font-size: clamp(1.6rem, 5vw, 3rem); color: var(--go-script);
}

.sd-go-hero__date {
  display: inline-flex; align-items: center; gap: 9px; flex-wrap: wrap; justify-content: center;
  font-family: var(--f-body); font-weight: 700; font-size: 0.92rem;
  color: #fff; background: rgba(0,0,0,0.32); border: 1px solid rgba(255,255,255,0.2);
  padding: 9px 18px; border-radius: var(--r-pill);
}
.sd-go-hero__cta {
  display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
  margin-top: clamp(22px, 3vw, 30px);
}
.sd-go-hero__note { display: block; margin-top: 16px; font-size: 0.8rem; color: rgba(255,255,255,0.66); }
.sd-go-hero__note a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.sd-go-scrollcue {
  position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.6);
}
.sd-go-scrollcue span { width: 1px; height: 30px; background: linear-gradient(rgba(255,255,255,0.7), transparent); animation: sd-go-cue 1.8s ease-in-out infinite; }
@keyframes sd-go-cue { 0%,100% { opacity: 0.3; transform: scaleY(0.6); } 50% { opacity: 1; transform: scaleY(1); } }

/* ============================================================
   2 · OPENING-DAY SPECIAL — ₹69 corn dog ticket
   ============================================================ */
.sd-go-offer { background: var(--sd-cream); }
.sd-go-ticket {
  position: relative; max-width: 960px; margin: clamp(28px, 4vw, 44px) auto 0;
  display: grid; grid-template-columns: 0.95fr 1.05fr; align-items: stretch;
  background: #fff; border-radius: var(--r-xl); overflow: hidden;
  border: 1px solid var(--sd-line-soft);
  box-shadow: 0 40px 80px -40px rgba(42,10,10,0.4);
}
.sd-go-ticket::before {
  /* perforation line between halves */
  content: ""; position: absolute; left: calc(47.5% - 1px); top: 14px; bottom: 14px; width: 2px;
  background: repeating-linear-gradient(var(--sd-cream-deep) 0 7px, transparent 7px 15px);
}
.sd-go-ticket__media { position: relative; background: linear-gradient(150deg, #ffe7c2, #ffcf94); overflow: hidden; min-height: 280px; }
body.sd-go .sd-go-ticket__media img { width: 100%; height: 100%; object-fit: cover; animation: sd-go-kenburns 13s ease-in-out infinite alternate; }
.sd-go-ticket__media::after {
  /* moving shine */
  content: ""; position: absolute; top: -60%; left: -40%; width: 50%; height: 220%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.55), transparent);
  transform: rotate(18deg); animation: sd-go-shine 4.5s ease-in-out infinite;
}
@keyframes sd-go-shine { 0% { left: -40%; } 55%, 100% { left: 130%; } }
.sd-go-ticket__ribbon {
  position: absolute; top: 18px; left: -42px; transform: rotate(-38deg);
  background: var(--sd-red); color: #fff; font-family: var(--f-disp); font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.78rem;
  padding: 7px 56px; box-shadow: 0 8px 20px -8px rgba(0,0,0,0.5); z-index: 2;
}
.sd-go-ticket__body { padding: clamp(26px, 4vw, 44px); display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.sd-go-ticket__kicker { font-family: var(--f-body); font-weight: 800; font-size: 0.72rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--sd-red); }
.sd-go-ticket__price { display: flex; align-items: flex-start; gap: 4px; line-height: 0.9; }
.sd-go-ticket__cur { font-family: var(--f-disp); font-weight: 600; font-size: clamp(1.6rem, 4vw, 2.6rem); color: var(--sd-text); margin-top: 6px; }
.sd-go-ticket__num { font-family: var(--f-disp); font-weight: 700; font-size: clamp(4.4rem, 13vw, 8rem); color: var(--sd-red); letter-spacing: -0.02em; }
.sd-go-ticket__num small { font-size: 0.3em; color: var(--sd-text-mute); font-weight: 600; letter-spacing: 0; }
.sd-go-ticket__name { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: clamp(1.3rem, 3vw, 1.9rem); color: var(--sd-text); }
.sd-go-ticket__desc { color: var(--sd-text-mute); font-size: 0.96rem; line-height: 1.55; }
.sd-go-ticket__fine { margin-top: 6px; font-size: 0.74rem; color: var(--sd-text-mute); opacity: 0.85; }
.sd-go-ticket__tap { margin-top: 12px; font-family: var(--f-body); font-weight: 800; font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--sd-red); }
.sd-go-ticket[data-open-popup] { cursor: pointer; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.sd-go-ticket[data-open-popup]:hover { transform: translateY(-4px); box-shadow: 0 48px 92px -38px rgba(42,10,10,0.5); }
.sd-go-ticket[data-open-popup]:focus-visible { outline: 3px solid var(--sd-red); outline-offset: 4px; }
.sd-go-ticket__chips { display: flex; flex-wrap: nowrap; gap: 7px; margin-top: 6px; }
.sd-go-ticket__chips span { font-size: 0.72rem; font-weight: 700; color: var(--sd-red); background: var(--sd-red-soft); padding: 5px 11px; border-radius: var(--r-pill); }

/* ============================================================
   3 · WHAT'S HAPPENING — event cards
   ============================================================ */
.sd-go-happenings { background: linear-gradient(180deg, var(--sd-cream), #fff); padding-top: clamp(26px, 4vw, 48px); }
.sd-go-cards {
  max-width: var(--container-max); margin: clamp(28px, 4vw, 44px) auto 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.8vw, 22px);
}
.sd-go-card {
  position: relative; display: flex; flex-direction: column; gap: 12px;
  background: #fff; border: 1px solid var(--sd-line-soft); border-radius: var(--r-xl);
  padding: clamp(20px, 2.4vw, 30px); overflow: hidden;
  box-shadow: 0 18px 40px -24px rgba(35,24,20,0.3);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
.sd-go-card::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; transform: scaleX(0);
  transform-origin: left; transition: transform 0.4s var(--ease);
  background: linear-gradient(90deg, var(--sd-red), #ff6b6b);
}
.sd-go-card:hover { transform: translateY(-6px); box-shadow: 0 30px 56px -28px rgba(35,24,20,0.42); }
.sd-go-card:hover::after { transform: scaleX(1); }
.sd-go-card__icon {
  width: 60px; height: 60px; border-radius: 18px; display: grid; place-items: center;
  font-size: 1.9rem; background: var(--sd-red-soft); line-height: 1;
  transition: transform 0.5s var(--ease-spring);
}
.sd-go-card:hover .sd-go-card__icon { animation-duration: 0.9s; }
.sd-go-card__title { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: 1.18rem; color: var(--sd-text); }
.sd-go-card__desc { color: var(--sd-text-mute); font-size: 0.92rem; line-height: 1.55; flex: 1; }
.sd-go-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.sd-go-card__tags span { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; color: var(--sd-text-mute); background: var(--sd-cream); padding: 4px 10px; border-radius: var(--r-pill); }
.sd-go-card__link {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 2px;
  font-family: var(--f-body); font-weight: 800; font-size: 0.74rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--sd-red);
}
.sd-go-card__link .ld-arr { transition: transform 0.3s var(--ease); }
.sd-go-card__link:hover .ld-arr { transform: translateX(5px); }

/* mini equalizer (K-Pop card) */
.sd-go-eq { display: inline-flex; align-items: flex-end; gap: 3px; height: 22px; }
.sd-go-eq i { width: 4px; background: var(--sd-red); border-radius: 2px; animation: sd-go-eq 0.9s ease-in-out infinite; }
.sd-go-eq i:nth-child(2){ animation-delay: 0.15s; } .sd-go-eq i:nth-child(3){ animation-delay: 0.3s; }
.sd-go-eq i:nth-child(4){ animation-delay: 0.45s; } .sd-go-eq i:nth-child(5){ animation-delay: 0.6s; }
@keyframes sd-go-eq { 0%,100% { height: 5px; } 50% { height: 22px; } }

/* ============================================================
   4 · VOLCANO HEAT-METER — interactive
   ============================================================ */
.sd-go-heat {
  background: radial-gradient(120% 120% at 80% 0%, #3a0c0c, var(--sd-burgundy) 55%, var(--sd-burgundy-2));
  color: #fff;
}
.sd-go-heat__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.sd-go-heat__copy .sd-ld-eyebrow { color: #ff8a8a; }
.sd-go-heat__title { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1; margin: 10px 0 12px; }
.sd-go-heat__title .ld-accent { color: #ff6b6b; }
.sd-go-heat__sub { color: rgba(255,255,255,0.82); line-height: 1.6; max-width: 48ch; }
.sd-go-heat__facts { display: flex; gap: 22px; margin-top: 20px; flex-wrap: wrap; }
.sd-go-heat__fact strong { display: block; font-family: var(--f-disp); font-size: 1.6rem; color: #ff8a8a; }
.sd-go-heat__fact span { font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); }

.sd-go-meter { position: relative; background: rgba(0,0,0,0.28); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 34px); text-align: center; }
.sd-go-meter__chick { position: relative; width: clamp(140px, 22vw, 220px); margin: 0 auto 10px; }
body.sd-go .sd-go-meter__chick img { width: 100%; transition: filter 0.25s linear, transform 0.25s var(--ease); filter: saturate(0.8) brightness(0.92); }
.sd-go-meter__flames { position: absolute; inset: auto 0 -6px 0; height: 0; pointer-events: none; transition: height 0.25s linear; display: flex; justify-content: center; align-items: flex-end; font-size: 2rem; gap: 4px; overflow: hidden; }
.sd-go-meter__label { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: clamp(1.4rem, 3vw, 2rem); letter-spacing: 0.04em; margin: 6px 0; transition: color 0.2s linear; }
.sd-go-meter__bar { position: relative; height: 16px; border-radius: var(--r-pill); background: rgba(255,255,255,0.12); overflow: hidden; margin: 12px 0; }
.sd-go-meter__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0%; background: linear-gradient(90deg, #ff8a8a, var(--sd-red) 55%, #a5161d); transition: width 0.12s linear; border-radius: var(--r-pill); }
.sd-go-meter__range { -webkit-appearance: none; appearance: none; width: 100%; height: 34px; background: transparent; cursor: grab; margin-top: 4px; }
.sd-go-meter__range:active { cursor: grabbing; }
.sd-go-meter__range::-webkit-slider-runnable-track { height: 8px; border-radius: var(--r-pill); background: rgba(255,255,255,0.18); }
.sd-go-meter__range::-moz-range-track { height: 8px; border-radius: var(--r-pill); background: rgba(255,255,255,0.18); }
.sd-go-meter__range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 30px; height: 30px; margin-top: -11px; border-radius: 50%; background: #fff; border: 4px solid var(--go-flame-3); box-shadow: 0 6px 16px -4px rgba(0,0,0,0.6); }
.sd-go-meter__range::-moz-range-thumb { width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 4px solid var(--go-flame-3); box-shadow: 0 6px 16px -4px rgba(0,0,0,0.6); }
.sd-go-meter__hint { font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.sd-go-meter__chillies { display: flex; justify-content: center; gap: clamp(8px, 3vw, 18px); margin: 14px 0; }
.sd-go-meter__chillies button { background: none; border: 0; padding: 6px; line-height: 1; cursor: pointer; font-size: clamp(1.7rem, 7vw, 2.4rem); filter: grayscale(1) opacity(0.32); transition: filter .2s var(--ease), transform .2s var(--ease-spring); }
.sd-go-meter__chillies button:hover { transform: scale(1.16); filter: grayscale(0.3) opacity(0.7); }
.sd-go-meter__chillies button.is-on { filter: none; transform: scale(1.14) translateY(-2px); }
.sd-go-meter__chillies button.is-on:hover { transform: scale(1.24) translateY(-3px); }
.sd-go-meter__chillies button:focus-visible { outline: 2px solid var(--sd-red); outline-offset: 2px; border-radius: 8px; }
.sd-go-meter__msg { color: rgba(255,255,255,0.86); font-size: 0.95rem; min-height: 1.45em; margin: 2px 0 12px; transition: color .2s; }
.sd-go-meter__levels { display: flex; gap: 5px; margin-top: 14px; }
.sd-go-meter__levels button { flex: 1; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.72); font-family: var(--f-body); font-weight: 700; font-size: 0.6rem; letter-spacing: 0.05em; text-transform: uppercase; padding: 9px 3px; border-radius: var(--r-md); cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .15s; }
.sd-go-meter__levels button:hover { color: #fff; border-color: rgba(255,255,255,0.45); transform: translateY(-1px); }
.sd-go-meter__levels button.is-active { background: var(--sd-red); border-color: var(--sd-red); color: #fff; box-shadow: 0 6px 16px -6px rgba(214,41,41,0.8); }
.sd-go-meter__cta { display: none; margin-top: 16px; }
.sd-go-meter__cta.is-show { display: block; animation: sd-go-pop .45s var(--ease-spring); }
.sd-go-meter__cta a { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #fff; background: var(--sd-red); padding: 12px 24px; border-radius: var(--r-pill); box-shadow: 0 12px 28px -10px rgba(214,41,41,0.7); }
.sd-go-meter__cta a:hover { background: var(--sd-red-dark); }
.sd-go-meter.is-sizzling .sd-go-meter__chick { animation: sd-go-sizzle .3s linear infinite; }
@keyframes sd-go-sizzle { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-2px); } 75% { transform: translateX(2px); } }
.sd-go-meter.is-max { animation: sd-go-shake 0.5s var(--ease); }
@keyframes sd-go-shake { 0%,100% { transform: translateX(0); } 20% { transform: translateX(-7px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(3px); } }

/* ============================================================
   5 · SPIN & WIN + RSVP
   ============================================================ */
.sd-go-spin { background: var(--sd-cream); }
.sd-go-spin__stage { max-width: 1060px; margin: clamp(26px, 4vw, 40px) auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 64px); align-items: center; }

.sd-go-wheel-wrap { position: relative; width: min(420px, 86vw); margin: 0 auto; aspect-ratio: 1; }
.sd-go-wheel {
  position: absolute; inset: 0; border-radius: 50%;
  border: 10px solid #fff;
  box-shadow: 0 30px 70px -30px rgba(42,10,10,0.6), inset 0 0 0 6px rgba(214,41,41,0.18);
  transition: transform 5s cubic-bezier(0.17, 0.67, 0.12, 0.99);
  background: conic-gradient(
    var(--sd-red)  0deg 60deg,   var(--sd-cream) 60deg 120deg,
    var(--sd-red)  120deg 180deg, var(--sd-cream) 180deg 240deg,
    var(--sd-red)  240deg 300deg, var(--sd-cream) 300deg 360deg);
}
/* Each label is a full-size layer rotated to its slice's centre; the text sits
   near the RIM (margin-top) so it never crosses the hub. */
.sd-go-wheel__seg { position: absolute; inset: 0; display: flex; justify-content: center; pointer-events: none; }
.sd-go-wheel__seg b {
  display: block; width: 46%; margin-top: 6.5%; text-align: center;
  font-family: var(--f-disp); font-weight: 700; text-transform: uppercase;
  font-size: clamp(0.56rem, 1.6vw, 0.82rem); line-height: 1.05; letter-spacing: 0.01em;
}
.sd-go-wheel__hub {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 27%; height: 27%; border-radius: 50%; border: none; cursor: pointer;
  background: radial-gradient(circle at 35% 30%, #ff5a5a, var(--sd-red) 60%, var(--sd-red-dark));
  color: #fff; font-family: var(--f-disp); font-weight: 700; font-size: clamp(0.8rem, 2vw, 1.05rem);
  text-transform: uppercase; letter-spacing: 0.06em; z-index: 3;
  box-shadow: 0 10px 26px -10px rgba(0,0,0,0.6), inset 0 2px 0 rgba(255,255,255,0.4);
  transition: transform 0.25s var(--ease-spring);
}
.sd-go-wheel__hub:hover { transform: translate(-50%, -50%) scale(1.06); }
.sd-go-wheel__hub { animation: sd-go-hubpulse 2s ease-in-out infinite; }
.sd-go-wheel__hub:disabled { opacity: 0.6; cursor: default; animation: none; }
@keyframes sd-go-hubpulse {
  0%, 100% { box-shadow: 0 10px 26px -10px rgba(0,0,0,0.6), inset 0 2px 0 rgba(255,255,255,0.4), 0 0 0 0 rgba(214,41,41,0.55); }
  50%      { box-shadow: 0 10px 26px -10px rgba(0,0,0,0.6), inset 0 2px 0 rgba(255,255,255,0.4), 0 0 0 18px rgba(214,41,41,0); }
}
.sd-go-wheel__pin {
  position: absolute; top: -6px; left: 50%; transform: translateX(-50%); z-index: 4;
  width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent;
  border-top: 26px solid var(--sd-red); filter: drop-shadow(0 4px 5px rgba(0,0,0,0.35));
}

.sd-go-spin__panel { text-align: left; }
.sd-go-spin__result {
  display: none; margin-top: 18px; padding: 16px 18px; border-radius: var(--r-lg);
  background: #fff; border: 1px solid var(--sd-line-soft); border-left: 4px solid var(--sd-red);
  box-shadow: 0 18px 40px -28px rgba(35,24,20,0.4);
}
.sd-go-spin__result.is-show { display: block; animation: sd-go-pop 0.45s var(--ease-spring); }
@keyframes sd-go-pop { from { opacity: 0; transform: translateY(10px) scale(0.96); } to { opacity: 1; transform: none; } }
.sd-go-spin__result strong { display: block; font-family: var(--f-disp); font-size: 1.5rem; color: var(--sd-red); text-transform: uppercase; }
.sd-go-spin__result span { color: var(--sd-text-mute); font-size: 0.9rem; }

/* RSVP — standalone high-conversion section (copy + form, 2-col) */
.sd-go-rsvp-section { background: linear-gradient(165deg, #ffffff 0%, var(--sd-cream) 100%); }
.sd-go-rsvp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 60px); align-items: center; max-width: 1080px; margin: 0 auto; }
.sd-go-rsvp-section .sd-go-rsvp { margin-top: 0; }
.sd-go-rsvp-copy .sd-ld-h2 { margin-top: 6px; }
.sd-go-rsvp-perks { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sd-go-rsvp-perks li { display: flex; align-items: center; gap: 13px; font-weight: 600; color: var(--sd-text); font-size: 1rem; }
.sd-go-rsvp-perks li span { width: 42px; height: 42px; flex: none; display: grid; place-items: center; background: var(--sd-red-soft); border-radius: 13px; font-size: 1.25rem; }
@media (max-width: 860px) { .sd-go-rsvp-grid { grid-template-columns: 1fr; gap: 26px; } }

/* RSVP form */
.sd-go-rsvp { margin-top: 22px; }
.sd-go-rsvp__card { background: #fff; border: 1px solid var(--sd-line-soft); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 30px); box-shadow: 0 24px 50px -34px rgba(35,24,20,0.4); }
.sd-go-rsvp__title { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: 1.35rem; color: var(--sd-text); }
.sd-go-rsvp__sub { color: var(--sd-text-mute); font-size: 0.9rem; margin: 4px 0 16px; line-height: 1.5; }
.sd-go-field { position: relative; margin-bottom: 12px; }
.sd-go-field label { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sd-text-mute); margin-bottom: 5px; }
.sd-go-field input {
  width: 100%; font: inherit; color: var(--sd-text); background: var(--sd-cream);
  border: 1px solid var(--sd-line-soft); border-radius: var(--r-md); padding: 12px 14px;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
.sd-go-field input:focus { outline: none; background: #fff; border-color: var(--sd-red); box-shadow: 0 0 0 3px var(--sd-red-soft); }
.sd-go-field.is-invalid input { border-color: var(--sd-red); box-shadow: 0 0 0 3px var(--sd-red-soft); }
.sd-go-field__err { display: none; color: var(--sd-red); font-size: 0.74rem; margin-top: 4px; font-weight: 600; }
.sd-go-field.is-invalid .sd-go-field__err { display: block; }
.sd-go-rsvp__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sd-go-rsvp__submit { width: 100%; margin-top: 6px; justify-content: center; }
.sd-go-rsvp__submit[disabled] { opacity: 0.7; cursor: default; }
.sd-go-rsvp__ok { display: none; text-align: center; padding: 14px 8px; }
.sd-go-rsvp__ok-ic { font-size: 2.4rem; }
.sd-go-rsvp__ok strong { display: block; font-family: var(--f-disp); font-size: 1.4rem; text-transform: uppercase; color: var(--sd-text); margin-top: 6px; }
.sd-go-rsvp__ok span { color: var(--sd-text-mute); font-size: 0.92rem; }
.sd-go-rsvp.is-done .sd-go-rsvp__form { display: none; }
.sd-go-rsvp.is-done .sd-go-rsvp__ok { display: block; animation: sd-go-pop 0.5s var(--ease-spring); }

/* ============================================================
   6 · THE DETAILS — burgundy band
   ============================================================ */
.sd-go-details { background: radial-gradient(120% 120% at 20% 0%, #3a0c0c, var(--sd-burgundy) 55%, var(--sd-burgundy-2)); color: #fff; }
.sd-go-details__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 2vw, 24px); }
.sd-go-detail { position: relative; overflow: hidden; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--r-xl); padding: clamp(20px, 2.6vw, 28px); transition: transform .3s var(--ease), border-color .3s, background .3s; }
.sd-go-detail::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(var(--sd-red), #ff8a8a); transform: scaleY(0); transform-origin: top; transition: transform .35s var(--ease); }
.sd-go-detail:hover { transform: translateY(-5px); border-color: rgba(255,138,138,0.45); background: rgba(255,255,255,0.08); }
.sd-go-detail:hover::before { transform: scaleY(1); }
.sd-go-detail__ic { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: rgba(214,41,41,0.18); font-size: 1.7rem; }
.sd-go-detail__k { display: block; margin: 10px 0 4px; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #ff8a8a; }
.sd-go-detail__v { font-family: var(--f-disp); font-weight: 600; font-size: 1.16rem; line-height: 1.15; }
.sd-go-detail__v small { display: block; font-family: var(--f-body); font-weight: 500; font-size: 0.82rem; color: rgba(255,255,255,0.7); margin-top: 4px; letter-spacing: 0; }
.sd-go-details__foot { max-width: 1100px; margin: clamp(22px, 3vw, 30px) auto 0; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.sd-go-details__addr { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.86); font-size: 0.95rem; }
.sd-go-details__addr svg { width: 22px; height: 22px; flex: none; color: var(--go-flame-2); }

/* ============================================================
   7 · FINAL CTA
   ============================================================ */
.sd-go-final { background: linear-gradient(135deg, var(--sd-red), #a5161d); color: #fff; text-align: center; }
.sd-go-final__title { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1; }
.sd-go-final__title .sd-go-chicken { display: inline-block; animation: sd-go-float 3s ease-in-out infinite alternate; }
.sd-go-final__sub { font-size: 1.02rem; color: rgba(255,255,255,0.9); margin: 12px auto 0; max-width: 44ch; }
.sd-go-final__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 26px; }
.sd-go-final .ld-btn--ghost { background: rgba(255,255,255,0.12); color: #fff; border-color: rgba(255,255,255,0.5); }
.sd-go-final .ld-btn--ghost:hover { background: #fff; color: var(--sd-red); }
.sd-go-final .ld-btn--zomato { background: #fff; color: var(--sd-red); }
.sd-go-final .ld-btn--zomato:hover { background: var(--sd-burgundy); color: #fff; }

/* share popover (calendar + share reuse it) */
.sd-go-pop { position: relative; display: inline-flex; }
.sd-go-pop__menu {
  position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(8px);
  background: #fff; border-radius: var(--r-lg); padding: 8px; min-width: 200px; z-index: 50;
  box-shadow: 0 26px 60px -24px rgba(35,24,20,0.5); border: 1px solid var(--sd-line-soft);
  opacity: 0; visibility: hidden; transition: opacity 0.2s, transform 0.2s;
}
.sd-go-pop.is-open .sd-go-pop__menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.sd-go-pop__menu a, .sd-go-pop__menu button {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
  background: none; border: none; padding: 10px 12px; border-radius: var(--r-md);
  font: inherit; font-size: 0.9rem; font-weight: 600; color: var(--sd-text); cursor: pointer;
}
.sd-go-pop__menu a:hover, .sd-go-pop__menu button:hover { background: var(--sd-red-soft); color: var(--sd-red); }

/* ============================================================
   8 · CONFETTI canvas
   ============================================================ */
.sd-go-confetti { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 13000; }

/* ============================================================
   REWARD POPUP (10s) — teaser → form → success
   ============================================================ */
.sd-go-pop-modal { position: fixed; inset: 0; z-index: 12000; display: grid; place-items: center; padding: 18px; opacity: 0; visibility: hidden; transition: opacity .35s var(--ease), visibility .35s; }
.sd-go-pop-modal.is-open { opacity: 1; visibility: visible; }
.sd-go-pop-modal__backdrop { position: absolute; inset: 0; background: rgba(26,6,6,0.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.sd-go-pop-modal__panel {
  position: relative; z-index: 1; width: min(450px, 100%); max-height: 92dvh; overflow-y: auto;
  background: linear-gradient(180deg, #fff, var(--sd-cream)); border: 1px solid var(--sd-line-soft);
  border-radius: var(--r-xl); padding: clamp(26px, 5vw, 40px); text-align: center;
  box-shadow: 0 40px 90px -30px rgba(26,6,6,0.6);
  transform: translateY(24px) scale(0.96); transition: transform .42s var(--ease-spring);
}
.sd-go-pop-modal.is-open .sd-go-pop-modal__panel { transform: none; }
.sd-go-pop-modal__close { position: absolute; top: 12px; right: 14px; width: 38px; height: 38px; border: 0; background: rgba(0,0,0,0.05); border-radius: 50%; font-size: 1.5rem; line-height: 1; color: var(--sd-text-mute); cursor: pointer; }
.sd-go-pop-modal__close:hover { background: var(--sd-red-soft); color: var(--sd-red); }
.sd-go-pop-modal__emoji { font-size: clamp(2.6rem, 9vw, 3.6rem); line-height: 1; }
.sd-go-pop-modal__title { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: clamp(1.5rem, 5vw, 2.1rem); color: var(--sd-text); margin: 10px 0 6px; line-height: 1.05; }
.sd-go-pop-modal__title .ld-accent { color: var(--sd-red); }
.sd-go-pop-modal__sub { color: var(--sd-text-mute); font-size: 0.98rem; line-height: 1.55; margin: 0 auto 18px; max-width: 36ch; }
.sd-go-pop-form { text-align: left; margin-top: 4px; }
.sd-go-pop-form .ld-btn, .sd-go-pop-step[data-step="teaser"] .ld-btn { width: 100%; justify-content: center; margin-top: 8px; }
.sd-go-pop-reward { list-style: none; padding: 0; margin: 2px auto 20px; text-align: left; display: flex; flex-direction: column; gap: 9px; max-width: 34ch; }
.sd-go-pop-reward li { background: #fff; border: 1px solid var(--sd-line-soft); border-left: 3px solid var(--sd-red); border-radius: var(--r-md); padding: 11px 14px; font-size: 0.9rem; color: var(--sd-text); line-height: 1.4; }
.sd-go-pop-reward-badge { display: inline-flex; align-items: baseline; gap: 7px; margin: 6px 0 14px; padding: 10px 26px; background: linear-gradient(135deg, var(--sd-red), #a5161d); color: #fff; border-radius: var(--r-pill); box-shadow: 0 16px 32px -12px rgba(214,41,41,0.7); animation: sd-go-pop .5s var(--ease-spring); }
.sd-go-pop-reward-badge__num { font-family: var(--f-disp); font-weight: 700; font-size: clamp(2.3rem, 10vw, 3.1rem); line-height: 1; }
.sd-go-pop-reward-badge__lbl { font-family: var(--f-disp); font-weight: 700; font-size: 1.15rem; letter-spacing: 0.12em; }
.sd-go-pop-modal__cta { display: flex; flex-direction: column; gap: 10px; }
.sd-go-pop-modal__cta .ld-btn { width: 100%; justify-content: center; }
@media (prefers-reduced-motion: reduce) { .sd-go-pop-modal, .sd-go-pop-modal__panel { transition: opacity .2s linear; } }

/* ============================================================
   FUN LAYER — ticker · food parade · hero photo chips · venue ·
   icon bob · ₹69 wiggle · CTA pulse · floaties · +91 phone
   ============================================================ */

/* primary CTA pulse */
.sd-go-cta-pulse { animation: sd-go-ctapulse 2.4s ease-in-out infinite; }
@keyframes sd-go-ctapulse {
  0%,100% { box-shadow: 0 14px 30px -12px rgba(214,41,41,0.55), 0 0 0 0 rgba(214,41,41,0.45); }
  50%     { box-shadow: 0 18px 36px -10px rgba(214,41,41,0.7), 0 0 0 14px rgba(214,41,41,0); }
}

/* hero floating food photo chips (desktop only) */
.sd-go-hero__chip {
  position: absolute; z-index: -1; border-radius: 16px; overflow: hidden;
  border: 3px solid #fff; box-shadow: 0 22px 46px -18px rgba(0,0,0,0.7);
  width: clamp(96px, 9vw, 138px); aspect-ratio: 1;
}
body.sd-go .sd-go-hero__chip img { width: 100%; height: 100%; object-fit: cover; }
.sd-go-hero__chip--1 { top: 18%; left: 6%;   animation: sd-go-chip1 7s ease-in-out infinite alternate; }
.sd-go-hero__chip--2 { top: 22%; right: 7%;  animation: sd-go-chip2 8s ease-in-out infinite alternate; }
.sd-go-hero__chip--3 { bottom: 16%; left: 12%; animation: sd-go-chip3 6.5s ease-in-out infinite alternate; }
@keyframes sd-go-chip1 { from { transform: rotate(-9deg) translateY(0); } to { transform: rotate(-5deg) translateY(-18px); } }
@keyframes sd-go-chip2 { from { transform: rotate(8deg) translateY(0); }  to { transform: rotate(4deg) translateY(-16px); } }
@keyframes sd-go-chip3 { from { transform: rotate(6deg) translateY(0); }  to { transform: rotate(10deg) translateY(-13px); } }
/* desktop-only flourish — never overlap the mobile hero text */
@media (max-width: 1024px) { .sd-go-hero__chip { display: none !important; } }

/* neon ticker strip — glowing marquee */
.sd-go-ticker {
  background: linear-gradient(90deg, var(--sd-burgundy-2), #3a0c0c 50%, var(--sd-burgundy-2));
  border-top: 2px solid rgba(255,80,85,0.55); border-bottom: 2px solid rgba(255,80,85,0.55);
  box-shadow: inset 0 0 34px rgba(214,41,41,0.28), 0 6px 22px -8px rgba(214,41,41,0.5);
  overflow: hidden;
}
.sd-go-ticker__track { display: inline-flex; align-items: center; white-space: nowrap; animation: sd-go-ticker 34s linear infinite; }
.sd-go-ticker:hover .sd-go-ticker__track { animation-play-state: paused; }
.sd-go-ticker__group { display: inline-flex; align-items: center; }
.sd-go-ticker__group span {
  display: inline-flex; align-items: center; padding: 15px 0;
  font-family: var(--f-disp); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.13em; font-size: clamp(0.82rem, 2vw, 1.12rem); color: #fff;
  text-shadow: 0 0 7px rgba(255,95,100,0.55), 0 0 16px rgba(214,41,41,0.4);
}
.sd-go-ticker__group span::after {
  content: "✦"; margin: 0 26px; color: var(--sd-red); font-size: 0.78em;
  text-shadow: 0 0 8px rgba(255,70,80,0.9), 0 0 18px rgba(214,41,41,0.65);
}
@keyframes sd-go-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* food parade */
.sd-go-parade-band { background: var(--sd-cream); padding: clamp(40px,6vw,72px) 0 clamp(30px,5vw,56px); overflow: hidden; }
.sd-go-parade-band__head { text-align: center; padding: 0 18px; margin-bottom: clamp(20px,3vw,30px); }
.sd-go-parade { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.sd-go-parade__track { display: flex; gap: 16px; width: max-content; animation: sd-go-parade 50s linear infinite; }
.sd-go-parade:hover .sd-go-parade__track { animation-play-state: paused; }
.sd-go-parade__item {
  flex: none; width: clamp(150px, 20vw, 208px); aspect-ratio: 4/3; border-radius: var(--r-lg);
  overflow: hidden; border: 5px solid #fff; box-shadow: 0 16px 34px -20px rgba(42,10,10,0.5);
  transform: rotate(-2.2deg);
}
.sd-go-parade__item:nth-child(even) { transform: rotate(2.2deg); }
body.sd-go .sd-go-parade__item img { width: 100%; height: 100%; object-fit: cover; }
@keyframes sd-go-parade { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* venue "Step inside" feature (Kurla photo) */
.sd-go-venue { background: linear-gradient(180deg, #fff, var(--sd-cream)); padding-top: clamp(26px, 4vw, 48px); padding-bottom: clamp(26px, 4vw, 48px); }
.sd-go-venue__card {
  position: relative; max-width: 760px; margin: 0 auto; border-radius: var(--r-xl);
  overflow: hidden; box-shadow: 0 36px 80px -42px rgba(42,10,10,0.55); aspect-ratio: 16/10;
}
.sd-go-venue__media { position: absolute; inset: 0; }
body.sd-go .sd-go-venue__media img { width: 100%; height: 100%; object-fit: cover; animation: sd-go-kenburns 20s ease-in-out infinite alternate; }
.sd-go-venue__card:hover .sd-go-venue__media img { animation-play-state: paused; }
.sd-go-venue__overlay {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end;
  padding: clamp(20px, 4vw, 48px); color: #fff;
  background: linear-gradient(0deg, rgba(20,5,5,0.88) 0%, rgba(20,5,5,0.3) 46%, transparent 76%);
}
.sd-go-venue__tag {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--f-body); font-weight: 800; font-size: 0.7rem;
  letter-spacing: 0.2em; text-transform: uppercase; color: #fff; text-decoration: none;
  background: rgba(214,41,41,0.92); padding: 7px 14px; border-radius: var(--r-pill); margin-bottom: 12px;
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.sd-go-venue__tag:hover { background: var(--sd-red); transform: translateY(-2px); }
.sd-go-venue__title { font-family: var(--f-disp); font-weight: 700; text-transform: uppercase; font-size: clamp(1.8rem, 5vw, 3.1rem); line-height: 1; }
.sd-go-venue__title .ld-accent { color: #ff6b6b; }
.sd-go-venue__sub { margin-top: 10px; max-width: 60ch; color: rgba(255,255,255,0.9); font-size: clamp(0.9rem,1.6vw,1.05rem); line-height: 1.55; }
.sd-go-venue__tag { animation: sd-go-pulse 2.4s ease-in-out infinite; }
.sd-go-venue__card { animation: sd-go-floatcard 7s ease-in-out infinite; }
.sd-go-venue__card::after { content: ""; position: absolute; top: -40%; left: -60%; width: 38%; height: 180%; z-index: 1; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255,255,255,0.22), transparent); transform: rotate(16deg); animation: sd-go-venue-shine 6.5s ease-in-out infinite; }
@keyframes sd-go-floatcard { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes sd-go-venue-shine { 0% { left: -60%; } 55%, 100% { left: 130%; } }

/* idle bob on event-card icons */
.sd-go-card__icon { animation: sd-go-bob 3.2s ease-in-out infinite; }
.sd-go-cards .sd-go-card:nth-child(2) .sd-go-card__icon { animation-delay: .4s; }
.sd-go-cards .sd-go-card:nth-child(3) .sd-go-card__icon { animation-delay: .8s; }
.sd-go-cards .sd-go-card:nth-child(4) .sd-go-card__icon { animation-delay: 1.2s; }
@keyframes sd-go-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

/* ₹69 gentle wiggle */
.sd-go-ticket__num { animation: sd-go-wiggle 3.6s ease-in-out infinite; transform-origin: 50% 85%; }
@keyframes sd-go-wiggle { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-2.5deg); } 75% { transform: rotate(2.5deg); } }

/* final-CTA rising floaties */
.sd-go-final .sd-go-section__inner { position: relative; z-index: 1; }
.sd-go-floaties { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.sd-go-floaties span { position: absolute; bottom: -8%; font-size: clamp(1.1rem, 3vw, 1.9rem); opacity: 0; animation: sd-go-rise linear infinite; }
@keyframes sd-go-rise { 0% { transform: translateY(0) rotate(0); opacity: 0; } 12% { opacity: 0.5; } 100% { transform: translateY(-115vh) rotate(70deg); opacity: 0; } }

/* +91 India phone prefix */
.sd-go-phone { display: flex; align-items: stretch; }
.sd-go-phone__cc {
  display: inline-flex; align-items: center; white-space: nowrap; padding: 12px 12px; font-weight: 700; color: var(--sd-text);
  background: var(--sd-cream-deep); border: 1px solid var(--sd-line-soft); border-right: 0;
  border-radius: var(--r-md) 0 0 var(--r-md);
}
.sd-go-field .sd-go-phone input { border-radius: 0 var(--r-md) var(--r-md) 0; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .sd-go-cards { grid-template-columns: repeat(2, 1fr); }
  .sd-go-details__grid { grid-template-columns: repeat(2, 1fr); }
  .sd-go-heat__grid, .sd-go-spin__stage { grid-template-columns: 1fr; }
  .sd-go-spin__stage { gap: 34px; }
  .sd-go-hero__neon { display: none; }
}
@media (max-width: 640px) {
  .sd-go-hero { min-height: 92svh; padding-top: 128px; }
  .sd-go-ticket { grid-template-columns: 1fr; }
  .sd-go-ticket::before { display: none; }
  .sd-go-ticket__media { min-height: 200px; }
  .sd-go-cards { grid-template-columns: 1fr 1fr; gap: 12px; }
  .sd-go-card { padding: 18px; }
  .sd-go-rsvp__row { grid-template-columns: 1fr; }
  .sd-go-cd__cell { min-width: 68px; }
  .sd-go-details__foot { flex-direction: column; align-items: stretch; text-align: center; }
  .sd-go-details__foot .ld-btn { justify-content: center; }
}
@media (max-width: 420px) {
  .sd-go-cards { grid-template-columns: 1fr; }
  .sd-go-details__grid { grid-template-columns: 1fr; }
  .sd-go-countdown { gap: 7px; }
  .sd-go-cd__cell { min-width: 60px; padding: 10px 6px; }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  body.sd-go .sd-go-hero__bg img,
  .sd-go-hero__eyebrow::before, .sd-go-hero__neon, .sd-go-ticket__media::after,
  .sd-go-eq i, .sd-go-scrollcue span, .sd-go-final__title .sd-go-chicken { animation: none !important; }
  .sd-go-wheel { transition: transform 0.6s linear; }
  .sd-go-cd__num.is-tick { animation: none; }
}

/* ============================================================
   MOBILE — AUTHORITATIVE LAYER (95% of traffic; wins by source order)
   ============================================================ */
@media (max-width: 900px) {
  .sd-go-scrollcue { display: none; }   /* avoid overlapping the hero note on the shorter mobile hero */
  /* Thumb-friendly: every hero/closer CTA goes full-width + stacked */
  .sd-go-hero__cta, .sd-go-final__cta { flex-direction: column; align-items: stretch; gap: 10px; }
  .sd-go-hero__cta > *, .sd-go-final__cta > * { width: 100%; }
  .sd-go-hero__cta .sd-go-pop, .sd-go-final__cta .sd-go-pop { display: block; }
  .sd-go-hero__cta .ld-btn, .sd-go-final__cta .ld-btn { width: 100%; justify-content: center; }
  /* calendar/share popover: stay on-screen under the full-width button */
  .sd-go-pop__menu { left: 0; min-width: 0; width: 100%; transform: translateY(8px); }
  .sd-go-pop.is-open .sd-go-pop__menu { transform: translateY(0); }
}

@media (max-width: 640px) {
  .sd-go-section { padding: clamp(44px, 9vw, 64px) 16px; }

  /* hero: compact so the CTAs sit within the first screen (no scroll) */
  .sd-go-hero { min-height: 100svh; padding: 84px 16px 22px; justify-content: center; }
  .sd-go-hero__eyebrow { font-size: 0.66rem; padding: 7px 14px; }
  .sd-go-hero__title { font-size: clamp(1.5rem, 7.2vw, 2.3rem); line-height: 1.0; margin: 10px 0 2px; }
  .sd-go-hero__sub { font-size: clamp(1rem, 3.2vw, 1.2rem) !important; margin: 4px auto 0 !important; }
  .sd-go-hero__note { margin-top: 8px; font-size: 0.72rem; }
  .sd-go-hero__date { font-size: 0.72rem; padding: 7px 12px; }

  /* countdown: compact */
  .sd-go-countdown { gap: 7px; flex-wrap: nowrap; margin: 13px auto 10px; }
  .sd-go-cd__cell { min-width: 0; flex: 1 1 0; padding: 9px 2px; }
  .sd-go-cd__num { font-size: clamp(1.35rem, 7.6vw, 2rem); }
  .sd-go-cd__lbl { font-size: 0.5rem; letter-spacing: 0.08em; margin-top: 4px; }

  /* CTAs: compact + tight so they clear the fold */
  .sd-go-hero__cta { margin-top: 14px; gap: 8px; }
  .sd-go-hero__cta .ld-btn { padding: 12px 18px; font-size: 0.72rem; }
  .sd-go-scrollcue { display: none; }

  /* event cards → single column, compact icon-left grid */
  .sd-go-cards { grid-template-columns: 1fr; gap: 14px; }
  .sd-go-card { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; align-items: center; padding: 18px; }
  .sd-go-card__icon { width: 52px; height: 52px; font-size: 1.6rem; }
  .sd-go-card__title { margin: 0; }
  .sd-go-card__desc, .sd-go-card__tags, .sd-go-card__link { grid-column: 1 / -1; }

  /* ticket: stacked; show the cheese-pull properly (tall portrait, not full screen) */
  .sd-go-ticket__media { height: auto; min-height: 0; aspect-ratio: 4 / 5; max-height: 56vh; }
  body.sd-go .sd-go-ticket__media img { object-position: center; }

  /* venue: landscape store photo stays readable; tag + title only */
  .sd-go-venue__card { aspect-ratio: 4 / 3; }
  .sd-go-venue__sub { display: none; }

  .sd-go-parade__item { width: 150px; border-width: 4px; }

  /* heat + spin already stack (≤1024); tune sizes */
  .sd-go-wheel-wrap { width: min(340px, 86vw); }
  .sd-go-spin__result { text-align: left; }

  /* details — 2 columns per row on mobile */
  .sd-go-details__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .sd-go-detail { padding: 16px 14px; border-radius: var(--r-lg); }
  .sd-go-detail__ic { width: 44px; height: 44px; font-size: 1.4rem; }
  .sd-go-detail__v { font-size: 1.02rem; }
  .sd-go-details__foot { text-align: center; }
  .sd-go-details__foot .ld-btn { width: 100%; justify-content: center; }
  .sd-go-details__addr { justify-content: center; }
}

/* floatbar: drop the food thumb, let the two CTAs share the bar cleanly */
@media (max-width: 600px) {
  body.sd-go .sd-ld-floatbar__item { display: none; }
  body.sd-go .sd-ld-floatbar { gap: 8px; padding: 8px; }
  body.sd-go .sd-ld-floatbar__btn { flex: 1 1 0; justify-content: center; padding: 13px 8px; font-size: 0.84rem; }
  /* the non-Zomato "Notify Me" button gets a visible outline style */
  body.sd-go .sd-ld-floatbar__btn:not(.sd-ld-floatbar__btn--zomato) {
    background: var(--sd-red-soft); color: var(--sd-red); border: 1.5px solid var(--sd-red); border-radius: var(--r-pill); font-weight: 800;
  }
}

@media (max-width: 400px) {
  .sd-go-ticket__num { font-size: clamp(3.4rem, 19vw, 5rem); }
  .sd-go-venue__title { font-size: clamp(1.6rem, 8.5vw, 2.2rem); }
  .sd-go-cd__num { font-size: clamp(1.4rem, 9vw, 2rem); }
}

/* reduced motion — fun layer */
@media (prefers-reduced-motion: reduce) {
  .sd-go-cta-pulse, .sd-go-wheel__hub, .sd-go-hero__chip, .sd-go-ticker__track, .sd-go-parade__track,
  body.sd-go .sd-go-venue__media img, body.sd-go .sd-go-ticket__media img, .sd-go-venue__card, .sd-go-venue__card::after, .sd-go-venue__tag,
  .sd-go-meter.is-sizzling .sd-go-meter__chick, .sd-go-card__icon, .sd-go-ticket__num,
  .sd-go-floaties span { animation: none !important; }
}
