
:root{--bg:#050508;--panel:#0b0b11;--text:#f8f7fc;--muted:#aaa5b8;--pink:#ff00c8;--cyan:#00d5ff;--line:rgba(255,255,255,.13);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}
.header{height:84px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;padding:0 max(20px,calc((100vw - var(--max))/2));background:rgba(5,5,8,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{margin-right:auto}.brand img{width:76px;height:68px;object-fit:cover}.header nav{display:flex;gap:30px;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 27px;border-radius:8px;background:linear-gradient(115deg,#6d2cff,var(--pink));font-weight:800;border:1px solid rgba(255,255,255,.16);color:#fff}.header-cta{min-height:44px;margin-left:30px}.ghost{background:rgba(7,7,11,.58)}.full{width:100%}.menu{display:none;background:none;border:0;width:40px}.menu span{display:block;height:1px;background:#fff;margin:7px}.eyebrow{font-size:12px;letter-spacing:.24em;font-weight:800;color:#dda4ff}.section{padding:110px max(20px,calc((100vw - var(--max))/2))}h2{font-size:clamp(48px,5.5vw,84px);line-height:.95;letter-spacing:-.05em;margin:15px 0 28px}em{font-style:normal;background:linear-gradient(100deg,#fff,#c995ff 35%,var(--pink) 65%,var(--cyan));-webkit-background-clip:text;color:transparent}
.hero{height:100svh;min-height:720px;position:relative;display:flex;align-items:center;padding:120px max(20px,calc((100vw - var(--max))/2)) 70px}.hero>img,.vision>img{position:absolute;inset:0;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#050508 0%,rgba(5,5,8,.9) 38%,rgba(5,5,8,.1) 75%),linear-gradient(0deg,#050508 0%,transparent 34%)}.hero-copy{position:relative;z-index:2;max-width:680px}.hero h1{font-size:clamp(70px,7.5vw,125px);line-height:.84;letter-spacing:-.06em;margin:20px 0 30px}.hero-copy>p:last-of-type{font-size:20px;line-height:1.55;color:#ddd8e4}.actions{display:flex;gap:14px;margin-top:30px}
.benefits{display:grid;grid-template-columns:repeat(5,1fr);padding:28px max(20px,calc((100vw - var(--max))/2));background:#08080d;border-block:1px solid var(--line)}.benefits div{padding:0 22px;border-right:1px solid var(--line)}.benefits b{display:block;color:#dda4ff;font-size:12px}.benefits span{display:block;color:var(--muted);font-size:13px;margin-top:7px}
.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.intro>div>p:last-child,.request>div>p:last-child{color:var(--muted);font-size:19px;line-height:1.65}.intro>img{border-radius:18px;border:1px solid var(--line)}
.section-head{text-align:center;max-width:850px;margin:0 auto 45px}.section-head>p:last-child{color:var(--muted);font-size:18px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cards article{background:var(--panel);border:1px solid var(--line);border-radius:15px;overflow:hidden}.cards .wide{grid-column:1/-1}.cards article>img{aspect-ratio:16/10;object-fit:cover}.cards .wide>img{aspect-ratio:21/9}.cards article>div{padding:22px}.cards h3{font-size:25px;margin:0 0 8px}.cards p,.service-list p{color:var(--muted);line-height:1.55;margin:0}
.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.service-list article{padding:24px;border:1px solid var(--line);background:#09090e;border-radius:14px}.service-list span{color:var(--cyan);font-size:11px}.service-list h3{font-size:22px;margin:22px 0 8px}
.journey{display:grid;grid-template-columns:.35fr .65fr;gap:55px;background:#08080d}.journey h2{font-size:58px}.journey ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.journey li{padding:25px;border:1px solid var(--line);background:#0b0b11}.journey li>span{color:var(--cyan)}.journey b{display:block;color:#e0aeff;font-size:20px;margin-top:24px}.journey p{color:var(--muted)}
.vision{height:82vh;min-height:720px;position:relative;display:flex;align-items:center;padding:0 max(20px,calc((100vw - var(--max))/2))}.vision-copy{position:relative;z-index:2;max-width:620px}.vision-copy>p{color:#ddd8e4;font-size:18px;line-height:1.6}.vision small{position:absolute;z-index:2;right:20px;bottom:16px;color:#c6c0cd}
.request{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.request form,.waitlist form{background:#0d0d14;border:1px solid var(--line);padding:30px;border-radius:18px}label{display:block;font-size:13px;font-weight:650;margin-bottom:17px}input,select,textarea{display:block;width:100%;margin-top:8px;padding:15px 16px;background:#060609;border:1px solid var(--line);border-radius:9px;color:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;gap:10px}.check input{width:18px;margin:2px 0 0}.waitlist{padding:70px max(20px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;background:linear-gradient(90deg,rgba(93,18,149,.55),rgba(5,5,8,.95))}.waitlist h2{font-size:58px}
footer{padding:55px max(20px,calc((100vw - var(--max))/2)) 25px;display:grid;grid-template-columns:1fr auto;gap:35px;background:#030305}footer>img{width:90px;height:80px;object-fit:cover}footer nav{display:flex;gap:28px}footer p{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:#777}
@media(max-width:980px){.header nav{display:none}.header nav.open{display:flex;position:fixed;top:84px;left:0;right:0;flex-direction:column;padding:28px;background:#050508}.menu{display:block}.header-cta{display:none}.intro,.journey,.request,.waitlist{grid-template-columns:1fr}.benefits{grid-template-columns:repeat(2,1fr)}.journey ol{grid-template-columns:repeat(2,1fr)}.service-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.header{height:72px}.brand img{width:58px;height:55px}.header nav.open{top:72px}.hero{height:auto;min-height:850px;padding:120px 18px 60px;align-items:flex-end}.hero .overlay{background:linear-gradient(0deg,#050508 4%,rgba(5,5,8,.94) 53%,rgba(5,5,8,.18) 88%)}.hero h1{font-size:60px}.actions{flex-direction:column}.benefits{grid-template-columns:1fr 1fr;padding:24px 14px}.benefits div{border:0;border-bottom:1px solid var(--line);padding:14px}.section{padding:78px 18px}.intro>img{order:-1}.cards{grid-template-columns:1fr}.cards .wide{grid-column:auto}.cards .wide>img,.cards article>img{aspect-ratio:16/10}.service-list,.journey ol{grid-template-columns:1fr}.journey h2{font-size:45px}.vision{height:auto;min-height:900px;padding:460px 18px 72px;align-items:flex-end}.vision>img{height:460px;object-position:center top}.vision .overlay{background:linear-gradient(0deg,#050508 0%,#050508 50%,rgba(5,5,8,.08) 84%)}.two{grid-template-columns:1fr}.waitlist{padding:58px 18px}footer{grid-template-columns:1fr}footer nav{flex-direction:column}}


/* Expanded investor-data waitlist */
.waitlist-intro{align-self:start;position:sticky;top:120px}
.waitlist-points{display:grid;gap:10px;margin-top:28px}
.waitlist-points span{display:flex;align-items:center;gap:10px;color:#d8d2df}
.waitlist-points span:before{content:"✓";color:#d88cff;font-weight:900}
.expanded-waitlist{display:grid;gap:24px}
.expanded-waitlist fieldset{margin:0;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(5,5,8,.28)}
.expanded-waitlist legend{padding:0 10px;color:#dda4ff;font-weight:800;letter-spacing:.08em}
.expanded-waitlist label small{color:#8f8998;font-weight:400}
.choice-group{margin:8px 0 22px}
.choice-title{display:block;margin-bottom:12px;font-size:13px;font-weight:700;color:#d9d4df}
.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.checkbox-grid label{display:flex;align-items:center;gap:9px;margin:0;padding:11px 12px;background:#07070b;border:1px solid rgba(255,255,255,.11);border-radius:8px;font-weight:500}
.checkbox-grid input{width:17px;height:17px;margin:0;flex:0 0 auto}
.consent-check{margin:4px 0 0}
@media(max-width:980px){.waitlist-intro{position:static}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.expanded-waitlist{padding:20px!important}.expanded-waitlist fieldset{padding:18px 14px}.checkbox-grid{grid-template-columns:1fr}}


/* Cinematic hero upgrade */
.cinematic-hero{isolation:isolate}
.cinematic-hero>img{transform:scale(1.045);animation:heroDrift 18s ease-in-out infinite alternate}
.cinematic-hero .overlay{z-index:1}
.hero-ambient{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.cinematic-copy{z-index:4;animation:heroCopyIn 1.05s cubic-bezier(.2,.75,.25,1) both}
.cinematic-copy .eyebrow{animation:heroItemIn .8s .1s both}
.cinematic-copy h1{animation:heroItemIn .9s .25s both}
.cinematic-copy>p:last-of-type{animation:heroItemIn .9s .42s both}
.cinematic-copy .actions{animation:heroItemIn .9s .58s both}
.fog{position:absolute;width:85%;height:34%;border-radius:50%;filter:blur(58px);opacity:.18;background:radial-gradient(ellipse,rgba(201,117,255,.82),rgba(80,21,147,.24) 45%,transparent 72%)}
.fog-one{left:-22%;bottom:3%;animation:fogMoveOne 15s ease-in-out infinite alternate}
.fog-two{right:-28%;bottom:18%;opacity:.12;animation:fogMoveTwo 18s ease-in-out infinite alternate}
.beam{position:absolute;top:-20%;width:2px;height:125%;transform-origin:top;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(180,79,255,.7),rgba(0,213,255,.12),transparent);box-shadow:0 0 18px rgba(158,50,255,.72);opacity:.38}
.beam-one{left:62%;transform:rotate(24deg);animation:beamSweepOne 8s ease-in-out infinite alternate}
.beam-two{left:74%;transform:rotate(-12deg);animation:beamSweepTwo 10s ease-in-out infinite alternate}
.beam-three{left:87%;transform:rotate(18deg);opacity:.25;animation:beamSweepThree 11s ease-in-out infinite alternate}
.pulse-ring{position:absolute;left:67%;top:45%;width:180px;height:180px;border-radius:50%;border:1px solid rgba(191,93,255,.34);transform:translate(-50%,-50%);animation:ringPulse 4s ease-out infinite}
.ring-two{animation-delay:2s}
.scroll-cue{position:absolute;z-index:5;left:50%;bottom:28px;width:28px;height:48px;border:1px solid rgba(255,255,255,.32);border-radius:20px;transform:translateX(-50%);backdrop-filter:blur(6px)}
.scroll-cue span{position:absolute;left:11px;top:9px;width:4px;height:9px;border-radius:3px;background:#fff;animation:scrollDot 1.8s ease-in-out infinite}
.cinematic-hero .btn{position:relative;overflow:hidden}
.cinematic-hero .btn:after{content:"";position:absolute;inset:-2px auto -2px -40%;width:28%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:buttonShine 4.2s 1.2s infinite}

@keyframes heroDrift{0%{transform:scale(1.045) translate3d(0,0,0)}100%{transform:scale(1.09) translate3d(-1.3%,.6%,0)}}
@keyframes heroCopyIn{from{opacity:0}to{opacity:1}}
@keyframes heroItemIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fogMoveOne{from{transform:translate3d(-6%,0,0) scale(1)}to{transform:translate3d(18%,-9%,0) scale(1.15)}}
@keyframes fogMoveTwo{from{transform:translate3d(8%,0,0) scale(.95)}to{transform:translate3d(-15%,7%,0) scale(1.18)}}
@keyframes beamSweepOne{from{transform:rotate(17deg) translateX(-25px)}to{transform:rotate(31deg) translateX(38px)}}
@keyframes beamSweepTwo{from{transform:rotate(-19deg) translateX(-15px)}to{transform:rotate(-4deg) translateX(32px)}}
@keyframes beamSweepThree{from{transform:rotate(11deg)}to{transform:rotate(28deg)}}
@keyframes ringPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}22%{opacity:.5}100%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}
@keyframes scrollDot{0%{opacity:1;transform:translateY(0)}70%{opacity:0;transform:translateY(20px)}100%{opacity:0}}
@keyframes buttonShine{0%,74%{left:-40%}100%{left:130%}}

@media(max-width:640px){
  .cinematic-hero>img{animation-duration:15s}
  .beam{opacity:.22}
  .beam-one{left:35%}.beam-two{left:61%}.beam-three{left:82%}
  .pulse-ring{left:52%;top:28%;width:125px;height:125px}
  .fog{height:24%;filter:blur(44px)}
  .scroll-cue{display:none}
}
@media(prefers-reduced-motion:reduce){
  .cinematic-hero>img,.cinematic-copy,.cinematic-copy *,.fog,.beam,.pulse-ring,.scroll-cue span,.cinematic-hero .btn:after{animation:none!important}
}

/* Extra rave lasers */
.beam-four,.beam-five{
 position:absolute;top:-25%;width:3px;height:140%;
 background:linear-gradient(180deg,transparent,rgba(170,0,255,.95),rgba(255,0,200,.55),transparent);
 box-shadow:0 0 28px rgba(183,0,255,.9);
 opacity:.5;transform-origin:top;pointer-events:none}
.beam-four{left:18%;transform:rotate(-28deg);animation:beamFour 7s ease-in-out infinite alternate}
.beam-five{left:46%;transform:rotate(35deg);animation:beamFive 9s ease-in-out infinite alternate}
@keyframes beamFour{from{transform:rotate(-34deg) translateX(-20px)}to{transform:rotate(-18deg) translateX(30px)}}
@keyframes beamFive{from{transform:rotate(28deg)}to{transform:rotate(44deg) translateX(25px)}}


/* Festival alive sequence */
body{position:relative}
.festival-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ambient-grid{position:absolute;inset:0;opacity:0;background-image:linear-gradient(rgba(143,52,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,52,255,.06) 1px,transparent 1px);background-size:70px 70px;animation:gridWake 2.8s 1.4s forwards}
.ambient-glow{position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(100px);opacity:0}
.glow-left{left:-25vw;top:20vh;background:rgba(143,52,255,.16);animation:ambientWake 3.2s 1.8s forwards,ambientFloat 14s 4.8s ease-in-out infinite alternate}
.glow-right{right:-25vw;top:48vh;background:rgba(0,213,255,.10);animation:ambientWake 3.2s 2.2s forwards,ambientFloatTwo 17s 5.4s ease-in-out infinite alternate}

.ferris-wheel{position:absolute;right:5.5%;top:13%;width:210px;height:250px;opacity:0;filter:drop-shadow(0 0 16px rgba(179,63,255,.65));animation:wheelPowerOn 2.2s 1.35s forwards}
.wheel-ring{position:absolute;left:10px;top:0;width:190px;height:190px;border:4px solid rgba(210,119,255,.95);border-radius:50%;box-shadow:0 0 22px rgba(168,52,255,.9),inset 0 0 18px rgba(0,213,255,.25);animation:wheelSpin 18s 3.25s linear infinite}
.spoke{position:absolute;left:50%;top:50%;width:2px;height:92px;background:linear-gradient(rgba(255,255,255,.15),rgba(190,78,255,.9));transform-origin:top}
.s1{transform:rotate(0deg)}.s2{transform:rotate(30deg)}.s3{transform:rotate(60deg)}.s4{transform:rotate(90deg)}.s5{transform:rotate(120deg)}.s6{transform:rotate(150deg)}
.cabin{position:absolute;width:14px;height:10px;border-radius:3px;background:#ff50de;box-shadow:0 0 10px #ff00c8}
.c1{left:88px;top:-8px}.c2{right:13px;top:27px}.c3{right:-7px;top:88px}.c4{right:13px;bottom:27px}.c5{left:88px;bottom:-8px}.c6{left:13px;bottom:27px}.c7{left:-7px;top:88px}.c8{left:13px;top:27px}
.wheel-support{position:absolute;left:72px;top:168px;width:68px;height:82px;border-left:5px solid rgba(180,67,255,.8);border-right:5px solid rgba(180,67,255,.8);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:drop-shadow(0 0 10px rgba(159,53,255,.65))}

.header{transition:box-shadow .8s ease,border-color .8s ease}
body.festival-on .header{border-color:rgba(176,70,255,.35);box-shadow:0 0 26px rgba(129,28,217,.2)}
body.festival-on .btn{box-shadow:0 0 18px rgba(169,42,255,.32),0 14px 45px rgba(196,0,255,.24)}
body.festival-on .eyebrow{text-shadow:0 0 14px rgba(204,110,255,.35)}

.festival-reveal{position:relative}
.festival-reveal:before{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid transparent;transition:border-color 1s ease,box-shadow 1s ease}
.festival-reveal.is-visible:before{border-color:rgba(137,50,255,.08);box-shadow:inset 0 0 60px rgba(113,21,198,.035)}
.cards article,.service-list article,.journey li{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.cards article:hover,.service-list article:hover,.journey li:hover{transform:translateY(-5px);border-color:rgba(182,79,255,.45);box-shadow:0 18px 45px rgba(70,0,120,.25)}
.cards article img{transition:transform .8s ease,filter .8s ease}
.cards article:hover img{transform:scale(1.035);filter:saturate(1.08) brightness(1.05)}

@keyframes wheelPowerOn{
  0%{opacity:0;filter:brightness(.2) drop-shadow(0 0 0 transparent);transform:scale(.92)}
  45%{opacity:.45;filter:brightness(.6) drop-shadow(0 0 7px rgba(179,63,255,.35))}
  72%{opacity:1;filter:brightness(1.4) drop-shadow(0 0 22px rgba(179,63,255,.95));transform:scale(1.03)}
  100%{opacity:.95;filter:brightness(1) drop-shadow(0 0 16px rgba(179,63,255,.65));transform:scale(1)}
}
@keyframes wheelSpin{to{transform:rotate(360deg)}}
@keyframes gridWake{to{opacity:1}}
@keyframes ambientWake{to{opacity:1}}
@keyframes ambientFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(12vw,-5vh,0) scale(1.15)}}
@keyframes ambientFloatTwo{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-10vw,8vh,0) scale(1.12)}}

@media(max-width:980px){
  .ferris-wheel{right:2%;top:12%;transform:scale(.82)}
}
@media(max-width:640px){
  .ferris-wheel{right:-8px;top:12%;transform:scale(.58);transform-origin:top right}
  .ambient-grid{background-size:48px 48px}
}
@media(prefers-reduced-motion:reduce){
  .ferris-wheel,.wheel-ring,.ambient-grid,.ambient-glow{animation:none!important;opacity:.65}
  .cards article,.service-list article,.journey li,.cards article img{transition:none}
}

/* Lasers only update */
.ferris-wheel,.wheel-ring,.wheel-support,.spoke,.cabin{display:none!important;}
.beam,.beam-four,.beam-five{
  opacity:.72!important;
  filter:drop-shadow(0 0 18px rgba(180,0,255,.9));
}
.hero-ambient:before{
 content:"";
 position:absolute;inset:0;
 background:
 radial-gradient(circle at 20% 30%, rgba(255,0,200,.18), transparent 20%),
 radial-gradient(circle at 75% 25%, rgba(140,0,255,.18), transparent 18%),
 radial-gradient(circle at 55% 70%, rgba(0,213,255,.14), transparent 22%);
 animation:festivalLights 6s ease-in-out infinite alternate;
 pointer-events:none;
}
@keyframes festivalLights{
 from{opacity:.45;filter:brightness(.9)}
 to{opacity:1;filter:brightness(1.25)}
}


/* Wider Other fields */
input[name="other-festival"],
input[name="other-discovery"]{
  width:12ch;
  min-width:12ch;
  max-width:18ch;
}

/* Expanded festival lighting across the full site */
.global-rave-lights{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
}
.orb{
  position:absolute;
  width:34vw;
  height:34vw;
  min-width:340px;
  min-height:340px;
  border-radius:50%;
  filter:blur(110px);
  opacity:.13;
}
.orb-one{
  top:12vh;
  left:-16vw;
  background:#8f34ff;
  animation:orbFloatOne 15s ease-in-out infinite alternate;
}
.orb-two{
  top:46vh;
  right:-17vw;
  background:#ff00c8;
  animation:orbFloatTwo 18s ease-in-out infinite alternate;
}
.orb-three{
  top:78vh;
  left:30vw;
  background:#00d5ff;
  opacity:.09;
  animation:orbFloatThree 21s ease-in-out infinite alternate;
}
.sweep{
  position:absolute;
  top:-25vh;
  width:3px;
  height:165vh;
  transform-origin:top;
  background:linear-gradient(
    180deg,
    transparent,
    rgba(190,55,255,.82),
    rgba(255,0,200,.48),
    transparent
  );
  box-shadow:0 0 24px rgba(175,40,255,.78);
  opacity:.16;
}
.sweep-one{
  left:24%;
  transform:rotate(-24deg);
  animation:globalSweepOne 12s ease-in-out infinite alternate;
}
.sweep-two{
  left:78%;
  transform:rotate(21deg);
  animation:globalSweepTwo 15s ease-in-out infinite alternate;
}

/* Scroll-based neon activation */
.festival-reveal{
  overflow:hidden;
}
.festival-reveal::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 18% 20%,rgba(159,51,255,.09),transparent 28%),
    radial-gradient(circle at 82% 75%,rgba(0,213,255,.06),transparent 25%);
  transition:opacity 1.1s ease;
}
.festival-reveal.is-visible::after{
  opacity:1;
}

/* Animated neon borders and highlights */
.cards article,
.service-list article,
.journey li,
.expanded-waitlist fieldset,
.request form{
  position:relative;
}
.cards article::before,
.service-list article::before,
.journey li::before,
.expanded-waitlist fieldset::before,
.request form::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(
    120deg,
    transparent 20%,
    rgba(170,45,255,.38),
    rgba(0,213,255,.18),
    transparent 80%
  );
  background-size:220% 100%;
  transition:opacity .5s ease;
}
.cards article:hover::before,
.service-list article:hover::before,
.journey li:hover::before,
.expanded-waitlist fieldset:hover::before,
.request form:hover::before{
  opacity:1;
  animation:borderShimmer 2.8s linear infinite;
}

/* Pulse key headings and buttons */
body.festival-on h2 em,
body.festival-on h1 em{
  animation:neonTextPulse 4s ease-in-out infinite alternate;
}
body.festival-on .btn{
  animation:buttonGlowPulse 4.6s ease-in-out infinite alternate;
}

/* Subtle image breathing on visible sections */
.festival-reveal.is-visible img{
  animation:imageBreathe 10s ease-in-out infinite alternate;
}

/* Form focus glow */
input:focus,
select:focus,
textarea:focus{
  box-shadow:
    0 0 0 3px rgba(143,52,255,.18),
    0 0 22px rgba(143,52,255,.18);
}

/* Extra hero light pulses */
.hero-ambient::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 32% 22%,rgba(183,54,255,.17),transparent 17%),
    radial-gradient(circle at 74% 44%,rgba(255,0,200,.14),transparent 20%),
    radial-gradient(circle at 58% 76%,rgba(0,213,255,.11),transparent 18%);
  opacity:.45;
  animation:heroFestivalPulse 5.5s ease-in-out infinite alternate;
}

@keyframes orbFloatOne{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(18vw,8vh,0) scale(1.22)}
}
@keyframes orbFloatTwo{
  from{transform:translate3d(0,0,0) scale(.95)}
  to{transform:translate3d(-16vw,-10vh,0) scale(1.2)}
}
@keyframes orbFloatThree{
  from{transform:translate3d(-8vw,0,0) scale(1)}
  to{transform:translate3d(12vw,-8vh,0) scale(1.18)}
}
@keyframes globalSweepOne{
  from{transform:rotate(-31deg) translateX(-70px)}
  to{transform:rotate(-15deg) translateX(100px)}
}
@keyframes globalSweepTwo{
  from{transform:rotate(14deg) translateX(-80px)}
  to{transform:rotate(29deg) translateX(90px)}
}
@keyframes borderShimmer{
  from{background-position:200% 0}
  to{background-position:-20% 0}
}
@keyframes neonTextPulse{
  from{filter:drop-shadow(0 0 4px rgba(176,66,255,.3))}
  to{filter:drop-shadow(0 0 14px rgba(176,66,255,.68))}
}
@keyframes buttonGlowPulse{
  from{box-shadow:0 0 12px rgba(169,42,255,.22),0 14px 45px rgba(196,0,255,.2)}
  to{box-shadow:0 0 26px rgba(169,42,255,.48),0 18px 52px rgba(196,0,255,.32)}
}
@keyframes imageBreathe{
  from{filter:saturate(1) brightness(1)}
  to{filter:saturate(1.06) brightness(1.035)}
}
@keyframes heroFestivalPulse{
  from{opacity:.28;filter:brightness(.9)}
  to{opacity:.76;filter:brightness(1.22)}
}

@media(max-width:640px){
  input[name="other-festival"],
  input[name="other-discovery"]{
    min-width:0;
    width:100%;
  }
  .orb{
    width:85vw;
    height:85vw;
    filter:blur(85px);
  }
  .sweep{
    opacity:.1;
  }
}

@media(prefers-reduced-motion:reduce){
  .orb,.sweep,
  body.festival-on h2 em,
  body.festival-on h1 em,
  body.festival-on .btn,
  .festival-reveal.is-visible img,
  .hero-ambient::after{
    animation:none!important;
  }
}


/* Added PRIME amenities */
.cards article img{
  object-position:center;
}


/* ===== PRIME premium polish pass ===== */
:root{
  --prime-glow: 0 0 28px rgba(157, 61, 255, .24);
  --prime-glow-strong: 0 0 42px rgba(190, 45, 255, .38);
}

body{
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  opacity: 1;
  transition: opacity .55s ease;
}
body.page-loading{opacity:0}

h1,h2,h3{
  text-wrap: balance;
}
p{
  text-wrap: pretty;
}

/* More refined reveal system */
.premium-reveal{
  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .9s cubic-bezier(.2,.7,.2,1),
    transform .9s cubic-bezier(.2,.7,.2,1);
}
.premium-reveal.is-premium-visible{
  opacity:1;
  transform:none;
}

/* Interactive amenity cards */
.premium-card{
  position:relative;
  overflow:hidden;
  transition:
    transform .45s cubic-bezier(.2,.75,.2,1),
    border-color .45s ease,
    box-shadow .45s ease;
  outline:none;
}
.premium-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(140deg,rgba(255,255,255,.06),transparent 36%),
    radial-gradient(circle at 80% 10%,rgba(202,70,255,.16),transparent 28%);
  transition:opacity .45s ease;
}
.premium-card:hover,
.premium-card:focus-visible{
  transform:translateY(-8px);
  border-color:rgba(200,82,255,.52);
  box-shadow:0 20px 55px rgba(34,0,58,.52),var(--prime-glow);
}
.premium-card:hover::after,
.premium-card:focus-visible::after{
  opacity:1;
}
.image-wrap{
  overflow:hidden;
  position:relative;
}
.image-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(3,3,7,.18));
  pointer-events:none;
}
.image-wrap img{
  transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .8s ease;
}
.premium-card:hover .image-wrap img,
.premium-card:focus-visible .image-wrap img{
  transform:scale(1.045);
  filter:saturate(1.08) brightness(1.04);
}

/* Premium navigation behavior */
.header{
  transition:
    background .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}
.header.scrolled{
  background:rgba(5,5,8,.965);
  border-color:rgba(190,74,255,.24);
  box-shadow:0 12px 38px rgba(0,0,0,.34),0 0 24px rgba(122,22,204,.08);
}
.header nav a{
  position:relative;
}
.header nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:1px;
  background:linear-gradient(90deg,#ae43ff,#ff00c8);
  transition:right .3s ease;
}
.header nav a:hover::after{right:0}

/* Better buttons */
.btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .25s ease,box-shadow .35s ease,filter .35s ease;
}
.btn::before{
  content:"";
  position:absolute;
  top:-2px;
  bottom:-2px;
  left:-42%;
  width:28%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);
  transition:left .65s ease;
  z-index:-1;
}
.btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
  box-shadow:var(--prime-glow-strong);
}
.btn:hover::before{left:125%}

/* Premium waitlist experience */
.expanded-waitlist{
  position:relative;
}
.waitlist-progress{
  margin-bottom:22px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(115,25,184,.16),rgba(5,5,8,.35));
}
.waitlist-progress-bar{
  height:5px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}
.waitlist-progress-bar span{
  display:block;
  width:25%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#7434ff,#ff00c8,#00d5ff);
  box-shadow:0 0 18px rgba(195,40,255,.52);
  transition:width .45s ease;
}
.waitlist-progress p{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin:10px 0 0;
  color:#bdb7c7;
  font-size:12px;
}
.waitlist-progress strong{
  color:#fff;
}
.expanded-waitlist fieldset{
  transition:
    border-color .35s ease,
    box-shadow .35s ease,
    opacity .35s ease;
}
.expanded-waitlist fieldset.is-active-step{
  border-color:rgba(198,76,255,.46);
  box-shadow:0 0 0 1px rgba(198,76,255,.08),0 18px 45px rgba(46,0,78,.18);
}
.expanded-waitlist fieldset:not(.is-active-step){
  opacity:.86;
}
.privacy-note{
  margin:14px 0 0;
  text-align:center;
  color:#8f8998;
  font-size:12px;
  line-height:1.5;
}

/* Premium form focus */
input,select,textarea{
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
input:hover,select:hover,textarea:hover{
  border-color:rgba(255,255,255,.25);
}
input:focus,select:focus,textarea:focus{
  background:#08080d;
  border-color:#a943ff;
  box-shadow:0 0 0 3px rgba(169,67,255,.14),0 0 22px rgba(169,67,255,.12);
}

/* Refined section separators */
.section,
.waitlist,
.vision,
.journey{
  position:relative;
}
.section::before,
.waitlist::before,
.journey::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(92%,var(--max));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(157,65,255,.2),transparent);
}

/* Better mobile rhythm */
@media(max-width:640px){
  .premium-reveal{
    transform:translateY(24px);
  }
  .premium-card:hover{
    transform:none;
  }
  .waitlist-progress{
    padding:15px;
  }
  .waitlist-progress p{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

/* Respect accessibility preferences */
@media(prefers-reduced-motion:reduce){
  .premium-reveal,
  .premium-card,
  .image-wrap img,
  .btn,
  .waitlist-progress-bar span{
    transition:none!important;
  }
  .premium-reveal{
    opacity:1!important;
    transform:none!important;
  }
}


/* Dedicated live DJ feature — added after Amenities */
.live-dj-feature{
  position:relative;
  display:grid;
  grid-template-columns:1.28fr .72fr;
  min-height:760px;
  margin:0;
  border-block:1px solid rgba(255,255,255,.12);
  background:#050508;
  overflow:hidden;
}
.live-dj-media{
  position:relative;
  min-height:760px;
  overflow:hidden;
}
.live-dj-media>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  animation:djImageBreath 13s ease-in-out infinite alternate;
}
.live-dj-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,transparent 56%,rgba(5,5,8,.48) 78%,#050508 100%),
    linear-gradient(0deg,rgba(5,5,8,.7),transparent 28%,rgba(5,5,8,.1));
}
.live-dj-copy{
  position:relative;
  z-index:4;
  align-self:center;
  padding:80px max(28px,calc((100vw - var(--max))/2));
  padding-left:56px;
  max-width:650px;
}
.live-dj-copy h2{
  font-size:clamp(48px,5vw,78px);
}
.live-dj-copy>p:last-of-type{
  color:var(--muted);
  font-size:18px;
  line-height:1.65;
}
.dj-highlights{
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
  margin:30px 0 34px;
}
.dj-highlights div{
  padding:16px 18px;
  border-left:2px solid rgba(205,74,255,.72);
  background:linear-gradient(90deg,rgba(126,27,211,.13),transparent);
}
.dj-highlights strong{
  display:block;
  color:#e5b5ff;
  font-size:12px;
  letter-spacing:.14em;
}
.dj-highlights span{
  display:block;
  margin-top:5px;
  color:#aaa5b8;
  font-size:14px;
}
.dj-lasers{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
}
.dj-laser{
  position:absolute;
  top:-25%;
  width:3px;
  height:150%;
  transform-origin:top;
  background:linear-gradient(180deg,transparent,rgba(208,58,255,.96),rgba(0,213,255,.55),transparent);
  box-shadow:0 0 22px rgba(186,42,255,.9);
  opacity:.6;
}
.dj-laser-one{left:20%;transform:rotate(-24deg);animation:djSweepOne 6s ease-in-out infinite alternate}
.dj-laser-two{left:43%;transform:rotate(18deg);animation:djSweepTwo 8s ease-in-out infinite alternate}
.dj-laser-three{left:67%;transform:rotate(-12deg);animation:djSweepThree 7s ease-in-out infinite alternate}
.dj-laser-four{left:84%;transform:rotate(28deg);animation:djSweepFour 9s ease-in-out infinite alternate}
.dj-light-pulse{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 54% 28%,rgba(216,54,255,.26),transparent 20%),
    radial-gradient(circle at 33% 68%,rgba(0,140,255,.18),transparent 24%),
    radial-gradient(circle at 78% 62%,rgba(255,0,196,.18),transparent 24%);
  animation:djPulse 4.6s ease-in-out infinite alternate;
}
@keyframes djImageBreath{
  from{transform:scale(1);filter:saturate(1) brightness(.96)}
  to{transform:scale(1.045);filter:saturate(1.13) brightness(1.06)}
}
@keyframes djSweepOne{
  from{transform:rotate(-31deg) translateX(-50px)}
  to{transform:rotate(-17deg) translateX(70px)}
}
@keyframes djSweepTwo{
  from{transform:rotate(10deg) translateX(-35px)}
  to{transform:rotate(27deg) translateX(55px)}
}
@keyframes djSweepThree{
  from{transform:rotate(-20deg)}
  to{transform:rotate(-4deg) translateX(45px)}
}
@keyframes djSweepFour{
  from{transform:rotate(20deg)}
  to{transform:rotate(35deg) translateX(50px)}
}
@keyframes djPulse{
  from{opacity:.35;filter:brightness(.9)}
  to{opacity:.9;filter:brightness(1.25)}
}
@media(max-width:980px){
  .live-dj-feature{
    grid-template-columns:1fr;
  }
  .live-dj-media{
    min-height:560px;
  }
  .live-dj-overlay{
    background:linear-gradient(0deg,#050508 0%,rgba(5,5,8,.1) 58%);
  }
  .live-dj-copy{
    max-width:none;
    padding:65px 28px 85px;
  }
}
@media(max-width:640px){
  .live-dj-media{
    min-height:430px;
  }
  .live-dj-copy{
    padding:52px 18px 72px;
  }
  .live-dj-copy h2{
    font-size:43px;
  }
  .dj-laser{
    opacity:.42;
  }
}
@media(prefers-reduced-motion:reduce){
  .live-dj-media>img,
  .dj-laser,
  .dj-light-pulse{
    animation:none!important;
  }
}

.amenity-feature-cards{grid-template-columns:repeat(3,1fr);margin-top:18px}
.amenity-feature-cards img{aspect-ratio:16/9;object-fit:cover}
.membership-section{background:#050508;border-bottom:1px solid rgba(255,255,255,.12)}
.membership-hero{min-height:700px;position:relative;display:flex;align-items:center;overflow:hidden}
.membership-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:braceletBreath 12s ease-in-out infinite alternate}
.membership-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#050508 0%,rgba(5,5,8,.92) 42%,rgba(5,5,8,.24) 74%),linear-gradient(0deg,#050508 0%,transparent 30%)}
.membership-copy{position:relative;z-index:2;width:min(620px,calc(100% - 40px));margin-left:max(20px,calc((100vw - var(--max))/2))}
.membership-copy>p:last-of-type{color:#c5bfcd;font-size:18px;line-height:1.65}
.membership-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.membership-benefits div{padding:16px;border:1px solid rgba(255,255,255,.13);background:rgba(8,8,13,.58);backdrop-filter:blur(10px)}
.membership-benefits strong{display:block;color:#dda4ff;font-size:11px;letter-spacing:.12em}.membership-benefits span{display:block;margin-top:7px;color:#aaa5b8;font-size:13px;line-height:1.45}
.membership-levels{padding:100px max(20px,calc((100vw - var(--max))/2))}
.membership-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.membership-card{position:relative;border:1px solid rgba(255,255,255,.15);border-radius:18px;overflow:hidden;background:#0a0a10;transition:transform .4s ease,box-shadow .4s ease}
.membership-card:hover{transform:translateY(-7px)}.membership-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.membership-card>div:last-child{padding:26px}.membership-card h3{margin:7px 0 4px;font-size:28px}
.tier-label{margin:0;font-size:11px;font-weight:900;letter-spacing:.18em}.tier-sub{margin:0 0 20px;color:#aaa5b8}.membership-card ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}.membership-card li{position:relative;padding-left:20px;color:#c6c0ce}.membership-card li:before{content:"✓";position:absolute;left:0;font-weight:900}
.membership-card.blue{border-color:rgba(40,120,255,.45)}.membership-card.blue .tier-label,.membership-card.blue li:before{color:#55a7ff}
.membership-card.purple{border-color:rgba(184,55,255,.55);box-shadow:0 0 38px rgba(156,37,255,.14)}.membership-card.purple .tier-label,.membership-card.purple li:before{color:#da79ff}
.membership-card.gold{border-color:rgba(255,180,45,.48)}.membership-card.gold .tier-label,.membership-card.gold li:before{color:#ffc45e}
.popular-tag{position:absolute;z-index:3;top:16px;right:16px;padding:8px 11px;border-radius:999px;background:linear-gradient(100deg,#7138ff,#ff00c8);font-size:10px;font-weight:900;letter-spacing:.12em}
.bracelet-note{margin:24px auto 0;max-width:850px;color:#77717f;text-align:center;font-size:12px}
@keyframes braceletBreath{from{transform:scale(1);filter:saturate(1) brightness(.95)}to{transform:scale(1.04);filter:saturate(1.12) brightness(1.05)}}
@media(max-width:980px){.amenity-feature-cards{grid-template-columns:1fr 1fr}.membership-cards{grid-template-columns:1fr}.membership-card.featured{order:-1}}
@media(max-width:640px){.amenity-feature-cards{grid-template-columns:1fr}.membership-hero{min-height:850px;align-items:flex-end;padding-bottom:62px}.membership-hero>img{object-position:67% center}.membership-overlay{background:linear-gradient(0deg,#050508 0%,rgba(5,5,8,.92) 54%,rgba(5,5,8,.16) 90%)}.membership-copy{margin:0 18px;width:auto}.membership-benefits{grid-template-columns:1fr}.membership-levels{padding:75px 18px}}
@media(prefers-reduced-motion:reduce){.membership-hero>img{animation:none!important}}


/* Final amenity and bracelet corrections */
.two-card-feature{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px;
}
.two-card-feature article{
  min-height:100%;
}
.two-card-feature .image-wrap img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
}
.two-card-feature article>div:last-child{
  padding:24px;
}
.two-card-feature h3{
  font-size:28px;
}
.membership-card img{
  object-fit:contain!important;
  background:#07050c;
  padding:8px;
}
.membership-hero>img{
  object-fit:contain!important;
  background:#050508;
}
@media(max-width:640px){
  .two-card-feature{
    grid-template-columns:1fr!important;
  }
}


/* Membership bracelet image correction */
.membership-hero>img{
  object-fit:cover!important;
  object-position:center center!important;
  background:#050508;
}
.membership-card img{
  object-fit:contain!important;
  object-position:center!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(105,25,165,.18),transparent 45%),
    #07050c;
  padding:0!important;
}
.membership-card.blue img{
  filter:drop-shadow(0 0 16px rgba(42,123,255,.25));
}
.membership-card.purple img{
  filter:drop-shadow(0 0 18px rgba(178,58,255,.3));
}
.membership-card.gold img{
  filter:drop-shadow(0 0 16px rgba(255,177,53,.28));
}


/* Clean bracelet and amenity image corrections */
.membership-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  background:#07050c!important;
}
.two-card-feature .image-wrap{
  overflow:hidden;
}
.two-card-feature .image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.02);
}


/* Final approved image corrections */
.membership-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:contain!important;
  object-position:center!important;
  background:#07050c!important;
  padding:0!important;
}
.two-card-feature .image-wrap,
.amenity-feature-cards .image-wrap{
  overflow:hidden;
}
.two-card-feature .image-wrap img,
.amenity-feature-cards .image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}


/* Mobile hero portal positioning — keep desktop unchanged */
@media (max-width: 640px){
  .hero > img,
  .cinematic-hero > img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% center!important;
    transform-origin:center center;
  }

  .hero{
    background-position:center center!important;
  }
}


/* Exact approved membership pass image */
.approved-membership-visual{
  width:100%;
  max-width:1280px;
  margin:34px auto 0;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:#050508;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.approved-membership-visual img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:640px){
  .approved-membership-visual{
    width:100%;
    margin-top:24px;
    border-radius:12px;
  }
  .approved-membership-visual img{
    width:100%;
    height:auto;
  }
}


/* Clean amenity images — prevent right-edge artifacts */
#amenities .image-wrap{
  overflow:hidden!important;
}
#amenities .image-wrap img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}


/* Updated clear Pump Zone image */
#amenities img[src$="pump-zone-card.jpg"]{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}


/* Updated clean PRIME Merch Store image */
#amenities img[src$="merch-store-card.jpg"]{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}


/* Founding Member referral giveaway */
.referral-giveaway{
  margin-top:32px;
  padding:24px;
  border:1px solid rgba(204,87,255,.3);
  border-radius:17px;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,0,200,.13),transparent 34%),
    linear-gradient(145deg,rgba(109,35,182,.18),rgba(8,8,13,.78));
  box-shadow:0 18px 50px rgba(45,0,74,.2);
}
.referral-kicker{
  margin:0;
  color:#dda4ff!important;
  font-size:11px!important;
  font-weight:900;
  letter-spacing:.18em;
}
.referral-giveaway h3{
  margin:10px 0 12px;
  font-size:30px;
  letter-spacing:-.03em;
}
.referral-giveaway>p:not(.referral-kicker):not(.giveaway-disclaimer){
  margin:0;
  color:#beb8c7!important;
  font-size:15px!important;
  line-height:1.6!important;
}
.referral-prizes{
  display:grid;
  gap:9px;
  margin:22px 0 18px;
}
.referral-prizes div{
  display:grid;
  grid-template-columns:38px 1fr;
  align-items:center;
  gap:11px;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(5,5,9,.52);
}
.referral-prizes strong{
  color:#df91ff;
  font-size:11px;
  letter-spacing:.12em;
}
.referral-prizes span{
  color:#f1edf5;
  font-size:14px;
  font-weight:700;
}
.giveaway-disclaimer{
  margin:0!important;
  color:#77717f!important;
  font-size:10px!important;
  line-height:1.5!important;
}
.referral-invite-notice{
  margin-top:14px;
  padding:12px 14px;
  border-left:2px solid #c753ff;
  background:rgba(113,31,177,.12);
  color:#d9cae2;
  font-size:13px;
}


/* Separate mobile hero image — desktop remains unchanged */
@media (max-width: 768px){
  .prime-hero-picture{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    overflow:hidden;
    z-index:0;
  }

  .prime-hero-picture img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#050508;
  }

  .hero,
  .hero-section,
  .cinematic-hero{
    min-height:100svh;
    position:relative;
    overflow:hidden;
  }

  .hero::before,
  .hero-section::before,
  .cinematic-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        to top,
        rgba(5,5,8,.96) 0%,
        rgba(5,5,8,.84) 24%,
        rgba(5,5,8,.38) 48%,
        rgba(5,5,8,.08) 74%,
        rgba(5,5,8,.04) 100%
      )!important;
  }

  .hero-content,
  .hero-section .hero-content,
  .cinematic-hero .hero-content{
    position:relative;
    z-index:2;
    padding-top:44svh!important;
  }

  .hero-content h1{
    font-size:clamp(52px,14vw,76px)!important;
    line-height:.92!important;
  }

  .hero-content .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .hero-content .hero-actions .btn{
    width:100%!important;
    justify-content:center!important;
  }
}


/* Animated entrance hero */
.hero,
.hero-section,
.cinematic-hero{
  isolation:isolate;
}

.prime-hero-picture,
.hero-picture{
  z-index:0;
}

.prime-hero-picture img,
.hero-picture img,
.hero > img,
.cinematic-hero > img{
  animation:primeHeroCamera 14s ease-in-out infinite alternate;
  transform-origin:center center;
  will-change:transform,filter;
}

.hero-motion-layers{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}

.hero-fog{
  position:absolute;
  width:80%;
  height:26%;
  border-radius:50%;
  filter:blur(58px);
  opacity:.15;
  background:radial-gradient(ellipse,rgba(181,74,255,.85),rgba(70,20,120,.18) 55%,transparent 76%);
}
.hero-fog-one{
  left:-24%;
  bottom:6%;
  animation:primeFogOne 11s ease-in-out infinite alternate;
}
.hero-fog-two{
  right:-30%;
  bottom:20%;
  opacity:.1;
  animation:primeFogTwo 15s ease-in-out infinite alternate;
}

.hero-laser{
  position:absolute;
  top:-28%;
  width:3px;
  height:160%;
  transform-origin:top;
  background:linear-gradient(180deg,transparent,rgba(197,69,255,.95),rgba(0,213,255,.46),transparent);
  box-shadow:0 0 24px rgba(174,42,255,.86);
  opacity:.42;
}
.hero-laser-one{
  left:20%;
  transform:rotate(-23deg);
  animation:primeLaserOne 6.5s ease-in-out infinite alternate;
}
.hero-laser-two{
  left:58%;
  transform:rotate(18deg);
  animation:primeLaserTwo 8.5s ease-in-out infinite alternate;
}
.hero-laser-three{
  left:83%;
  transform:rotate(-12deg);
  animation:primeLaserThree 10s ease-in-out infinite alternate;
}

.hero-neon-pulse{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 67% 38%,rgba(211,65,255,.26),transparent 17%),
    radial-gradient(circle at 45% 68%,rgba(0,187,255,.13),transparent 24%),
    radial-gradient(circle at 84% 72%,rgba(255,0,200,.12),transparent 20%);
  animation:primeNeonPulse 4.2s ease-in-out infinite alternate;
}

.hero-content,
.hero-copy{
  position:relative;
  z-index:3;
}

@keyframes primeHeroCamera{
  from{transform:scale(1.02) translate3d(0,0,0);filter:saturate(1) brightness(.98)}
  to{transform:scale(1.085) translate3d(-.8%,.4%,0);filter:saturate(1.12) brightness(1.05)}
}
@keyframes primeFogOne{
  from{transform:translate3d(-8%,0,0) scale(1)}
  to{transform:translate3d(28%,-10%,0) scale(1.18)}
}
@keyframes primeFogTwo{
  from{transform:translate3d(8%,0,0) scale(.95)}
  to{transform:translate3d(-22%,8%,0) scale(1.2)}
}
@keyframes primeLaserOne{
  from{transform:rotate(-31deg) translateX(-45px)}
  to{transform:rotate(-16deg) translateX(70px)}
}
@keyframes primeLaserTwo{
  from{transform:rotate(10deg) translateX(-35px)}
  to{transform:rotate(27deg) translateX(55px)}
}
@keyframes primeLaserThree{
  from{transform:rotate(-20deg)}
  to{transform:rotate(-4deg) translateX(45px)}
}
@keyframes primeNeonPulse{
  from{opacity:.32;filter:brightness(.9)}
  to{opacity:.88;filter:brightness(1.3)}
}

@media(max-width:768px){
  .prime-hero-picture img,
  .hero-picture img,
  .hero > img,
  .cinematic-hero > img{
    animation:primeHeroCameraMobile 12s ease-in-out infinite alternate;
  }
  .hero-laser{opacity:.34}
  .hero-laser-one{left:10%}
  .hero-laser-two{left:55%}
  .hero-laser-three{left:88%}
  .hero-fog{height:20%;filter:blur(44px)}
}
@keyframes primeHeroCameraMobile{
  from{transform:scale(1.01) translate3d(0,0,0);filter:saturate(1) brightness(.98)}
  to{transform:scale(1.06) translate3d(0,-.7%,0);filter:saturate(1.1) brightness(1.04)}
}

@media(prefers-reduced-motion:reduce){
  .prime-hero-picture img,
  .hero-picture img,
  .hero > img,
  .cinematic-hero > img,
  .hero-fog,
  .hero-laser,
  .hero-neon-pulse{
    animation:none!important;
  }
}


/* ===== HERO ANIMATION VISIBILITY FIX ===== */
.hero,
.cinematic-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

/* Desktop and mobile hero artwork must fill the hero */
.prime-hero-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
  overflow:hidden!important;
}

.prime-hero-picture img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  will-change:transform,filter!important;
  animation:primeCameraVisible 9s ease-in-out infinite alternate!important;
}

/* Dark readability overlay sits above image, but below animation */
.hero .overlay,
.cinematic-hero .overlay{
  z-index:1!important;
}

/* Existing ambient effects */
.hero-ambient{
  z-index:2!important;
}

/* New motion effects must be visible above overlay */
.hero-motion-layers{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  overflow:hidden!important;
  mix-blend-mode:screen;
}

/* Keep content above every visual effect */
.hero-copy,
.cinematic-copy,
.hero-content{
  position:relative!important;
  z-index:5!important;
}

/* Stronger visible fog */
.hero-fog{
  opacity:.26!important;
  filter:blur(46px)!important;
}
.hero-fog-one{
  animation:primeFogVisibleOne 8s ease-in-out infinite alternate!important;
}
.hero-fog-two{
  opacity:.18!important;
  animation:primeFogVisibleTwo 10s ease-in-out infinite alternate!important;
}

/* Stronger moving lasers */
.hero-laser{
  width:4px!important;
  opacity:.72!important;
  box-shadow:
    0 0 12px rgba(210,80,255,.95),
    0 0 34px rgba(164,38,255,.88)!important;
}
.hero-laser-one{
  animation:primeLaserVisibleOne 4.8s ease-in-out infinite alternate!important;
}
.hero-laser-two{
  animation:primeLaserVisibleTwo 6s ease-in-out infinite alternate!important;
}
.hero-laser-three{
  animation:primeLaserVisibleThree 7s ease-in-out infinite alternate!important;
}

/* Visible light pulse */
.hero-neon-pulse{
  opacity:.65;
  animation:primePulseVisible 3.2s ease-in-out infinite alternate!important;
}

@keyframes primeCameraVisible{
  0%{
    transform:scale(1.01) translate3d(0,0,0);
    filter:saturate(1) brightness(.96);
  }
  100%{
    transform:scale(1.10) translate3d(-1.4%,.8%,0);
    filter:saturate(1.18) brightness(1.08);
  }
}

@keyframes primeFogVisibleOne{
  0%{transform:translate3d(-18%,6%,0) scale(.9)}
  100%{transform:translate3d(34%,-12%,0) scale(1.28)}
}
@keyframes primeFogVisibleTwo{
  0%{transform:translate3d(20%,0,0) scale(.9)}
  100%{transform:translate3d(-32%,10%,0) scale(1.25)}
}

@keyframes primeLaserVisibleOne{
  0%{transform:rotate(-38deg) translateX(-90px)}
  100%{transform:rotate(-12deg) translateX(110px)}
}
@keyframes primeLaserVisibleTwo{
  0%{transform:rotate(6deg) translateX(-75px)}
  100%{transform:rotate(31deg) translateX(85px)}
}
@keyframes primeLaserVisibleThree{
  0%{transform:rotate(-24deg) translateX(-40px)}
  100%{transform:rotate(4deg) translateX(80px)}
}
@keyframes primePulseVisible{
  0%{opacity:.25;filter:brightness(.8)}
  100%{opacity:.92;filter:brightness(1.45)}
}

/* Mobile keeps its dedicated portrait artwork */
@media(max-width:768px){
  .prime-hero-picture img{
    object-position:center center!important;
    animation:primeCameraVisibleMobile 8s ease-in-out infinite alternate!important;
  }

  .hero-motion-layers{
    mix-blend-mode:screen;
  }

  .hero-laser{
    opacity:.64!important;
  }
}

@keyframes primeCameraVisibleMobile{
  0%{
    transform:scale(1.01) translate3d(0,0,0);
    filter:saturate(1) brightness(.97);
  }
  100%{
    transform:scale(1.075) translate3d(0,-1.2%,0);
    filter:saturate(1.15) brightness(1.07);
  }
}

/* Keep an accessible fallback, but preserve a visible light pulse */
@media(prefers-reduced-motion:reduce){
  .prime-hero-picture img,
  .hero-fog,
  .hero-laser{
    animation:none!important;
  }
  .hero-neon-pulse{
    animation:primePulseVisible 5s ease-in-out infinite alternate!important;
  }
}
