*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111;color:#f1f1f1;font-family:Arial,Helvetica,sans-serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.topbar{height:84px;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;padding:10px clamp(18px,5vw,72px);background:rgba(12,12,12,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1)}.mini-logo{margin-right:auto}.mini-logo img{width:120px;height:42px;object-fit:contain;background:transparent;padding:0;border-radius:0;filter:invert(1);}.topbar nav{display:flex;gap:28px;align-items:center}.topbar nav a{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.topbar nav a:hover{color:#f3c330}.menu-toggle{display:none;color:#fff;border:1px solid #555;background:#151515;padding:9px 12px;font-weight:900}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:140px clamp(20px,8vw,130px) 90px;background:url("../img/hero-home.jpg") center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.9) 0%,rgba(7,7,7,.67) 46%,rgba(7,7,7,.28) 78%,rgba(7,7,7,.4) 100%),linear-gradient(0deg,rgba(7,7,7,.7),transparent 50%)}.hero-content{position:relative;z-index:2;max-width:920px}.hero-logo{width:min(280px,42vw);background:transparent;padding:0;margin:18px 0 26px;border-radius:0;filter:invert(1);}.kicker{display:inline-block;color:#f3c330;font-size:12px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.hero h1,.section h2{font-weight:950;text-transform:uppercase;letter-spacing:-.045em}.hero h1{font-size:clamp(46px,7vw,92px);line-height:.92;margin:0;max-width:1100px}.hero p{font-size:clamp(17px,2vw,22px);max-width:720px;color:#d5d5d5;margin:26px 0 30px}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border:1px solid #666;font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-yellow{background:#f3c330;color:#111;border-color:#f3c330}.btn-dark{background:#151515;color:#fff}.scroll-hint{position:absolute;z-index:2;bottom:28px;right:clamp(20px,5vw,72px);font-size:11px;font-weight:900;letter-spacing:.15em}.section{padding:100px clamp(20px,8vw,130px);border-top:1px solid #292929}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.section h2{font-size:clamp(38px,5vw,70px);line-height:.98;margin:12px 0 20px}.intro-copy{font-size:20px;color:#d0d0d0}.band-photo{height:min(78vh,850px);overflow:hidden}.band-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-note{color:#909090}.plain-link{color:#f3c330;font-size:12px;font-weight:900;letter-spacing:.08em}.media-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;gap:16px}.photo-card{position:relative;overflow:hidden;border:0;padding:0;background:#181818;cursor:pointer}.photo-card.tall{grid-row:span 2}.photo-card img{width:100%;height:100%;min-height:330px;object-fit:cover;filter:grayscale(100%);transition:transform .35s ease,filter .35s ease}.photo-card:hover img{transform:scale(1.025);filter:grayscale(40%)}.photo-card span{position:absolute;left:18px;bottom:16px;padding:8px 10px;background:#f3c330;color:#111;font-size:11px;font-weight:900;letter-spacing:.08em}.youtube-card{min-height:280px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:#f3c330;color:#111;transition:.25s}.youtube-card:hover{transform:translateY(-3px)}.youtube-card .play{font-size:56px}.youtube-card h3{font-size:30px;line-height:1;margin:10px 0}.youtube-card .kicker{color:#111}.dark-section{background:#0b0b0b}.bandsintown-wrap{padding:22px;border:1px solid #333;background:#131313}.socials h2{max-width:700px}.social-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}.social-links a{min-height:180px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #3b3b3b;background:#171717;transition:.22s}.social-links a:hover{border-color:#f3c330;transform:translateY(-3px)}.social-links span{font-size:28px;font-weight:900}.social-links b{font-size:11px;color:#f3c330;letter-spacing:.1em}.press{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center;background:#151515}.press-copy p{max-width:650px;color:#bbb;font-size:18px}.press code{color:#f3c330}.press-box{padding:30px;border:1px solid #444;display:flex;align-items:center;justify-content:space-between;gap:25px}.press-box strong,.press-box span{display:block}.press-box strong{font-size:26px}.press-box span{color:#999;margin-top:4px}.booking{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.booking-copy p{color:#aaa;font-size:18px}.booking-panel{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.booking-mail{font-size:clamp(22px,3vw,36px);font-weight:900;word-break:break-word}.booking-mail:hover{color:#f3c330}footer{padding:42px clamp(20px,8vw,130px);border-top:1px solid #333;display:flex;align-items:center;gap:30px;color:#888;font-size:12px}footer img{width:105px;background:transparent;padding:0;filter:invert(1);}footer p{margin-right:auto}.lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;top:20px;right:25px;background:none;border:0;color:#fff;font-size:48px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.menu-toggle{display:block}.topbar nav{display:none;position:absolute;left:0;right:0;top:84px;background:#111;padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #333}.topbar nav.open{display:flex}.intro,.press,.booking{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.photo-card.tall{grid-row:auto}.photo-card img{height:420px}.social-links{grid-template-columns:1fr 1fr}.section-head{align-items:flex-start;flex-direction:column}.band-photo{height:auto}.mini-logo img{width:120px;height:42px;object-fit:contain;background:transparent;padding:0;border-radius:0;filter:invert(1);}}@media(max-width:560px){.hero{min-height:92vh;padding-left:20px;padding-right:20px}.hero h1{font-size:44px}.hero-logo{width:min(280px,42vw);background:transparent;padding:0;margin:18px 0 26px;border-radius:0;filter:invert(1);}.section{padding:72px 20px}.social-links{grid-template-columns:1fr}.photo-card img{height:320px}.press-box{align-items:flex-start;flex-direction:column}footer{align-items:flex-start;flex-direction:column}footer p{margin-right:0}.scroll-hint{display:none}}
.mini-logo img,.hero-logo,footer img{width:105px;background:transparent;padding:0;filter:invert(1);}.gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}.gallery-grid .photo-card{min-height:260px}.gallery-grid .photo-card img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}.gallery-grid .youtube-card{grid-column:span 1}@media(max-width:900px){.gallery-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}}

/* V7 logo override */
.hero-logo{
  width:min(280px,42vw)!important;
  max-height:150px;
  object-fit:contain;
  background:transparent!important;
  padding:0!important;
  filter:invert(1);
}
.mini-logo img{
  width:120px!important;
  height:42px!important;
  object-fit:contain;
  background:transparent!important;
  padding:0!important;
  filter:invert(1);
}
footer img{
  width:105px!important;
  background:transparent!important;
  padding:0!important;
  filter:invert(1);
}

/* V8 — original user logo, unchanged, positioned in top navigation */
.mini-logo img{
  width:138px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}
.hero-logo{display:none!important;}
@media (max-width: 760px){
  .mini-logo img{
    width:108px!important;
    max-height:48px!important;
  }
}


/* V9 fixes */
/* Same visual treatment as the footer logo */
.mini-logo img{
  filter:invert(1)!important;
  width:105px!important;
  height:auto!important;
  max-height:52px!important;
  object-fit:contain!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}

/* Booking address always on one line */
.booking-panel{min-width:0;}
.booking-mail{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:clamp(18px,2.25vw,32px)!important;
  letter-spacing:-.025em;
}

/* Exact original image, shown as an actual image on mobile so text never covers it */
.hero-mobile-photo{display:none;}

@media(max-width:700px){
  .hero{
    display:block!important;
    min-height:0!important;
    padding:84px 0 0!important;
    background:#111!important;
  }
  .hero-overlay{display:none!important;}
  .hero-mobile-photo{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    object-fit:contain!important;
    filter:none!important;
  }
  .hero-content{
    position:relative!important;
    max-width:none!important;
    padding:32px 20px 42px!important;
    background:#111!important;
  }
  .hero h1{
    font-size:clamp(34px,10vw,46px)!important;
    line-height:.96!important;
  }
  .hero p{
    font-size:17px!important;
    margin:20px 0 24px!important;
  }
  .scroll-hint{display:none!important;}
  .booking-mail{
    font-size:clamp(15px,4.7vw,20px)!important;
  }
}

/* V9.1 header logo: native white SVG, no CSS inversion (Safari-safe) */
.mini-logo img{filter:none!important;}

/* V9.2 — responsive text fix. Photos and logos are untouched. */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
.hero,
.hero-content,
.hero-content h1,
.hero-content p{
  min-width:0;
}
.hero-content h1,
.hero-content p{
  overflow-wrap:normal;
  word-break:normal;
}

/* Medium desktop / narrow browser windows:
   keep copy readable and fully inside viewport. */
@media (max-width: 1250px) and (min-width: 761px){
  .hero{
    padding-left:clamp(28px,5vw,64px)!important;
    padding-right:clamp(28px,5vw,64px)!important;
  }
  .hero-content{
    max-width:620px!important;
    width:58%!important;
  }
  .hero h1{
    font-size:clamp(42px,5.2vw,66px)!important;
    line-height:.94!important;
    max-width:100%!important;
  }
  .hero p{
    font-size:17px!important;
    line-height:1.45!important;
    max-width:540px!important;
  }
}

/* Earlier mobile/tablet breakpoint so the text no longer fights the photo. */
@media (max-width: 900px){
  .hero{
    display:block!important;
    min-height:auto!important;
    padding:0!important;
    background:none!important;
  }
  .hero::before{
    content:"";
    display:block;
    width:100%;
    aspect-ratio:2/3;
    max-height:72vh;
    background-image:url("../img/hero-live.jpg");
    background-size:contain;
    background-position:center top;
    background-repeat:no-repeat;
    background-color:#111;
  }
  .hero-overlay{
    display:none!important;
  }
  .hero-content{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    padding:34px 22px 44px!important;
    background:#111!important;
  }
  .hero h1{
    font-size:clamp(36px,10vw,54px)!important;
    line-height:.96!important;
    max-width:100%!important;
    margin-right:0!important;
  }
  .hero p{
    max-width:100%!important;
    font-size:17px!important;
    line-height:1.45!important;
  }
  .cta-row{
    width:100%!important;
  }
  .scroll-hint{
    display:none!important;
  }
}

/* Phones: slightly smaller headline and comfortable margins. */
@media (max-width: 520px){
  .hero::before{
    aspect-ratio:2/3;
    max-height:none;
  }
  .hero-content{
    padding:28px 20px 38px!important;
  }
  .hero h1{
    font-size:clamp(34px,10.5vw,46px)!important;
    letter-spacing:-.035em!important;
  }
}

/* V9.3 definitive hero containment fix.
   Original photo and logo files are NOT modified. */

/* Desktop: pin the text block inside the viewport instead of letting flex sizing drift. */
@media (min-width: 1051px){
  .hero{
    position:relative!important;
    display:block!important;
    min-height:100vh!important;
    padding:0!important;
    background-image:url("../img/hero-home.jpg")!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }

  .hero-overlay{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    background:
      linear-gradient(90deg,rgba(7,7,7,.88) 0%,rgba(7,7,7,.64) 48%,rgba(7,7,7,.24) 78%,rgba(7,7,7,.34) 100%),
      linear-gradient(0deg,rgba(7,7,7,.72),transparent 52%)!important;
  }

  .hero-mobile-photo{
    display:none!important;
  }

  .hero-content{
    position:absolute!important;
    z-index:2!important;
    left:clamp(36px,7vw,110px)!important;
    right:44%!important;
    top:50%!important;
    transform:translateY(-44%)!important;
    width:auto!important;
    max-width:720px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  .hero-content.reveal.visible{
    transform:translateY(-44%)!important;
  }

  .hero h1{
    font-size:clamp(42px,5vw,72px)!important;
    line-height:.94!important;
    max-width:100%!important;
    width:auto!important;
    margin:0!important;
    overflow:visible!important;
  }

  .hero p{
    font-size:clamp(16px,1.55vw,20px)!important;
    line-height:1.45!important;
    max-width:620px!important;
    width:auto!important;
  }

  .cta-row{
    max-width:100%!important;
  }
}

/* Narrow laptops/tablets: stop overlaying text on the photograph entirely. */
@media (max-width: 1050px){
  .hero{
    display:block!important;
    min-height:0!important;
    padding:84px 0 0!important;
    background:#111!important;
    position:relative!important;
  }

  .hero-overlay,
  .hero::before{
    display:none!important;
    content:none!important;
  }

  .hero-mobile-photo{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center!important;
    filter:none!important;
    transform:none!important;
    opacity:1!important;
  }

  .hero-content,
  .hero-content.reveal,
  .hero-content.reveal.visible{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:34px clamp(20px,5vw,48px) 46px!important;
    background:#111!important;
  }

  .hero h1{
    width:100%!important;
    max-width:760px!important;
    font-size:clamp(38px,7.2vw,60px)!important;
    line-height:.96!important;
    overflow:visible!important;
    margin:0!important;
  }

  .hero p{
    width:100%!important;
    max-width:680px!important;
    font-size:17px!important;
    line-height:1.5!important;
  }

  .scroll-hint{
    display:none!important;
  }
}

/* Phones */
@media (max-width: 560px){
  .hero{
    padding-top:72px!important;
  }
  .hero-content,
  .hero-content.reveal,
  .hero-content.reveal.visible{
    padding:28px 20px 38px!important;
  }
  .hero h1{
    font-size:clamp(34px,10vw,46px)!important;
    line-height:.96!important;
  }
}
