:root{--navy:#071126;--navy2:#0d1a36;--yellow:#fff000;--pink:#ff4fa8;--blue:#27d9ff;--white:#fff;--muted:#b6c2d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font-family:'DM Sans',sans-serif}h1,h2,h3,.brand,.btn,.kicker,nav,.ticker,.text-link,.header-cta{font-family:'Barlow Condensed',Impact,sans-serif}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1210px;margin:auto;padding-left:28px;padding-right:28px}.site-header{height:92px;display:flex;align-items:center;gap:32px;padding:0 max(28px,calc((100vw - 1154px)/2));position:relative;z-index:20;background:#071126}.brand{display:flex;align-items:center;position:relative}.brand-logo{height:84px;width:auto;display:block}nav{display:flex;gap:28px;margin-left:auto}nav a{font-size:19px;letter-spacing:.3px}nav a:hover,nav a.selected{color:var(--yellow)}.header-cta{background:var(--yellow);color:var(--navy);font-size:19px;font-weight:900;padding:12px 19px;transform:skew(-7deg);white-space:nowrap}.menu-toggle{display:none}.page{display:none}.page.active{display:block}.hero{min-height:640px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:url('assets/Hero%20image%20for%20website%202026%20copy.png');background-size:cover;background-position:center top;filter:saturate(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,27,.96) 0%,rgba(4,10,27,.88) 35%,rgba(4,10,27,.28) 62%,rgba(4,10,27,.1) 100%),linear-gradient(0deg,#071126,transparent 20%)}.hero-content{position:relative;z-index:1;width:100%;padding-top:75px;padding-bottom:90px}.eyebrow,.kicker{color:var(--yellow);font-size:21px;font-weight:800;letter-spacing:1.4px}.star{font-size:24px}.hero h1{font-size:clamp(74px,9vw,150px);font-weight:900;letter-spacing:-2px;line-height:.82;margin:28px 0 32px;max-width:780px}.hero h1 em{font-style:normal;color:var(--yellow)}.hero .pink{color:var(--pink)}.hero p{max-width:560px;font-size:19px;line-height:1.6;font-weight:600}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.btn{border:2px solid var(--yellow);display:inline-flex;align-items:center;gap:35px;font-weight:900;font-size:20px;padding:15px 24px;letter-spacing:.4px;transition:transform .2s}.btn:hover,.header-cta:hover{transform:translateY(-3px)}.btn.yellow{background:var(--yellow);color:var(--navy)}.btn.outline{background:transparent;color:#fff;border-color:#fff}.hero-stamp{position:absolute;right:6%;bottom:100px;width:148px;height:148px;border:3px dashed var(--yellow);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(15deg);font-family:'Barlow Condensed';font-size:22px;font-weight:900;line-height:.95;text-align:center;flex-direction:column;color:white}.hero-stamp span{color:var(--pink)}.ticker{overflow:hidden;background:var(--yellow);color:#071126;font-size:24px;line-height:1;padding:14px 0;white-space:nowrap;font-weight:900;letter-spacing:2px}.ticker div{width:max-content;animation:scroll 24s linear infinite}@keyframes scroll{to{transform:translateX(-40%)}}.section{padding-top:90px;padding-bottom:90px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.section h2,.page-top h1{font-size:clamp(52px,6.8vw,94px);font-weight:900;line-height:.91;letter-spacing:-.7px;margin:17px 0 30px}.section h2 span,.page-top h1 span{color:var(--yellow)}.intro p,.split p{font-size:19px;line-height:1.8;color:#d7e0ee}.text-link{display:inline-block;font-weight:900;color:var(--yellow);font-size:22px;letter-spacing:.6px;border-bottom:2px solid var(--yellow);padding-bottom:6px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.shows-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.show-card{background:#12223d;border:1px solid #2c3e59;padding:24px;min-height:225px;position:relative;overflow:hidden}.show-card:after{content:'⚡';font-size:120px;position:absolute;right:-22px;bottom:-35px;opacity:.08}.date{color:var(--yellow);font-family:'Barlow Condensed';font-size:39px;font-weight:900;line-height:1}.date small{font-size:19px}.show-card h3{font-size:27px;margin:25px 0 5px;line-height:1}.show-card p{color:var(--muted);font-size:13px}.show-card a{color:var(--yellow);font-size:13px;font-weight:700}.feature{height:520px;position:relative;overflow:hidden;display:flex;align-items:center}.feature>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}.feature>div{max-width:1210px;margin:auto;padding:30px;width:100%;position:relative}.feature h2{font-size:clamp(65px,8vw,115px);font-weight:900;line-height:.83;margin:24px 0 30px}.feature h2 span{color:var(--yellow)}.page-top{padding-top:94px;padding-bottom:45px}.page-top h1{font-size:clamp(72px,10vw,145px);margin-bottom:22px;max-width:1150px}.page-top p{font-size:20px;line-height:1.6;color:#c4cfe0;max-width:650px}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-top:25px}.rounded-photo{width:100%;aspect-ratio:4/4.5;object-fit:cover;border-radius:32px}.artists{border-left:4px solid var(--yellow);padding-left:22px;font-size:15px!important;color:var(--yellow)!important}.notice,.merch-note{padding:20px 25px;background:#193453;border-left:4px solid var(--yellow);font-family:'Barlow Condensed';font-weight:900;font-size:24px;margin-bottom:28px}.notice span{display:block;font:400 14px 'DM Sans';color:#ccd6e5;margin-top:6px}.show-list{display:grid;gap:14px}.show-row{display:grid;grid-template-columns:170px 1fr 230px;align-items:center;gap:25px;border-bottom:1px solid #2a3751;padding:28px 0}.show-row .date{font-size:45px}.show-row h3{font-size:35px;margin:0 0 5px}.show-row p{color:var(--muted);margin:0}.show-row a{justify-self:end;background:#fff000;color:#071126;padding:13px 25px;font-weight:900;font-family:'Barlow Condensed';font-size:19px}.past{margin-top:90px;padding:45px;background:#111e38}.past h2{font-size:45px}.past p{line-height:1.9;color:#c8d0e1}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gallery-grid img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:32px;transition:transform .2s}.gallery-grid img:hover{transform:scale(1.015)}.photo-note{font-size:12px;color:#9ea9bc;margin-top:25px}.merch-note{font:400 15px 'DM Sans';line-height:1.6}.merch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.product{background:#101e38;border:1px solid #293959;border-radius:20px;overflow:hidden}.product-art{height:430px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(180deg,#f7f7fb,#d8dee8)}.product-art img{width:100%;height:100%;object-fit:contain;display:block}.product-art.photo-merch{padding:16px}.product-info{padding:28px}.product-info>span{font-size:11px;letter-spacing:2px;color:var(--yellow);font-weight:700}.product-info h3{font-size:37px;margin:8px 0}.product-info p{font-size:14px;color:#bfcbdc}.buy{width:100%;background:#27354c;color:#d5dce7;border:none;padding:16px;margin-top:14px;font-size:18px;font-family:'Barlow Condensed';font-weight:900;cursor:not-allowed}.shop-help{margin-top:50px;text-align:center}.shop-help h3{font-size:40px}.shop-help p{color:#b9c5d7}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:25px}.contact-card{background:#142542;padding:50px 40px}.contact-card>span{color:var(--yellow);letter-spacing:2px;font-size:12px;font-weight:700}.contact-card h2{font-size:100px}.contact-detail{font-family:'Barlow Condensed';display:block;font-size:30px;margin-bottom:18px;overflow-wrap:anywhere}.contact-detail:hover{color:var(--yellow)}.contact-card p{color:var(--muted)}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#c4d0e1;font-weight:700}.contact-form input,.contact-form textarea,.contact-form select{width:100%;background:#13243f;border:1px solid #33445f;border-radius:5px;color:white;padding:16px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--yellow)}.contact-form small{color:#a9b7cd}.contact-form .btn{justify-content:center}.footer{background:#030a18;border-top:1px solid #26324b}.footer-inner{padding-top:55px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}.footer-brand img{height:92px;width:auto;display:block}.footer-brand small{display:block;font:600 12px 'DM Sans';letter-spacing:2px;margin-top:15px;color:var(--yellow)}.footer-inner>div:nth-child(2){display:flex;gap:25px;font:800 19px 'Barlow Condensed'}.footer-bottom{border-top:1px solid #233047;padding-top:25px;width:100%;font-size:12px;color:#8696ac;display:flex;justify-content:space-between}
@media(max-width:900px){.site-header{padding:0 22px;height:80px}.brand-logo{height:62px}.menu-toggle{display:block;margin-left:auto;background:transparent;border:0;color:white;font-size:29px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#071126;flex-direction:column;gap:0;padding:12px 25px 25px}nav.open{display:flex}nav a{padding:11px}.header-cta{display:none}.hero-stamp{display:none}.shows-grid{grid-template-columns:repeat(2,1fr)}.intro,.split,.contact-grid{grid-template-columns:1fr;gap:35px}.show-row{grid-template-columns:130px 1fr;gap:15px}.show-row a{grid-column:2;justify-self:start}.section{padding-top:65px;padding-bottom:65px}}@media(max-width:600px){.wrap{padding-left:20px;padding-right:20px}.hero{min-height:680px}.hero-overlay{background:linear-gradient(90deg,rgba(4,10,27,.96),rgba(4,10,27,.62)),linear-gradient(0deg,#071126,transparent 30%)}.hero h1{font-size:clamp(77px,17vw,110px)}.hero-content{padding-top:40px}.hero p{font-size:17px}.eyebrow,.kicker{font-size:17px}.btn{font-size:19px;gap:12px}.shows-grid,.merch-grid,.gallery-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.page-top{padding-top:65px}.page-top h1{font-size:clamp(65px,13vw,95px)}.show-row{grid-template-columns:1fr;gap:8px}.show-row a{grid-column:1}.show-row .date{font-size:33px}.show-row h3{font-size:29px}.gallery-grid img{aspect-ratio:1.45}.product-art{height:360px}.contact-card{padding:32px 25px}.contact-card h2{font-size:80px}.footer-inner{align-items:start}.footer-bottom{flex-direction:column;gap:15px}}

/* Sonic Boom live-photo gallery: responsive thumbnails with a full-size viewer. */
.gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gallery-photo {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #13243e;
  aspect-ratio: 4 / 3;
  cursor: zoom-in;
}
.gallery-grid .gallery-photo img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: 0;
  transition: transform .25s ease;
}
.gallery-grid .gallery-photo:hover img { transform: scale(1.04); }
.gallery-photo:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }
.gallery-controls { display: flex; justify-content: center; margin-top: 36px; }
.gallery-controls [hidden] { display: none; }
.gallery-controls .btn { cursor: pointer; }
.photo-note { text-align: center; }
.gallery-lightbox {
  padding: 0;
  border: 0;
  background: transparent;
  max-width: 95vw;
  max-height: 94vh;
  overflow: visible;
}
.gallery-lightbox::backdrop { background: rgba(0, 4, 13, .92); }
.gallery-lightbox > img {
  display: block;
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}
.gallery-lightbox-close {
  position: absolute;
  z-index: 1;
  top: -17px;
  right: -15px;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 43px;
  height: 43px;
  background: #071126;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
@media(max-width:900px){ .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:600px){ .gallery-grid { grid-template-columns: 1fr; gap: 15px; } .gallery-photo { aspect-ratio: 4 / 3; } }

/* Homepage promo video */
.home-video-section {
  padding-top: 28px;
  padding-bottom: 90px;
}
.home-video-intro {
  text-align: center;
  max-width: 830px;
  margin: 0 auto 36px;
}
.home-video-intro h2 {
  font-size: clamp(53px, 7.5vw, 104px);
  line-height: .87;
  font-weight: 900;
  margin: 18px 0 18px;
}
.home-video-intro h2 span { color: var(--yellow); }
.home-video-intro p {
  color: #d7e0ee;
  font-size: 19px;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 680px;
}
.home-video-player {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  background: #030914;
  border: 3px solid #25334f;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 25px 75px rgba(0,0,0,.35);
}
.home-video-preview {
  position: absolute;
  inset: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #030914;
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-video-preview img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.7) saturate(1.12);
  transition: filter .2s ease, transform .25s ease;
}
.home-video-preview:hover img {
  filter: brightness(.85) saturate(1.15);
  transform: scale(1.025);
}
.home-video-play-icon {
  z-index: 1;
  width: clamp(70px, 10vw, 108px);
  height: clamp(70px, 10vw, 108px);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--yellow);
  color: var(--navy);
  font-size: clamp(30px, 5vw, 48px);
  box-shadow: 0 5px 38px rgba(0,0,0,.6);
  padding-left: 6px;
  transition: transform .2s ease;
}
.home-video-preview:hover .home-video-play-icon { transform: scale(1.1); }
.home-video-watch-text {
  z-index: 1;
  position: absolute;
  bottom: clamp(15px, 4vw, 40px);
  left: 0;
  right: 0;
  text-align: center;
  font-family: 'Barlow Condensed', Impact, sans-serif;
  font-size: clamp(18px, 3.2vw, 32px);
  font-weight: 900;
  letter-spacing: 1.5px;
  text-shadow: 0 2px 18px rgba(0,0,0,.9);
}
.home-video-preview:focus-visible { outline: 4px solid var(--yellow); outline-offset: -5px; }
.home-video-player iframe {
  display: block;
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.home-video-youtube-link {
  display: table;
  margin: 24px auto 0;
}
@media(max-width:600px) {
  .home-video-section { padding-top: 15px; padding-bottom: 65px; }
  .home-video-intro { margin-bottom: 24px; }
  .home-video-intro h2 { font-size: clamp(50px, 11vw, 75px); }
  .home-video-intro p { font-size: 16px; }
  .home-video-player { border-radius: 14px; border-width: 2px; }
  .home-video-watch-text { letter-spacing: .6px; }
}
