:root{color-scheme:dark;--bg:#0b0b0c;--panel:#151516;--ink:#f5f1eb;--muted:#bcb7b2;--red:#df2c3a;--line:#353234;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ff9aa4;outline-offset:3px}.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip{position:absolute;left:16px;top:-80px;background:var(--red);padding:10px;z-index:20}.skip:focus{top:12px}.site-header{height:82px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:#080809ed;backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff1c}.brand img{width:180px;height:72px;object-fit:contain;object-position:left}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px)}.site-header nav a{font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;white-space:nowrap}.site-header nav a:hover,.footer a:hover,.text-link:hover{color:var(--red)}.site-header nav .nav-book{border:1px solid var(--red);padding:11px 17px;color:#fff}.site-header nav .nav-book:hover{background:var(--red);color:#fff}.menu-toggle{display:none;background:none;border:0;padding:12px}.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}.hero{position:relative;min-height:min(780px,calc(100svh - 82px));display:flex;flex-direction:column;justify-content:center;isolation:isolate;overflow:hidden;background:#111}.hero-image{position:absolute;inset:0;z-index:-2;background:url('assets/band.jpg') center 45%/cover no-repeat;filter:contrast(1.13) saturate(.8)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#090909ec 0%,#090909a6 45%,#09090926 100%),linear-gradient(0deg,#090909 0%,transparent 35%)}.hero-content{padding-block:100px 130px}.eyebrow{margin:0 0 16px;color:var(--red);font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;font-weight:900}.hero h1,h2,h3{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.012em;font-weight:900;line-height:.99;margin:0}.hero h1{font-size:clamp(5rem,12vw,11.5rem);max-width:780px;text-shadow:0 7px 24px #0008}.hero h1 em{font-style:normal;color:var(--red)}.hero-copy{font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.55;max-width:540px;color:#e4dfda;margin:28px 0 35px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 25px;text-transform:uppercase;font-weight:900;letter-spacing:.12em;font-size:.82rem;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:#fff}.button-red:hover{background:#bb2230}.button-outline{border-color:#fff;color:#fff;background:#0005}.button-outline:hover{background:#fff;color:#111}.hero-footer{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;border-top:1px solid #ffffff66;padding-top:14px;font-size:.7rem;text-transform:uppercase;letter-spacing:.19em;color:#ddd}.section{padding:110px 0}.section h2{font-size:clamp(3.2rem,7.1vw,7rem)}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.split-heading>p{max-width:350px;color:var(--muted);margin:0 0 7px}.live-section{background:#111112}.date-card{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 4px}.date-icon{font-size:3rem;line-height:1;color:var(--red)}.date-card h3{font-size:1.75rem}.date-card p{color:var(--muted);margin:5px 0 0}.text-link{text-transform:uppercase;color:#fff;font-weight:900;font-size:.8rem;letter-spacing:.1em;border-bottom:2px solid var(--red);padding-bottom:7px;white-space:nowrap}.date-card .text-link{margin-left:auto}.music-section{background:var(--red);color:#000}.music-section .eyebrow{color:#000}.music-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.music-intro h2 span{color:#fff}.music-intro>p:not(.eyebrow){font-size:1.12rem;max-width:470px;line-height:1.6}.music-intro blockquote{margin:45px 0 0;border-top:1px solid #6a1925;padding-top:22px;font-size:1.5rem;font-weight:800;line-height:1.25}.music-intro cite{display:block;font-size:.75rem;font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:.13em;margin-top:14px}.video-card{background:#111;color:#fff;box-shadow:20px 20px 0 #801925}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{width:100%;height:100%;border:0}.video-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 22px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#aaa}.video-caption strong{font-family:Impact,sans-serif;font-size:1.25rem;color:#fff;letter-spacing:.02em}.band-section{background:#0e0e0f}.section-top{max-width:890px;margin-bottom:45px}.section-top>p:last-child{font-size:1.16rem;color:var(--muted);max-width:740px;line-height:1.65}.members{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.members article{position:relative;overflow:hidden;background:#202022;min-height:390px}.members img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:grayscale(1) contrast(1.12);transition:filter .3s,transform .4s}.members article:hover img{filter:grayscale(.2);transform:scale(1.04)}.members article:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#000e)}.members article>div{position:absolute;bottom:20px;left:20px;right:12px;z-index:1}.members span{display:block;color:#e0d7d3;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.members h3{font-size:clamp(1.7rem,2.6vw,2.7rem)}.history{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:30px}.history-year{font-family:Impact,sans-serif;color:var(--red);font-size:2.3rem;letter-spacing:.03em}.history p{font-size:1.12rem;color:var(--muted);margin:0;max-width:710px}.gallery-section{background:#171516}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;height:410px}.gallery-grid button{padding:0;border:0;background:#222;overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform .4s,filter .3s}.gallery-grid button:hover img{transform:scale(1.04);filter:saturate(1)}.gallery-grid button:first-child img{object-position:center}.sound-section{background:#272322 url('assets/original.jpg') center/cover;position:relative;isolation:isolate}.sound-section:before{content:"";position:absolute;inset:0;background:#151112d9;z-index:-1}.sound-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end}.sound-layout p:not(.eyebrow){font-size:1.2rem;max-width:460px;margin:0 0 30px}.booking-section{background:#0b0b0c}.booking-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;align-items:start}.booking-layout>div>p:not(.eyebrow){max-width:410px;font-size:1.16rem;color:var(--muted)}.contact-email{display:inline-block;margin-top:20px;color:var(--red);font-weight:800;overflow-wrap:anywhere}.booking-layout form{background:#181819;padding:35px;border:1px solid var(--line)}.booking-layout label{display:block;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;font-weight:800;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-layout input,.booking-layout textarea{display:block;width:100%;background:#0e0e0f;border:1px solid #454143;color:#fff;padding:13px 14px;margin-top:8px;border-radius:0;font-size:1rem;letter-spacing:normal;text-transform:none;resize:vertical}.booking-layout input:focus,.booking-layout textarea:focus{border-color:var(--red)}.booking-layout input::placeholder,.booking-layout textarea::placeholder{color:#a29c99}.optional{text-transform:none;letter-spacing:normal;font-weight:400;color:var(--muted)}.form-note{font-size:.82rem;color:var(--muted);margin:14px 0 0}.footer{border-top:1px solid var(--line);background:#070708;padding:35px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer img{width:170px;height:75px;object-fit:contain;object-position:left}.footer-inner>div{display:flex;gap:25px;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:800}.footer small{color:#aaa}dialog{max-width:min(92vw,1000px);max-height:90vh;border:1px solid #555;background:#111;color:#fff;padding:12px;box-shadow:0 30px 100px #000b}dialog::backdrop{background:#000d}dialog img{max-height:75vh;max-width:100%;object-fit:contain;margin:auto}dialog p{margin:10px 6px 0}.lightbox-close{position:absolute;right:16px;top:16px;width:44px;height:44px;border:0;background:#000c;color:#fff;font-size:2rem;line-height:1}@media(max-width:950px){.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#101011;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 24px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav a{padding:13px 8px}.site-header nav .nav-book{text-align:center;margin-top:8px}.members{grid-template-columns:repeat(2,1fr)}.music-layout{gap:5%}.footer-inner{flex-wrap:wrap}}@media(max-width:700px){.wrap{width:min(calc(100% - 36px),var(--max))}.site-header{padding-inline:18px;height:72px}.site-header nav{top:72px}.brand img{width:150px;height:65px}.hero{min-height:690px;min-height:calc(100svh - 72px)}.hero-image{background-position:58% center}.hero:before{background:linear-gradient(0deg,#090909 0%,#09090990 45%,#09090966 100%)}.hero-content{padding-block:100px 110px}.hero h1{font-size:clamp(4.6rem,18vw,7rem)}.hero-copy{font-size:1.04rem}.hero-footer span:last-child{display:none}.section{padding:75px 0}.split-heading{display:block;margin-bottom:30px}.split-heading>p{margin-top:18px}.date-card{flex-wrap:wrap;gap:18px}.date-card .text-link{margin-left:65px}.music-layout,.booking-layout,.sound-layout{grid-template-columns:1fr;gap:48px}.music-intro blockquote{margin-top:30px}.video-card{box-shadow:10px 10px 0 #801925}.members{gap:8px}.members article{min-height:320px}.members article>div{left:12px;bottom:14px}.members h3{font-size:1.75rem}.members span{font-size:.58rem}.history{grid-template-columns:1fr;gap:10px}.gallery-grid{height:auto;grid-template-columns:1fr 1fr}.gallery-grid button:first-child{grid-column:1/-1;height:260px}.gallery-grid button:not(:first-child){height:190px}.sound-layout{gap:20px}.booking-layout form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{display:block}.footer-inner>div{margin:20px 0;flex-wrap:wrap}.footer small{display:block}.video-caption{flex-wrap:wrap}.video-caption strong{order:-1;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep the band photo and headline in separate rows. */
.hero{display:block;min-height:0;overflow:visible}
.hero-image{position:relative;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:1600/664;max-height:600px;background-position:center center;filter:none}
.hero:before{display:none}
.hero-content{padding-block:58px 48px}
.hero h1{max-width:none;font-size:clamp(4.8rem,10vw,9rem);text-shadow:none}
.hero-copy{max-width:700px;margin:20px 0 28px}
.hero-footer{position:static;padding-bottom:24px;border-color:var(--line)}
@media(max-width:700px){
  .hero{min-height:0}
  .hero-image{height:auto;aspect-ratio:1600/1066;max-height:none;background-image:url('assets/gallery-live.jpg');background-position:center center;background-size:cover}
  .hero-content{padding-block:42px 45px}
  .hero h1{font-size:clamp(4.5rem,17vw,7rem)}
}

.video-frame a{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#080808;color:#fff}
.video-frame a img{width:100%;height:100%;object-fit:cover;filter:brightness(.6);transition:filter .25s,transform .25s}
.video-frame a:hover img{filter:brightness(.8);transform:scale(1.025)}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--red);box-shadow:0 8px 25px #0009;font-size:1.4rem;padding-left:4px}
.video-watch{position:absolute;bottom:16px;left:18px;font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.12em;text-shadow:0 2px 5px #000}

.calendar-panel iframe{display:block;width:100%;height:570px;border:1px solid var(--line);background:#fff}
.calendar-panel .date-card{width:100%;margin:0}
@media(max-width:700px){.calendar-panel iframe{height:550px}}
/* Live dates: concert-poster cards instead of the embedded calendar frame. */
.shows-list{border-top:1px solid var(--line)}
.show-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:30px;padding:25px 12px;border-bottom:1px solid var(--line);transition:background .2s}
.show-card:hover{background:#1b1a1b}
.show-date{border:1px solid #682630;background:#261518;min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.show-date span{font-size:.68rem;letter-spacing:.18em;font-weight:900;color:var(--red)}
.show-date strong{font-family:Impact,sans-serif;font-size:2.8rem;line-height:1.05;margin:3px 0}
.show-date small{font-size:.68rem;letter-spacing:.12em;color:#d6c5c1;font-weight:800}
.show-info{min-width:0}
.show-info .show-time{color:var(--red);font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px}
.show-info h3{font-size:clamp(1.45rem,2.4vw,2.25rem);line-height:1.1}
.show-info>p:last-child{margin:8px 0 0;color:var(--muted)}
.show-link{border:1px solid #706766;padding:12px 16px;text-transform:uppercase;font-size:.75rem;font-weight:900;letter-spacing:.1em;white-space:nowrap}
.show-link:hover{background:var(--red);border-color:var(--red)}
.live-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:26px}
.live-bottom p{font-size:.83rem;color:var(--muted);margin:0}
.shows-empty{padding:40px 12px;border-bottom:1px solid var(--line)}
.shows-empty h3{font-size:2rem}.shows-empty p{color:var(--muted)}
@media(max-width:700px){.show-card{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:19px 0}.show-date{min-height:80px}.show-date strong{font-size:2.2rem}.show-info h3{font-size:1.5rem}.show-link{grid-column:2;justify-self:start}.live-bottom{display:block}.live-bottom .text-link{display:inline-block;margin-top:15px}}

/* Photo element makes the mobile source explicit and keeps the whole walking group visible. */
picture.hero-image{display:block;height:auto;aspect-ratio:auto;max-height:none;background:none}
picture.hero-image img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:700px){picture.hero-image{height:auto;aspect-ratio:auto;background:none}picture.hero-image img{width:100%;height:auto;object-fit:contain}}
.event-dialog{width:min(92vw,650px);padding:38px;background:#141314;border:1px solid #65595b}
.event-dialog .eyebrow{margin-right:45px}
.event-dialog h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(2.3rem,5vw,4rem);line-height:1.05;text-transform:uppercase;margin:0 40px 24px 0}
.event-dialog .event-when{font-size:1.05rem;font-weight:800;color:var(--red);margin:0 0 12px}
.event-dialog .event-location{font-size:1.05rem;color:#fff;margin:0 0 20px}
.event-dialog .event-description{white-space:pre-line;color:var(--muted);line-height:1.6;border-top:1px solid var(--line);padding-top:20px;margin:0}
.event-dialog .event-description[hidden]{display:none}
@media(max-width:700px){.event-dialog{padding:25px}.event-dialog h2{margin-right:25px}}
