
:root{--red:#e1061a;--ivory:#f4e6c8;--black:#080808;--gold:#d4a047;--muted:#b8b0a2;--panel:#111}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ivory);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}.site-header{position:sticky;top:0;z-index:50;background:rgba(8,8,8,.96);border-bottom:1px solid rgba(212,160,71,.28);backdrop-filter:blur(10px)}
.nav{max-width:1180px;margin:auto;min-height:82px;display:flex;align-items:center;gap:28px;padding:12px 24px}.brand img{width:190px;max-height:64px;object-fit:contain}.navlinks{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}.navlinks a{text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:1.2px;font-size:.82rem}.navlinks a:hover,.navlinks a.active{color:var(--red)}
main{max-width:1180px;margin:auto;padding:0 24px}.hero{padding:72px 0 52px;text-align:center;border-bottom:1px solid rgba(244,230,200,.12)}.kicker{color:var(--gold);font-weight:800;letter-spacing:3px;text-transform:uppercase;font-size:.78rem}.hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,7vw,5.8rem);line-height:.95;margin:14px 0;color:var(--ivory)}.hero p{max-width:700px;margin:20px auto;color:var(--muted);font-size:1.08rem}
.section{padding:60px 0}.section h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);margin:0 0 12px}.intro{color:var(--muted);max-width:740px}
.event-list{display:grid;gap:18px;margin-top:32px}.event{display:grid;grid-template-columns:190px 1fr auto;gap:24px;align-items:center;padding:24px;background:linear-gradient(135deg,#121212,#0c0c0c);border:1px solid rgba(212,160,71,.24);box-shadow:0 15px 35px rgba(0,0,0,.22)}.date{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:1.5px}.date strong{display:block;color:var(--ivory);font-family:Georgia,serif;font-size:1.55rem;letter-spacing:0}.venue{font-size:1.3rem;font-weight:800}.city{color:var(--muted);margin-top:3px}.event-link{display:inline-block;border:1px solid var(--gold);color:var(--ivory);text-decoration:none;text-transform:uppercase;letter-spacing:1px;font-weight:800;font-size:.75rem;padding:11px 15px}.event-link:hover{background:var(--gold);color:var(--black)}
.empty{display:none;padding:25px;border:1px dashed rgba(244,230,200,.25);color:var(--muted)}
.booking{margin-top:45px;padding:42px;background:var(--red);color:white;text-align:center}.booking h2{margin-top:0}.booking a{display:inline-block;margin-top:10px;background:var(--black);padding:12px 20px;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.footer{border-top:1px solid rgba(244,230,200,.12);padding:35px 24px;text-align:center;color:var(--muted);font-size:.85rem}
@media(max-width:760px){.nav{min-height:70px;padding:10px 16px}.brand img{width:145px}.navlinks{gap:12px}.navlinks a{font-size:.7rem}.hero{padding-top:50px}.event{grid-template-columns:1fr;gap:12px}.event-link{justify-self:start}.section{padding:48px 0}}

/* Equal album-cover frames: original artwork files remain untouched. */
.cover{width:300px;height:300px;max-width:100%;object-fit:contain;object-position:center;display:block;margin:0 auto;}
@media(max-width:760px){.cover{width:min(300px,100%);height:auto;aspect-ratio:1/1;object-fit:contain;}}

/* Music: visual video showcase + compact album layout */
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.video-card{background:linear-gradient(135deg,#121212,#0c0c0c);border:1px solid rgba(212,160,71,.24);padding:10px;box-shadow:0 15px 35px rgba(0,0,0,.22)}.video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.album{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:start;padding:30px;margin-top:28px;background:linear-gradient(135deg,#121212,#0c0c0c);border:1px solid rgba(212,160,71,.24);box-shadow:0 15px 35px rgba(0,0,0,.22)}.album .cover{margin:0;width:300px;height:300px}.album h3{font-family:Georgia,serif;font-size:2rem;margin:0 0 3px}.album .artist{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:18px}.player{border:1px solid rgba(244,230,200,.12);padding:18px;background:#0b0b0b;margin-bottom:16px}.track{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid rgba(244,230,200,.08)}.track:last-child{border-bottom:0}.track button{width:30px;height:30px;border:1px solid var(--gold);background:transparent;color:var(--ivory);cursor:pointer}.track.playing{background:rgba(225,6,26,.12)}.track small{color:var(--muted)}
@media(max-width:900px){.video-grid{grid-template-columns:1fr 1fr}.album{grid-template-columns:220px minmax(0,1fr)}.album .cover{width:220px;height:220px}}
@media(max-width:760px){.video-grid{grid-template-columns:1fr}.album{grid-template-columns:1fr;gap:22px}.album .cover{width:min(300px,100%);height:auto;aspect-ratio:1/1;margin:0 auto}}

.album-note{margin:4px 0 14px;color:var(--muted);font-size:.78rem;letter-spacing:.7px;text-transform:uppercase}

/* Local MP4 video player — hosted on perrysboogie.com */
.video-player-shell{margin-top:30px;background:linear-gradient(135deg,#121212,#0c0c0c);border:1px solid rgba(212,160,71,.24);padding:18px;box-shadow:0 15px 35px rgba(0,0,0,.22)}
.video-frame-main{width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.video-frame-main video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.video-now{display:flex;align-items:baseline;gap:12px;padding:16px 4px 12px;border-bottom:1px solid rgba(244,230,200,.10)}
.video-now-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--gold);font-weight:800}
#videoTitle{font-size:1.05rem;color:var(--ivory);font-weight:700}
.video-playlist{display:flex;flex-direction:column}
.video-item{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;text-align:left;padding:13px 10px;border:0;border-bottom:1px solid rgba(244,230,200,.08);background:transparent;color:var(--ivory);font:inherit;cursor:pointer}
.video-item:last-child{border-bottom:0}
.video-item:hover,.video-item.playing{background:rgba(225,6,26,.12)}
.video-item-play{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);color:var(--ivory);font-size:.75rem}
@media(max-width:760px){.video-player-shell{padding:10px}.video-now{display:flex;flex-direction:column;gap:4px}.video-item{grid-template-columns:34px 1fr;padding:12px 6px}}
