@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Space+Mono:wght@400;700&display=swap');
:root{--bg:#080707;--red:#b50916;--hot:#ed1b2e;--bone:#e8e0d8;--muted:#8e8581;--line:rgba(232,224,216,.18);--mono:'Space Mono',monospace;--display:'Barlow Condensed',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--bone);font-family:var(--mono);overflow-x:hidden;position:relative}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-3;background:radial-gradient(ellipse at 50% 20%,rgba(91,0,9,.23),transparent 50%),radial-gradient(ellipse at 50% 85%,rgba(95,0,0,.18),transparent 42%),#080707}
.grain{position:fixed;inset:-50%;z-index:5;pointer-events:none;opacity:.055;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='.65'/%3E%3C/svg%3E")}
.edge-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;box-shadow:inset 0 0 90px rgba(179,0,18,.19),inset 0 0 220px rgba(95,0,0,.16)}
.blood{position:absolute;z-index:-2;pointer-events:none;filter:blur(1px);opacity:.28}
.blood-one{top:0;left:-8%;width:55%;height:850px;background:radial-gradient(ellipse at 35% 0%,rgba(135,0,10,.52),transparent 42%),radial-gradient(ellipse at 10% 42%,rgba(100,0,0,.2),transparent 32%);clip-path:polygon(0 0,100% 0,80% 17%,88% 32%,67% 27%,72% 53%,50% 41%,45% 70%,25% 57%,20% 100%,0 83%)}
.blood-two{right:-10%;top:28%;width:45%;height:950px;background:radial-gradient(ellipse at 75% 30%,rgba(130,0,12,.35),transparent 44%),radial-gradient(ellipse at 55% 80%,rgba(90,0,0,.2),transparent 38%);clip-path:polygon(0 0,100% 0,100% 100%,80% 80%,70% 100%,54% 71%,43% 93%,30% 65%,15% 78%,19% 48%,0 35%)}
.hero{min-height:100svh;padding:28px clamp(20px,5vw,76px) 52px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;position:relative}
.topline{position:absolute;top:27px;left:clamp(20px,5vw,76px);right:clamp(20px,5vw,76px);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;color:#a79b94}
.hero-mark{width:clamp(125px,20vw,210px);height:clamp(125px,20vw,210px);margin:22px auto 22px;border-radius:50%;overflow:hidden;border:1px solid rgba(231,220,207,.22);box-shadow:0 0 45px rgba(160,0,16,.16)}
.hero-mark img{width:100%;height:100%;object-fit:cover;display:block}
.eyebrow{font-size:10px;letter-spacing:.28em;color:#c7aaa3;margin:0 0 13px}
h1,h2,.set-name,.collective strong{font-family:var(--display);font-weight:900;line-height:.84;letter-spacing:.015em}
h1{font-size:clamp(76px,15vw,190px);margin:0;text-transform:uppercase;text-shadow:0 0 22px rgba(184,0,18,.25)}
h1 span{display:block;color:var(--hot);text-shadow:0 0 30px rgba(210,0,24,.3)}
.byline{font-size:clamp(10px,1.4vw,13px);letter-spacing:.22em;color:#b9ada6;margin:25px 0 28px;text-transform:uppercase}
.byline i{font-style:normal;color:var(--hot);padding:0 9px}
.date-lockup{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.22em;color:#e4d9d1}
.date-line{height:1px;width:42px;background:linear-gradient(90deg,transparent,var(--red))}
.date-line:last-child{transform:rotate(180deg)}
.scroll-cue{position:absolute;bottom:27px;text-decoration:none;color:var(--hot);font-size:22px;display:flex;align-items:center;gap:10px}
.scroll-cue span{font:9px var(--mono);letter-spacing:.2em;color:#a99b94}
.section-wrap{width:min(920px,calc(100% - 40px));margin:0 auto}
.lineup{padding:100px 0 65px}
.section-heading{text-align:center;margin-bottom:40px}
h2{font-size:clamp(48px,8vw,88px);margin:0;text-transform:uppercase}
h2 span{color:var(--hot)}
.section-note{font-size:10px;color:var(--muted);letter-spacing:.08em;margin-top:15px}
.set-list{border-top:1px solid var(--line)}
.set-row{position:relative;display:grid;grid-template-columns:145px 1fr 42px;align-items:center;gap:18px;padding:25px 10px;border-bottom:1px solid var(--line);transition:background .25s}
.set-row:hover{background:linear-gradient(90deg,rgba(170,0,16,.1),transparent)}
.set-time{font-size:11px;color:#d4c6bd;letter-spacing:.05em;white-space:nowrap}
.set-time span{color:#887d78}.set-time em{display:inline-block;margin-left:8px;color:var(--hot);font-size:8px;font-style:normal;letter-spacing:.1em}
.set-name{font-size:clamp(28px,4.7vw,48px);text-transform:uppercase}
.set-name small{font:700 10px var(--mono);letter-spacing:.14em;color:var(--hot);vertical-align:middle;padding:0 4px}
.set-index{text-align:right;color:#716661;font-size:10px}
.headliner{padding-top:33px;padding-bottom:37px;background:linear-gradient(90deg,rgba(150,0,15,.13),transparent 75%)}
.headliner .set-name{font-size:clamp(52px,9vw,88px);color:#fff;text-shadow:0 0 25px rgba(200,0,20,.35)}
.headliner-tag{grid-column:2/3;font-size:9px;color:var(--hot);letter-spacing:.28em;margin-top:-7px}
.artists{padding:60px 0 95px}
.compact{margin-bottom:28px}
.compact h2{font-size:clamp(43px,7vw,70px)}
.artist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.artist-card{min-height:84px;padding:18px 16px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--bone);background:rgba(255,255,255,.018);transition:.2s}
.artist-card:hover{border-color:var(--hot);background:rgba(150,0,15,.12);transform:translateY(-2px)}
.artist-card span{font:800 25px var(--display);letter-spacing:.04em}
.artist-card b{font:9px var(--mono);letter-spacing:.16em;color:var(--hot)}
.collectives{padding:25px 0 105px}
.collectives>.eyebrow{text-align:center;margin-bottom:22px}
.collective-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.collective{min-height:190px;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--bone);position:relative;overflow:hidden;transition:.25s}
.collective:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-100px;bottom:-140px;border:1px solid rgba(210,0,25,.25);box-shadow:0 0 55px rgba(190,0,20,.13)}
.collective:hover{border-color:var(--hot);transform:translateY(-3px)}
.collective-kicker{font-size:9px;letter-spacing:.18em;color:#a99c94}
.collective strong{font-size:clamp(37px,5.5vw,62px);letter-spacing:-.02em}
.collective strong span{color:var(--hot)}
.follow-link{font-size:9px;letter-spacing:.17em;color:var(--hot)}
.close strong{font-size:clamp(34px,5vw,55px)}
.close strong span{color:#d5cbc4}
footer{padding:0 20px 35px;text-align:center;position:relative}
.footer-rule{width:min(920px,100%);height:1px;background:var(--line);margin:0 auto 25px}
footer p{font:800 24px var(--display);letter-spacing:.12em;margin:0 0 8px}
footer p span{color:var(--hot)}
footer small{font-size:8px;letter-spacing:.25em;color:var(--muted)}
.back-top{display:block;margin-top:25px;color:#c2b5ad;font-size:9px;letter-spacing:.17em;text-decoration:none}
@media(max-width:650px){.topline{font-size:7px;letter-spacing:.12em}.hero{min-height:94svh}.hero-mark{margin-top:42px}.set-row{grid-template-columns:1fr 30px;gap:8px;padding:20px 5px}.set-time{grid-column:1;grid-row:1;font-size:9px}.set-name{grid-column:1;grid-row:2;font-size:36px}.set-index{grid-column:2;grid-row:1/3}.headliner .set-name{font-size:64px}.headliner-tag{grid-column:1;grid-row:3;margin-top:4px}.artist-grid{grid-template-columns:repeat(2,1fr)}.collective-grid{grid-template-columns:1fr}.collective{min-height:160px}.lineup{padding-top:75px}.artists{padding-bottom:65px}.collectives{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
