.logo-crop{display:block;position:relative;width:150px;height:56px;overflow:hidden}
.logo-crop img{position:absolute;width:140px;max-width:none;left:5px;top:-49px;filter:invert(1) grayscale(1) contrast(1.3)}
.hero{background:radial-gradient(circle at 78% 42%,#40352c 0,#1b1713 28%,#0a0a0a 60%)}
.portrait{width:min(45vw,650px);height:auto;aspect-ratio:1/1;border-radius:2px;border:1px solid rgba(255,255,255,.14);background:#050505}
.portrait img{position:static;display:block;width:100%;height:100%;max-width:100%;transform:none;object-fit:contain;filter:contrast(1.04)}
.band-logo-panel{width:100%;aspect-ratio:1.7/1;overflow:hidden;background:#f0e8d5;border-radius:2px}
.band-logo-panel img{display:block;width:100%;transform:translateY(-23%);filter:grayscale(1) contrast(1.08)}
.booking-phone strong{font-size:1rem;letter-spacing:.04em}
.gallery{background:#ece7dd;color:#0a0a0a}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px}
.gallery-heading h2{font-size:clamp(4rem,8vw,8rem)}
.gallery-heading h2 i{font-family:"Playfair Display",serif;text-transform:lowercase;color:#d12d22}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.gallery-item{display:block;overflow:hidden;background:#111;aspect-ratio:16/9}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.gallery-item:hover img{transform:scale(1.025);filter:contrast(1.05)}
.gallery-lead{grid-column:1/-1}
.gallery-wide{aspect-ratio:16/9}
.show-list{margin:42px 0 8px;border-top:1px solid rgba(0,0,0,.2)}
.show-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:28px;padding:28px 0;border-bottom:1px solid rgba(0,0,0,.2)}
.show-date{display:flex;flex-direction:column;text-align:center;border-right:1px solid rgba(0,0,0,.2);padding-right:25px}
.show-date strong{font-size:.72rem;letter-spacing:.18em;color:#d12d22}
.show-date b{font:400 3.2rem/1 "Bebas Neue",sans-serif}
.show-details h3{font:400 clamp(2rem,3vw,3.2rem)/1 "Bebas Neue",sans-serif;text-transform:uppercase;margin:0 0 7px}
.show-details p{margin:0;color:#666;font-size:.95rem}
.more-shows{opacity:.66}
@media(max-width:800px){
  .logo-crop{width:140px;height:54px}
  .logo-crop img{width:136px;left:2px;top:-47px}
  .hero{grid-template-columns:1fr;padding:120px 22px 48px;align-items:start}
  .hero h1{font-size:clamp(4.15rem,20vw,6.5rem)}
  .lead{max-width:360px}
  .portrait{position:relative;right:auto;bottom:auto;width:100%;height:auto;aspect-ratio:1/1;opacity:1;margin-top:42px}
  .portrait img{width:100%;height:100%}
  .portrait-label{left:20px;bottom:18px}
  .portrait-label strong{font-size:1.45rem}
  .band-logo-panel{aspect-ratio:1.5/1}
  .booking-phone{width:100%;gap:12px;padding-inline:18px}
  .booking-phone strong{font-size:.9rem}
  .gallery-heading{display:block;margin-bottom:28px}
  .gallery-grid{grid-template-columns:1fr;gap:10px}
  .gallery-lead{grid-column:auto}
  .show-row{grid-template-columns:80px 1fr;gap:18px;padding:23px 0}
  .show-date{padding-right:16px}
  .show-details h3{font-size:2rem}
}
