/* Chaos Studio: direction D "Laser Riot". Fonts are self-hosted, OFL-licensed. */
@font-face{font-family:"Big Shoulders Display";src:url(fonts/bigshoulders.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Archivo Black";src:url(fonts/archivoblack.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrainsmono.woff2) format("woff2");font-weight:100 800;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#050506;--or:#ff5a1f;--pk:#ff1fb4;--cy:#00f0ff;--ac:#d7ff1f;--paper:#f6f3ec;--mut:#c9c3b9;--rule:rgba(255,255,255,.18)}
html{background:var(--ink);color:var(--paper);font-family:Inter,system-ui,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
picture{display:block}
.skip{position:absolute;left:-999px;top:0;background:var(--ac);color:#000;padding:8px 12px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--ac);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fx-grain,.fx-scan{position:fixed;inset:0;pointer-events:none;z-index:90}
.fx-grain{background:url(img/grain.png);opacity:.12;mix-blend-mode:overlay}
.fx-scan{background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
.mono{font-family:"JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;font-size:11px}
.chrome{background:linear-gradient(180deg,#fff 0%,#e6ecf2 30%,#5d6470 49%,#fff 53%,#b8c0ca 72%,#fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* header */
.site-head{position:relative;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 40px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.4))}
.logo{font-family:"Archivo Black";font-size:17px;letter-spacing:.03em;text-decoration:none;display:inline-block;transform:skewX(-10deg);white-space:nowrap}
.nav ul{display:flex;gap:20px;list-style:none}
.nav a{text-decoration:none;color:#ece7dd;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--pk);color:#fff}
.nav a.hot{color:var(--ac)}
.mnav{display:none}
.mnav summary{list-style:none;cursor:pointer;padding:6px}
.mnav summary::-webkit-details-marker{display:none}
.mnav ul{list-style:none}
.mnav a{text-decoration:none;color:#ece7dd}
.mnav a.hot{color:var(--ac)}
.burger{display:inline-block;width:26px;height:18px;border-top:3px solid #fff;border-bottom:3px solid #fff;position:relative;vertical-align:middle}
.burger::after{content:"";position:absolute;left:0;right:0;top:4.5px;border-top:3px solid #fff}

/* buttons, chips */
.btn{display:inline-block;background:var(--or);color:#050506;font-family:"Archivo Black";text-transform:uppercase;font-size:13px;letter-spacing:.03em;padding:14px 20px;box-shadow:0 0 28px rgba(255,90,31,.6);transform:skewX(-12deg);white-space:nowrap;text-decoration:none;border:0;cursor:pointer}
.btn>span{display:inline-block;transform:skewX(12deg)}
.btn:hover{background:#ff7a47}
.btn.gh{background:rgba(0,0,0,.6);color:#fff;border:1.5px solid var(--cy);box-shadow:0 0 16px rgba(0,240,255,.45)}
.btn.ac{background:var(--ac);box-shadow:0 0 24px rgba(215,255,31,.5)}
.btn.off{background:#2a2a2e;color:#a9a39a;box-shadow:none;cursor:default}
.soon{display:inline-block;font-family:"JetBrains Mono";font-size:10px;letter-spacing:.16em;color:#050506;background:var(--ac);padding:3px 7px;text-transform:uppercase;vertical-align:middle}
.ctas{display:flex;gap:12px;flex-wrap:wrap}

/* panels */
.panel{position:relative;background:rgba(5,5,6,.86);border:1px solid var(--rule);padding:16px 20px}
.skew{transform:skewX(-8deg)}
.skew>*{transform:skewX(8deg)}
.k{display:block;font-family:"JetBrains Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.h3{font-family:"Archivo Black";font-size:17px;line-height:1.15;display:block}
.sub{display:block;font-size:13px;color:var(--mut)}
.row{display:flex;gap:12px;align-items:center;margin-top:8px;text-decoration:none}
.row img{width:52px;height:52px;object-fit:cover;flex:none;box-shadow:0 0 0 1px #000}
.row:hover .h3{color:var(--ac)}

/* laser stage */
.stage{position:absolute;inset:0;overflow:hidden;z-index:0;background:radial-gradient(ellipse at 50% 72%,rgba(255,31,180,.42),transparent 42%),radial-gradient(ellipse at 18% 18%,rgba(0,240,255,.16),transparent 40%)}
.lasers{position:absolute;left:50%;top:70%;width:0;height:0;animation:sweep 9s ease-in-out infinite alternate}
.lasers i{position:absolute;left:0;top:0;width:2600px;height:2px;transform-origin:0 50%;opacity:.8}
.lasers i:nth-child(3n){height:4px}
.glow{position:absolute;left:50%;top:70%;width:760px;height:320px;margin:-160px 0 0 -380px;background:radial-gradient(ellipse,rgba(255,255,255,.75),rgba(255,31,180,.4) 30%,transparent 65%);filter:blur(8px);animation:strobe 2.4s ease-in-out infinite}
.streak{position:absolute;height:3px;background:linear-gradient(90deg,transparent,#fff,transparent);filter:blur(1px);opacity:.6;transform:rotate(-7deg)}
.crowd{position:absolute;left:-2%;right:-2%;bottom:0;height:230px;background:url(img/crowd.svg) center bottom/auto 100% repeat-x}
.booth{position:absolute;left:50%;bottom:150px;width:420px;margin-left:-210px}
@keyframes sweep{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
@keyframes strobe{0%,100%{opacity:.75}50%{opacity:1}}

/* home hero */
.home-hero{position:relative;min-height:max(860px,100vh);margin-top:-62px;padding-top:62px;overflow:hidden}
.word{position:relative;z-index:3;font-family:"Big Shoulders Display";font-weight:900;text-transform:uppercase;line-height:.8;white-space:nowrap;transform:rotate(-7deg) skewX(-14deg);margin:10px -140px 0;pointer-events:none}
.word span{display:block}
.word .a{font-size:min(400px,28vw);margin-left:60px;filter:drop-shadow(6px 0 0 var(--pk)) drop-shadow(-6px 0 0 var(--cy)) drop-shadow(0 0 30px rgba(255,31,180,.55))}
.word .b{font-size:min(290px,20vw);color:transparent;-webkit-text-stroke:3px var(--ac);filter:drop-shadow(0 0 14px rgba(215,255,31,.75));margin-left:min(330px,23vw);margin-top:-6px}
.hero-copy{position:absolute;z-index:6;left:44px;top:620px;max-width:620px}
.hl{font-family:"Archivo Black";font-size:34px;line-height:1.05;transform:skewX(-12deg);color:#fff;text-shadow:0 0 18px var(--or),3px 3px 0 var(--or);margin-bottom:20px}
.rail{position:absolute;z-index:6;right:44px;top:340px;width:440px;display:flex;flex-direction:column;gap:10px}
.rail .two{display:flex;gap:10px}
.rail .two>*{flex:1}
.lead{display:block;border:1.5px solid var(--or);background:linear-gradient(120deg,rgba(255,90,31,.25),rgba(255,31,180,.15));padding:10px 12px;margin:2px 0 8px;text-decoration:none}
.lead .h3{font-size:21px}
.minis{display:flex;flex-wrap:wrap;gap:5px;list-style:none}
.minis li{font-family:"JetBrains Mono";font-size:11px;letter-spacing:.04em;border:1px solid rgba(255,255,255,.3);padding:3px 6px;color:#ece6dc}
.minis .dj{border-color:var(--cy);color:var(--cy);box-shadow:0 0 10px rgba(0,240,255,.45)}

/* inner pages */
.band{position:relative;overflow:hidden;min-height:360px;margin-top:-62px;padding:120px 44px 40px}
.band .crowd{height:150px;opacity:.95}
.band .lasers,.band .glow{top:100%}
.pt{position:relative;z-index:3;font-family:"Big Shoulders Display";font-weight:900;text-transform:uppercase;line-height:.85;font-size:min(190px,17vw);transform:skewX(-14deg) rotate(-4deg);margin-left:-20px;white-space:nowrap;filter:drop-shadow(5px 0 0 var(--pk)) drop-shadow(-5px 0 0 var(--cy))}
.pt.long{font-size:min(140px,12vw)}
.band .lede{position:relative;z-index:3;font-family:"Archivo Black";font-size:24px;transform:skewX(-10deg);color:#fff;text-shadow:2px 2px 0 var(--or),0 0 12px #000;margin-top:34px;max-width:900px}
.wrap{max-width:1180px;margin:0 auto;padding:40px 44px 70px;position:relative;z-index:2}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#0c0c0e;border:1px solid var(--rule);padding:22px;position:relative}
.card h2,.card h3{font-family:"Archivo Black";font-size:24px;line-height:1.1;margin:8px 0}
.card p{color:var(--mut);margin:8px 0}
.grid4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid4{grid-template-columns:1fr}}
.card.big{grid-column:1/-1;border:2px solid var(--or);background:linear-gradient(120deg,rgba(255,90,31,.2),rgba(255,31,180,.12) 60%,#0c0c0e);padding:34px}
.card.big h2{font-size:clamp(30px,4vw,48px);transform:skewX(-8deg)}
.card.dj{border-color:var(--cy);box-shadow:0 0 20px rgba(0,240,255,.2)}
.release{display:grid;grid-template-columns:minmax(220px,420px) 1fr;gap:34px;align-items:center;margin-bottom:44px}
.release img{width:100%;box-shadow:0 0 0 1px #000,0 20px 50px rgba(0,0,0,.7),0 0 40px rgba(255,31,180,.25)}
.release h2{font-family:"Archivo Black";font-size:clamp(30px,4vw,52px);line-height:1;transform:skewX(-8deg);margin:8px 0 10px}
.release p{color:var(--mut);margin-bottom:12px;max-width:560px}
.credit{color:#fff!important;font-weight:600}
blockquote.bio{font-size:19px;line-height:1.6;border-left:4px solid var(--pk);padding:6px 0 6px 20px;margin:16px 0 22px;max-width:760px;color:#f1ece3}
.draft{display:inline-block;margin-bottom:6px}
h2.sec{font-family:"Archivo Black";font-size:28px;transform:skewX(-8deg);margin:10px 0 18px}
.lnk{color:var(--ac)}

/* waitlist */
.wl{border:1px solid var(--rule);background:#0c0c0e;padding:26px;margin-top:30px;max-width:640px}
.wl h2{font-family:"Archivo Black";font-size:26px;margin-bottom:8px}
.wl label{display:block;font-family:"JetBrains Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:16px 0 6px}
.wl input,.wl select{width:100%;font:16px Inter,sans-serif;padding:12px;background:#050506;color:#fff;border:1px solid #6b6b72}
.wl input:focus,.wl select:focus{border-color:var(--ac)}
.wl .fine{font-size:13px;color:var(--mut);margin:12px 0 16px}

/* footer */
.site-foot{position:relative;z-index:5;border-top:2px solid var(--pk);background:#050506;padding:22px 40px;display:flex;justify-content:space-between;gap:24px;font-size:13px;color:#ddd7cd;line-height:1.6}
.site-foot b{color:#fff;font-weight:600}
.site-foot a{color:#fff}
.site-foot nav ul{list-style:none;display:flex;gap:14px;flex-wrap:wrap;font-family:"JetBrains Mono";font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-top:8px}

/* responsive */
@media (max-width:1100px){
 .rail{width:400px}.hero-copy{max-width:520px}.hl{font-size:28px}
}
@media (max-width:900px){
 .site-head{padding:14px 18px}
 .nav{display:none}
 .mnav{display:block}
 .mnav ul{position:absolute;right:0;top:100%;left:0;background:#050506;border-bottom:2px solid var(--pk);padding:8px 18px 14px}
 .mnav li a{display:block;padding:12px 0;border-bottom:1px solid #222}
 .home-hero{min-height:0;padding-bottom:160px;margin-top:-56px;padding-top:56px}
 .word{margin:24px -50px 0}
 .word .a{font-size:38vw;margin-left:20px}
 .word .b{font-size:25vw;margin-left:30vw;-webkit-text-stroke:2px var(--ac)}
 .hero-copy,.rail{position:relative;left:auto;right:auto;top:auto;width:auto;max-width:none;margin:0 16px}
 .hero-copy{margin-top:34px;margin-bottom:24px}
 .hl{font-size:22px}
 .rail{gap:8px}
 .crowd{height:120px;background-image:url(img/crowd-sm.svg)}
 .booth{width:240px;margin-left:-120px;bottom:80px}
 .lasers,.glow{top:88%}
 .band{padding:100px 18px 30px;min-height:280px;margin-top:-56px}
 .band .lede{font-size:18px}
 .pt.long{font-size:13vw;white-space:normal;line-height:.9}
 .wrap{padding:30px 18px 50px}
 .release{grid-template-columns:1fr;gap:20px}
 .site-foot{flex-direction:column;padding:20px 18px;gap:12px}
}
@media (max-width:420px){
 .rail .two{flex-direction:column}
 .btn{font-size:12px;padding:12px 16px}
 .card.big{padding:24px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* discography */
.disc{margin-top:46px}
.disc-g{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.disc-t{background:#0c0c0e;border:1px solid var(--rule);display:flex;flex-direction:column}
.disc-t picture img{width:100%;aspect-ratio:1;object-fit:cover}
.disc-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:2px;flex:1}
.disc-b h3{font-family:"Archivo Black";font-size:19px;line-height:1.15;margin:2px 0}
.ctas.sm{margin-top:auto;padding-top:12px;gap:8px}
.ctas.sm .btn{font-size:11.5px;padding:10px 13px}
.ph{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center;padding:20px;background:repeating-linear-gradient(-45deg,#111 0 14px,#16161a 14px 28px);border-bottom:2px solid var(--or)}
.ph span{font-family:"Big Shoulders Display";font-weight:900;font-size:44px;line-height:.9;text-transform:uppercase;transform:skewX(-10deg);color:#fff;text-shadow:3px 0 0 var(--pk),-3px 0 0 var(--cy)}
.ph small{font-family:"JetBrains Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ac)}
.sp-facade{margin-top:40px;border:1px solid var(--rule);background:linear-gradient(120deg,rgba(29,185,84,.12),#0c0c0e 60%);padding:22px;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
.sp-facade h3{font-family:"Archivo Black";font-size:22px}
iframe{margin-top:40px;display:block;border-radius:12px}
@media (max-width:560px){.disc-g{grid-template-columns:1fr 1fr;gap:10px}.disc-b{padding:10px}.disc-b h3{font-size:15px}.ph span{font-size:28px}.ctas.sm .btn{font-size:10.5px;padding:8px 10px}.disc-b .sub{font-size:12px}}
/* services + campus (Oct 15) */
.ai{font-family:"JetBrains Mono";font-size:13px;letter-spacing:.04em;color:var(--ac);margin:10px 0}
.price{font-family:"Archivo Black";font-size:44px;color:var(--ac);text-shadow:0 0 18px rgba(215,255,31,.45);margin:4px 0}
.price.sm{font-size:18px;color:#fff;text-shadow:none}
.incl{margin:10px 0 6px 18px;color:var(--mut)}.incl li{margin:6px 0}
.wl textarea{width:100%;font:16px Inter,sans-serif;padding:12px;background:#050506;color:#fff;border:1px solid #6b6b72}
.wl .msg{color:var(--ac);font-weight:700;min-height:1em}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.home-svc,.campus-teaser{padding-top:10px;padding-bottom:20px}
.pennants{display:block;width:min(420px,90%);height:auto;margin:0 auto 6px;position:relative;z-index:2}
.varsity{font-family:"Big Shoulders Display","Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:.02em;-webkit-text-stroke:1px var(--ac);text-shadow:3px 3px 0 var(--pk),6px 6px 0 #050506}
.varsity-k{color:var(--ac);text-align:center;position:relative;z-index:2}
.campus-band h1.varsity{font-size:clamp(34px,6vw,76px);text-align:center;max-width:1100px;margin:0 auto}
.campus-card{border-top:4px solid var(--ac);background:repeating-linear-gradient(135deg,#0c0c0e 0 18px,#101014 18px 36px)}
.campus-teaser .campus-card{display:block;text-align:center;padding:30px}
.campus-teaser h2.varsity{font-size:clamp(26px,4vw,46px)}
.heard{margin-top:34px}.heard-wall{border:2px dashed var(--rule);padding:40px;text-align:center}
.campus-band h1.varsity{color:#fff;position:relative;z-index:3;background:rgba(5,5,6,.55);padding:6px 10px}
@media (max-width:560px){.campus-band h1.varsity{font-size:32px;-webkit-text-stroke:0;text-shadow:2px 2px 0 var(--pk)}}
.band.campus-band h1.pt.varsity{white-space:normal;font-size:clamp(32px,4.6vw,64px);max-width:1000px;margin:0 auto;text-align:center;left:auto;right:auto;width:auto}
