@font-face{font-family:"Noto Serif SC";src:url("public/assets/noto-serif-sc.ttf") format("truetype");font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:"Noto Serif SC";src:url("public/assets/noto-serif-sc-bold.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap}
:root{color-scheme:dark;--ink:#101112;--paper:#eeeade;--red:#a51d23;--line:#383937;--unit:min(1vw,14.4px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--unit)*6)}body{margin:0;background:var(--ink);color:var(--paper);font-family:Georgia,"Noto Serif SC",serif;-webkit-font-smoothing:antialiased}body>header,body>main,body>footer{max-width:1440px;margin-inline:auto}a{color:inherit;text-decoration:none}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--paper);outline-offset:5px}h1,h2,p{margin:0}h2{font-weight:400;font-size:calc(var(--unit)*2.9);line-height:1.4;letter-spacing:.06em}.button{display:inline-flex;align-items:center;justify-content:center;gap:1em;background:var(--red);border:1px solid transparent;min-height:38px;transition:background .18s,color .18s}.button:hover{background:#c02b31}.skip-link{position:fixed;left:20px;top:-80px;background:var(--paper);color:var(--ink);padding:14px;z-index:20}.skip-link:focus{top:12px}.header{height:calc(var(--unit)*5.8);padding:0 calc(var(--unit)*4.6);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#101112}.wordmark{font-size:calc(var(--unit)*1.8);letter-spacing:.035em;white-space:nowrap}.header nav{display:flex;align-items:center;gap:calc(var(--unit)*4.4);font-size:calc(var(--unit)*1.45)}.header nav>a:not(.button):hover{color:#d9988e}.header-book{width:calc(var(--unit)*12.2);min-height:0;height:calc(var(--unit)*3.7);letter-spacing:.1em}.menu-toggle{display:none}.hero{height:calc(var(--unit)*57.7);position:relative;overflow:hidden}.hero-image{position:absolute;left:23%;width:82%;height:100%;mask-image:linear-gradient(90deg,transparent,black 24%);object-fit:cover;object-position:50% 44%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.9),rgba(7,9,10,.36) 34%,transparent 61%),linear-gradient(0deg,rgba(7,9,10,.35),transparent 24%);pointer-events:none}.hero-content{position:absolute;z-index:1;top:calc(var(--unit)*4.7);left:calc(var(--unit)*4.6)}h1{font-size:calc(var(--unit)*12);font-weight:900;line-height:1.13;letter-spacing:-.065em;transform:scaleX(.74);transform-origin:left center}.english-title{font-size:calc(var(--unit)*3.9);line-height:1.35;letter-spacing:.015em}.premiere{font-size:calc(var(--unit)*2.8);letter-spacing:.3em;display:flex;align-items:center;gap:calc(var(--unit)*1.7);margin-top:calc(var(--unit)*.5)}.premiere:before{content:"";height:1px;width:calc(var(--unit)*7.5);background:var(--paper)}.hero-date{font-size:calc(var(--unit)*2.75);margin-top:calc(var(--unit)*1.8)}.hero-venue{font-size:calc(var(--unit)*2.2)}.hero-book{margin-top:calc(var(--unit)*2.1);padding:calc(var(--unit)*.9) calc(var(--unit)*3.1);font-size:calc(var(--unit)*2.05);letter-spacing:.15em}.language{font-size:calc(var(--unit)*1.3);letter-spacing:.06em;margin-top:calc(var(--unit)*1.8)}.hero-note{position:absolute;z-index:1;bottom:calc(var(--unit)*2.7);font-size:calc(var(--unit)*1.3);line-height:1.65;letter-spacing:.1em}.note-left{left:4.6%}.note-left:after{content:"";position:absolute;left:calc(var(--unit)*13.6);bottom:calc(var(--unit)*1.1);width:calc(var(--unit)*5.6);height:1px;background:var(--paper)}.note-right{right:4.6%;text-align:right}.note-right:before{content:"";display:block;height:calc(var(--unit)*3.5);width:1px;background:var(--paper);margin:0 0 calc(var(--unit)*.7) auto}.story{height:calc(var(--unit)*26.4);position:relative;border-block:1px solid var(--line);overflow:hidden}.story>img{position:absolute;right:24%;top:0;width:16%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(90deg,transparent,black 24%,black 76%,transparent)}.story:after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,var(--ink) 25%,rgba(16,17,18,.5) 54%,transparent 80%)}.story-content{position:relative;z-index:1;padding:calc(var(--unit)*3.3) calc(var(--unit)*4.6)}.eyebrow{font-size:calc(var(--unit)*1.35);letter-spacing:.06em}.eyebrow span,.section-heading h2 span{display:inline-block;height:1px;width:calc(var(--unit)*5.6);background:var(--paper);vertical-align:middle;margin-left:calc(var(--unit)*1.2)}.story h2{font-size:calc(var(--unit)*3.9);margin-top:calc(var(--unit)*1.2)}.story-lead{font-size:calc(var(--unit)*2);margin-top:calc(var(--unit)*.7);letter-spacing:.045em}.story-copy{font-size:calc(var(--unit)*1.45);line-height:1.6;letter-spacing:.055em;margin-top:calc(var(--unit)*2.4)}.story-aside{position:absolute;z-index:1;right:4.6%;bottom:calc(var(--unit)*2.5);text-align:right;font-size:calc(var(--unit)*1.3);line-height:1.7;letter-spacing:.06em}.ensemble{height:calc(var(--unit)*21.75);display:grid;grid-template-columns:23% 62.5% 14.5%;grid-template-rows:minmax(0,1fr);border-bottom:1px solid var(--line);overflow:hidden}.ensemble-copy{padding:calc(var(--unit)*2.5) 0 0 calc(var(--unit)*4.6)}.ensemble-copy h2{font-size:calc(var(--unit)*2.8);white-space:nowrap}.ensemble-copy .eyebrow{margin-top:calc(var(--unit)*.5)}.rule{display:block;width:calc(var(--unit)*4);height:1px;background:var(--paper);margin:calc(var(--unit)*2.1) 0}.ensemble-copy>p:last-child,.ensemble-aside{font-size:calc(var(--unit)*1.3);line-height:1.6;letter-spacing:.055em}.ensemble>img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 39%}.ensemble-aside{align-self:end;margin:0 0 calc(var(--unit)*2.9) calc(var(--unit)*2.4);padding-top:calc(var(--unit)*2.1);border-left:1px solid var(--paper);padding-left:calc(var(--unit)*1.3)}.stage{height:calc(var(--unit)*37.9);position:relative;overflow:hidden}.stage>img{width:100%;height:100%;object-fit:cover}.stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent 38%,transparent 75%,rgba(0,0,0,.36))}.stage-copy{position:absolute;z-index:1;top:calc(var(--unit)*5.3);left:4.6%}.stage-copy p,.stage-aside{font-size:calc(var(--unit)*1.3);letter-spacing:.06em;line-height:1.7}.stage-copy .rule{margin:calc(var(--unit)*1.7) 0}.stage-aside{position:absolute;right:4.6%;top:calc(var(--unit)*8.6);z-index:1;border-left:1px solid var(--paper);padding-left:calc(var(--unit)*1.6)}.tickets{height:calc(var(--unit)*33.1);padding:calc(var(--unit)*3.2) calc(var(--unit)*4.6) 0;border-block:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--unit)*1.6)}.section-heading p{font-size:calc(var(--unit)*1.3);letter-spacing:.04em}.section-heading h2 span{margin-left:calc(var(--unit)*2.4)}.show-list{border-left:1px solid #292b29}.show-row{display:grid;grid-template-columns:20% 14% 1fr calc(var(--unit)*12.8);align-items:center;height:calc(var(--unit)*5.2);border-top:1px solid #50504a;padding:0 calc(var(--unit)*1.9);font-size:calc(var(--unit)*1.85);letter-spacing:.015em}.show-row:last-child{border-bottom:1px solid #383937}.show-row .button{font-family:"Noto Serif SC",serif;min-height:0;height:calc(var(--unit)*3.7);font-size:calc(var(--unit)*1.6)}.booking-note{font-size:calc(var(--unit)*1.05);text-align:right;margin-top:calc(var(--unit)*.7);color:#c5c2b9}.venue{height:calc(var(--unit)*37.65);padding:calc(var(--unit)*1.7) calc(var(--unit)*4.6) calc(var(--unit)*3.1);display:grid;grid-template-columns:55.5% 1fr;gap:calc(var(--unit)*5.1)}.venue>img{height:100%;width:100%;object-fit:cover}.venue-copy{align-self:center}.venue-name{font-size:calc(var(--unit)*3.6);margin-top:calc(var(--unit)*1.3);white-space:nowrap;letter-spacing:-.025em}.venue address{font-style:normal;font-size:calc(var(--unit)*1.85);margin-top:calc(var(--unit)*.55);white-space:nowrap}.outline{background:transparent;border-color:var(--paper);font-size:calc(var(--unit)*1.45);padding:calc(var(--unit)*.9) calc(var(--unit)*2.4);margin-top:calc(var(--unit)*3.1)}.outline:hover{background:var(--paper);color:var(--ink)}.venue-note{font-size:calc(var(--unit)*1.3);margin-top:calc(var(--unit)*3.8);letter-spacing:.06em}footer{height:calc(var(--unit)*9);padding:0 calc(var(--unit)*4.6);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}footer p{font-size:calc(var(--unit)*1.55);letter-spacing:.04em}
@media(min-width:1441px){body{background:#0b0c0d}}
@media(max-width:600px){:root{--unit:1vw}html{scroll-padding-top:16px}.header{height:64px;padding:0 22px;position:relative;z-index:5}.wordmark{font-size:15px}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:7px;align-items:center;background:none;border:1px solid #5c5b54;color:var(--paper)}.menu-toggle span{width:20px;height:1px;background:currentColor}.header nav{display:none;position:absolute;left:0;right:0;top:64px;padding:24px;background:var(--ink);border-bottom:1px solid var(--line);font-size:18px;gap:22px}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.header-book{width:100%;height:44px}.hero{height:650px;max-height:calc(100svh - 64px);min-height:560px}.hero-image{left:0;width:100%;object-position:54% center;mask-image:none}.hero:after{background:linear-gradient(90deg,rgba(7,9,10,.88),rgba(7,9,10,.35) 64%,rgba(7,9,10,.08)),linear-gradient(0deg,rgba(7,9,10,.5),transparent 40%)}.hero-content{top:42px;left:22px}h1{font-size:75px}.english-title{font-size:25px}.premiere{font-size:20px;margin-top:8px;gap:14px}.premiere:before{width:44px}.hero-date{font-size:23px;margin-top:28px}.hero-venue{font-size:19px}.hero-book{font-size:18px;margin-top:24px;padding:11px 24px}.language{font-size:12px;margin-top:18px}.hero-note{font-size:11px;bottom:23px}.note-left{left:22px}.note-left:after{display:none}.note-right{right:22px;max-width:48%}.note-right:before{height:28px;margin-bottom:8px}.story{height:335px}.story>img{width:40%;right:8%;object-fit:contain;object-position:70% center}.story:after{background:linear-gradient(90deg,rgba(16,17,18,.96),rgba(16,17,18,.65) 60%,rgba(16,17,18,.15))}.story-content{padding:28px 22px}.eyebrow{font-size:11px}.eyebrow span{width:36px;margin-left:10px}.story h2{font-size:25px;margin-top:17px;max-width:320px;line-height:1.55}.story-lead{font-size:14px;margin-top:10px;line-height:1.8}.story-copy{font-size:12px;line-height:1.9;margin-top:21px}.story-aside{font-size:10px;right:22px;bottom:17px}.ensemble{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;position:relative}.ensemble-copy{padding:28px 22px}.ensemble-copy h2{font-size:23px}.ensemble-copy .eyebrow{margin-top:7px}.rule{width:33px;margin:17px 0}.ensemble-copy>p:last-child{font-size:12px;line-height:1.8}.ensemble>img{grid-row:2;grid-column:1/-1;height:220px;object-position:center 40%}.ensemble-aside{font-size:12px;margin:0 22px 30px auto;padding:16px 0 0 12px}.stage{height:285px}.stage>img{object-position:50% center}.stage-copy{top:25px;left:22px}h2{font-size:24px}.stage-copy p,.stage-aside{font-size:11px}.stage-copy .rule{margin:14px 0}.stage-aside{top:35px;right:22px;padding-left:12px}.tickets{height:auto;padding:29px 22px 24px}.section-heading{display:block;margin-bottom:21px}.section-heading h2 span{width:35px;margin-left:12px}.section-heading p{font-size:11px;margin-top:10px}.show-row{height:59px;padding:0 7px;grid-template-columns:36% 12% 1fr 57px;font-size:12px;gap:4px}.show-row .button{font-size:13px;height:37px}.booking-note{font-size:10px;margin-top:12px}.venue{height:auto;grid-template-columns:1fr;padding:22px;gap:27px}.venue>img{height:240px;object-position:center}.venue-copy{padding-bottom:9px}.venue-name{font-size:28px;margin-top:10px;white-space:normal}.venue address{font-size:13px;line-height:1.6;margin-top:7px;white-space:normal}.outline{font-size:14px;padding:10px 22px;margin-top:23px}.venue-note{font-size:12px;margin-top:24px}footer{height:auto;min-height:100px;padding:24px 22px;gap:16px;flex-wrap:wrap}footer p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.tickets{height:auto;padding-bottom:28px}.ticket-monitor,.booking-simulation{font-family:system-ui,sans-serif;font-size:13px;line-height:1.7;background:#191a1b;border:1px solid var(--line);padding:16px;margin:18px 0}.ticket-monitor #ticket-checked{color:#c5c2b9;font-size:12px;margin-top:5px}.booking-simulation{margin-bottom:0}.simulation-fields{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:12px 0}.simulation-fields label{display:grid;gap:4px}.simulation-fields select,.simulation-fields input{font:inherit;color:var(--paper);background:var(--ink);border:1px solid #777;padding:9px;min-height:44px;max-width:100%}.simulation-fields input{width:88px}.simulation-fields button{font:inherit;color:var(--paper);padding:10px 18px;min-height:44px;cursor:pointer}.simulation-fields select:focus-visible,.simulation-fields input:focus-visible{outline:2px solid var(--paper);outline-offset:3px}#simulation-result{color:#c5c2b9}@media(max-width:600px){.ticket-monitor,.booking-simulation{padding:12px}.simulation-fields{gap:10px}.simulation-fields label:first-child{width:100%}}

.ensemble{height:auto;min-height:calc(var(--unit)*32)}.ensemble-copy{align-self:center;padding-bottom:calc(var(--unit)*2.5)}.ensemble-portrait{margin:0;min-width:0}.ensemble-portrait img{display:block;width:100%;height:auto}.ensemble-portrait figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 0 20px;font-size:12px;letter-spacing:.08em;color:#c5c2b9}.ensemble-portrait figcaption span{font-size:10px;align-self:center}@media(max-width:600px){.ensemble-portrait{grid-row:2;grid-column:1/-1}.ensemble-portrait figcaption{padding:14px 22px 20px}.ensemble-copy{padding-bottom:28px}}

.language-switch{display:flex;gap:12px;align-items:center;flex-shrink:0;font:14px/1.4 system-ui}.language-switch a{color:inherit;text-decoration:none;padding:8px 2px;opacity:.6}.language-switch a[aria-current]{opacity:1;border-bottom:1px solid currentColor}.language-switch a:focus-visible{outline:2px solid #ad72d5;outline-offset:3px}body[data-submitting="true"] .language-switch{opacity:.5;pointer-events:none}

/* Cast portraits and character notes */
.cast-feature{grid-column:1/-1;padding:72px clamp(24px,4.6vw,68px) 82px;border-top:1px solid var(--line);background:radial-gradient(circle at 78% 8%,#292024 0,transparent 38%),#101112}
.cast-feature h3,.cast-feature h4{font-weight:400;margin:0}.cast-feature-heading{display:grid;grid-template-columns:1fr 2fr;gap:8px 36px;align-items:end;margin-bottom:34px}.cast-feature-heading .eyebrow{grid-column:1/-1;color:#d88888;letter-spacing:.2em}.cast-feature-heading h3{font-size:clamp(29px,3.3vw,47px);line-height:1.35;letter-spacing:.06em}.cast-feature-heading>p:last-child{font-size:15px;color:#b9b6af;line-height:1.7;text-align:right;padding-bottom:6px}
.cast-group-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.cast-group-grid figure,.cast-portraits figure{margin:0;position:relative;overflow:hidden;background:#202020}.cast-group-grid img{display:block;width:100%;height:clamp(260px,34vw,440px);object-fit:cover;object-position:center 42%;filter:saturate(.9)}.cast-group-grid figure:nth-child(2) img{object-position:center 38%}.cast-group-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:38px 23px 19px;background:linear-gradient(transparent,rgba(0,0,0,.74));font-size:15px;letter-spacing:.13em}
.cast-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:70px 0 24px;border-bottom:1px solid #5b5050}.cast-section-heading .eyebrow{order:2;color:#d88888;letter-spacing:.15em}.cast-section-heading h3{font-size:clamp(28px,3vw,41px);letter-spacing:.08em}
.cast-portraits{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding-top:18px}.cast-portraits figure{aspect-ratio:2/3}.cast-portraits img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s ease,filter .35s ease;filter:saturate(.82)}.cast-portraits figure:hover img{transform:scale(1.045);filter:saturate(1)}.cast-portraits figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:end;gap:5px;padding:42px 10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.82));font-size:clamp(11px,1.05vw,15px);white-space:nowrap}.cast-portraits figcaption span{font:10px/1 system-ui,sans-serif;color:#ded1ca;letter-spacing:.12em}
.cast-roles-heading{padding-top:76px}.cast-roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.cast-roles article{padding:31px 24px 36px 0;border-bottom:1px solid var(--line);min-height:200px}.cast-roles article:not(:nth-child(4n+1)){padding-left:23px;border-left:1px solid var(--line)}.cast-roles article>span{font:11px/1.4 system-ui,sans-serif;color:#cf797d;letter-spacing:.18em}.cast-roles h4{font-size:25px;letter-spacing:.12em;margin:15px 0 10px}.cast-roles p{font-size:13px;line-height:1.9;color:#bdbbb4;letter-spacing:.02em}
@media(max-width:900px){.cast-feature{padding:55px 28px 65px}.cast-portraits{grid-template-columns:repeat(4,minmax(0,1fr))}.cast-roles{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-roles article:nth-child(odd){padding-left:0;border-left:0}.cast-roles article:nth-child(even){padding-left:23px;border-left:1px solid var(--line)}}
@media(max-width:600px){.cast-feature{padding:40px 22px 55px}.cast-feature-heading{display:block;margin-bottom:23px}.cast-feature-heading h3{font-size:26px;margin:12px 0 8px}.cast-feature-heading>p:last-child{text-align:left;font-size:13px}.cast-group-grid{grid-template-columns:1fr;gap:10px}.cast-group-grid img{height:240px}.cast-group-grid figure:nth-child(2) img{height:210px}.cast-group-grid figcaption{font-size:12px;padding:30px 14px 13px}.cast-section-heading{padding:48px 0 16px;display:block}.cast-section-heading h3{font-size:24px;margin-top:9px}.cast-section-heading .eyebrow{font-size:10px}.cast-portraits{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:14px 0 8px;scrollbar-width:thin}.cast-portraits figure{flex:0 0 41%;scroll-snap-align:start}.cast-portraits figcaption{font-size:12px}.cast-roles{grid-template-columns:1fr}.cast-roles article,.cast-roles article:nth-child(even){border-left:0;padding:23px 0 25px;min-height:0}.cast-roles h4{font-size:21px;margin:10px 0 6px}.cast-roles p{font-size:12px}}
.cast-feature-heading{grid-template-columns:1.5fr 1fr}
.cast-group-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.cast-group-grid figure{grid-column:span 3}
.cast-group-grid figure.cast-concept{grid-column:span 2}
.cast-group-grid figure.cast-concept img{height:clamp(190px,19vw,255px)}
.cast-group-grid figcaption{display:flex;align-items:end;justify-content:space-between;gap:12px}
.cast-group-grid figcaption span{font:10px/1.4 system-ui,sans-serif;color:#e8b0a6;letter-spacing:.08em;white-space:nowrap}
.cast-portraits{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:22px}
.cast-card{min-width:0;background:#19191a;border:1px solid #393232}
.cast-card>img{display:block;width:100%;height:auto;aspect-ratio:2/2.35;object-fit:cover;object-position:center top;filter:saturate(.84)}
.cast-card-copy{padding:18px 18px 22px}
.cast-card-copy>span{font:10px/1.4 system-ui,sans-serif;color:#d68b8b;letter-spacing:.16em}
.cast-card-copy h4{font-size:clamp(23px,2vw,30px);font-weight:400;line-height:1.3;letter-spacing:.11em;margin:8px 0 5px}
.cast-card-copy p{font-size:13px;line-height:1.75;color:#c5c0ba;margin:0}
.cast-card-copy .cast-card-role{font-size:12px;color:#e6b4a8;letter-spacing:.09em;margin-bottom:11px}
@media(max-width:900px){.cast-group-grid figure.cast-concept{grid-column:span 2}.cast-portraits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cast-group-grid{grid-template-columns:1fr}.cast-group-grid figure,.cast-group-grid figure.cast-concept{grid-column:1}.cast-group-grid figure.cast-concept img{height:210px}.cast-group-grid figcaption{font-size:12px;align-items:end}.cast-group-grid figcaption span{font-size:9px}.cast-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:10px}.cast-card{scroll-snap-align:none}.cast-card>img{aspect-ratio:2/2.8}.cast-card-copy{padding:13px 11px 17px}.cast-card-copy h4{font-size:21px}.cast-card-copy p{font-size:11px;line-height:1.65}.cast-card-copy .cast-card-role{font-size:10px;margin-bottom:8px}}
@media(max-width:600px){.cast-card-copy p{font-size:12px}.cast-card-copy .cast-card-role{font-size:11px}}
/* Source-backed programme content. */
.story{height:auto;min-height:calc(var(--unit)*30)}
.story-content{padding-bottom:calc(var(--unit)*4)}
.story-copy{max-width:760px;line-height:1.9}
.story-aside{display:none}
.cast-card-copy .cast-card-actor{font-size:12px;color:#eee3d9;margin-bottom:12px}
.sponsors{padding:64px clamp(22px,4.6vw,68px) 72px;background:#0e0e0e;border-top:1px solid var(--line)}
.sponsors h2{margin:0 0 34px;font-size:clamp(26px,3vw,40px);font-weight:400}
.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#292929;border:1px solid #292929}
.sponsor-logo{display:flex;align-items:center;justify-content:center;min-width:0;background:#080808;padding:24px}
.sponsor-logo img{display:block;width:100%;height:120px;object-fit:contain}
@media(max-width:600px){.sponsors{padding-top:40px;padding-bottom:44px}.sponsors h2{margin-bottom:24px}.sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-logo{padding:18px 12px}.sponsor-logo img{height:88px}}

/* Performance stills: a stage archive arranged like irregular contact sheets. */
.stills{position:relative;padding:clamp(62px,7vw,102px) clamp(22px,4.6vw,68px) clamp(72px,8vw,116px);overflow:hidden;border-top:1px solid var(--line);background:#090a0b}
.stills:after{content:"ARCHIVE";position:absolute;right:-.04em;top:-.18em;color:rgba(238,234,222,.025);font:900 clamp(120px,18vw,250px)/1 system-ui,sans-serif;letter-spacing:-.07em;pointer-events:none}
.stills-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 32px;align-items:end;margin-bottom:clamp(32px,4vw,58px)}
.stills-heading .eyebrow{grid-column:1/-1;color:#d88888;letter-spacing:.2em}
.stills-heading h2{font-size:clamp(37px,5vw,70px);line-height:1.08;letter-spacing:.08em}
.stills-heading>p:last-child{padding-bottom:7px;color:#aaa69e;font-size:14px;letter-spacing:.09em}
.stills-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.stills-track figure{position:relative;grid-column:span 6;height:clamp(245px,29vw,390px);margin:0;overflow:hidden;border:1px solid #302d2d;background:#050505}
.stills-track figure:after{content:attr(data-still);position:absolute;right:10px;bottom:8px;padding:4px 7px;background:rgba(7,7,8,.72);color:#d7cdc2;font:10px/1 system-ui,sans-serif;letter-spacing:.14em}
.stills-track figure:nth-child(1),.stills-track figure:nth-child(4){grid-column:span 7}
.stills-track figure:nth-child(2),.stills-track figure:nth-child(3){grid-column:span 5}
.stills-track figure:nth-child(3),.stills-track figure:nth-child(4){height:clamp(210px,23vw,315px)}
.stills-track figure:nth-child(5),.stills-track figure:nth-child(6){grid-column:span 6}
.stills-track figure:nth-child(7){grid-column:1/-1}
.performance-still{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transform:scale(1.002);transition:transform .55s cubic-bezier(.2,.65,.3,1),filter .45s ease}
.stills-track figure:hover .performance-still{filter:saturate(1) contrast(1.02);transform:scale(1.025)}
@media(max-width:900px){.stills-track figure,.stills-track figure:nth-child(n){height:clamp(210px,35vw,292px)}.stills-track figure:nth-child(1),.stills-track figure:nth-child(4){grid-column:span 7}.stills-track figure:nth-child(2),.stills-track figure:nth-child(3){grid-column:span 5}.stills-track figure:nth-child(5),.stills-track figure:nth-child(6){grid-column:span 6}.stills-track figure:nth-child(7){grid-column:1/-1}}
@media(max-width:600px){.stills{padding:48px 0 60px}.stills-heading{display:block;padding-inline:22px;margin-bottom:25px}.stills-heading h2{margin-top:10px;font-size:38px}.stills-heading>p:last-child{margin-top:10px;padding:0;font-size:12px}.stills-track{display:flex;gap:10px;overflow-x:auto;padding:0 22px 12px;scroll-snap-type:x mandatory;scroll-padding-inline:22px;scrollbar-width:thin}.stills-track figure,.stills-track figure:nth-child(n){flex:0 0 min(82vw,440px);height:auto;aspect-ratio:16/9;scroll-snap-align:start}.stills-track figure:last-child{margin-right:12px}}
@media(prefers-reduced-motion:reduce){.performance-still{transition:none}.stills-track figure:hover .performance-still{transform:none}}

/* Audience reviews: an editorial wall of voices, not a uniform card row. */
.reviews{position:relative;padding:clamp(60px,7.2vw,104px) clamp(22px,4.6vw,68px) clamp(72px,8vw,116px);overflow:hidden;border-top:1px solid var(--line);background:radial-gradient(circle at 11% 9%,rgba(165,29,35,.18),transparent 34%),#0d0e0f}
.reviews:before{content:"“";position:absolute;right:2.5%;top:-.18em;color:rgba(238,234,222,.035);font-size:clamp(220px,31vw,450px);line-height:1;pointer-events:none}
.reviews-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:8px 40px;align-items:end;margin-bottom:clamp(34px,4.5vw,65px)}
.reviews-heading .eyebrow{grid-column:1/-1;color:#d88888;letter-spacing:.2em}
.reviews-heading h2{font-size:clamp(36px,5vw,72px);line-height:1.1;letter-spacing:.09em}
.reviews-heading>p:last-child{padding-bottom:8px;color:#aaa69e;font-size:14px;line-height:1.7;text-align:right;letter-spacing:.07em}
.reviews-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.review-card{grid-column:span 4;display:flex;min-width:0;min-height:285px;flex-direction:column;justify-content:space-between;padding:clamp(24px,2.6vw,38px);border:1px solid #393433;background:rgba(20,20,21,.78);transition:transform .28s ease,border-color .28s ease,background-color .28s ease}
.review-card:nth-child(2){grid-column:span 5}
.review-card-featured{grid-column:span 7;min-height:360px;background:#171415;border-color:#594142}
.review-card-closing{grid-column:1/-1;min-height:250px;background:linear-gradient(112deg,#171415 0%,#131314 72%);border-color:#594142}
.review-card:hover,.review-card:focus-within{transform:translateY(-5px);border-color:#9f6565;background:#1b1718}
.review-media{display:block;width:100%;margin-bottom:clamp(22px,2.4vw,34px);overflow:hidden;aspect-ratio:16/10;background:#090909}
.review-card-featured .review-media,.review-card-closing .review-media{aspect-ratio:2/1}
.review-thumbnail{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.65,.3,1)}
.review-media:hover .review-thumbnail{transform:scale(1.035)}
.review-media:focus-visible{outline:2px solid #e69a9a;outline-offset:4px}
.review-card blockquote{margin:0}
.review-card blockquote p{font-size:clamp(18px,1.75vw,25px);line-height:1.8;letter-spacing:.045em;text-wrap:pretty}
.review-card-featured blockquote p{max-width:760px;font-size:clamp(27px,3vw,43px);line-height:1.6}
.review-card-closing blockquote p{max-width:990px;font-size:clamp(24px,2.55vw,37px);line-height:1.65}
.review-card footer{height:auto;min-height:0;margin-top:38px;padding:18px 0 0;border-top:1px solid #45413e;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.review-author{display:flex;min-width:0;align-items:center;gap:11px}
.review-avatar{display:block;flex:0 0 40px;width:40px;height:40px;border:1px solid #9f6565;border-radius:50%;object-fit:cover;background:#171415}
.review-card cite{min-width:0;font-style:normal;font-size:13px;line-height:1.5;color:#e4dcd2;overflow-wrap:anywhere}
.review-source{flex:0 0 auto;color:#d88888;font:11px/1.5 system-ui,sans-serif;letter-spacing:.08em;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}
.review-source:hover{color:#f1b2b2;border-color:currentColor}
.review-source:focus-visible{outline-color:#d88888;outline-offset:4px}
@media(max-width:900px){.reviews-heading{grid-template-columns:1fr .7fr}.review-card,.review-card:nth-child(2){grid-column:span 6}.review-card-featured,.review-card-closing{grid-column:1/-1}.review-card:nth-child(5){grid-column:2/span 5}.review-card:nth-child(6){grid-column:7/span 5}}
@media(max-width:600px){.reviews{padding:48px 22px 56px}.reviews:before{right:-45px;font-size:230px}.reviews-heading{display:block;margin-bottom:28px}.reviews-heading h2{font-size:38px;margin-top:11px}.reviews-heading>p:last-child{margin-top:12px;padding:0;text-align:left;font-size:12px}.reviews-grid{display:block}.review-card,.review-card:nth-child(2),.review-card-featured,.review-card-closing,.review-card:nth-child(5),.review-card:nth-child(6){min-height:0;margin-top:10px;padding:24px 19px}.review-card:first-child{margin-top:0}.review-card blockquote p,.review-card-featured blockquote p,.review-card-closing blockquote p{font-size:18px;line-height:1.75}.review-card footer{margin-top:28px;align-items:flex-start}.review-source{font-size:10px}}
@media(max-width:340px){.review-card footer{display:block}.review-author{width:100%}.review-card cite,.review-source{display:block}.review-source{width:max-content;max-width:100%;margin-top:14px}}
@media(prefers-reduced-motion:reduce){.review-card{transition:none}.review-card:hover,.review-card:focus-within{transform:none}.review-source,.review-thumbnail{transition:none}.review-media:hover .review-thumbnail{transform:none}}

/* Source directory keeps additional audience posts compact. */
.xhs-index{margin-top:clamp(38px,5vw,68px);border-top:1px solid #594142;padding-top:30px}
.xhs-index header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.xhs-index h3{font-size:clamp(22px,2.5vw,32px);letter-spacing:.06em}
.xhs-index header p{color:#aaa69e;font:12px/1.7 system-ui,sans-serif}
.xhs-post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;list-style:none;padding:0;margin:0}
.xhs-post-list li{min-width:0;border-top:1px solid #393433}
.xhs-post-list a{display:flex;min-height:112px;height:100%;flex-direction:column;justify-content:space-between;gap:12px;padding:20px 0;transition:color .18s ease}
.xhs-post-title{font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.xhs-post-meta{display:flex;justify-content:space-between;gap:14px;color:#aaa69e;font:11px/1.6 system-ui,sans-serif}
.xhs-post-meta>span:first-child{overflow-wrap:anywhere}
.xhs-post-source{flex-shrink:0;color:#d88888}
.xhs-post-list a:hover{color:#f1b2b2}
.xhs-post-list a:focus-visible,.xhs-more summary:focus-visible{outline:2px solid #e69a9a;outline-offset:4px}
.xhs-more summary{width:fit-content;padding:14px 0;cursor:pointer;color:#d88888;font:13px/1.6 system-ui,sans-serif;transition:color .18s ease}
.xhs-more summary:hover{color:#f1b2b2}
.xhs-collapse,.xhs-more[open] .xhs-expand{display:none}
.xhs-more[open] .xhs-collapse{display:inline}
@media(max-width:600px){.xhs-index header{display:block}.xhs-index header p{margin-top:10px}.xhs-post-list{grid-template-columns:1fr}.xhs-post-list a{min-height:100px}.xhs-post-meta{font-size:10px}}
@media(prefers-reduced-motion:reduce){.xhs-post-list a,.xhs-more summary{transition:none}}
