:root {
  color-scheme: dark;
  --bg: #080808;
  --fg: #f4f0e8;
  --muted: #b8b0a3;
  --acid: #ccff00;
  --hot: #ff2a2a;
  --line: #2a2a2a;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: radial-gradient(circle at top left, #201100, transparent 34rem), var(--bg);
  color: var(--fg);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}

a { color: var(--acid); text-underline-offset: .18em; }
img { max-width: 100%; height: auto; display: block; border: 1px solid var(--line); }
.site-nav, .hero, section, main > .card-grid { padding: clamp(1rem, 4vw, 4rem); }
.site-nav { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); text-transform: uppercase; letter-spacing: .08em; }
.site-nav nav { display: flex; gap: 1rem; }
.brand { color: var(--fg); font-weight: 900; text-decoration: none; }
.hero { border-bottom: 1px solid var(--line); }
.hero--brand h1, .hero h1 { font-size: clamp(3rem, 12vw, 9rem); line-height: .85; text-transform: uppercase; margin: 0 0 1rem; }
.eyebrow { color: var(--acid); text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.card { border: 1px solid var(--line); background: rgba(255,255,255,.035); padding: 1rem; }
.card h2, .card h3 { text-transform: uppercase; }
.dj-chip, .button { display: inline-block; border: 1px solid var(--acid); padding: .75rem 1rem; margin: .2rem; text-transform: uppercase; font-weight: 900; text-decoration: none; }
.button { background: var(--acid); color: #080808; }
.button--ghost { background: transparent; color: var(--acid); }
.tags span { display: inline-block; border: 1px solid var(--line); padding: .25rem .5rem; margin: .15rem; color: var(--muted); }
.link-columns, .dj-hero, .event-detail { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; align-items: start; }
.link-columns a { display: block; margin: .5rem 0; }
.event-facts { font-size: 1.2rem; }
.contact-strip { border-top: 1px solid var(--line); background: #111; }

@media (max-width: 700px) {
  .site-nav { display: grid; gap: .75rem; }
  .site-nav nav { flex-wrap: wrap; }
  .hero--brand h1, .hero h1 { font-size: clamp(2.8rem, 18vw, 5rem); }
}
