
:root { --wine:#28040e; --deep:#130108; --red:#d60b31; --hot:#ff244f; --pink:#f4a0b3; --cream:#f8f1ed; --ink:#171014; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--deep); color:white; font-family:Arial, Helvetica, sans-serif; overflow-x:hidden; }
button, a { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }

.site-header { height:92px; padding:0 5vw; position:absolute; z-index:20; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.14); }
.brand { display:block; width:clamp(190px,17vw,255px); flex:0 0 auto; }
.brand img { display:block; width:100%; height:auto; }
.site-header nav { display:flex; align-items:center; gap:35px; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:1.7px; }
.site-header nav a { transition:.2s color; }
.site-header nav a:hover { color:var(--pink); }
.site-header nav button { padding:14px 22px; border:1px solid white; background:transparent; color:white; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:1.5px; }
.menu-button { display:none; }

.hero { min-height:100svh; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:130px 9vw 80px; background:linear-gradient(90deg,rgba(24,0,9,.62),rgba(113,0,31,.35) 48%,rgba(12,0,9,.62)),url("assets/background-hero.webp") center 48% / cover no-repeat; }
.hero::before { content:""; position:absolute; inset:0; opacity:.35; background:repeating-linear-gradient(90deg,transparent 0,transparent 8vw,rgba(255,255,255,.04) 8.05vw); }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(8,0,4,.42),rgba(24,0,10,.06) 33%,rgba(20,0,9,.58) 100%); }
.stage-lights i { position:absolute; top:-9%; width:10px; height:95%; background:linear-gradient(to bottom,#fff,rgba(255,44,86,.46) 8%,rgba(255,20,65,.04) 70%); filter:blur(5px); transform-origin:top; opacity:.9; clip-path:polygon(40% 0,60% 0,100% 100%,0 100%); }
.stage-lights i:nth-child(1){left:17%; transform:rotate(-14deg);}.stage-lights i:nth-child(2){left:50%; transform:rotate(3deg);}.stage-lights i:nth-child(3){right:17%; transform:rotate(15deg);}
.hero-grain { position:absolute; inset:0; opacity:.13; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.hero-content { position:relative; z-index:3; max-width:1100px; width:100%; text-align:center; }
.kicker { margin:0 0 22px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:5px; }
.hero h1, .section-heading h2, .experience h2, .booking h2, .booking-modal h2 { margin:0; text-transform:uppercase; font-size:clamp(54px,8.8vw,138px); line-height:.82; letter-spacing:-.045em; font-weight:900; }
.hero h1 em, .section-heading h2 em, .experience h2 em, .booking h2 em, .booking-modal h2 em { font-style:normal; color:var(--pink); -webkit-text-stroke:1px currentColor; }
.hero-copy { margin:35px 0 0; text-transform:uppercase; letter-spacing:7px; font-weight:700; font-size:clamp(11px,1.15vw,16px); }
.hero-actions { margin-top:48px; display:flex; justify-content:center; align-items:center; gap:35px; }
.primary-button { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 31px; border:1px solid white; background:white; color:#85041e; text-transform:uppercase; letter-spacing:2px; font-size:11px; font-weight:900; transition:.25s; }
.primary-button:hover { color:white; background:var(--red); }
.text-link { font-size:11px; text-transform:uppercase; letter-spacing:2px; font-weight:800; }
.text-link span { margin-left:9px; }
.side-label { position:absolute; z-index:4; right:2.4vw; top:50%; margin:0; transform:translate(50%,-50%) rotate(90deg); font-size:8px; letter-spacing:3px; text-transform:uppercase; }
.marquee { height:74px; background:#f8b1c0; color:#4a0716; overflow:hidden; display:flex; align-items:center; border-block:1px solid #400412; }
.marquee div { display:flex; width:max-content; animation:scroll 20s linear infinite; }
.marquee span { padding:0 34px; font-size:18px; text-transform:uppercase; font-weight:900; letter-spacing:4px; white-space:nowrap; }.marquee b{font-size:18px}
@keyframes scroll { to{transform:translateX(-50%)} }

.shows-section { background:radial-gradient(circle at 82% 12%,rgba(191,10,54,.28),transparent 34%),radial-gradient(circle at 8% 70%,rgba(113,4,36,.3),transparent 31%),linear-gradient(155deg,#310511 0%,#190008 58%,#0d0005 100%); color:white; padding:120px 5vw 140px; position:relative; overflow:hidden; }
.section-heading { display:grid; grid-template-columns:minmax(150px,.42fr) 2fr; column-gap:55px; row-gap:34px; align-items:start; margin-bottom:68px; }
.kicker.dark { color:#ff7897; align-self:start; }
.section-heading>.kicker { grid-row:1 / span 2; }
.section-heading h2 { font-size:clamp(44px,6vw,86px); }.section-heading h2 em{color:#ff315b}
.section-heading>p:last-child { grid-column:2; font-size:clamp(16px,1.55vw,22px); line-height:1.55; margin:0; max-width:720px; padding:4px 0 4px 24px; border-left:5px solid #ff315b; font-weight:600; color:#dbc5cb; }
.show-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:24px; }
.show-card { grid-column:span 6; min-height:570px; background:#210610; color:white; position:relative; overflow:hidden; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.12); box-shadow:0 24px 65px rgba(0,0,0,.32); }
.show-card:nth-child(n+3){grid-column:span 4;min-height:500px}.card-art{height:57%;position:relative;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}
.card-art img{display:block;width:100%;height:100%;object-fit:contain;padding:clamp(18px,2.4vw,38px)}
.card-number{position:absolute;right:15px;top:5px;font-size:92px;line-height:1;color:rgba(255,255,255,.08);font-weight:900;letter-spacing:-8px}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 5px,rgba(255,255,255,.025) 6px)}
.card-content{padding:28px 30px 30px;display:flex;flex:1;flex-direction:column}.card-content p{margin:0 0 12px;color:#f5a2b5;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:2.5px}.card-content h3{margin:0 0 14px;text-transform:uppercase;font-size:clamp(24px,2.2vw,36px);line-height:.95;letter-spacing:-1px}.card-content>span{font-size:12px;line-height:1.65;color:#d6c5cb;max-width:400px}.card-actions{border-top:1px solid rgba(255,255,255,.22);margin-top:auto;padding-top:18px;display:flex;gap:22px}.card-actions a,.card-actions button{flex:1;border:0;background:none;color:white;text-transform:uppercase;text-decoration:none;font-size:10px;letter-spacing:2px;font-weight:800;padding:0;display:flex;justify-content:space-between;align-items:center}.card-actions button{border-left:1px solid rgba(255,255,255,.2);padding-left:22px}.card-actions a:hover,.card-actions button:hover{color:#ff6384}

.promo{background:#0d0005;padding:120px 5vw 135px;position:relative;overflow:hidden}.promo::before{content:"PROMO";position:absolute;right:-2vw;top:-4vw;font-size:clamp(140px,23vw,360px);line-height:1;font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);letter-spacing:-.08em}.promo-heading{position:relative;z-index:2;display:grid;grid-template-columns:1fr 2.2fr 1fr;gap:45px;align-items:end;margin-bottom:60px}.promo-heading h2{margin:0;text-transform:uppercase;font-size:clamp(48px,7vw,105px);line-height:.84;letter-spacing:-.045em}.promo-heading h2 em{font-style:normal;color:#ed3158}.promo-heading>p:last-child{font-size:14px;line-height:1.8;color:#ccb5bb;margin:0}.promo-player{position:relative;z-index:2;width:min(1240px,100%);margin:0 auto;border:1px solid rgba(255,255,255,.2);padding:12px;background:#21030c;box-shadow:0 35px 100px rgba(0,0,0,.55)}.promo-player video{display:block;width:100%;height:auto;max-height:76vh;aspect-ratio:16/9;object-fit:contain;background:#000}.promo-corner{position:absolute;width:58px;height:58px;border-color:#ff315b}.promo-corner.top{left:-8px;top:-8px;border-left:3px solid #ff315b;border-top:3px solid #ff315b}.promo-corner.bottom{right:-8px;bottom:-8px;border-right:3px solid #ff315b;border-bottom:3px solid #ff315b}

.experience{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;background:#2b030d}.experience-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 40% 40%,#d70d37 0,rgba(95,4,29,.5) 36%,#0d0005 72%)}.experience-type{position:absolute;font-size:clamp(130px,23vw,370px);font-weight:900;letter-spacing:-.12em;left:-4%;top:50%;transform:translateY(-50%);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.35)}.laser{position:absolute;height:2px;width:85%;background:#fff;box-shadow:0 0 15px 3px #ff1e52;left:5%;top:28%;transform:rotate(20deg)}.laser-two{top:72%;transform:rotate(-14deg)}.audience-lines{position:absolute;bottom:0;left:0;right:0;height:35%;background:repeating-linear-gradient(78deg,transparent 0 5%,#0d0005 5.5% 7%);opacity:.7}.experience-copy{padding:110px 8vw;display:flex;flex-direction:column;justify-content:center}.experience h2{font-size:clamp(50px,6vw,92px)}.experience-lead{display:block;font-size:.62em;letter-spacing:-.025em;margin-bottom:.12em}.experience h2 em{display:block}.experience-copy>p:nth-of-type(2){max-width:540px;line-height:1.9;color:#d8bec5;margin:35px 0}.experience ul{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.2)}.experience li{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800}.experience li span{display:inline-block;color:#f18da5;width:55px}

.booking{position:relative;text-align:center;padding:140px 5vw 105px;background:#d70b34;color:white;overflow:hidden}.booking::before{content:"";position:absolute;width:650px;height:650px;border:1px solid rgba(255,255,255,.24);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 90px rgba(255,255,255,.03),0 0 0 180px rgba(255,255,255,.03)}.booking>*{position:relative}.booking h2{font-size:clamp(65px,10vw,150px)}.booking h2 em{color:#4f0616}.primary-button.light{margin-top:48px}.booking-meta{display:flex;justify-content:center;gap:35px;margin-top:65px;font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:800}
footer{min-height:170px;padding:45px 5vw;display:flex;align-items:center;justify-content:space-between;background:#170008;border-top:1px solid rgba(255,255,255,.15)}footer p{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#a98e95}footer>div{display:flex;gap:24px;font-size:9px;text-transform:uppercase;letter-spacing:2px}

.modal-backdrop{position:fixed;z-index:100;inset:0;background:rgba(11,0,4,.78);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-backdrop[hidden]{display:none}.booking-modal{width:min(600px,100%);background:var(--cream);color:var(--ink);padding:65px;position:relative;box-shadow:0 30px 100px #000}.booking-modal h2{font-size:clamp(50px,7vw,84px)}.booking-modal h2 em{color:#b70a2d}.booking-modal>p:nth-of-type(2){line-height:1.8;max-width:430px;margin:25px 0}.modal-close{position:absolute;right:20px;top:15px;border:0;background:transparent;color:#730419;font-size:35px}.booking-modal .primary-button{background:#b70a2d;color:white;margin-top:8px}.modal-phone{display:block;margin-top:22px;text-transform:uppercase;letter-spacing:2px;font-size:9px;font-weight:800}

.gallery-backdrop{position:fixed;z-index:120;inset:0;background:rgba(6,0,3,.96);backdrop-filter:blur(18px);padding:24px;display:flex;align-items:center;justify-content:center}.gallery-backdrop[hidden]{display:none}.gallery-modal{width:min(1320px,100%);height:min(92vh,920px);display:grid;grid-template-rows:auto minmax(0,1fr) 112px;gap:16px;color:white}.gallery-header{display:grid;grid-template-columns:1fr auto 48px;align-items:end;gap:28px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:16px}.gallery-header .kicker{margin:0 0 7px}.gallery-header h2{font-size:clamp(28px,4vw,52px);line-height:.9}.gallery-header>p{font-size:18px;font-weight:900;letter-spacing:2px;margin:0 0 4px}.gallery-header>p span{color:#ff315b;margin:0 6px}.gallery-close{width:48px;height:48px;border:1px solid rgba(255,255,255,.3);background:none;color:white;font-size:32px;line-height:1}.gallery-stage{position:relative;min-height:0;background:#090306;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,49,91,.12),transparent 60%)}.gallery-stage>img{position:relative;width:100%;height:100%;object-fit:contain}.gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(255,255,255,.38);background:rgba(15,0,6,.7);color:white;font-size:24px;backdrop-filter:blur(6px)}.gallery-arrow:hover,.gallery-close:hover{background:#d70b34;border-color:#d70b34}.gallery-arrow.previous{left:18px}.gallery-arrow.next{right:18px}.gallery-thumbnails{display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;padding:7px 2px 10px;scrollbar-color:#d70b34 #21030c}.gallery-thumbnails button{flex:0 0 118px;height:86px;border:2px solid transparent;background:#18050b;padding:3px;opacity:.48;transition:opacity .2s,border-color .2s,transform .2s}.gallery-thumbnails button:hover{opacity:.8}.gallery-thumbnails button.active{opacity:1;border-color:#ff315b;transform:translateY(-3px)}.gallery-thumbnails img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:900px){.site-header{height:76px}.brand{width:190px}.menu-button{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:7px}.menu-button span{height:1px;background:white;width:100%}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#25020c;padding:30px 5vw;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero{min-height:760px}.hero h1{font-size:clamp(54px,14vw,94px)}.section-heading{grid-template-columns:1fr;row-gap:25px}.section-heading>.kicker{grid-row:auto}.section-heading>p:last-child{grid-column:1;max-width:650px}.show-card,.show-card:nth-child(n+3){grid-column:span 6}.show-card:nth-child(5){grid-column:span 12}.promo-heading{grid-template-columns:1fr;gap:24px}.promo-heading>p:last-child{max-width:620px}.experience{grid-template-columns:1fr}.experience-visual{min-height:520px}.experience-copy{padding:90px 8vw}}
@media(max-width:620px){.hero{padding-inline:24px;min-height:700px}.hero h1{font-size:49px;line-height:.88}.hero-copy{line-height:1.6;letter-spacing:4px}.hero-actions{flex-direction:column;gap:24px;margin-top:35px}.side-label{display:none}.shows-section{padding:85px 20px}.show-card,.show-card:nth-child(n+3){grid-column:span 12;min-height:520px}.section-heading{margin-bottom:45px}.section-heading h2{font-size:44px}.promo{padding:85px 20px 95px}.promo-heading{margin-bottom:38px}.promo-heading h2{font-size:48px}.promo-player{padding:6px}.experience-visual{min-height:430px}.experience-copy{padding:75px 24px}.experience h2{font-size:49px}.booking{padding:100px 20px 80px}.booking h2{font-size:61px}.booking-meta{flex-direction:column;gap:15px}.booking-modal{padding:55px 26px 38px}.gallery-backdrop{padding:12px}.gallery-modal{height:96vh;grid-template-rows:auto minmax(0,1fr) 82px;gap:10px}.gallery-header{grid-template-columns:1fr auto 42px;gap:10px}.gallery-header h2{font-size:25px}.gallery-header>p{font-size:12px}.gallery-close{width:42px;height:42px}.gallery-arrow{width:44px;height:44px}.gallery-arrow.previous{left:8px}.gallery-arrow.next{right:8px}.gallery-thumbnails button{flex-basis:88px;height:64px}footer{flex-direction:column;gap:35px;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}}
