/* Upcoming — empty schedule until dates are confirmed. */
.upcoming-page .shell{max-width:1240px;padding:0 40px}
.upcoming-page header{min-height:144px;gap:24px}
.upcoming-page .interior .wordmark{font-size:54px;line-height:1;letter-spacing:-.02em;font-weight:900}
.upcoming-page .brand-caption{font-size:10px;letter-spacing:.18em;margin-top:10px}
.upcoming-page nav{gap:26px}.upcoming-page nav a{font-size:12px}
.upcoming-page .glass{border-color:#ffffff60;border-radius:6px;background:linear-gradient(125deg,#ffffff09,#ffffff01);box-shadow:inset 0 1px 1px #ffffff18}
.upcoming-hero{position:relative;min-height:390px;isolation:isolate;overflow:hidden}
.upcoming-copy{position:relative;z-index:2;padding:40px;max-width:600px}
.upcoming-copy .eyebrow{font-size:12px;letter-spacing:.13em;margin-bottom:22px}
.upcoming-copy h2{font-size:68px;line-height:1.02;letter-spacing:-.035em}
.upcoming-copy>p:not(.eyebrow){font-size:15px;color:#ccc;margin:18px 0 28px}
.upcoming-copy .button{font-size:11px;letter-spacing:.06em;gap:22px}
.show-art{position:absolute;inset:0 0 0 42%;z-index:0;overflow:hidden;background:radial-gradient(ellipse at 60% 55%,#5558,#15151555 45%,transparent 75%)}
.show-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c0d0d 0,transparent 30%),linear-gradient(0deg,#080909 0,transparent 55%)}
.show-ring{position:absolute;left:25%;top:10%;width:330px;height:330px;border:2px solid #aaa6;border-radius:50%;box-shadow:0 0 40px #ffffff12,inset 0 0 35px #ffffff12;transform:perspective(500px) rotateY(-25deg)}
.show-ring.inner{width:265px;height:265px;top:18%;left:30%;border-color:#ffffff20}
.show-beam{position:absolute;left:15%;top:-30%;height:160%;width:100px;background:linear-gradient(90deg,transparent,#ddd3,transparent);transform:rotate(32deg);filter:blur(6px)}
.show-beam.second{left:70%;transform:rotate(-25deg);opacity:.6}
.show-stage{position:absolute;bottom:15%;left:12%;right:-5%;height:55px;background:linear-gradient(#9997 0 2%,#171717 4% 30%,#030303);transform:skewY(-6deg);box-shadow:0 10px 35px #000}
.show-art>span{position:absolute;left:38%;top:48%;color:#eee;font-size:12px;letter-spacing:.25em;transform:rotate(-5deg);white-space:nowrap}
.upcoming-stamp{position:absolute;right:28px;bottom:22px;color:#aaa;font-size:9px;letter-spacing:.15em;border-left:24px solid var(--red);padding-left:12px;z-index:2}
.upcoming-page .section{margin-top:32px}
.upcoming-schedule .section-head{padding:0 4px;margin-bottom:16px;align-items:center}
.upcoming-schedule h2{font-size:32px;letter-spacing:.02em}
.schedule-status{display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:.12em;color:#bbb}
.schedule-status i{width:5px;height:5px;background:var(--red);border-radius:50%}
.upcoming-page .schedule-head{grid-template-columns:1fr 2fr 1fr;padding:17px 28px;font-size:10px;color:#bbb;background:#ffffff03}
.upcoming-page .schedule-empty{padding:42px 24px 38px;display:flex;flex-direction:column;align-items:center}
.calendar-outline{border:1px solid #777;border-radius:4px;width:49px;height:48px;padding:18px 9px 8px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;position:relative;margin-bottom:20px}
.calendar-outline:before{content:'';position:absolute;top:11px;left:0;right:0;border-top:1px solid #777}
.calendar-outline i{width:4px;height:4px;background:#999}.calendar-outline i:last-child{background:var(--red)}
.upcoming-page .schedule-empty h3{font-size:28px;letter-spacing:.025em}
.upcoming-page .schedule-empty p{font-size:13px;color:#bbb;line-height:1.7;margin:10px 0 18px}
.schedule-note{font-size:9px;letter-spacing:.12em;color:#777}
.upcoming-booking{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px 38px}
.upcoming-booking .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:13px}
.upcoming-booking h2{font-size:40px;line-height:1.08;letter-spacing:-.02em}
.upcoming-booking p:not(.eyebrow){font-size:13px;color:#bbb;margin-top:13px}
.booking-action{display:flex;flex-direction:column;align-items:center;gap:13px}
.booking-action .button{font-size:12px;min-height:48px;gap:22px}
.booking-action>span{font-size:9px;letter-spacing:.09em;color:#999}
.upcoming-explore{display:flex;gap:32px;align-items:center;justify-content:center;margin:26px 0 30px;padding:18px 0}
.upcoming-explore>span{font-size:10px;letter-spacing:.12em;color:#999}.upcoming-explore a{font-size:11px;letter-spacing:.045em}
.upcoming-page footer{margin-top:0;padding-top:22px}
@media(max-width:1050px){.upcoming-page .interior .wordmark{font-size:44px}.upcoming-page .brand-caption{font-size:9px;letter-spacing:.1em}.upcoming-page nav{gap:16px}.upcoming-copy h2{font-size:60px}.show-art{left:35%}.upcoming-booking{padding:28px}.booking-action .button{font-size:10px}}
@media(max-width:800px) and (min-width:681px){.upcoming-page .shell{padding:0 24px}.upcoming-page nav{gap:10px}.upcoming-page nav a{font-size:10px}.upcoming-page .interior .wordmark{font-size:37px}.upcoming-copy{padding:32px}.upcoming-booking h2{font-size:34px}.booking-action .button{padding:12px}.upcoming-explore{gap:22px}}
@media(max-width:680px){.upcoming-page .shell{padding:0 16px}.upcoming-page header{min-height:122px;padding:24px 4px;gap:10px}.upcoming-page .interior .wordmark{font-size:38px}.upcoming-page .brand-caption{font-size:8px;letter-spacing:.1em;margin-top:8px}.upcoming-hero{min-height:410px}.upcoming-copy{padding:28px 24px;max-width:100%}.upcoming-copy h2{font-size:51px}.upcoming-copy .eyebrow{font-size:10px;margin-bottom:19px}.upcoming-copy>p:not(.eyebrow){font-size:12px;max-width:220px;line-height:1.7;margin:16px 0 24px}.upcoming-copy .button{font-size:9px;padding:11px 14px;gap:16px}.show-art{left:0;opacity:.45}.show-ring{left:45%;top:22%}.show-ring.inner{left:55%;top:30%}.show-art>span{display:none}.show-art:after{background:linear-gradient(90deg,#080909e8,transparent 95%),linear-gradient(0deg,#080909,transparent 40%)}.upcoming-stamp{right:auto;left:24px;bottom:21px;font-size:8px;letter-spacing:.07em;border-left-width:16px;padding-left:8px}.upcoming-page .section{margin-top:26px}.upcoming-schedule .section-head{flex-direction:column;align-items:flex-start;gap:10px;padding:0 4px}.upcoming-schedule h2{font-size:28px}.schedule-status{font-size:8px}.upcoming-page .schedule-head{padding:14px 18px;font-size:8px;letter-spacing:.04em;grid-template-columns:1fr 1.5fr 1fr}.upcoming-page .schedule-empty{padding:30px 20px}.upcoming-page .schedule-empty h3{font-size:23px}.upcoming-page .schedule-empty p{font-size:12px;margin:12px 0 18px}.schedule-note{font-size:8px;letter-spacing:.06em}.upcoming-booking{display:flex;flex-direction:column;align-items:flex-start;padding:26px 24px;gap:24px}.upcoming-booking h2{font-size:35px}.upcoming-booking p:not(.eyebrow){font-size:12px}.booking-action{width:100%;align-items:flex-start;gap:11px}.booking-action .button{width:100%;font-size:10px;padding:12px;gap:10px}.booking-action>span{font-size:8px}.upcoming-explore{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;margin:18px 0;padding:16px 4px}.upcoming-explore>span{grid-column:1/-1;text-align:center;font-size:9px}.upcoming-explore a{text-align:center;font-size:9px;letter-spacing:0}.upcoming-page .socials{gap:20px}}
@media(prefers-reduced-transparency:reduce){.upcoming-page .glass{background:#151619;backdrop-filter:none}}
