:root{--bg:#1A1A1F;--surface:#2D2B55;--border:#6A5ACD;--accent:#A678B9;--body:#F0D9B5;--muted:#82BAB7;--muted-h:#72A4A1;--muted-d:#5B8280;
 --pill-h:48px;--pill-fs:14px;--pill-px:22px;--pill-sm-h:36px;--pill-sm-fs:12.5px;--pill-sm-px:15px}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--body);font-family:'Inter Tight',system-ui,sans-serif}
.wrap{width:min(86%,1280px);margin:0 auto}
.cap{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;border-bottom:1px solid rgba(106,90,205,.5);gap:14px}
header img{height:42px;display:block}
nav{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:4px}
nav a{color:var(--body);text-decoration:none;padding:7px 14px;border-radius:99px;white-space:nowrap}
nav a.on{background:var(--body);color:var(--bg)}
/* PILL SYSTEM: one line, fixed height, never grows */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;white-space:nowrap;
 height:var(--pill-h);padding:0 var(--pill-px);font-size:var(--pill-fs);line-height:1;
 background:var(--muted);color:var(--bg);font-weight:900;border-radius:99px;text-decoration:none;letter-spacing:.01em;border:1px solid var(--muted)}
.btn.line{background:transparent;color:var(--body);border-color:var(--body)}
.btn.sm{height:var(--pill-sm-h);padding:0 var(--pill-sm-px);font-size:var(--pill-sm-fs)}
.btn .s{display:none}
.chip{display:inline-flex;align-items:center;white-space:nowrap;flex:0 0 auto;height:var(--pill-sm-h);padding:0 var(--pill-sm-px);font-size:var(--pill-sm-fs);line-height:1;font-weight:700;border-radius:99px;border:1px solid var(--border);color:var(--body);text-decoration:none}
.chip.on{background:var(--body);color:var(--bg);border-color:var(--body)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.ctas{display:flex;gap:12px;margin-top:22px;align-items:center;flex-wrap:nowrap}
.ctas .tel{font-weight:700;font-size:14px;color:var(--body);text-decoration:none;border-bottom:1px solid var(--muted);margin-left:6px;white-space:nowrap}
.factbox{display:inline-grid;grid-template-columns:auto auto;gap:4px 18px;border:1px solid var(--border);padding:10px 14px;font-size:12.5px;margin-bottom:16px}
.factbox b{color:var(--muted);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;align-self:center}
.serif{font-family:'Instrument Serif',serif;font-weight:400}
.marquee{background:var(--muted);color:var(--bg);overflow:hidden;white-space:nowrap;border-top:1px solid var(--bg);border-bottom:1px solid var(--bg);transform:rotate(-1deg);margin:4px -10px 0}
.marquee div{display:inline-block;padding:11px 0;font-weight:900;font-size:22px;letter-spacing:-.01em;text-transform:uppercase}
.marquee span{color:var(--surface);margin:0 16px}
@media (max-width:760px){
 nav{display:none}
 header .wrap{height:56px}
 header img{height:36px}
 .ctas .tel{display:none}
 .ctas{gap:10px}
}
/* narrow phones: same pill height + font, tighter side padding, shorter label */
@media (max-width:430px){
 :root{--pill-px:18px;--pill-sm-px:13px}
 .btn .l{display:none}.btn .s{display:inline}
}
html,body{overflow-x:clip}
.row .btn{justify-self:end}
@media (max-width:370px){:root{--pill-px:15px;--pill-sm-px:12px}}
/* ---- site layer ---- */
a{color:inherit}
header{position:sticky;top:0;z-index:20;background:rgba(26,26,31,.92);backdrop-filter:blur(8px)}
header .logo img{height:42px;width:auto}
header .hr{display:flex;gap:8px;align-items:center}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer}.mnav summary::-webkit-details-marker{display:none}
.mpanel{position:absolute;right:0;top:44px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px;display:grid;min-width:220px}
.mpanel a{padding:12px 14px;text-decoration:none;border-radius:10px}.mpanel a.on{background:var(--body);color:var(--bg)}
@media (max-width:760px){.mnav{display:block}}
.crumb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:16px 0 8px}
.crumb a{color:var(--body);opacity:.7;text-decoration:none}
h1{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(46px,6.2vw,96px);line-height:.92;letter-spacing:-.02em;color:#fff;overflow-wrap:break-word}
h1 i{color:var(--muted)}
.lede{margin-top:14px;font-size:16px;line-height:1.5;max-width:640px;opacity:.9}
/* home */
.hero{position:relative}
.hero:before{content:"";position:absolute;inset:0;background:var(--bgimg) center/cover;opacity:.12;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:36px;padding:22px 0 26px;align-items:stretch}
.hero h1{font-size:clamp(58px,7.4vw,118px)}
h1 .k{font-family:'Inter Tight';font-weight:900;font-style:normal;font-size:.62em;letter-spacing:-.04em;display:inline-block;vertical-align:.08em;color:var(--bg);background:var(--accent);padding:0 .16em;border-radius:.1em;transform:rotate(-2deg)}
.poster{position:relative;display:block;border-radius:18px;overflow:hidden;border:1px solid var(--border);min-height:420px;background:#000 center/cover no-repeat;text-decoration:none}
.poster:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,26,31,0) 40%,rgba(26,26,31,.95))}
.poster .tag{position:absolute;top:14px;left:14px;background:var(--muted);color:var(--bg);padding:6px 10px;border-radius:99px;white-space:nowrap}
.poster .info{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;align-items:end;gap:12px}
.poster .info h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:34px;line-height:1;color:#fff}
.poster .info p{font-size:12.5px;margin-top:6px;opacity:.9}
.sec{padding:34px 0 40px}
.sec-h{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px;gap:16px}
.sec-h h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:54px;line-height:.95;color:#fff}
.sec-h h2 i{color:var(--accent)}
.sec-h p{max-width:360px;font-size:14px;opacity:.85}
.about{border-top:1px solid rgba(106,90,205,.55)}
.ab{display:grid;grid-template-columns:1fr 1.4fr;gap:40px}
.ab h2{font-size:54px;line-height:.95;color:#fff;margin-top:8px}.ab h2 i{color:var(--accent)}
.ab p{line-height:1.6;margin-bottom:12px}.ab a{color:var(--muted)}
.k{color:var(--muted)}
/* rows */
.row{display:grid;grid-template-columns:78px 84px 1fr auto;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(106,90,205,.35)}
.row[hidden]{display:none}
.dt{text-decoration:none}
.dt b{display:block;font-weight:900;font-size:19px;color:var(--muted);letter-spacing:-.01em;white-space:nowrap}
.dt span{font-size:11.5px;opacity:.65;font-weight:700;letter-spacing:.1em}
.row img{width:84px;height:50px;object-fit:cover;border-radius:8px;display:block;border:1px solid rgba(106,90,205,.5)}
.row h4{font-family:'Instrument Serif',serif;font-weight:400;font-size:25px;line-height:1;color:#fff}
.row h4 a{text-decoration:none}.row h4 a:hover{color:var(--muted)}
.row .v{font-size:12.5px;opacity:.85;margin-top:4px}
.row .v em{font-style:normal;color:var(--muted);font-weight:700;white-space:nowrap}
/* events */
.ph-h{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:4px 0 16px}
.ph-h .factbox{margin:0}
.filter{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(106,90,205,.55);border-bottom:1px solid rgba(106,90,205,.55)}
.filter>.cap{color:var(--muted);white-space:nowrap}
.filter .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.filter #cf{flex:1;min-width:0}
button.chip{background:none;font-family:inherit;cursor:pointer}
.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:34px;padding:6px 0 40px;align-items:start}
.side{position:sticky;top:76px;display:grid;gap:16px;padding-top:12px}
.side>.cap{color:var(--muted)}
.card{display:block;text-decoration:none;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}
.card .ph{height:120px;background-size:cover;background-position:center}
.card .cb{padding:14px 16px 16px}
.card h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:30px;line-height:1;color:#fff;margin:4px 0 6px}
.card .dl{font-size:12px;margin:8px 0 12px;font-weight:700}
.past{padding:10px 0 48px;border-top:1px solid rgba(106,90,205,.55)}.past .sec-h{margin-top:28px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.pc{display:block;text-decoration:none;border:1px solid rgba(106,90,205,.5);border-radius:12px;overflow:hidden;background:var(--surface)}
.pc img,.pc .noimg{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.pc span{display:block;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.3}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding-bottom:48px}
/* show / simple */
.sh-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:center;padding:4px 0 22px}
.sh-hero:has(.sh-img){}
.sh-t h1{font-size:clamp(40px,4.8vw,76px);margin-top:12px}
.tagp{display:inline-block;background:var(--muted);color:var(--bg);padding:6px 10px;border-radius:99px}
.sh-img img{width:100%;display:block;border-radius:18px;border:1px solid var(--border);max-height:480px;object-fit:cover}
.sh-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start;padding:10px 0 48px;border-top:1px solid rgba(106,90,205,.55)}
.prose{padding-top:18px;min-width:0}
.prose p,.prose li{font-size:16px;line-height:1.65;margin-bottom:14px;overflow-wrap:break-word}
.prose ul{padding-left:20px;margin-bottom:14px}
.prose h2,.prose h3{font-family:'Instrument Serif',serif;font-weight:400;color:#fff;font-size:34px;line-height:1.05;margin:22px 0 12px}
.prose h4{font-size:18px;color:#fff;margin:18px 0 8px}
.prose a{color:var(--muted)}
.prose figure{margin:18px 0}.prose figure img{width:100%;height:auto;display:block;border-radius:12px}
.prose blockquote{border-left:3px solid var(--muted);padding-left:16px;margin:16px 0;font-family:'Instrument Serif',serif;font-size:24px;color:#fff}
.vid{position:relative;aspect-ratio:16/9;margin:18px 0;border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tix{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:14px 16px 6px}
.drow{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid rgba(106,90,205,.4)}
.drow h4{font-size:15px;color:#fff;line-height:1.25}
.drow .v{font-size:12.5px;opacity:.9;margin-top:3px}.drow .v a{color:var(--body)}
.btn.dis{cursor:default;opacity:.8}
.ask{font-size:14px;line-height:1.5;padding:4px 2px}.ask a{color:var(--muted)}
.links{display:flex;flex-wrap:wrap;gap:8px}
.oc{padding:28px 0 48px}.oc .chips{margin-top:12px}
.simple .list{margin-bottom:8px}
/* footer */
footer{border-top:1px solid rgba(106,90,205,.55);padding:28px 0 34px;font-size:13px}
footer .f1{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;margin-bottom:14px}
footer .fcta{font-size:28px;color:#fff;text-decoration:none}
footer a{color:var(--body)}
footer .soc a{margin-right:14px}
footer .f2,footer .f3{opacity:.75;margin-top:6px}
@media (max-width:1000px){.sh-grid{grid-template-columns:1fr}.side{position:static}}
@media (max-width:760px){
 .hero .wrap{grid-template-columns:1fr;padding:14px 0 18px;gap:18px}
 .factbox{font-size:11.5px;gap:3px 12px;margin-bottom:12px}
 .hero h1{font-size:54px}
 .lede{font-size:15px;margin-top:10px}
 .ctas{margin-top:16px}
 .poster{min-height:250px}
 .poster .info h3{font-size:26px}
 .marquee .mq-seg{font-size:17px}
 .sec-h{display:block}.sec-h h2{font-size:44px}.sec-h p{margin-top:8px}
 .ab{grid-template-columns:1fr;gap:12px}.ab h2{font-size:44px}
 .ph-h{grid-template-columns:1fr;gap:12px}
 h1{font-size:54px}
 .filter{gap:10px;flex-wrap:wrap}
 .filter>.cap{display:none}
 .filter #cf{flex-basis:100%}
 .grid{grid-template-columns:1fr;gap:20px}
 .row{grid-template-columns:62px 1fr auto;gap:12px}
 .row img{display:none}
 .dt b{font-size:16px}
 .row h4{font-size:21px}
 .sh-hero{grid-template-columns:1fr;gap:16px}
 .sh-t h1{font-size:42px}
 footer .fcta{font-size:24px}
}
@media (max-width:370px){h1,.hero h1{font-size:46px}.sh-t h1{font-size:38px}}
/* added act: coming-soon ticket box + band links */
.tix.soon h4{margin:.4em 0 .3em}
.tix.soon .btn{margin-top:.8em}
.tix.blinks .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:.6em}
.prose blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:2px solid var(--border);font-style:italic}
/* Cities dropdown (desktop) + mobile sub-links */
.dd{position:relative;display:flex;align-items:center}
.ddm{position:absolute;left:0;top:100%;padding-top:8px;display:none;min-width:220px;z-index:30}
.ddm::before{content:"";position:absolute;inset:8px 0 0;background:var(--surface);border:1px solid var(--border);border-radius:16px;z-index:-1}
.ddm a{display:block;padding:10px 16px;border-radius:10px;margin:0 6px}
.ddm a:first-child{margin-top:6px}.ddm a:last-child{margin-bottom:6px}
.ddm a:hover{background:rgba(240,217,181,.1)}.ddm a.all{color:var(--muted)}
.dd:hover .ddm,.dd:focus-within .ddm{display:block}
.mpanel{max-height:calc(100vh - 80px);overflow-y:auto}
.mpanel a.sub{padding:8px 14px 8px 28px;font-size:.9em;opacity:.85}
/* social: slim top bar + footer icons */
.topbar{background:linear-gradient(90deg,rgba(45,43,85,.9),rgba(26,26,31,.95));border-bottom:1px solid rgba(106,90,205,.35);font-size:11.5px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:34px;gap:12px}
.tb-ph{color:var(--muted);text-decoration:none;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.tb-r{display:flex;align-items:center;gap:10px}
.tb-l{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--accent);white-space:nowrap}
.socrow{display:inline-flex;gap:6px;align-items:center}
.socrow .si{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:99px;border:1px solid rgba(106,90,205,.7);color:var(--body);transition:background .15s,color .15s,border-color .15s}
.socrow .si svg{width:13px;height:13px;display:block}
.socrow .si:hover,.socrow .si:focus-visible{background:var(--muted);border-color:var(--muted);color:var(--bg)}
footer .f2{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
footer .f2 .fsoc{margin-left:10px}
footer .f2 .si{width:30px;height:30px;text-decoration:none}footer .f2 .si svg{width:15px;height:15px}
@media (max-width:380px){.tb-l{display:none}}
/* teal accent: hovers + focus */
.btn:not(.line):hover,.btn:not(.line):focus-visible{background:var(--muted-h);border-color:var(--muted-h)}
.btn.line:hover{border-color:var(--muted);color:var(--muted)}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--muted);outline-offset:2px}
.socrow .si:hover,.socrow .si:focus-visible{background:var(--muted-h);border-color:var(--muted-h)}
/* ticker: pure CSS seamless loop */
.marquee .mq-track{display:-webkit-box;display:flex;flex-wrap:nowrap;width:-webkit-max-content;width:max-content;padding:0;font-size:inherit;
 -webkit-animation:mq 60s linear infinite;animation:mq 60s linear infinite;will-change:transform;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.marquee .mq-seg{-webkit-flex:none;flex:none;display:block;white-space:nowrap}
@-webkit-keyframes mq{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}
@keyframes mq{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.marquee .mq-track{-webkit-animation-duration:200s;animation-duration:200s}}
/* pills inside prose keep their own label colour (was overridden by .prose a) */
.prose a.btn,.prose a.btn:hover,.prose a.btn:focus-visible{color:var(--bg);text-decoration:none}
.prose a.btn.line{color:var(--body)}.prose a.btn.line:hover{color:var(--muted)}
.btn:not(.line){color:var(--bg)}
.tb-l{color:#B893C7}
/* vertical breathing room for buttons under intro copy (Jason t489u) */
.ph-h .cta-row{margin:30px 0 16px}
.prose .ctas{margin:28px 0 22px}
.tix.soon .btn{margin-top:18px}
.tix.blinks .chips{margin-top:16px}
@media (max-width:760px){
 .ph-h .cta-row{margin:24px 0 12px}
 .prose .ctas{margin:24px 0 20px}
 .tix.soon .btn{margin-top:16px}
 .tix.blinks .chips{margin-top:14px}
}
/* Show Info pill + row rework (Jason t490u) */
.row .im{display:block}
.row .acts{display:flex;align-items:center;gap:10px;justify-self:end}
.row .acts .btn{position:relative}
.row .acts .btn::before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}
.list{container-type:inline-size}
@container (max-width:560px){
 .row{grid-template-columns:56px minmax(0,1fr) auto;gap:12px}
 .row .im{display:none}
 .row .ti{min-width:0;overflow-wrap:break-word}
 .row .acts{flex-direction:column-reverse;align-items:stretch;gap:8px}
 .dt b{font-size:16px}
 .row h4{font-size:21px}
}
@media (max-width:760px){
 .row{grid-template-columns:56px minmax(0,1fr) auto;gap:12px}
 .row .im{display:none}
 .row .ti{min-width:0;overflow-wrap:break-word}
 .row .acts{flex-direction:column-reverse;align-items:stretch;gap:8px}
}
/* Thumbnail motion (Jason t499u): slow zoom + soft diagonal shine, CSS only, transform/opacity only.
   Frames are static boxes with overflow:hidden, so nothing changes size; Reduce Motion users get still images. */
.row .im{width:84px;height:50px;border-radius:8px;overflow:hidden;position:relative;border:1px solid rgba(106,90,205,.5)}
.row .im img{width:100%;height:100%;border:0;border-radius:0}
.card .ph{position:relative;overflow:hidden}
.pc .pim{position:relative;overflow:hidden}
@keyframes f9kb{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes f9sh{0%{transform:translateX(-130%) skewX(-20deg);opacity:0}4%{opacity:1}22%{transform:translateX(130%) skewX(-20deg);opacity:1}26%,100%{transform:translateX(130%) skewX(-20deg);opacity:0}}
@media (prefers-reduced-motion:no-preference){
 .row .im img,.pc .pim img{animation:f9kb 9s ease-in-out infinite alternate;will-change:transform;transform-origin:center}
 .card .ph::before{content:"";position:absolute;inset:0;background:inherit;animation:f9kb 9s ease-in-out infinite alternate;will-change:transform}
 .row .im::after,.card .ph::after,.pc .pim::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;pointer-events:none;
  background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 100%);
  opacity:0;transform:translateX(-130%) skewX(-20deg);animation:f9sh 6s ease-in-out infinite;will-change:transform,opacity}
 .row:nth-child(4n+2) .im::after,.pgrid .pc:nth-child(4n+2) .pim::after,.side .card:nth-of-type(2) .ph::after{animation-delay:1.5s}
 .row:nth-child(4n+3) .im::after,.pgrid .pc:nth-child(4n+3) .pim::after,.side .card:nth-of-type(3) .ph::after{animation-delay:3s}
 .row:nth-child(4n) .im::after,.pgrid .pc:nth-child(4n) .pim::after{animation-delay:4.5s}
 .row:nth-child(3n+2) .im img,.pgrid .pc:nth-child(3n+2) .pim img,.side .card:nth-of-type(2) .ph::before{animation-delay:-3s}
 .row:nth-child(3n) .im img,.pgrid .pc:nth-child(3n) .pim img,.side .card:nth-of-type(3) .ph::before{animation-delay:-6s}
}
.oc .lede{max-width:none}
