:root{--bg:#090a0e;--surface:#12151c;--red:#ff4e63;--green:#63e9a1;--yellow:#f5d471}
body{background:var(--bg)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;background:linear-gradient(90deg,var(--red),var(--yellow));transform:scaleX(0);transform-origin:left;pointer-events:none}
.header{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:10;border-color:#ffffff24}
.brand>span{color:#b9b7af}.brand b{color:#f0ede5}.header nav{color:#d4d2cb}.header nav a{position:relative;padding-block:12px}.header nav a:after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}
.btn{position:relative;overflow:hidden;border-radius:5px;background:var(--yellow);border-color:var(--yellow);box-shadow:0 5px 24px #f5d4710d;transition:background .25s,box-shadow .25s,transform .25s,border-color .25s}.btn:before{content:"";position:absolute;top:-50%;bottom:-50%;left:-60%;width:35%;background:linear-gradient(90deg,transparent,#ffffff50,transparent);transform:skewX(-20deg);pointer-events:none}.btn:hover{background:#ffe49b;border-color:#ffe49b;box-shadow:0 8px 30px #f5d47129;transform:translateY(-3px)}.btn:hover:before{animation:button-sheen .6s ease}.btn-outline{background:#ffffff05;color:var(--paper);border-color:#f5d47166;box-shadow:none}.btn-outline:hover{background:#f5d47112;border-color:var(--yellow)}.hero-ctas>.btn:after{content:"↗";font-size:20px;line-height:1}.underlink{transition:color .2s,text-decoration-color .2s}.underlink:hover{color:var(--yellow);text-decoration-color:var(--yellow)}
.hero{position:relative;isolation:isolate;display:block;padding:0;overflow:hidden;background:#0c111a}
.hero-backdrop,.hero-shade,.hero-lights{position:absolute;inset:0;pointer-events:none}
.hero-backdrop{z-index:-4;overflow:hidden}.hero-city,.hero-city img,.hero-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.7) contrast(1.08)}.hero-city{filter:none}.hero-video{opacity:0;transition:opacity 1.2s}.video-loaded .hero-video{opacity:1}
.hero-shade{z-index:-3;background:linear-gradient(90deg,#08090fee 0%,#08090fce 28%,#08090f40 64%,#08090f73),linear-gradient(0deg,#090a0e,transparent 28%,transparent 76%,#090a0e88)}
.hero-lights{z-index:-2;overflow:hidden;mix-blend-mode:screen;opacity:.65}.hero-lights i{position:absolute;top:-30%;left:58%;width:25%;height:130%;background:linear-gradient(180deg,#f5d47118,transparent 75%);transform-origin:50% 0;filter:blur(15px);animation:light-sweep 19s ease-in-out infinite alternate}.hero-lights i+ i{left:84%;width:18%;background:linear-gradient(180deg,#ed3d4a24,transparent 80%);animation-delay:-11s;animation-duration:24s}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.86fr);align-items:center;gap:9%;padding-block:131px 42px;min-height:790px}
.hero-copy{position:relative;min-width:0;z-index:2}.edition{font-size:10px;letter-spacing:.12em;color:#f4d885;margin-bottom:20px}.edition-bars{gap:4px}.edition-bars i{width:6px;height:14px;box-shadow:0 0 12px currentColor}.edition-bars i:nth-child(1){color:var(--green)}.edition-bars i:nth-child(2){color:var(--yellow)}.edition-bars i:nth-child(3){color:var(--red);background:var(--red)}
.hero-presenters{color:#c2bfba;line-height:1.8;margin-bottom:22px}.hero h1{font-size:clamp(80px,7.8vw,112px);line-height:.9;letter-spacing:-.025em}.hero .hero-copy h1>.title-line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em;color:var(--paper)}.title-line>span{display:block}.hero .hero-copy h1>.breakup-line{color:var(--red);text-shadow:0 3px 45px #ff32492a}.hero h1 .full-stop{color:var(--yellow)}.hero-description{font-size:18px;line-height:1.6;color:#ddd9d1;margin-top:25px}.hero-facts{max-width:500px;border-color:#ffffff30;margin-top:24px;padding-top:19px}.hero-facts span{color:#b4afa7}.hero-facts strong{color:#f4f1ea}.hero-prices{margin-top:17px;color:#c5beb1}.hero-ctas{margin-top:25px}.hero-ctas .btn{min-width:195px}.hero-caption{display:flex;align-items:center;gap:11px;color:#c7bfae;margin-top:21px;font-size:10px}.equalizer{display:inline-flex;align-items:center;gap:3px;height:15px}.equalizer i{width:3px;height:6px;background:var(--yellow);animation:eq 1.1s ease-in-out infinite alternate}.equalizer i:nth-child(2){height:13px;animation-delay:-.7s}.equalizer i:nth-child(3){height:9px;animation-delay:-.3s}.equalizer i:nth-child(4){height:14px;animation-delay:-.9s}
.hero-poster{position:relative;width:100%;max-width:412px;justify-self:center;perspective:1200px;min-width:0;z-index:1}.poster-float{position:relative;animation:poster-float 7s ease-in-out infinite}.poster-float:before{content:"";position:absolute;inset:8% -5% -4%;background:radial-gradient(ellipse,#ed3d4a40,transparent 68%);filter:blur(24px);z-index:-1}.hero-poster picture{position:relative;background:#17171d;padding:7px;border:1px solid #f5d47170;border-radius:6px;overflow:hidden;transform:rotateX(var(--poster-x,0deg)) rotateY(var(--poster-y,-5deg)) rotateZ(2deg);box-shadow:0 35px 75px #0009,0 0 0 6px #fff04;transition:transform .3s ease-out;will-change:transform}.hero-poster img{border-radius:2px}.hero-poster figcaption{position:relative;padding-top:22px;color:#cbc1ad;font-size:9px;letter-spacing:.13em}.poster-stamp{position:absolute;left:-26px;bottom:25px;display:flex;flex-direction:column;gap:6px;padding:15px 23px;background:var(--yellow);color:#251b0a;transform:rotate(-6deg);box-shadow:0 12px 30px #0005;border-radius:2px}.poster-stamp span{font-size:7px;letter-spacing:.1em;font-weight:600;line-height:1.4}.poster-stamp b{font:900 34px/.95 var(--display);letter-spacing:-.015em}
.hero-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:10px 22px;font-size:9px;letter-spacing:.13em;color:#c0bcae}.city-label{display:flex;align-items:center;gap:10px}.city-label i{width:5px;height:5px;background:var(--green);border-radius:50%;box-shadow:0 0 14px #63e9a180;animation:city-pulse 3s ease infinite}.motion-toggle{display:inline-flex;align-items:center;gap:9px;background:#090a0e55;border:1px solid #ffffff30;border-radius:30px;padding:9px 14px;min-height:38px;font:400 10px var(--body);color:#dfd9cf;backdrop-filter:blur(10px)}.motion-toggle[hidden]{display:none}.motion-toggle:hover{background:#ffffff14;border-color:#f5d47188}.motion-icon{font-size:12px;width:12px}.scroll-cue{display:flex;align-items:center;gap:18px;padding-block:8px;line-height:1}.scroll-cue>span{font-size:21px;animation:scroll-nudge 2.5s ease-in-out infinite}
.event-strip{position:relative;z-index:3;overflow:hidden;background:var(--yellow);color:#231d12;border:0;transform:rotate(-1.25deg);margin:-2px -3px 8px;width:calc(100% + 6px);box-shadow:0 8px 35px #0004}.ticker-track{width:max-content;display:flex;gap:40px;animation:ticker-travel 34s linear infinite}.ticker-group{display:flex;align-items:center;gap:40px;flex-shrink:0;padding-block:15px}.ticker-group>span{font:900 29px/1.1 var(--display);letter-spacing:.015em;white-space:nowrap}.ticker-group>b{font-size:23px;color:#b12c37}.event-strip:hover .ticker-track{animation-play-state:paused}
.night{padding-top:112px}.night h2 span{color:var(--yellow)}.section-meta{color:#b9ac91}.section-head{position:relative}.section-head:after{content:"";position:absolute;bottom:-1px;left:0;width:38px;height:2px;background:var(--red)}.wristbands{gap:22px}.wristband{border-radius:10px;border:1px solid color-mix(in srgb,var(--tone) 23%,transparent);background:radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--tone) 10%,transparent),transparent 70%),#101318;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}.wristband.red{--tone:var(--red)}.wristband>div{color:#bab9b4}.wristband h3{color:var(--tone);font-size:clamp(37px,4vw,55px)}.wristband:after{height:3px;left:0;right:0;opacity:.8;box-shadow:0 -6px 35px var(--tone)}.swatch{height:17px;width:17px;border-radius:50%;box-shadow:0 0 19px color-mix(in srgb,var(--tone) 45%,transparent)}.wristband:hover{transform:translateY(-8px);border-color:var(--tone);box-shadow:0 18px 45px #0005}.wristband:hover .swatch{animation:signal-pulse 1.4s ease infinite}.venue-row h3 span{color:#bbb2a3}
.artist-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 72% 50%,#d5a45d12,transparent 58%),#0e1016;padding-block:80px}.artist-section:after{content:"DROKTR";font:900 clamp(140px,27vw,390px)/1 var(--display);position:absolute;bottom:-.15em;right:2%;z-index:-1;color:transparent;-webkit-text-stroke:1px #f5d4710e;pointer-events:none}.artist-copy h2>span{color:var(--yellow)}.figure-scene{position:relative}.figure-viewport{position:relative;isolation:isolate;padding-top:20px}.dj-halo{position:absolute;left:50%;top:43%;width:310px;max-width:90%;aspect-ratio:1;border:1px dashed #f5d47160;border-radius:50%;transform:translate(-50%,-50%);animation:halo-orbit 34s linear infinite;pointer-events:none;z-index:-1}.dj-halo:before,.dj-halo:after{content:"";position:absolute;inset:18px;border-radius:50%;border:1px solid #f5d47116}.dj-halo:after{inset:-16px;border:2px solid transparent;border-right-color:#f5d47185;filter:drop-shadow(0 0 7px #f5d47155)}.figure-object img{position:relative;height:390px;filter:drop-shadow(0 20px 22px #000a);animation:dj-hover 6s ease-in-out infinite}.figure-viewport:after{content:"";position:absolute;bottom:6px;left:20%;right:20%;height:15px;border-radius:50%;background:#f5d47130;filter:blur(15px);z-index:-1}.figure-help,.figure-status{color:#aba493}.deck-equalizer{height:24px;display:flex;align-items:center;justify-content:center;gap:5px;margin:12px 0 4px}.deck-equalizer i{height:3px;width:4px;border-radius:2px;background:#f5d47155;transition:background .3s}.figure-scene[data-figure-state=active] .deck-equalizer i{height:16px;background:var(--yellow);animation:deck-bounce .75s ease-in-out infinite alternate}.deck-equalizer i:nth-child(3n){animation-delay:-.3s!important}.deck-equalizer i:nth-child(3n+1){animation-delay:-.6s!important}.deck-equalizer i:nth-child(4n){animation-duration:.55s!important}.figure-scene[data-figure-state=active] .dj-halo{border-color:var(--yellow);animation-duration:16s}.summoning .dj-halo:after{animation:activation-ring .8s ease-out}.summoning .figure-object{animation:artist-pop .8s cubic-bezier(.2,.8,.2,1)}
.ritual-console{border-radius:12px;background:linear-gradient(145deg,#191d28,#101217);border-color:#f5d47138;box-shadow:0 20px 65px #0004}.game-hud b{color:#f8e4ad}.sigil-tile{border-radius:7px;transition:background .15s,border-color .15s;background:#0b0e14}.sigil-tile.sigil{background:#19382d;border-color:#63e9a175;color:#70f4b0;box-shadow:inset 0 0 20px #63e9a108}.sigil-tile.trap{background:#351c29;border-color:#fa597a70;color:#ff718c}.sigil .tile-symbol,.trap .tile-symbol{animation:heart-arrive .22s cubic-bezier(.2,.8,.2,1)}.sigil-tile.caught:after{content:"♥";position:absolute;color:var(--green);font-size:32px;pointer-events:none;animation:heart-catch .36s ease-out both}.game-overlay{border-radius:7px;background:radial-gradient(ellipse at 50% 30%,#332923,#151720 72%);border-color:#f5d47120}.overlay-symbol{color:var(--red);text-shadow:0 0 25px #ff4e6338;animation:heart-beat 2.2s ease-in-out infinite}.game-overlay .eyebrow{color:#c9b997}.game-overlay .button{background:var(--yellow);border-color:var(--yellow);border-radius:4px;transition:transform .2s,box-shadow .2s}.game-overlay .button:hover{transform:translateY(-3px);box-shadow:0 6px 25px #f5d47125}.game-overlay h3{color:#f8e4ad}.seal-row i.lit{box-shadow:0 0 13px #63e9a144}.ritual-console.awakened{border-color:var(--green);box-shadow:0 0 55px #63e9a120}.hurt{animation:ice-shake .3s ease}
.tickets-section{position:relative;background:radial-gradient(ellipse at 0 50%,#ff4e630a,transparent 55%),#101219}.tickets-copy h2 span{color:var(--yellow)}.ticket-prices strong{color:var(--yellow)}.booking-shell{border-radius:10px;border-color:#f5d47148;box-shadow:0 25px 70px #0005}.booking-heading{background:#1c1c22;border-radius:9px 9px 0 0}.booking-fallback{border-radius:0 0 9px 9px}.faq-list summary{transition:color .2s}.faq-list summary:hover{color:var(--yellow)}.faq-list summary>span{transition:rotate .25s;color:var(--yellow)}
.has-reveals .reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),translate .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.has-reveals .reveal:not(.is-revealed){opacity:0;translate:0 30px}.motion-ready .title-line>span{animation:headline-rise 1.1s cubic-bezier(.16,1,.3,1) both}.motion-ready .title-line:nth-child(2)>span{animation-delay:.12s}.motion-ready .title-line:nth-child(3)>span{animation-delay:.24s}.motion-ready .edition,.motion-ready .hero-presenters,.motion-ready .hero-description,.motion-ready .hero-facts,.motion-ready .hero-prices,.motion-ready .hero-ctas,.motion-ready .hero-caption{animation:hero-enter .9s ease both}.motion-ready .hero-description{animation-delay:.3s}.motion-ready .hero-facts{animation-delay:.4s}.motion-ready .hero-prices{animation-delay:.45s}.motion-ready .hero-ctas{animation-delay:.5s}.motion-ready .hero-caption{animation-delay:.55s}
.motion-paused *,.motion-paused *:before,.motion-paused *:after,.page-hidden *,.page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}.motion-paused .reveal{opacity:1!important;translate:none!important}.motion-paused .title-line>span,.motion-paused .hero-copy>*{animation:none!important;opacity:1!important;transform:none!important}
.hero:not(.in-view) .poster-float,.hero:not(.in-view) .hero-lights i,.hero:not(.in-view) .equalizer i,.hero:not(.in-view) .city-label i,.event-strip:not(.in-view) .ticker-track,.artist-section:not(.in-view) .dj-halo,.artist-section:not(.in-view) .figure-object img,.artist-section:not(.in-view) .deck-equalizer i{animation-play-state:paused}
@keyframes headline-rise{from{transform:translateY(115%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}
@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes poster-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes light-sweep{from{transform:rotate(-24deg)}to{transform:rotate(20deg)}}
@keyframes button-sheen{to{left:140%}}
@keyframes eq{to{transform:scaleY(.4)}}
@keyframes city-pulse{50%{box-shadow:0 0 5px #63e9a14d;opacity:.55}}
@keyframes scroll-nudge{50%{transform:translateY(5px)}}
@keyframes ticker-travel{to{transform:translateX(calc(-50% - 20px))}}
@keyframes signal-pulse{50%{box-shadow:0 0 30px var(--tone)}}
@keyframes halo-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes dj-hover{50%{transform:translateY(-7px)}}
@keyframes deck-bounce{to{transform:scaleY(.2)}}
@keyframes activation-ring{from{scale:.85;opacity:1}to{scale:1.3;opacity:0}}
@keyframes artist-pop{0%{scale:.96;filter:brightness(1.5)}45%{scale:1.035}100%{scale:1;filter:brightness(1)}}
@keyframes heart-arrive{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes heart-catch{to{transform:translateY(-24px) scale(1.8);opacity:0}}
@keyframes heart-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
@keyframes ice-shake{25%{transform:translateX(4px);border-color:var(--red)}75%{transform:translateX(-4px);border-color:var(--red)}}
@media(min-width:1600px){.hero{padding:0}.hero-layout{padding-block:165px 85px;min-height:850px}}
@media(max-width:1100px){.hero{padding:0}.hero-layout{gap:7%;grid-template-columns:1.12fr .9fr;padding-top:140px;min-height:740px}.hero h1{font-size:8.2vw}.hero-poster{max-width:370px}.poster-stamp{left:-15px;padding:13px 18px}.hero-facts strong{font-size:13px}.hero-ctas .btn{min-width:175px}.hero-description{font-size:17px}.wristband h3{font-size:4.4vw}}
@media(max-width:760px){.header{height:76px}.hero{padding:0}.hero-layout{grid-template-columns:1fr;gap:49px;min-height:0;padding-block:119px 40px}.hero-shade{background:linear-gradient(90deg,#080b13d9,#080b1385 75%,#080b13b0),linear-gradient(0deg,#090a0e,transparent 42%,transparent 85%,#090a0e80)}.hero-city img,.hero-video{object-position:50% 0%}.hero-lights{opacity:.4}.hero h1{font-size:clamp(64px,17vw,110px);line-height:.9}.edition{font-size:9px;letter-spacing:.07em;margin-bottom:18px}.hero-presenters{font-size:11px;margin-bottom:22px;max-width:335px}.hero-description{font-size:17px;margin-top:24px}.hero-facts{margin-top:23px;padding-top:18px;gap:15px}.hero-facts strong{font-size:12px}.hero-prices{font-size:12px;gap:20px}.hero-prices>span+span{padding-left:20px}.hero-ctas{gap:23px;margin-top:24px}.hero-ctas .btn{min-width:172px}.hero-caption{font-size:9px;letter-spacing:.09em;margin-top:22px}.hero-poster{width:calc(100% - 30px);max-width:390px}.hero-poster picture{padding:5px;transform:rotateZ(1.5deg)}.poster-stamp{left:-15px;bottom:20px;padding:13px 20px}.poster-stamp b{font-size:30px}.hero-poster figcaption{font-size:8px;padding-top:22px}.hero-footer{gap:15px;flex-wrap:wrap;padding-bottom:28px;font-size:8px;letter-spacing:.07em}.motion-toggle{font-size:9px;padding:8px 12px}.scroll-cue{gap:12px}.city-label{gap:7px}.hero-footer .city-label{flex-basis:calc(50% - 15px)}.hero-footer .motion-toggle{margin-left:auto}.hero-footer .scroll-cue{display:none}.ticker-group>span{font-size:24px}.ticker-group{padding-block:13px;gap:28px}.ticker-track{gap:28px;animation-name:ticker-mobile;animation-duration:30s}.ticker-group>b{font-size:20px}.night{padding-top:73px}.wristbands{gap:10px}.wristband{padding:21px 12px 25px}.wristband h3{font-size:clamp(23px,6.4vw,42px)}.swatch{width:12px;height:12px}.artist-section{padding-block:60px}.figure-object img{height:350px}.dj-halo{width:280px}.deck-equalizer{margin-top:10px;height:20px}.artist-copy h2 span{font-size:.94em}.booking-shell{border-radius:9px}.has-reveals .reveal{transition-duration:.65s}.hero-lights i{filter:blur(8px)}}
@media(max-width:359px){.hero h1{font-size:17vw}.hero-ctas{gap:15px}.hero-ctas .btn{min-width:153px}.hero-facts strong{font-size:11px}.hero-prices{gap:13px}.hero-prices>span+span{padding-left:13px}.edition{font-size:8px}.wristband{padding-inline:9px}.wristband h3{font-size:22px}.hero-poster{width:calc(100% - 20px)}}
@keyframes ticker-mobile{to{transform:translateX(calc(-50% - 14px))}}
@media(prefers-reduced-motion:reduce){.has-reveals .reveal{opacity:1!important;translate:none!important}.hero-poster picture{transform:none;will-change:auto}.hero-video{transition:none}.hero-lights{display:none}.btn:hover,.wristband:hover{transform:none}}
