:root{--accent:#c0392b;--bg:#0f0f0f;--muted:#bdbdbd}
*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; margin:0; background:#fff;color:#111}
.container{max-width:1000px;margin:0 auto;padding:28px}
.site-header{background:#111;color:#fff}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.logo{height:56px}
.site-nav a{color:#fff;margin-left:18px;text-decoration:none}
.hero{background:linear-gradient(120deg,#f8f8f8,#fff);padding:60px 0;text-align:center}
.hero-logo{width:100px !important;max-width:100px !important;height:auto;margin:0 auto;display:block}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tagline{color:#666;margin-top:16px}
.gallery{padding:32px 24px 40px;margin:24px auto 32px;background:#111;border:1px solid #2a2a2a;border-radius:28px;box-shadow:0 20px 56px rgba(0,0,0,.18)}
.gallery h2{margin-bottom:22px;font-size:30px;color:#fff}
.gallery .photos{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,minmax(240px,1fr));gap:22px;align-items:stretch}
.gallery .photos .gallery-photo{display:block !important;width:100% !important;height:100% !important;min-height:240px !important;max-width:100% !important;object-fit:cover !important;border-radius:24px !important;border:4px solid #fff !important;box-shadow:0 20px 48px rgba(0,0,0,.22) !important;transition:transform .2s ease, box-shadow .2s ease}
.gallery .photos .gallery-photo:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(0,0,0,.28)}
.gallery .photos .featured{grid-row:span 2;min-height:500px !important;height:500px !important}
.gallery .photos .gallery-photo:nth-child(2),.gallery .photos .gallery-photo:nth-child(3){min-height:240px !important;height:240px !important}
.band-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;margin-top:18px}
.band-member{background:#fff;border:1px solid #eee;border-radius:12px;padding:20px;text-align:center;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.band-member img{width:100%;height:auto;border-radius:12px;border:1px solid #ddd;margin-bottom:14px}
.band-member h3{margin:0 0 10px;font-size:20px}
.band-member p{color:#555;line-height:1.6}
.embed-wrap{background:#fafafa;border:1px solid #eee;padding:12px}
.embed-wrap iframe{width:100%;height:480px}
.merch{background:#f7f7f7;border-top:1px solid #eee;padding:28px}
.notify-form{display:flex;gap:8px;max-width:420px}
.notify-form input{flex:1;padding:10px;border:1px solid #ccc;border-radius:4px}
.notify-form button{background:var(--accent);color:#fff;border:none;padding:10px 14px;border-radius:4px}
.site-footer{background:#111;color:#fff;padding:18px;text-align:center}

@media (max-width:900px){
  .gallery .photos{grid-template-columns:1fr 1fr;gap:16px}
  .gallery .photos .featured{grid-row:auto;min-height:360px;height:360px}
  .gallery .photos .gallery-photo:nth-child(2),.gallery .photos .gallery-photo:nth-child(3){min-height:280px;height:280px}
  .band-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
}

@media (max-width:700px){
  .gallery{padding:18px 16px 28px}
  .gallery .photos{grid-template-columns:1fr;gap:14px}
  .gallery .photos .featured,.gallery .photos .gallery-photo:nth-child(2),.gallery .photos .gallery-photo:nth-child(3){min-height:240px;height:240px}
  .band-grid{grid-template-columns:1fr}
  .site-nav{display:none}
  .logo{height:48px}
}
