@font-face{font-family:"Outfit";src:url("assets/fonts/Outfit.ttf");font-weight:100 900;font-display:swap}
@font-face{font-family:"DM Mono";src:url("assets/fonts/DMMono.ttf");font-weight:400;font-display:swap}
@font-face{font-family:"Comfortaa";src:url("assets/fonts/Comfortaa.ttf");font-weight:300 700;font-display:swap}
:root{--bg:#000;--fg:#fff;--dim:rgba(255,255,255,.55);--line:rgba(255,255,255,.28);--m:clamp(20px,4vw,56px);--mono:"DM Mono",ui-monospace,Menlo,monospace;--sans:"Outfit",system-ui,sans-serif;--word:"Comfortaa","Outfit",sans-serif}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
a{color:inherit;text-decoration:none;touch-action:manipulation}:focus-visible{outline:1px solid var(--fg);outline-offset:4px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 20px) calc(env(safe-area-inset-right) + var(--m)) 20px calc(env(safe-area-inset-left) + var(--m));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0) 100%)}
.nav svg{width:34px;height:34px;display:block;flex-shrink:0}.nav nav{display:flex;gap:28px}
.nav a{opacity:.8;padding:12px 10px;margin:-12px -10px}
@media(hover:hover){.nav a:hover{opacity:1}}
/* hero */
.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr min(46vh,42vw);position:relative}
.hero-text{padding:calc(env(safe-area-inset-top) + 110px) calc(env(safe-area-inset-right) + var(--m)) var(--m) calc(env(safe-area-inset-left) + var(--m));display:flex;flex-direction:column;justify-content:flex-end;gap:28px;position:relative;z-index:2}
.eyebrow{display:flex;gap:14px;align-items:center;color:var(--dim)}.eyebrow::after{content:"";flex:1;max-width:120px;height:1px;background:var(--line)}
.lineup{list-style:none;margin:0;padding:0}
.lineup li{font-weight:300;font-size:clamp(34px,5.6vw,84px);line-height:1.04;letter-spacing:-.025em;text-transform:uppercase;word-break:break-word}
.when{display:grid;gap:6px;color:var(--fg)}.when span:not(:first-child){color:var(--dim)}
.cta{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;border:1px solid var(--fg);padding:16px 26px;transition:background .2s,color .2s;touch-action:manipulation}
@media(hover:hover){.cta:hover{background:var(--fg);color:var(--bg)}}
.cta:active{background:var(--fg);color:var(--bg)}
.cta.off{border-color:var(--line);color:var(--dim);pointer-events:none}
.cta i{font-style:normal}
.hero-img{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;filter:contrast(1.05)}
.hero-img::before{content:"";position:absolute;inset:0 auto 0 0;width:22%;background:linear-gradient(90deg,#000,transparent);z-index:1}
@media(max-width:820px){
 .hero{grid-template-columns:1fr}.hero-img{position:absolute;inset:0;z-index:0}.hero-img::before{inset:0;width:auto;background:linear-gradient(0deg,#000 8%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.15))}
 .hero-img img{object-position:65% 50%}.lineup li{font-size:clamp(30px,9vw,52px)}
}
/* sections */
section{padding:clamp(64px,10vw,120px) calc(env(safe-area-inset-right) + var(--m)) clamp(64px,10vw,120px) calc(env(safe-area-inset-left) + var(--m))}
.label{display:flex;align-items:center;gap:16px;margin:0 0 28px;font-weight:400;color:var(--dim)}.label::after{content:"";flex:1;height:1px;background:var(--line)}
.events{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.ev{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;padding:26px 0;border-top:1px solid var(--line);transition:background .2s,color .2s;touch-action:manipulation}
@media(hover:hover){.ev:hover{background:var(--fg);color:var(--bg);padding-left:14px;padding-right:14px}}
.ev:active{background:var(--fg);color:var(--bg)}
.ev .d b{display:block;font-weight:200;font-size:54px;line-height:1;letter-spacing:-.04em}
.ev .d span{display:block;margin-top:8px}
.ev .a{font-size:clamp(20px,2.6vw,30px);letter-spacing:-.02em;text-transform:uppercase;line-height:1.15}
.ev .m{color:inherit;opacity:.6;margin-top:10px}
.ev .t{border:1px solid currentColor;padding:12px 18px;white-space:nowrap}
.empty{padding:40px 0;color:var(--dim)}
@media(max-width:620px){.ev{grid-template-columns:64px 1fr;gap:12px;padding:22px 0}.ev .t{grid-column:2;justify-self:start}.ev .d b{font-size:34px}}
@media(max-width:360px){.ev{grid-template-columns:52px 1fr}.ev .d b{font-size:28px}}
footer{padding:48px calc(env(safe-area-inset-right) + var(--m)) calc(env(safe-area-inset-bottom) + 32px) calc(env(safe-area-inset-left) + var(--m))}
.big{font-family:var(--word);font-weight:500;font-size:clamp(64px,17vw,260px);line-height:.9;letter-spacing:.005em;margin:0 0 28px}
.big i{display:inline-block;width:.19em;height:.19em;border-radius:50%;background:var(--fg);margin-left:.07em}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--dim);border-top:1px solid var(--line);padding-top:20px}
.foot a{padding:8px 0;margin:-8px 0}
@media(hover:hover){.foot a:hover{color:var(--fg)}}
.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
[hidden]{display:none!important}
