@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Grotesk:wght@500;700;800&display=swap');

:root { --bg:#050505; --ink:#fff2d7; --red:#ff2020; --green:#39ff64; --gold:#ffd23f; --blue:#158bff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Space Grotesk', sans-serif; overflow-x:hidden;
}
body:before {
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.28; z-index:-1;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,32,32,.5), transparent 23rem),
    radial-gradient(circle at 85% 8%, rgba(21,139,255,.35), transparent 24rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 7px);
}
.ticker {
  white-space:nowrap; overflow:hidden; padding:9px 0; color:#000; background:var(--green);
  font:800 13px 'Space Grotesk'; letter-spacing:.14em; text-align:center;
}
header {
  position:sticky; top:0; z-index:5; display:flex; justify-content:space-between; align-items:center;
  padding:12px 18px; background:rgba(5,5,5,.78); backdrop-filter:blur(12px); border-bottom:2px solid rgba(255,255,255,.12);
}
a { color:inherit; text-decoration:none; }
.logo, h1, h2 { font-family:'Bebas Neue', sans-serif; letter-spacing:.03em; }
.logo { font-size:48px; line-height:.8; color:var(--red); text-shadow:3px 3px 0 #000, 5px 5px 0 var(--gold); }
nav { display:flex; gap:8px; }
nav a, .chips span {
  border:2px solid var(--ink); background:#000; color:var(--ink); padding:8px 10px; font-size:12px; font-weight:800; box-shadow:4px 4px 0 var(--red);
}
main { width:min(1280px, calc(100% - 18px)); margin:0 auto; }
.hero { display:grid; grid-template-columns:1.15fr .85fr; gap:10px; align-items:stretch; padding:10px 0; min-height:calc(100vh - 90px); }
.hero-text {
  border:3px solid var(--ink); background:rgba(0,0,0,.7); padding:22px; display:flex; flex-direction:column; justify-content:center;
  box-shadow:8px 8px 0 var(--red);
}
.tag { margin:0 0 8px; color:var(--green); font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(92px, 18vw, 250px); line-height:.78; color:var(--ink); text-shadow:7px 7px 0 var(--red), 12px 12px 0 #000; }
.sub { max-width:650px; margin:16px 0 18px; font-size:clamp(18px, 2.7vw, 34px); line-height:1.05; font-weight:800; color:var(--gold); }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chips span:nth-child(even) { box-shadow:4px 4px 0 var(--blue); }
.lead-art { width:100%; height:100%; min-height:520px; object-fit:cover; border:3px solid var(--ink); box-shadow:8px 8px 0 var(--blue); }
.wall { columns:5 180px; column-gap:8px; padding:12px 0 4px; }
.wall button { all:unset; display:block; margin:0 0 8px; break-inside:avoid; cursor:pointer; position:relative; }
.wall img { width:100%; display:block; border:2px solid var(--ink); background:#000; filter:saturate(1.25) contrast(1.07); }
.wall button:nth-child(3n) img { transform:rotate(-1deg); box-shadow:5px 5px 0 var(--red); }
.wall button:nth-child(3n+1) img { transform:rotate(1deg); box-shadow:5px 5px 0 var(--green); }
.wall button:nth-child(3n+2) img { box-shadow:5px 5px 0 var(--blue); }
.wall button:hover img { transform:scale(1.035) rotate(0deg); z-index:2; position:relative; }
.lore, .mint { margin:10px 0; border:3px solid var(--ink); background:#0b0b0b; padding:16px; box-shadow:8px 8px 0 var(--gold); }
.lore h2, .mint h2 { margin:0; font-size:76px; color:var(--red); }
.lore p, .mint p { margin:6px 0 0; font-size:22px; line-height:1.15; font-weight:800; max-width:900px; }
.mint { margin-bottom:28px; box-shadow:8px 8px 0 var(--green); }
.mint a { color:var(--green); text-decoration:underline; }
.lightbox { position:fixed; inset:0; display:none; place-items:center; z-index:20; background:rgba(0,0,0,.9); padding:14px; }
.lightbox.open { display:grid; }
.lightbox img { max-width:min(92vw,760px); max-height:90vh; border:3px solid var(--ink); box-shadow:10px 10px 0 var(--red); }
@media (max-width:800px) {
  .hero { grid-template-columns:1fr; min-height:0; }
  .lead-art { min-height:0; }
  h1 { font-size:28vw; }
  .lore h2, .mint h2 { font-size:56px; }
  .lore p, .mint p { font-size:18px; }
}
