*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#08090d;color:#f5f2ed;font-family:Inter,Arial,sans-serif;line-height:1.55}a{text-decoration:none;color:inherit}header{height:78px;position:fixed;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 5vw;background:rgba(8,9,13,.88);backdrop-filter:blur(14px);border-bottom:1px solid #222}.logo img{height:57px;width:145px;object-fit:contain}nav{display:flex;gap:28px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:1.2px}nav a{opacity:.75}nav a:hover{opacity:1}#menu{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:92vh;position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 70% 35%,#4b170d 0,transparent 32%),#08090d}.hero-copy{position:relative;z-index:2;width:min(850px,90%);margin-left:7vw;padding-top:70px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.5px;color:#aaa;margin:0 0 12px}.hero h1,h2{font-family:'Bebas Neue',Impact,sans-serif;line-height:.9;letter-spacing:1px;margin:0}.hero h1{font-size:clamp(65px,9vw,125px)}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#fff,#ff4d00);color:transparent;background-clip:text}.intro{max-width:570px;color:#bbb7b0;font-size:18px;margin:26px 0}.btn,.small,button{display:inline-block;border:1px solid #555;padding:12px 18px;font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;background:#ff4d00;color:#fff}.btn.outline,.small,button{background:transparent;margin-left:8px}.btn:hover,.small:hover,button:hover{background:#fff;color:#08090d}.eras{font-family:'Bebas Neue';font-size:28px;letter-spacing:3px;margin-top:42px}.eras b{opacity:.35;margin:0 13px}.hero-art{position:absolute;right:2vw;bottom:0;width:min(43vw,600px);height:83vh;background:linear-gradient(90deg,#08090d 0%,transparent 35%),linear-gradient(0deg,#08090d 0%,transparent 15%),url('images/back2-the-future-poster.jpg') center top/cover no-repeat;opacity:.85;mask-image:linear-gradient(90deg,transparent,#000 20%)}.ticker{padding:10px;white-space:nowrap;overflow:hidden;background:#ff4d00;font-family:'Bebas Neue';font-size:20px;letter-spacing:3px;text-align:center}.poster-section{display:grid;grid-template-columns:minmax(280px,500px) 1fr;gap:8vw;align-items:center;padding:100px 7vw;background:#11131a}.poster{box-shadow:0 25px 80px #000;transform:rotate(-1deg)}.poster img{display:block;width:100%}.poster-section h2,.section h2,.contact h2{font-size:clamp(58px,7vw,95px)}.poster-section p:not(.eyebrow){max-width:530px;color:#aaa7ad;font-size:17px;margin:24px 0 30px}.section{padding:100px 7vw}.dark{background:#101218}.heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.note{font-size:12px;color:#777;margin-bottom:25px}.gig{display:grid;grid-template-columns:100px 1fr auto;gap:25px;align-items:center;padding:20px;border:1px solid #24252b;margin:9px 0;background:#0d0f14}.date{font-family:'Bebas Neue';font-size:31px;text-align:center;line-height:.9}.date small{display:block;font-family:Inter;font-size:9px;letter-spacing:1px;color:#777;margin:4px}.gig h3{margin:0;font-size:16px}.gig p{margin:2px 0;color:#777;font-size:12px}.gig a{font-size:10px;border:1px solid #444;padding:8px}.past{opacity:.45}#empty{padding:35px;border:1px dashed #333;color:#777;text-align:center}.music{background:#08090d;border:1px solid #25262c;padding:25px}.music-top{display:flex;gap:14px;align-items:center;margin-bottom:18px}.music-top span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#ff4d00;font-weight:900}.music-top strong,.music-top small{display:block}.music-top small{font-size:11px;color:#777}.music iframe{width:100%;height:166px}.twocol{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.lead{font-size:22px;color:#d4d0c9;margin-top:0}.twocol p:not(.lead){color:#888}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#292a2f;margin-top:65px}.features article{background:#08090d;padding:28px;min-height:170px}.features b{color:#ff4d00;font-family:'Bebas Neue';font-size:21px}.features h3{font-size:14px;margin:18px 0 6px}.features p{font-size:12px;color:#777;margin:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 7vw;background:linear-gradient(120deg,#171922,#0b0c10)}.contact p:not(.eyebrow){color:#999;max-width:480px}.contacts{border-top:1px solid #333}.contacts a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #292a2f}.contacts small{font-size:10px;color:#666;letter-spacing:1.5px}.contacts strong{font-size:13px}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:35px 7vw;border-top:1px solid #222;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:1px}footer b{font-family:'Bebas Neue';font-size:22px;color:#fff}footer i{font-style:normal}@media(max-width:800px){nav{display:none;position:absolute;top:78px;left:0;right:0;background:#08090d;padding:20px 7vw;flex-direction:column;gap:18px}nav.open{display:flex}#menu{display:block}.hero-art{display:none}.hero-copy{margin-left:6vw}.hero h1{font-size:60px}.poster-section,.contact,.twocol{grid-template-columns:1fr}.poster{max-width:470px;margin:auto}.features{grid-template-columns:1fr 1fr}.gig{grid-template-columns:70px 1fr}.gig a{grid-column:2;width:max-content}.section,.poster-section,.contact{padding:70px 6vw}}@media(max-width:480px){.logo img{width:120px}.hero h1{font-size:50px}.features{grid-template-columns:1fr}.heading{align-items:start;flex-direction:column}.btn.outline{margin-left:0;margin-top:10px}.contacts a{flex-direction:column;gap:5px}}
/* Photo gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.gallery-item{padding:0;border:0;background:none;cursor:pointer;overflow:hidden;border-radius:14px}
.gallery-item img{display:block;width:100%;height:360px;object-fit:cover;transition:transform .3s}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-note{margin-top:16px;opacity:.7;font-size:.9rem}
.library-grid{display:grid;gap:14px;margin-top:28px}
.library-card{display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid rgba(255,255,255,.15);border-radius:14px;text-decoration:none}
.library-card span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}
.library-card small{opacity:.7}
.library-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid currentColor;border-radius:10px;font-size:.75rem;font-weight:800}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}
.lightbox-close{position:absolute;right:24px;top:14px;border:0;background:none;color:inherit;font-size:42px;cursor:pointer}
@media(max-width:700px){.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:280px}}

.photo-carousel{display:flex;align-items:center;gap:12px;margin-top:28px}.carousel-stage{position:relative;flex:1;overflow:hidden;border-radius:16px;background:#111}.carousel-stage>img{display:block;width:100%;height:min(62vw,560px);min-height:300px;object-fit:cover}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:48px 24px 20px;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;flex-direction:column;gap:5px}.carousel-arrow{width:48px;height:64px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.45);color:inherit;border-radius:10px;font-size:38px;cursor:pointer}.carousel-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 4px}.gallery-thumb{flex:0 0 86px;height:64px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none;cursor:pointer}.gallery-thumb.active{border-color:currentColor}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-status{text-align:center;min-height:22px;margin-top:10px;opacity:.7}@media(max-width:700px){.carousel-stage>img{height:70vw;min-height:240px}.carousel-arrow{width:38px;height:52px;font-size:30px}}

/* Large public photo carousel */
.gallery-section .photo-carousel{width:100%;max-width:1400px;margin:32px auto 0;display:flex;align-items:center;gap:18px}
.gallery-section .carousel-stage{flex:1;min-width:0;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 18px 55px rgba(0,0,0,.35)}
.gallery-section .carousel-stage>img{display:block;width:100%;height:min(72vw,760px);min-height:420px;object-fit:cover}
.gallery-section .carousel-caption{padding:70px 34px 28px}
.gallery-section .carousel-caption strong{font-size:1.5rem}
.gallery-section .carousel-caption span{font-size:1rem}
.gallery-section .carousel-arrow{width:58px;height:78px;flex:0 0 58px;font-size:48px;border-radius:12px}
.gallery-section .carousel-thumbs{max-width:1400px;margin:0 auto;padding:18px 2px 6px;gap:12px}
.gallery-section .gallery-thumb{flex:0 0 110px;height:78px;border-radius:9px}
@media(max-width:700px){
.gallery-section .photo-carousel{gap:7px}
.gallery-section .carousel-stage>img{height:78vw;min-height:300px}
.gallery-section .carousel-arrow{width:40px;height:58px;flex-basis:40px;font-size:34px}
.gallery-section .carousel-caption{padding:55px 16px 16px}
.gallery-section .gallery-thumb{flex-basis:82px;height:58px}
}

/* Concert / tour-style Gig Guide */
.gig-guide-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:30px 0 18px}
.gig-filter-label{display:flex;flex-direction:column;gap:5px}
.gig-filter-label strong{font-size:1.15rem;letter-spacing:.04em}
.gig-toggle{padding:11px 17px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:transparent;color:inherit;font-weight:700;letter-spacing:.06em;cursor:pointer}
.gig-toggle:hover{background:rgba(255,255,255,.08)}
.gig-list{display:grid;gap:12px}
.gig{display:grid;grid-template-columns:115px minmax(0,1fr) auto;align-items:stretch;min-height:125px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(100deg,rgba(255,255,255,.07),rgba(255,255,255,.025));transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.gig:hover{transform:translateY(-2px);background:rgba(255,255,255,.09);box-shadow:0 14px 35px rgba(0,0,0,.2)}
.gig-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;border-right:1px solid rgba(255,255,255,.14);text-align:center}
.gig-date span{font-size:.72rem;font-weight:800;letter-spacing:.16em;opacity:.65}
.gig-date strong{font-size:2.8rem;line-height:1;margin:5px 0;font-weight:900}
.gig-main{padding:21px 25px;min-width:0}
.gig-kicker{font-size:.68rem;font-weight:800;letter-spacing:.16em;opacity:.55;margin-bottom:6px}
.gig-main h3{margin:0 0 7px;font-size:1.45rem;line-height:1.15}
.gig-location,.gig-details{margin:4px 0 0;opacity:.72;line-height:1.4}
.gig-details{font-size:.88rem;opacity:.58}
.gig-action{display:flex;align-items:center;padding:20px 22px}
.gig-action a{display:inline-flex;align-items:center;gap:7px;padding:12px 16px;border:1px solid currentColor;border-radius:8px;text-decoration:none;font-size:.75rem;font-weight:900;letter-spacing:.09em;white-space:nowrap}
.gig-action a:hover{background:currentColor;color:#000}
.gig.past{opacity:.48}
@media(max-width:700px){.gig-guide-controls{align-items:stretch;flex-direction:column}.gig-toggle{align-self:flex-start}.gig{grid-template-columns:82px minmax(0,1fr)}.gig-date{padding:12px 8px}.gig-date strong{font-size:2rem}.gig-main{padding:17px 15px}.gig-main h3{font-size:1.15rem}.gig-action{grid-column:2;padding:0 15px 17px}}

.gig-date small{font-size:.72rem;font-weight:800;letter-spacing:.12em;opacity:.7;margin-top:3px}
