/* Explore the real circus: a printed program and a living stage. */
.show .section-intro{margin-bottom:20px}
.show-invitation{font-size:18px;max-width:40ch;margin-bottom:34px}
.stage-explorer{position:relative;isolation:isolate;overflow:visible;border-block:1px solid #f4c54266;padding-block:26px 36px}
.act-spotlight{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.act-spotlight i{position:absolute;top:-12%;left:25%;width:50%;height:150%;transform-origin:50% 0;clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);background:linear-gradient(#fff4de24,#fff4de06 75%,transparent);animation:actSweep 12s ease-in-out infinite alternate}
@keyframes actSweep{from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}
.stage-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:32px}
.stage-tabs button{min-width:0;min-height:70px;background:transparent;border:1px solid #fff4de66;color:var(--ivory);padding:12px 18px;transition:background 160ms ease,border-color 160ms ease,color 160ms ease}
.stage-tabs button>span{font-family:Anton,sans-serif;font-size:clamp(24px,2.5vw,36px);line-height:1.2;text-transform:uppercase;letter-spacing:-.015em}
.stage-tabs button:hover{border-color:var(--gold)}
.stage-tabs button[aria-selected="true"]{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.stage-tabs button:focus-visible{outline:3px solid var(--ivory);outline-offset:4px}
.stage-panel{position:relative;display:grid;grid-template-columns:1fr .88fr;align-items:center;gap:8%;min-height:640px}
.stage-panel+.stage-panel{margin-top:42px}
.js .stage-panel{margin-top:0}
.stage-visual{width:100%;max-width:510px;justify-self:center;text-align:center}
.stage-frame{height:550px;display:grid;place-items:center;padding:10px;border:1px solid #f4c54288;background:#001522}
.stage-frame img{grid-area:1/1;width:auto;height:auto;max-width:100%;max-height:528px;object-fit:contain}
.stage-media-status{grid-area:1/1;font-size:16px;padding:20px;max-width:28ch;background:var(--ink)}
.stage-visual figcaption{font-size:15px;line-height:1.6;margin-top:17px}
.stage-photo-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:.25em}
.stage-copy h3{font-family:Anton,sans-serif;font-size:clamp(48px,5vw,80px);line-height:1.1;max-width:11ch;text-transform:uppercase}
.stage-copy>p{font-size:19px;line-height:1.7;max-width:31ch;margin-block:24px 28px}
.stage-copy .button{font-size:16px}
.stage-panel.is-selected .stage-visual{animation:actEnter 280ms cubic-bezier(.16,1,.3,1) both}
@keyframes actEnter{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.stage-program{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;margin-top:42px;align-items:start}
.stage-program h3{font-family:Anton,sans-serif;font-size:clamp(32px,3vw,46px);text-transform:uppercase;line-height:1.15}
.stage-program p{font-size:16px;max-width:34ch;margin-top:12px}
.stage-program .act-list{margin:0 0 12px;font-size:16px;line-height:1.9;color:var(--ivory)}
.stage-program .program-note{font-size:14px;line-height:1.6;margin-top:14px}
.ticket-stub.ticket-art{display:block;min-height:0;background:transparent;overflow:visible;padding:0}
.ticket-art>a{display:block;text-align:center;border:1px solid #fff4de66;padding:6px;color:var(--ivory)}
.ticket-stub.ticket-art img{position:static;inset:auto;max-width:100%;width:auto;height:auto;max-height:300px;object-fit:contain;margin-inline:auto}
.ticket-art>a>span{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:14px;line-height:1.4;min-height:44px}
.ticket-art>a:hover,.ticket-art>a:focus-visible{border-color:var(--gold)}
.ticket-stub.ticket-art p{position:static;inset:auto;padding:15px 0 0;background:none;font-size:13px;line-height:1.6;text-align:left;color:var(--ivory)}
.desktop-nav a[aria-current="location"]{color:var(--gold)}
.desktop-nav a[aria-current="location"]::after{transform:scaleX(1)}
.menu-dialog nav a[aria-current="location"]{color:var(--gold)}
@media(max-width:900px){
 .stage-panel{gap:6%;min-height:570px}.stage-frame{height:470px}.stage-frame img{max-height:448px}
 .stage-copy h3{font-size:clamp(38px,5.5vw,55px)}.stage-copy>p{font-size:17px;margin-block:20px 24px}
 .stage-program{gap:6%}.stage-tabs{gap:12px}
}
@media(max-width:600px){
 .show .section-intro{margin-bottom:15px}.show-invitation{font-size:16px;line-height:1.65;max-width:29ch;margin-bottom:23px}
 .stage-explorer{padding-block:20px 28px}.stage-tabs{position:sticky;top:84px;z-index:5;background:var(--night);padding-block:8px;gap:8px;margin-bottom:24px}
 .stage-tabs button{min-height:56px;padding:10px 6px}.stage-tabs button>span{font-size:clamp(17px,4.6vw,23px)}
 .stage-panel{grid-template-columns:1fr;gap:28px;min-height:0}
 .stage-frame{height:350px;padding:9px}.stage-frame img{max-height:330px}
 .stage-visual{max-width:none}.stage-visual figcaption{font-size:14px;margin-top:13px}
 .stage-copy h3{font-size:clamp(37px,10vw,55px);max-width:14ch;min-height:2.2em}.stage-copy>p{font-size:16px;line-height:1.7;max-width:33ch;min-height:6.8em;margin-block:17px 23px}
 .stage-copy .button{width:100%;justify-content:space-between}
 .stage-program{grid-template-columns:1fr;gap:20px;margin-top:30px}.stage-program h3{font-size:33px}.stage-program p{font-size:16px}
 .stage-program .act-list{font-size:15px;margin-bottom:12px}
 .ticket-stub.ticket-art{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:18px;padding:16px 24px;background:var(--ink)}
 .ticket-art>a{padding:4px}.ticket-stub.ticket-art img{width:100%;max-height:none}
 .ticket-art>a>span{font-size:12px;padding:5px 2px;gap:5px;min-height:40px}.ticket-stub.ticket-art p{padding:0;font-size:14px}
}
html[data-motion="off"] .act-spotlight{display:none}
html[data-motion="off"] .stage-panel.is-selected .stage-visual{animation:none}
@media(prefers-reduced-motion:reduce){.act-spotlight{display:none}.stage-panel.is-selected .stage-visual{animation:none!important}}
@media print{.act-spotlight,.stage-tabs{display:none!important}.stage-panel[hidden]{display:grid!important}.stage-panel{break-inside:avoid}.stage-frame{height:350px}.stage-frame img{max-height:330px}}
