:root{--bg:#050404;--panel:#120d0d;--red:#E10600;--bone:#EDE8DF;--dim:#a79f98;--gold:#F2B705;--line:rgba(237,232,223,.22);
--display:'Anton','Impact','Arial Narrow',sans-serif;--mark:'Permanent Marker','Brush Script MT',cursive;--body:'Barlow','Helvetica Neue',Arial,sans-serif;
color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 4rem)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--bone);font:400 1.0625rem/1.55 var(--body);overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;z-index:50;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='160' height='160' filter='url(%23n)'/></svg>")}
img{display:block;max-width:100%}a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1.1rem,4vw,3rem)}
h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;margin:0;line-height:.92}
.mark{font-family:var(--mark);color:var(--gold);transform:rotate(-4deg);display:inline-block}
/* nav */
nav{position:sticky;top:0;z-index:20;background:rgba(5,4,4,.92);border-bottom:2px solid var(--red);padding-top:env(safe-area-inset-top,0px)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:3.6rem;gap:1rem}
.logo{font:400 1.5rem var(--display);text-decoration:none;letter-spacing:.04em;text-transform:uppercase}
.links{display:flex;gap:.25rem;overflow-x:auto}
.links a{font:400 1rem var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.45rem .8rem;white-space:nowrap}
.links a[aria-current="page"]{background:var(--red);color:#fff}
.links a:hover{color:var(--gold)}
.page{display:none}.page.on{display:block}
/* hero */
.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;z-index:-2;filter:grayscale(1) contrast(1.15)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#050404 4%,rgba(225,6,0,.55) 45%,rgba(5,4,4,.35));mix-blend-mode:multiply}
.hero h1{font-size:clamp(5rem,23vw,19rem);line-height:.78;letter-spacing:-.01em;text-shadow:0 6px 0 var(--red);margin-bottom:.3rem}
.hero .tag{font:400 clamp(1.3rem,3vw,2rem) var(--mark);margin:0 0 1.6rem;color:var(--gold);transform:rotate(-2deg);transform-origin:left}
.hero .wrap{padding-bottom:2.5rem}
.btns{display:flex;flex-wrap:wrap;gap:.75rem}
.btn{font:400 1.15rem var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.8rem 1.5rem;background:var(--red);color:#fff;border:2px solid var(--red)}
.btn.o{background:transparent;color:var(--bone);border-color:var(--bone)}
.btn:hover{background:var(--gold);border-color:var(--gold);color:#000}
/* ticker */
.ticker{background:var(--red);color:#000;overflow:hidden;white-space:nowrap;border-block:3px solid #000;transform:rotate(-1deg);margin:2rem -1rem}
.ticker div{display:inline-block;padding:.5rem 0;font:400 1.6rem var(--display);text-transform:uppercase;animation:tick 28s linear infinite}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker div{animation:none}}
/* sections */
section{padding:clamp(2.5rem,7vw,5rem) 0}
.h{font-size:clamp(3rem,10vw,8rem);margin-bottom:1.5rem}.h span{color:var(--red)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.stats div{background:var(--bg);padding:1.2rem 1rem}
.stats b{display:block;font:400 clamp(2.2rem,5vw,3.8rem)/1 var(--display);color:var(--bone)}
.stats span{color:var(--dim);font-size:.95rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.two p{max-width:56ch;margin:0 0 1rem}
.frame{position:relative;border:3px solid var(--bone);transform:rotate(1.5deg);box-shadow:10px 10px 0 var(--red)}
.frame img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pull{font:400 clamp(2rem,5vw,3.6rem)/1 var(--display);text-transform:uppercase;margin:1.2rem 0}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:.7rem}
.grid figure{margin:0;position:relative;overflow:hidden;background:#000;border:2px solid var(--line)}
.grid img{width:100%;height:100%;object-fit:cover}
.g1{grid-column:span 7;aspect-ratio:5/4}.g2{grid-column:span 5;aspect-ratio:4/5}.g3{grid-column:span 3;aspect-ratio:3/4}.g4{grid-column:span 3;aspect-ratio:3/4}.g5{grid-column:span 6;aspect-ratio:16/9}
figcaption{position:absolute;left:.5rem;bottom:.4rem;font-size:.75rem;color:#fff;text-shadow:0 1px 3px #000}
/* lists */
.rows{border-top:2px solid var(--bone)}
.rows a,.rows .r{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:1rem .2rem;border-bottom:1px solid var(--line);text-decoration:none}
.rows a:hover{background:var(--red);padding-inline:1rem}
.rows b{font:400 clamp(1.5rem,3.4vw,2.4rem)/1 var(--display);text-transform:uppercase}
.rows small{color:var(--dim);font-size:1rem}.rows a:hover small{color:#fff}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:var(--panel);border:2px solid var(--line);border-top:6px solid var(--red);padding:1.3rem;text-decoration:none;display:flex;flex-direction:column;gap:.3rem}
.card:hover{border-color:var(--gold);border-top-color:var(--gold)}
.card h3{font-size:1.9rem}.card .n{font:400 clamp(2.6rem,5vw,3.6rem)/1 var(--display);color:var(--red)}
.card small{color:var(--dim)}
.note{color:var(--dim);font-size:.95rem;margin-top:1.2rem;max-width:70ch}
.tl{border-left:4px solid var(--red);margin-left:.5rem}
.tl article{padding:0 0 2rem 1.6rem;position:relative}
.tl article::before{content:"";position:absolute;left:-11px;top:.35rem;width:18px;height:18px;background:var(--gold);border:3px solid #000;transform:rotate(45deg)}
.tl time{font:400 1.1rem var(--mark);color:var(--gold)}
.tl h3{font-size:clamp(1.8rem,4vw,2.8rem);margin:.2rem 0 .5rem}
.tl p{margin:0 0 .6rem;max-width:62ch}.tl a{color:var(--red);font-weight:700}
/* booking */
.book{background:var(--red);color:#000;padding:clamp(3rem,8vw,6rem) 0;border-top:4px solid #000}
.book h2{font-size:clamp(4rem,15vw,12rem);line-height:.8;color:#000}
.lines{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;margin-top:2rem}
.lines div{border-top:4px solid #000;padding-top:.8rem}.lines span{display:block;font-weight:700;font-size:1.1rem}
.lines a{font:400 clamp(2rem,5vw,3.6rem)/1 var(--display);text-decoration:none;white-space:nowrap}.lines a:hover{color:#fff}
footer{padding:1.4rem 0 2rem;color:var(--dim);font-size:.9rem}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem}
/* events + interaction */
.navr{display:flex;align-items:center;gap:.6rem}
.cta{font:400 1rem var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;background:var(--gold);color:#000;padding:.5rem 1rem}
.cta:hover{background:#fff}
.mb{display:none;width:44px;height:44px;background:none;border:2px solid var(--line);cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:0 10px}
.mb span{display:block;height:2px;background:var(--bone);transition:transform .2s}
nav.open .mb span:nth-child(1){transform:translateY(7px) rotate(45deg)}nav.open .mb span:nth-child(2){opacity:0}nav.open .mb span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.next{background:var(--panel);border-block:2px solid var(--red)}
.next .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.3rem}
.next b{display:block;font:400 clamp(1.5rem,3.5vw,2.4rem)/1.05 var(--display);text-transform:uppercase}.next small{color:var(--dim);font-size:1rem}
.event{display:grid;grid-template-columns:1.05fr 1fr;border:2px solid var(--line);background:var(--panel)}
.ev-media{position:relative;min-height:340px}.ev-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1)}
.ev-media::after{content:"";position:absolute;inset:0;background:rgba(225,6,0,.38);mix-blend-mode:multiply}
.date{position:absolute;left:1rem;top:1rem;z-index:2;background:var(--gold);color:#000;text-align:center;padding:.6rem 1rem;transform:rotate(-3deg)}
.date b{display:block;font:400 3.4rem/.9 var(--display)}.date span{font:400 1.4rem var(--display)}.date small{display:block;font-weight:700}
.ev-body{padding:clamp(1.3rem,3vw,2.4rem)}.ev-body h3{font-size:clamp(3rem,7vw,5.5rem);margin:.2rem 0 1rem}.ev-body p{max-width:46ch}
.count{display:flex;gap:.6rem;margin:1.3rem 0}.count div{background:var(--bg);border:2px solid var(--line);padding:.6rem .5rem;text-align:center;min-width:4.4rem}
.count b{display:block;font:400 2.4rem/1 var(--display);color:var(--gold)}.count small{color:var(--dim);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.count .live{font:400 1.6rem var(--display);text-transform:uppercase;color:var(--gold);margin:0}
button.btn{cursor:pointer;font-size:1.15rem}
.pick{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tier{all:unset;box-sizing:border-box;cursor:pointer;background:var(--panel);border:2px solid var(--line);border-top:6px solid var(--line);padding:1.2rem;display:flex;flex-direction:column;gap:.3rem;color:var(--bone)}
.tier:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.tier b{font:400 2.2rem/1 var(--display);text-transform:uppercase}.tier span{color:var(--dim);font-size:.95rem}.tier em{font:400 2rem var(--display);font-style:normal;color:var(--gold);margin-top:.6rem}
.tier.on{border-color:var(--red);border-top-color:var(--red);background:#1c0f0f}
.sum{background:var(--panel);border:2px solid var(--line);padding:1.2rem;display:flex;flex-direction:column;gap:1rem;justify-content:space-between}
.qty{display:flex;align-items:center;gap:1rem}.qty button{width:48px;height:48px;font:400 1.6rem var(--display);background:transparent;color:var(--bone);border:2px solid var(--bone);cursor:pointer}.qty button:hover{background:var(--red);border-color:var(--red)}
.qty output{font:400 2.2rem var(--display);min-width:2ch;text-align:center}
.tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:.8rem}.tot b{font:400 2.4rem var(--display)}
.sum .btn{text-align:center}
.faq{margin-top:2rem;border-top:2px solid var(--bone)}.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1.1rem .2rem;font:400 1.5rem var(--display);text-transform:uppercase;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--red)}.faq details[open] summary::after{content:"-"}.faq summary::-webkit-details-marker{display:none}.faq p{margin:0 0 1.1rem;max-width:62ch;color:var(--dim)}
.grid img{cursor:zoom-in}
#lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
#lb.on{display:flex}#lb img{max-width:92vw;max-height:84vh;object-fit:contain;border:2px solid var(--bone)}
#lb button{position:absolute;background:var(--red);color:#fff;border:0;width:48px;height:48px;font:400 1.5rem var(--display);cursor:pointer}
#lb .x{top:1rem;right:1rem}#lb .p{left:.75rem;top:50%}#lb .n{right:.75rem;top:50%}
@media (max-width:820px){
.mb{display:flex}.cta{padding:.5rem .8rem}
.links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#050404;border-bottom:2px solid var(--red);padding:.5rem 0}
nav.open .links{display:flex}.links a{font-size:1.5rem;padding:.9rem 1.2rem}
.event,.pick{grid-template-columns:1fr}.ev-media{min-height:240px}.next .btns{width:100%}.next .btn{flex:1;text-align:center}
.count div{min-width:0;flex:1}.tier b{font-size:1.9rem}
}
@media (max-width:820px){.two,.lines,.cards{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.frame{transform:none}
.g1,.g2,.g5{grid-column:span 12}.g3,.g4{grid-column:span 6}.hero{min-height:82vh}}
