/* =====================================================================
   THE RED DAWN SHOW  —  Club Chaos Design System
   Bright • Happy • Sexy • Neon comedy-club / Vegas nightlife
   One stylesheet shared by every page.
   ===================================================================== */

/* ----------  DESIGN TOKENS  ---------- */
:root{
  /* Core neon palette */
  --red:        #ff1f43;
  --red-deep:   #d10f30;
  --pink:       #ff2d95;
  --magenta:    #ff4fd8;
  --gold:       #ffcf40;
  --gold-soft:  #ffe08a;
  --cyan:       #24e5ff;
  --purple:     #a15cff;
  --violet:     #6a2cff;

  /* Backgrounds */
  --bg:         #0a0511;
  --bg-2:       #120724;
  --bg-3:       #1a0b30;
  --panel:      rgba(255,255,255,.045);
  --panel-2:    rgba(255,255,255,.08);
  --stroke:     rgba(255,255,255,.12);
  --stroke-hot: rgba(255,45,149,.45);

  /* Text */
  --ink:        #fff5fb;
  --ink-soft:   #d7c7e6;
  --ink-mute:   #9c8bb4;

  /* Signature gradients */
  --grad-chaos: linear-gradient(100deg,#ff1f43 0%,#ff2d95 38%,#ff4fd8 62%,#ffcf40 100%);
  --grad-night: linear-gradient(135deg,#6a2cff 0%,#a15cff 45%,#ff2d95 100%);
  --grad-cyan:  linear-gradient(120deg,#24e5ff 0%,#a15cff 100%);
  --grad-gold:  linear-gradient(100deg,#ffcf40 0%,#ff9e2c 50%,#ff2d95 100%);

  /* FX */
  --glow-pink:  0 0 24px rgba(255,45,149,.55);
  --glow-cyan:  0 0 24px rgba(36,229,255,.5);
  --glow-gold:  0 0 24px rgba(255,207,64,.5);
  --shadow-lg:  0 30px 70px -20px rgba(0,0,0,.75);

  /* Layout */
  --wrap: 1200px;
  --radius: 20px;
  --radius-sm: 12px;
  --nav-h: 74px;

  --font-display: 'Anton', 'Arial Narrow', sans-serif;
  --font-script:  'Pacifico', cursive;
  --font-body:    'Poppins', 'Segoe UI', system-ui, sans-serif;
}

/* ----------  RESET  ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
  position:relative;
}
/* animated aurora backdrop */
body::before{
  content:""; position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(60% 55% at 12% 8%, rgba(255,45,149,.20), transparent 60%),
    radial-gradient(55% 50% at 88% 12%, rgba(36,229,255,.16), transparent 60%),
    radial-gradient(70% 60% at 50% 100%, rgba(161,92,255,.20), transparent 65%),
    linear-gradient(180deg,#0a0511 0%,#12071f 55%,#0a0511 100%);
  animation:auroraShift 24s ease-in-out infinite alternate;
}
body::after{ /* subtle grain / club haze */
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:3px 3px; opacity:.5;
}
@keyframes auroraShift{
  0%{ filter:hue-rotate(0deg) saturate(1);}
  100%{ filter:hue-rotate(24deg) saturate(1.15);}
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
:focus-visible{ outline:3px solid var(--cyan); outline-offset:3px; border-radius:6px; }

/* ----------  TYPOGRAPHY  ---------- */
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:400; line-height:.98;
  letter-spacing:.5px; text-transform:uppercase; }
h1{ font-size:clamp(2.6rem,7vw,5.6rem); }
h2{ font-size:clamp(2rem,4.6vw,3.4rem); }
h3{ font-size:clamp(1.3rem,2.4vw,1.9rem); }
p{ color:var(--ink-soft); }
.script{ font-family:var(--font-script); text-transform:none; letter-spacing:0; }

.grad-text{ background:var(--grad-chaos); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gold-text{ background:var(--grad-gold);  -webkit-background-clip:text; background-clip:text; color:transparent; }
.cyan-text{ color:var(--cyan); text-shadow:var(--glow-cyan); }
.neon{ text-shadow:0 0 8px rgba(255,45,149,.65),0 0 26px rgba(255,45,149,.45); }

/* ----------  LAYOUT HELPERS  ---------- */
.wrap{ width:min(var(--wrap),92vw); margin-inline:auto; }
.section{ padding:clamp(3.5rem,8vw,7rem) 0; position:relative; }
.center{ text-align:center; }
.eyebrow{
  display:inline-block; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  font-size:.72rem; color:var(--gold); padding:.4rem .9rem; border:1px solid var(--stroke-hot);
  border-radius:100px; background:rgba(255,45,149,.08); margin-bottom:1rem;
}
.lead{ font-size:clamp(1.05rem,1.7vw,1.25rem); color:var(--ink-soft); max-width:62ch; }
.center .lead{ margin-inline:auto; }
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.6rem}.mt-4{margin-top:2.4rem}

/* ----------  BUTTONS  ---------- */
.btn{
  --b:var(--grad-chaos);
  display:inline-flex; align-items:center; gap:.55rem; justify-content:center;
  font-weight:700; font-size:.98rem; letter-spacing:.3px;
  padding:.95rem 1.7rem; border-radius:100px; border:0; color:#fff;
  background:var(--b); background-size:180% 180%;
  box-shadow:0 10px 26px -8px rgba(255,45,149,.7); position:relative;
  transition:transform .18s ease, box-shadow .25s ease, background-position .5s ease;
}
.btn:hover{ transform:translateY(-3px) scale(1.02); background-position:100% 0; box-shadow:0 16px 34px -8px rgba(255,45,149,.85); }
.btn:active{ transform:translateY(-1px) scale(.99); }
.btn--gold{ --b:var(--grad-gold); color:#2a0a12; box-shadow:0 10px 26px -8px rgba(255,207,64,.7); }
.btn--cyan{ --b:var(--grad-cyan); color:#04121a; box-shadow:0 10px 26px -8px rgba(36,229,255,.6); }
.btn--ghost{ background:transparent; border:2px solid var(--stroke-hot); box-shadow:none; color:var(--ink); }
.btn--ghost:hover{ border-color:var(--pink); box-shadow:var(--glow-pink); }
.btn--lg{ padding:1.15rem 2.2rem; font-size:1.06rem; }
.btn--block{ width:100%; }

/* ----------  NAVBAR  ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:1000; height:var(--nav-h);
  display:flex; align-items:center;
  background:rgba(10,5,17,.55); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--stroke); transition:height .25s, background .25s;
}
.nav.scrolled{ height:62px; background:rgba(10,5,17,.9); box-shadow:0 8px 30px rgba(0,0,0,.5); }
.nav__in{ width:min(var(--wrap),94vw); margin-inline:auto; display:flex; align-items:center; gap:1rem; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:.6rem; font-family:var(--font-display); font-size:1.4rem; letter-spacing:1px; }
.brand img{ height:42px; width:auto; filter:drop-shadow(0 0 10px rgba(255,45,149,.6)); }
.brand b{ background:var(--grad-chaos); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav__links{ display:flex; align-items:center; gap:.25rem; list-style:none; }
.nav__links a{ font-size:.82rem; font-weight:600; padding:.5rem .7rem; border-radius:10px; color:var(--ink-soft);
  text-transform:uppercase; letter-spacing:.5px; transition:.18s; position:relative; white-space:nowrap; }
.nav__links a:hover{ color:#fff; background:var(--panel-2); }
.nav__links a.active{ color:#fff; }
.nav__links a.active::after{ content:""; position:absolute; left:.7rem; right:.7rem; bottom:.15rem; height:2px; background:var(--grad-chaos); border-radius:2px; }
.nav__cta{ display:flex; gap:.5rem; align-items:center; }
.nav__cta .btn{ padding:.6rem 1.1rem; font-size:.82rem; }
.hamburger{ display:none; width:46px; height:46px; border-radius:12px; border:1px solid var(--stroke);
  background:var(--panel); color:#fff; flex-direction:column; gap:5px; align-items:center; justify-content:center; }
.hamburger span{ width:22px; height:2px; background:#fff; border-radius:2px; transition:.25s; }
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* mobile dropdown */
.mobile-menu{ position:fixed; inset:var(--nav-h) 0 auto 0; z-index:999;
  background:rgba(12,6,26,.98); backdrop-filter:blur(16px); border-bottom:1px solid var(--stroke);
  transform:translateY(-120%); transition:transform .35s cubic-bezier(.2,.8,.2,1); max-height:85vh; overflow:auto; }
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu ul{ list-style:none; padding:1rem 1.2rem 2rem; }
.mobile-menu a{ display:block; padding:.85rem .6rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px;
  font-size:.95rem; border-bottom:1px solid var(--stroke); color:var(--ink-soft); }
.mobile-menu a:hover{ color:var(--pink); }

/* ----------  MARQUEE TICKER  ---------- */
.ticker{ background:var(--grad-chaos); color:#fff; overflow:hidden; white-space:nowrap; border-block:1px solid rgba(255,255,255,.15); }
.ticker__track{ display:inline-flex; gap:2.5rem; padding:.5rem 0; animation:marquee 28s linear infinite; font-weight:700; letter-spacing:1px; text-transform:uppercase; font-size:.82rem; }
.ticker__track span{ display:inline-flex; align-items:center; gap:.5rem; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* ----------  HERO  ---------- */
.hero{ position:relative; min-height:92vh; display:flex; align-items:center; padding-top:var(--nav-h);
  overflow:hidden; }
.hero__bg{ position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  background-image:
    linear-gradient(180deg,rgba(10,5,17,.55),rgba(10,5,17,.9)),
    linear-gradient(90deg,rgba(106,44,255,.35),transparent 60%),
    url("https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?auto=format&fit=crop&w=1920&q=80");
  filter:saturate(1.15); }
.hero__bg::after{ content:""; position:absolute; inset:0; background:radial-gradient(70% 60% at 50% 40%,transparent,rgba(10,5,17,.75)); }
.hero__in{ position:relative; z-index:2; width:min(var(--wrap),92vw); margin-inline:auto; padding:3rem 0; }
.hero h1{ font-size:clamp(3rem,10vw,7.5rem); }
.hero__sub{ font-size:clamp(1.1rem,2.2vw,1.5rem); color:var(--gold-soft); font-weight:600; margin-top:.6rem; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.hero__blobs span{ position:absolute; border-radius:50%; filter:blur(50px); opacity:.6; z-index:1; }

/* floating chaos emojis */
.floaters{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.floaters i{ position:absolute; font-style:normal; font-size:2rem; opacity:.7; animation:floatY 9s ease-in-out infinite; }
@keyframes floatY{ 0%,100%{ transform:translateY(0) rotate(0);} 50%{ transform:translateY(-26px) rotate(12deg);} }

/* ----------  CARDS / GRID  ---------- */
.grid{ display:grid; gap:1.4rem; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

.card{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:linear-gradient(160deg,var(--panel-2),var(--panel));
  border:1px solid var(--stroke); box-shadow:var(--shadow-lg);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.card:hover{ transform:translateY(-8px); border-color:var(--stroke-hot); box-shadow:0 34px 70px -22px rgba(255,45,149,.35); }
.card__img{ aspect-ratio:16/10; background-size:cover; background-position:center; position:relative; }
.card__img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(10,5,17,.7)); }
.card__body{ padding:1.4rem 1.5rem 1.7rem; }
.card__tag{ font-size:.7rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.card h3{ margin:.35rem 0 .5rem; }
.card p{ font-size:.96rem; }
.card__link{ display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; font-weight:700; color:var(--pink); }
.card__link::after{ content:"→"; transition:transform .2s; }
.card:hover .card__link::after{ transform:translateX(5px); }

/* feature card with neon top rule */
.feature{ padding:1.8rem 1.6rem; border-radius:var(--radius); background:var(--panel);
  border:1px solid var(--stroke); position:relative; overflow:hidden; transition:.25s; }
.feature::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--grad-chaos); }
.feature:hover{ transform:translateY(-6px); background:var(--panel-2); }
.feature .emoji{ font-size:2.2rem; }

/* section heading block */
.sec-head{ max-width:760px; margin-bottom:2.6rem; }
.center.sec-head{ margin-inline:auto; }

/* ----------  STATS  ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.stat{ text-align:center; padding:1.5rem 1rem; border-radius:var(--radius); background:var(--panel); border:1px solid var(--stroke); }
.stat b{ font-family:var(--font-display); font-size:clamp(2rem,4vw,3rem); display:block; line-height:1;
  background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat span{ font-size:.85rem; color:var(--ink-mute); text-transform:uppercase; letter-spacing:1px; }

/* ----------  SPLIT (image + text)  ---------- */
.split{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.split.rev{ direction:rtl; } .split.rev > *{ direction:ltr; }
.split__media{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--stroke); box-shadow:var(--shadow-lg);
  aspect-ratio:4/3; background-size:cover; background-position:center; position:relative; }
.split__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,45,149,.15),transparent 60%); }

/* ----------  AD BANNERS  ---------- */
.ads-strip{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1.1rem; }
.ad{
  position:relative; border-radius:var(--radius); overflow:hidden; min-height:150px;
  display:flex; flex-direction:column; justify-content:flex-end; padding:1.3rem 1.4rem;
  color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow-lg); transition:transform .25s, box-shadow .25s; isolation:isolate;
}
.ad:hover{ transform:translateY(-7px) scale(1.015); box-shadow:0 30px 60px -18px rgba(0,0,0,.7); }
.ad::before{ content:""; position:absolute; inset:0; z-index:-1; opacity:.95; }
.ad::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.55)); }
.ad__kicker{ font-size:.66rem; letter-spacing:2px; text-transform:uppercase; font-weight:700; opacity:.9; }
.ad__title{ font-family:var(--font-display); font-size:1.5rem; line-height:1; margin:.2rem 0; text-shadow:0 2px 12px rgba(0,0,0,.5); }
.ad__desc{ font-size:.85rem; opacity:.95; }
.ad__go{ margin-top:.6rem; display:inline-flex; align-items:center; gap:.35rem; font-weight:700; font-size:.82rem;
  background:rgba(255,255,255,.16); backdrop-filter:blur(4px); padding:.35rem .75rem; border-radius:100px; width:max-content; }
.ad__go::after{ content:"↗"; }
/* brand gradients for each ad */
.ad--giving::before{ background:linear-gradient(140deg,#0aa3ff,#00e0c6); }
.ad--wings::before{ background:linear-gradient(140deg,#ff3d00,#ff1f43,#ffb300); }
.ad--comedy::before{ background:linear-gradient(140deg,#ff1f43,#ff2d95,#a15cff); }
.ad--compliments::before{ background:linear-gradient(140deg,#ffcf40,#ff7ac0,#a15cff); }
.ad--amazing::before{ background:linear-gradient(140deg,#ff2d95,#ffcf40,#24e5ff); }
.ad--dating::before{ background:linear-gradient(140deg,#37d67a,#ff2d95,#a15cff); }
.ad--lounge::before{ background:linear-gradient(140deg,#1f8f4e,#0a5,#ffcf40); }
.ad--advertise{ border:2px dashed rgba(255,255,255,.55); }
.ad--advertise::before{ background:linear-gradient(140deg,#12071f,#2a0f3d); }
.ad--advertise::after{ background:radial-gradient(120% 100% at 50% 0,rgba(255,45,149,.25),transparent 60%); }

/* rotating sponsor spotlight */
.spotlight{ display:grid; place-items:center; text-align:center; }

/* single-slot rotating "moving" banner (cycled by [data-rotate] in main.js) */
.ad-rotator{ position:relative; max-width:860px; margin-inline:auto; }
.ad-rotator .ad{ min-height:150px; animation:adFade .6s ease; }
.ad-rotator .ad__title{ font-size:1.9rem; }
@keyframes adFade{ from{ opacity:0; transform:translateY(10px) scale(.99); } to{ opacity:1; transform:none; } }
.ad-rotator__note{ text-align:center; margin-top:.75rem; font-size:.72rem; letter-spacing:2px;
  text-transform:uppercase; font-weight:700; color:var(--ink-mute); }
.ad-rotator__note b{ color:var(--gold); }

/* ----------  QUOTE / TESTIMONIAL  ---------- */
.quote{ padding:2rem 2.2rem; border-radius:var(--radius); background:var(--panel);
  border:1px solid var(--stroke); border-left:4px solid var(--pink); }
.quote p{ font-size:1.05rem; color:var(--ink); font-style:italic; }
.quote cite{ display:block; margin-top:.8rem; color:var(--gold); font-weight:700; font-style:normal; }

/* ----------  ACCORDION / TOPICS  ---------- */
.chips{ display:flex; flex-wrap:wrap; gap:.6rem; }
.chip{ padding:.5rem 1rem; border-radius:100px; background:var(--panel); border:1px solid var(--stroke);
  font-size:.85rem; font-weight:600; color:var(--ink-soft); transition:.2s; }
.chip:hover{ border-color:var(--pink); color:#fff; transform:translateY(-2px); box-shadow:var(--glow-pink); }

.accordion{ border:1px solid var(--stroke); border-radius:var(--radius); overflow:hidden; background:var(--panel); }
.acc__item + .acc__item{ border-top:1px solid var(--stroke); }
.acc__head{ width:100%; text-align:left; background:none; border:0; color:#fff; padding:1.15rem 1.3rem;
  font-weight:700; display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:1.02rem; }
.acc__head:hover{ background:var(--panel-2); }
.acc__head .plus{ transition:transform .25s; color:var(--pink); font-size:1.4rem; }
.acc__item.open .plus{ transform:rotate(45deg); }
.acc__body{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.acc__body p{ padding:0 1.3rem 1.2rem; }

/* ----------  FORMS  ---------- */
.form{ display:grid; gap:1.1rem; }
.form .row{ display:grid; gap:1.1rem; grid-template-columns:1fr 1fr; }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field label{ font-size:.82rem; font-weight:600; letter-spacing:.5px; color:var(--ink-soft); text-transform:uppercase; }
.field .req{ color:var(--pink); }
.field input,.field select,.field textarea{
  width:100%; background:rgba(255,255,255,.05); border:1px solid var(--stroke); color:#fff;
  padding:.85rem 1rem; border-radius:var(--radius-sm); font-family:inherit; font-size:.98rem; transition:.2s;
}
.field textarea{ min-height:150px; resize:vertical; }
.field input::placeholder,.field textarea::placeholder{ color:var(--ink-mute); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:0; border-color:var(--pink); box-shadow:0 0 0 3px rgba(255,45,149,.2); background:rgba(255,255,255,.08); }
.field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--pink) 50%),linear-gradient(135deg,var(--pink) 50%,transparent 50%);
  background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }
.form-note{ font-size:.85rem; color:var(--ink-mute); }
.radio-row{ display:flex; gap:1.2rem; flex-wrap:wrap; }
.radio-row label{ display:inline-flex; align-items:center; gap:.4rem; text-transform:none; letter-spacing:0; color:var(--ink); font-weight:500; }
.form-success{ display:none; padding:1.1rem 1.3rem; border-radius:var(--radius-sm); background:rgba(55,214,122,.14);
  border:1px solid #37d67a; color:#b7ffd0; font-weight:600; }
.form-success.show{ display:block; }

.notice{ padding:1.4rem 1.6rem; border-radius:var(--radius); border:1px solid var(--gold);
  background:rgba(255,207,64,.08); }
.notice h4{ color:var(--gold); margin-bottom:.5rem; font-size:1.1rem; }
.disclaimer{ padding:1.4rem 1.6rem; border-radius:var(--radius); border:1px solid var(--stroke);
  background:rgba(255,31,67,.06); font-size:.9rem; }
.disclaimer h4{ color:var(--red); margin-bottom:.5rem; }
.disclaimer ul{ margin:.5rem 0 .5rem 1.1rem; color:var(--ink-soft); }

/* ----------  PAGE HERO (interior pages)  ---------- */
.phero{ padding:calc(var(--nav-h) + 3.5rem) 0 3rem; position:relative; overflow:hidden; text-align:center; }
.phero::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(60% 90% at 50% 0,rgba(255,45,149,.22),transparent 60%); }
.phero .lead{ margin-inline:auto; }
.crumbs{ font-size:.8rem; color:var(--ink-mute); margin-bottom:.7rem; letter-spacing:1px; text-transform:uppercase; }
.crumbs a:hover{ color:var(--pink); }

/* ----------  CTA BAND  ---------- */
.cta-band{ text-align:center; border-radius:calc(var(--radius) + 8px); padding:clamp(2.4rem,5vw,4rem);
  background:var(--grad-night); position:relative; overflow:hidden; box-shadow:var(--shadow-lg); }
.cta-band::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 100% at 50% 0,rgba(255,255,255,.18),transparent 60%); }
.cta-band > *{ position:relative; }
.cta-band h2{ color:#fff; }
.cta-band .btn--gold{ margin-top:1.4rem; }

/* ----------  FOOTER  ---------- */
.footer{ margin-top:2rem; border-top:1px solid var(--stroke); background:rgba(6,3,12,.6); padding:3.5rem 0 2rem; }
.footer__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:2rem; }
.footer h5{ font-family:var(--font-display); font-size:1rem; letter-spacing:1px; margin-bottom:1rem; color:var(--gold); }
.footer ul{ list-style:none; display:grid; gap:.5rem; }
.footer a{ color:var(--ink-mute); font-size:.9rem; }
.footer a:hover{ color:var(--pink); }
.footer__brand p{ font-size:.9rem; margin-top:.8rem; max-width:34ch; }
.socials{ display:flex; gap:.6rem; margin-top:1rem; }
.socials a{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--panel);
  border:1px solid var(--stroke); font-size:1.1rem; transition:.2s; }
.socials a:hover{ transform:translateY(-3px); border-color:var(--pink); box-shadow:var(--glow-pink); }
.newsletter{ display:flex; gap:.5rem; margin-top:.8rem; }
.newsletter input{ flex:1; background:rgba(255,255,255,.05); border:1px solid var(--stroke); border-radius:100px; padding:.7rem 1rem; color:#fff; }
.newsletter input:focus{ outline:0; border-color:var(--pink); }
.footer__bar{ margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--stroke); display:flex;
  justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.82rem; color:var(--ink-mute); }
.footer__bar a{ font-size:.82rem; }

/* ----------  BACK TO TOP + CHAOS BUTTON  ---------- */
.to-top{ position:fixed; right:20px; bottom:20px; z-index:900; width:52px; height:52px; border-radius:50%;
  border:0; background:var(--grad-chaos); color:#fff; font-size:1.3rem; box-shadow:var(--glow-pink);
  opacity:0; pointer-events:none; transform:translateY(20px); transition:.3s; }
.to-top.show{ opacity:1; pointer-events:auto; transform:translateY(0); }
.to-top:hover{ transform:translateY(-4px) scale(1.05); }

/* ----------  SCROLL REVEAL  ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s;} .reveal[data-d="2"]{ transition-delay:.16s;}
.reveal[data-d="3"]{ transition-delay:.24s;} .reveal[data-d="4"]{ transition-delay:.32s;}

/* ----------  MISC  ---------- */
.badge{ display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .8rem; border-radius:100px;
  background:rgba(36,229,255,.12); border:1px solid rgba(36,229,255,.4); color:var(--cyan); font-size:.78rem; font-weight:700; }
.live-dot{ width:9px; height:9px; border-radius:50%; background:#ff2d55; box-shadow:0 0 0 0 rgba(255,45,85,.7); animation:pulse 1.6s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(255,45,85,.7);} 70%{box-shadow:0 0 0 12px rgba(255,45,85,0);} 100%{box-shadow:0 0 0 0 rgba(255,45,85,0);} }
.divider-wave{ height:60px; background:var(--grad-chaos); mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60'%3E%3Cpath d='M0 30 Q 150 0 300 30 T 600 30 T 900 30 T 1200 30 V60 H0Z'/%3E%3C/svg%3E") no-repeat center/cover; opacity:.6; }
.list-check{ list-style:none; display:grid; gap:.6rem; }
.list-check li{ padding-left:1.8rem; position:relative; color:var(--ink-soft); }
.list-check li::before{ content:"✦"; position:absolute; left:0; color:var(--pink); }

.pill-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.7rem; }
.pill{ padding:.9rem 1.1rem; border-radius:var(--radius-sm); background:var(--panel); border:1px solid var(--stroke);
  font-weight:600; font-size:.92rem; display:flex; align-items:center; gap:.6rem; }
.pill:hover{ border-color:var(--stroke-hot); }

/* price / membership cards */
.tier{ padding:2rem 1.8rem; text-align:center; border-radius:var(--radius); background:var(--panel); border:1px solid var(--stroke); position:relative; }
.tier.pop{ border-color:var(--pink); box-shadow:var(--glow-pink); }
.tier.pop::before{ content:"MOST CHAOS"; position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--grad-chaos); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:1px; padding:.3rem .9rem; border-radius:100px; }
.tier .price{ font-family:var(--font-display); font-size:2.6rem; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ----------  RESPONSIVE  ---------- */
@media(max-width:1080px){
  .nav__links{ display:none; }
  .hamburger{ display:flex; }
  .footer__grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:820px){
  .grid-3,.grid-4{ grid-template-columns:1fr 1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .split{ grid-template-columns:1fr; } .split.rev{ direction:ltr; }
  .split__media{ aspect-ratio:16/10; }
  .form .row{ grid-template-columns:1fr; }
}
@media(max-width:560px){
  .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; }
  .nav__cta .btn--book{ display:none; }
  .hero{ min-height:88vh; }
}

@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
}
