/* ===== Home Hero ===== */
.home-hero { position:relative; overflow:hidden; padding: 80px 20px 40px; }
.home-hero__bg {
  position:absolute; inset:0;
  background: radial-gradient(800px 200px at 10% -10%, rgba(124,92,255,.25), transparent 60%),
              radial-gradient(800px 200px at 90% 110%, rgba(60,209,228,.25), transparent 60%),
              #0a0a0a;
  z-index:0;
}
.home-hero__inner { position:relative; z-index:1; text-align:center; }
.home-hero__title { font-size: clamp(36px, 7vw, 88px); margin: 0 0 6px; letter-spacing: .02em; }
.home-hero__tag { color: #cfcfcf; margin: 0 0 12px; }

/* ===== Slabs ===== */
.home-slab { padding: 24px 20px; }
.slab-title { margin: 0 0 12px; }
.slab-actions { margin-top: 10px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

.slab-tour .slab-inner { display:flex; gap:16px; align-items:center; justify-content:center; flex-wrap:wrap; }
.slab-tour .tour-mark { width: 140px; max-width: 40vw; filter: drop-shadow(0 8px 20px rgba(0,0,0,.5)); }
.slab-tour .slab-copy { max-width: 560px; text-align:center; }

/* ===== Cards & grids ===== */
.cards-grid { display:grid; gap:14px; }
.cards-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.cards-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 980px){ .cards-4 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 780px){ .cards-4 { grid-template-columns: repeat(2, 1fr); } .cards-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .cards-3, .cards-4 { grid-template-columns: 1fr; } }

.card-tile, .card-video, .card-product {
  border:1px solid #2c2c2c; border-radius:14px; overflow:hidden; background:#111; box-shadow: 0 4px 14px rgba(0,0,0,.5);
}
.hoverlift { transition: transform .18s ease, box-shadow .18s ease; }
.hoverlift:hover { transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.6); }
.tile-art, .prod-photo { aspect-ratio: 1/1; background:#151515; display:grid; place-items:center; }
.tile-art img, .prod-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.tile-body { padding:10px 12px; }
.video-thumb { position:relative; aspect-ratio:16/9; background:#000; }
.video-thumb img { width:100%; height:100%; object-fit:cover; opacity:.9; display:block; }
.video-thumb .play { position:absolute; inset:auto; left:50%; top:50%; transform:translate(-50%,-50%); font-size:36px; background: rgba(0,0,0,.5); padding:8px 12px; border-radius:10px; }

/* ===== Shows compact list ===== */
.shows-list.compact { display:grid; gap:8px; }
.show-row { display:grid; grid-template-columns: 90px 1fr auto; align-items:center; gap:10px; border:1px solid #2c2c2c; border-radius:12px; padding:10px; background:#101010; }
.sr-date { text-align:center; }
.sr-day { color:#fff; font-weight:800; letter-spacing:.02em; }
.sr-year { color:#999; font-size:12px; }
.sr-venue { color:#fff; font-weight:600; }
.sr-city { font-size:14px; }

/* ===== Signup CTA ===== */
.signup-cta { text-align:center; border:1px solid #2c2c2c; border-radius:14px; background:#101010; padding:18px; }
.signup-inline { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
.signup-inline input[type="email"] {
  width: min(360px, 90vw);
  padding:12px 14px; border-radius:10px; border:1px solid #444; background:#1a1a1a; color:#f4f4f4;
}
.signup-inline input[type="email"]:focus { border-color:#7c5cff; box-shadow:0 0 0 2px rgba(124,92,255,.35); outline:none; }
