:root{
  --bg:#1b1310; --bg-2:#241a15; --ink:#f4ecdf; --muted:#b8a999;
  --acid:#d6ff3b; --acid-ink:#111; --line:rgba(244,236,223,.14);
  --display:"Anton",Impact,"Arial Narrow Bold",sans-serif;
  --body:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.kicker{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acid);margin:0 0 .75rem;font-weight:700}
.muted{color:var(--muted)}
.fine{font-size:.8rem;color:var(--muted)}

.nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(27,19,16,.9);backdrop-filter:blur(8px);z-index:10}
.brand{font-family:var(--display);font-size:1.25rem;letter-spacing:.02em;text-decoration:none;text-transform:uppercase}
.brand span{color:var(--acid)}
.nav nav{display:flex;gap:1.25rem;font-size:.9rem}
.nav nav a{text-decoration:none;color:var(--muted)}
.nav nav a:hover{color:var(--ink)}
@media (max-width:600px){.nav nav a:not(:first-child){display:none}}

main{max-width:1100px;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}

.hero{padding:clamp(3rem,10vw,7rem) 0 clamp(2rem,6vw,4rem)}
.hero h1{font-family:var(--display);font-size:clamp(4rem,15vw,11rem);line-height:.88;margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:-.01em}
.hero h1::selection{background:var(--acid);color:var(--acid-ink)}
.lede{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:38em;color:var(--muted);margin:0 0 2rem}

.btn{display:inline-block;padding:.85rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:transform .08s ease}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--acid);color:var(--acid-ink)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0}

.event{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;padding:clamp(2rem,6vw,4rem) 0;border-top:1px solid var(--line)}
@media (max-width:820px){.event{grid-template-columns:1fr}}
.event-card{position:relative;background:var(--bg-2);border:1px solid var(--line);border-radius:20px;padding:clamp(1.25rem,3vw,2.5rem);overflow:hidden}
.ribbon{position:absolute;top:1.1rem;right:-3.2rem;transform:rotate(35deg);background:var(--acid);color:var(--acid-ink);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem 4rem}
.event h2{font-family:var(--display);font-size:clamp(2.4rem,6vw,4.5rem);line-height:.95;margin:0 0 .5rem;text-transform:uppercase}
.event-sub{font-size:1.15rem;margin:0 0 1.5rem;color:var(--muted)}
.event-sub a{color:var(--ink);text-decoration-color:var(--acid)}

.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 1.5rem}
.countdown div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.75rem .25rem;text-align:center}
.countdown b{display:block;font-family:var(--display);font-size:clamp(1.6rem,4vw,2.6rem);line-height:1;color:var(--acid)}
.countdown span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 0 1.5rem;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (max-width:560px){.facts{grid-template-columns:1fr}}
.facts dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acid);margin:0 0 .25rem}
.facts dd{margin:0}

.lineup h3,.why h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:1.4rem;margin:0 0 .5rem}
.lineup ul{list-style:none;padding:0;margin:0}
.lineup li{padding:.5rem 0;border-bottom:1px dashed var(--line)}
.lineup li b{display:block}
.lineup li small{color:var(--muted)}

.why{align-self:start;padding:clamp(1rem,2vw,1.5rem) 0}
.why p{color:var(--muted)}

.newsletter{padding:clamp(2rem,6vw,4rem) 0 clamp(3rem,8vw,5rem);border-top:1px solid var(--line)}
.newsletter h2{font-family:var(--display);font-size:clamp(2rem,5vw,3.5rem);line-height:1;text-transform:uppercase;margin:0 0 1rem;max-width:18em}
.newsletter p{max-width:40em;color:var(--muted);margin:0 0 1.5rem}

footer{border-top:1px solid var(--line);padding:1.5rem clamp(1rem,4vw,3rem);font-size:.9rem;color:var(--muted)}
footer p{margin:.25rem 0}
footer a{color:var(--ink)}
