/* PDF page 3: white foyer. Controllers, timing, sound and the theatre hall are unchanged. */
.theatre-view:not(.theatre-in-hall){background:#e6e8eb}
.theatre-view:not(.theatre-in-hall) .theatre-frame{background:#f3f4f5}
.theatre-foyer{color:#17191b;background:#f3f4f5}
.theatre-foyer .foyer-sky{background:linear-gradient(115deg,#e6e8eb,#fff 48%,#e6e8eb)}
/* Retain the original animated lighting geometry; replace only the opaque dark material. */
.foyer-room-geometry>rect[fill="url(#room-atmosphere)"],.foyer-room-geometry>rect[fill="url(#room-floor-shade)"]{fill:transparent}
.foyer-room-geometry [data-room-wall]>polygon{fill:transparent}
.foyer-room-geometry [data-room-wall]>path{stroke:#61666b;stroke-opacity:.12}
.theatre-foyer .foyer-architecture{opacity:1}
.theatre-foyer .foyer-panel{border:1px solid #fff;border-radius:18px;background:linear-gradient(135deg,#fff,#f3f4f5 68%,#e6e8eb);box-shadow:inset 0 1px 2px #fff,0 18px 24px #17191b30,0 2px 4px #17191b18;color:#17191b;backdrop-filter:none}
.theatre-foyer .foyer-identity h1,.theatre-foyer .foyer-play h3,.theatre-foyer .foyer-electronic-ticket h2{color:#17191b}
.theatre-foyer .foyer-play p,.theatre-foyer .foyer-bill-caption,.theatre-foyer .foyer-ticket-label,.theatre-foyer .foyer-selection,.theatre-foyer .foyer-page-bar .crumb,.theatre-foyer .foyer-music,.theatre-foyer .foyer-effects{color:#61666b}
.theatre-foyer .foyer-logo{filter:invert(1)}
.theatre-foyer .foyer-play{border-color:#17191b18}
.theatre-foyer .foyer-play-emitter{background:#a51213;box-shadow:0 0 6px #a5121330}
.theatre-foyer .foyer-ticket,.theatre-foyer .foyer-ticket-cancel{color:#17191b;background:#fff9;border-color:#17191b40}
.theatre-foyer .foyer-ticket:hover,.theatre-foyer .foyer-ticket:focus-visible{border-color:#a51213;background:#fff;box-shadow:0 0 12px #a5121320}
.theatre-foyer .foyer-play.is-selected .foyer-ticket{color:#fff;background:#a51213}
.theatre-foyer .foyer-ticket-code{stroke:#17191b}
.theatre-foyer .foyer-door-space::before,.theatre-exit-door::before{content:'';position:absolute;inset:-12% -22% -1%;background:linear-gradient(130deg,#e6e8eb,#fff 43%,#e6e8eb);box-shadow:inset 5px 6px 7px #17191b35,inset -2px -2px 4px #fff,0 1px 2px #17191b20;z-index:-1}
.theatre-foyer .foyer-door-space::after,.theatre-exit-door::after{content:'';position:absolute;inset:-7% -12% 0;background:linear-gradient(130deg,#e6e8eb,#fff 43%,#e6e8eb);box-shadow:inset 4px 5px 6px #17191b35,inset -2px -2px 3px #fff;z-index:-1}
.theatre-foyer .foyer-door-frame,.theatre-exit-door .exit-door-leaves{border:3px solid #17191b;inset:7px 7px 0;background:#17191b;box-shadow:0 0 0 10px #fff,0 0 0 12px #e6e8eb,0 3px 7px #17191b50}
.theatre-foyer .foyer-door-leaf,.theatre-foyer .foyer-door-leaf.is-right,.theatre-exit-door .exit-door-leaf,.theatre-exit-door .exit-door-leaf.is-right{background:linear-gradient(108deg,#373b40,#252629 58%,#252629);border:0;box-shadow:inset 1px 1px 1px #61666b88,inset -2px -2px 4px #0005}
.theatre-foyer .foyer-door-leaf.is-right,.theatre-exit-door .exit-door-leaf.is-right{border-left:2px solid #17191b}
.theatre-foyer .foyer-door-leaf::before,.theatre-exit-door .exit-door-leaf::before{content:'';position:absolute;inset:2.3% 4%;border:1px solid #17191b66;box-shadow:inset 1px 1px 2px #0006,inset -1px -1px 1px #61666b55;pointer-events:none}
.theatre-foyer .foyer-door-leaf::after,.theatre-exit-door .exit-door-leaf::after{content:'';position:absolute;top:41%;height:20%;width:3.3%;right:9%;border-radius:2px;background:linear-gradient(90deg,#17191b,#373b40 40%,#17191b 85%);box-shadow:3px 2px 3px #0009,inset 1px 0 1px #61666b;pointer-events:none}
.theatre-foyer .foyer-door-leaf.is-right::after,.theatre-exit-door .exit-door-leaf.is-right::after{right:auto;left:9%}
/* Plain receding stone arches, no curtains or image backgrounds. */
.foyer-white-arcades{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.foyer-white-wing{position:absolute;top:14%;bottom:12%;width:24%;left:-17%;border:26px solid #e6e8eb;border-bottom:0;border-radius:50% 50% 0 0;background:linear-gradient(90deg,#61666b,#e6e8eb 55%,#fff);box-shadow:inset -8px 4px 16px #17191b40,8px 0 12px #17191b20}
.foyer-white-wing.right{left:auto;right:-17%;transform:scaleX(-1)}
.foyer-white-wing::before{content:'';position:absolute;inset:23% 0 0 28%;border:16px solid #f3f4f5;border-bottom:0;border-radius:50% 50% 0 0;background:linear-gradient(90deg,#373b40,#61666b);box-shadow:inset -5px 3px 7px #17191b80}
.foyer-white-wing::after{content:'';position:absolute;inset:47% 0 0 52%;border:12px solid #e6e8eb;border-bottom:0;border-radius:50% 50% 0 0;background:#252629}
.foyer-white-floor{position:absolute;left:0;right:0;bottom:0;height:13%;background:linear-gradient(#e6e8eb,#fff 30%,#f3f4f5);box-shadow:0 -2px 6px #17191b16}
.theatre-view:not(.theatre-in-hall) .footer{color:#61666b}
.theatre-view:not(.theatre-in-hall) .footer>.foyer-desktop-return{color:#61666b;background:#fff8;border-color:#17191b25}
@media(min-width:1280px) and (min-height:720px){
 .theatre-view .theatre-foyer .foyer-door-space{--door-width:26cqw;--door-height:35.5cqw;bottom:12%;top:auto}
 .theatre-view .theatre-foyer .foyer-panel{top:51%;width:19%;height:55%;padding:24px 20px}
 .theatre-view .theatre-foyer .foyer-identity{left:10.5%}
 .theatre-view .theatre-foyer .foyer-bill{right:10.5%}
 .theatre-view .theatre-foyer .foyer-play h3{font-size:clamp(12px,1cqw,17px)}
 .theatre-view .theatre-foyer .foyer-play p{font-size:clamp(10px,.75cqw,13px)}
}
/* Match the accepted entrance's neutral plaster and recessed joint shadows. */
body.theatre-view:not(.theatre-in-hall){background:#e6e8eb}
body.theatre-view:not(.theatre-in-hall) .theatre-frame{background:#f3f4f5}
.theatre-foyer #room-left-wing [data-room-wall]>polygon,.theatre-foyer #room-right-wing-ambient [data-room-wall]>polygon{fill:#f3f4f5}
.theatre-foyer .foyer-room-geometry #room-far stop,.theatre-foyer .foyer-room-geometry #room-outer stop,.theatre-foyer .foyer-room-geometry #room-inner stop{stop-color:#f3f4f5}
.theatre-foyer .foyer-room-geometry #room-notch stop,.theatre-foyer .foyer-room-geometry #room-recess stop,.theatre-foyer .foyer-room-geometry #room-return stop{stop-color:#e6e8eb}
.theatre-foyer .foyer-white-arcades{z-index:1}
.theatre-foyer .foyer-door-space::before,.theatre-exit-door::before{background:linear-gradient(135deg,#fff,#e6e8eb 49%,#fff);box-shadow:inset 5px 5px 7px #17191b40,inset -2px -1px 3px #fff,0 2px 4px #17191b20}
.theatre-foyer .foyer-door-space::after,.theatre-exit-door::after{background:linear-gradient(105deg,#e6e8eb,#fff 12%,#fff 75%,#e6e8eb);box-shadow:inset 4px 5px 6px #17191b42,inset -2px -2px 3px #fff,1px 1px 2px #17191b24}
.theatre-view .footer .foyer-footer-tools{position:static;inset:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;padding:0;width:auto;flex-wrap:wrap;color:#61666b}
.theatre-view .footer .foyer-footer-tools .crumb{font-size:10px;color:#61666b}
.theatre-view .footer .foyer-footer-tools .foyer-page-tools{display:flex;flex-direction:row;gap:12px}
.theatre-view .footer .foyer-footer-tools button{color:#61666b}
@media(max-width:760px){.theatre-view .footer .foyer-footer-tools{width:100%;justify-content:flex-end}.theatre-view .footer .foyer-footer-tools .foyer-page-tools{gap:6px}}

/* The accepted home header material, without a dark ceiling strip. */
body.theatre-view:not(.theatre-in-hall) .topbar{background:var(--paper);color:var(--ink);border:0;box-shadow:none;backdrop-filter:none}
body.theatre-view:not(.theatre-in-hall) .brand img{filter:invert(1)}
body.theatre-view:not(.theatre-in-hall) .topbar>.glass{color:var(--ink);border:1px solid rgba(255,255,255,.95);background:linear-gradient(125deg,rgba(255,255,255,.72),rgba(255,255,255,.16));box-shadow:inset 0 1px 2px #fff,0 6px 18px rgba(25,30,40,.08)}
body.theatre-view:not(.theatre-in-hall) .topbar>.glass:hover{background:#fff}
body.theatre-view:not(.theatre-in-hall) .mobile-menu{background:var(--paper);color:var(--ink);border:0}
@media(min-width:1280px) and (min-height:720px){
 body.theatre-view:not(.theatre-in-hall) .topbar{border:1px solid rgba(255,255,255,.85);background:rgba(243,244,245,.78);box-shadow:inset 0 1px 0 #fff,0 9px 30px rgba(33,38,44,.035);backdrop-filter:blur(14px)}
}
/* Match the home header at intermediate widths without moving the foyer content. */
@media(min-width:1024px) and (max-width:1279px) and (min-height:560px){
 body.theatre-view:not(.theatre-in-hall){--home-header-frame:min(100vw,calc(100svh * 16 / 9));--home-header-height:clamp(50px,calc(var(--home-header-frame) * .04),68px)}
 body.theatre-view:not(.theatre-in-hall) .topbar{position:relative;z-index:5;left:auto;top:calc((100svh - var(--home-header-frame) * 9 / 16) / 2 + var(--home-header-frame) * 9 / 16 * .022 - 12px);width:calc(var(--home-header-frame) * .9);height:var(--home-header-height);margin:12px auto calc(102px - var(--home-header-height));padding:8px clamp(20px,calc(var(--home-header-frame) * .02),36px);gap:clamp(16px,calc(var(--home-header-frame) * .015),28px);border-radius:20px;border:1px solid rgba(255,255,255,.85);background:rgba(243,244,245,.78);box-shadow:inset 0 1px 0 #fff,0 9px 30px rgba(33,38,44,.035);backdrop-filter:blur(14px)}
 body.theatre-view:not(.theatre-in-hall) .brand{width:clamp(120px,calc(var(--home-header-frame) * .1),170px);flex-shrink:0}
 body.theatre-view:not(.theatre-in-hall) .desktop-nav{gap:clamp(18px,calc(var(--home-header-frame) * .018),32px);font-size:14px;white-space:nowrap}
 body.theatre-view:not(.theatre-in-hall) .topbar>.glass{padding:7px 16px;font-size:14px;border-radius:10px;white-space:nowrap}
}
@media(min-width:1024px) and (max-width:1279px) and (min-height:560px){body.theatre-view:not(.theatre-in-hall) .topbar{left:calc((100vw - 100%) / 2)}}
/* Requested black foyer preview. Geometry and all transition clocks are unchanged. */
body.theatre-view:not(.theatre-in-hall),body.theatre-view:not(.theatre-in-hall) .theatre-frame,.theatre-foyer{background:#17191b;color:#f3f4f5}
.theatre-foyer .foyer-sky{background:linear-gradient(115deg,#17191b,#252629 48%,#17191b)}
.theatre-foyer #room-left-wing [data-room-wall]>polygon,.theatre-foyer #room-right-wing-ambient [data-room-wall]>polygon{fill:#252629}
.theatre-foyer .foyer-room-geometry #room-far stop,.theatre-foyer .foyer-room-geometry #room-outer stop,.theatre-foyer .foyer-room-geometry #room-inner stop{stop-color:#252629}
.theatre-foyer .foyer-room-geometry #room-notch stop,.theatre-foyer .foyer-room-geometry #room-recess stop,.theatre-foyer .foyer-room-geometry #room-return stop{stop-color:#17191b}
.theatre-foyer .foyer-panel{background:linear-gradient(135deg,#252629,#17191b 68%,#252629);color:#f3f4f5;border-color:#61666b55;box-shadow:inset 0 1px 2px #61666b55,0 18px 24px #0008,0 2px 4px #0006}
.theatre-foyer .foyer-identity h1,.theatre-foyer .foyer-play h3,.theatre-foyer .foyer-electronic-ticket h2{color:#f3f4f5}
.theatre-foyer .foyer-play p,.theatre-foyer .foyer-bill-caption,.theatre-foyer .foyer-ticket-label,.theatre-foyer .foyer-selection{color:#f3f4f5b3}
.theatre-foyer .foyer-logo{filter:none}
.theatre-foyer .foyer-play{border-color:#f3f4f51c}
.theatre-foyer .foyer-ticket,.theatre-foyer .foyer-ticket-cancel{color:#f3f4f5;background:#252629;border-color:#61666b}
.theatre-foyer .foyer-ticket:hover,.theatre-foyer .foyer-ticket:focus-visible{background:#373b40;border-color:#f3f4f5}
.theatre-foyer .foyer-ticket-code{stroke:#f3f4f5}
.theatre-foyer .foyer-door-space::before,.theatre-exit-door::before{background:linear-gradient(135deg,#373b40,#17191b 49%,#252629);box-shadow:inset 5px 5px 7px #0009,inset -2px -1px 3px #61666b44,0 2px 4px #0006}
.theatre-foyer .foyer-door-space::after,.theatre-exit-door::after{background:linear-gradient(105deg,#17191b,#373b40 12%,#252629 75%,#17191b);box-shadow:inset 4px 5px 6px #000a,inset -2px -2px 3px #61666b44,1px 1px 2px #0008}
.theatre-foyer .foyer-door-frame,.theatre-exit-door .exit-door-leaves{box-shadow:0 0 0 10px #252629,0 0 0 12px #17191b,0 3px 7px #0008}
.theatre-foyer .foyer-white-wing{border-color:#252629;background:linear-gradient(90deg,#17191b,#252629 55%,#373b40);box-shadow:inset -8px 4px 16px #0009,8px 0 12px #0006}
.theatre-foyer .foyer-white-wing::before{border-color:#373b40;background:linear-gradient(90deg,#17191b,#252629);box-shadow:inset -5px 3px 7px #000b}
.theatre-foyer .foyer-white-wing::after{border-color:#252629;background:#17191b}
.theatre-foyer .foyer-white-floor{background:linear-gradient(#17191b,#252629 30%,#17191b);box-shadow:0 -2px 6px #0008}
/* Light lives above architecture and moving leaves, below both opaque side panels. */
.theatre-foyer .foyer-composition{z-index:auto}
.theatre-foyer .foyer-door-space{z-index:2}
.theatre-view .theatre-foyer .foyer-aurora,.theatre-view .theatre-foyer .foyer-door-beam{z-index:3;pointer-events:none}
.theatre-foyer .foyer-panel{z-index:4}
/* No material tint on walls or panels; retain the original animated light ribbons. */
.theatre-foyer .room-show-reflections,.theatre-foyer .foyer-panel-tint,.theatre-foyer .foyer-panel-light,.theatre-foyer .foyer-panel-emitter{visibility:hidden}
body.theatre-view:not(.theatre-in-hall) .topbar{color:#f3f4f5;background:rgba(23,25,27,.92);border-color:#61666b55;box-shadow:inset 0 1px 0 #61666b44,0 9px 30px #0003}
body.theatre-view:not(.theatre-in-hall) .brand img{filter:none}
body.theatre-view:not(.theatre-in-hall) .topbar>.glass{color:#f3f4f5;background:linear-gradient(125deg,#373b40,#252629);border-color:#61666b55;box-shadow:inset 0 1px 2px #61666b44,0 6px 18px #0005}
body.theatre-view:not(.theatre-in-hall) .topbar>.glass:hover{background:#373b40}
body.theatre-view:not(.theatre-in-hall) .mobile-menu{color:#f3f4f5;background:#17191b}
.theatre-view:not(.theatre-in-hall) .footer,.theatre-view .footer .foyer-footer-tools,.theatre-view .footer .foyer-footer-tools .crumb,.theatre-view .footer .foyer-footer-tools button{color:#f3f4f5b3}
.theatre-view:not(.theatre-in-hall) .footer>.foyer-desktop-return{color:#f3f4f5;background:#252629;border-color:#61666b55}
/* Keep only the existing music toggle visible at the footer right. Effects remain enabled. */
.theatre-view .footer .foyer-footer-tools .crumb,.theatre-view .footer .foyer-footer-tools .foyer-effects{display:none}
/* Hide only the legacy wall fixtures and grid. Six original lamps are relocated to the floor. */
.theatre-foyer .foyer-room-geometry [data-room-wall] ellipse[fill="#f3f4f7"],
.theatre-foyer .foyer-room-geometry [data-room-wall] ellipse[fill="url(#room-floor-light)"],
.theatre-foyer .foyer-room-geometry [data-room-wall] ellipse[fill="url(#room-light-air)"],
.theatre-foyer .foyer-room-geometry [data-room-wall] path[fill="url(#room-uplight)"],
.theatre-foyer .room-floor-grid{display:none}
.foyer-floor-lamp-layer{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}
/* Independent slow breath in the six floor beams; fixtures and central beam stay steady. */
.foyer-floor-lamp:nth-child(1){--ray-period:14.3s;--ray-phase:-3.1s}
.foyer-floor-lamp:nth-child(2){--ray-period:19.7s;--ray-phase:-11.4s}
.foyer-floor-lamp:nth-child(3){--ray-period:23.9s;--ray-phase:-7.7s}
.foyer-floor-lamp:nth-child(4){--ray-period:17.1s;--ray-phase:-13.2s}
.foyer-floor-lamp:nth-child(5){--ray-period:26.3s;--ray-phase:-18.8s}
.foyer-floor-lamp:nth-child(6){--ray-period:21.1s;--ray-phase:-4.6s}
.foyer-floor-ray-breathe{animation:foyer-floor-ray-breathe var(--ray-period) ease-in-out var(--ray-phase) infinite}
@keyframes foyer-floor-ray-breathe{0%,100%{opacity:.2}17%{opacity:.78}38%{opacity:.31}61%{opacity:1}83%{opacity:.42}}
.foyer-paused .foyer-floor-ray-breathe{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.foyer-floor-ray-breathe{animation:none;opacity:.72}}

/* The reverse flight uses the same accepted door skin, not the retired dark doors. */
.theatre-exit-door{color:#f3f4f5}
.theatre-exit-door .exit-door-leaf{position:relative;z-index:1;font-style:normal}

/* The moving architecture has an open aperture, not an opaque screen over the hall.
   Percentages trace the same inset arches while cutting only their inner opening. */
.theatre-exit-door::before{clip-path:polygon(0 0,100% 0,100% 100%,84.722222% 100%,84.722222% 10.619469%,15.277778% 10.619469%,15.277778% 100%,0 100%)}
.theatre-exit-door::after{clip-path:polygon(0 0,100% 0,100% 100%,90.322581% 100%,90.322581% 6.542056%,9.677419% 6.542056%,9.677419% 100%,0 100%)}
.theatre-exit-door .exit-door-leaves{background:transparent}
/* The lower real doorway stays opaque while its matching upper layer fades. */
.theatre-leaving .hall-footer{visibility:hidden}
.theatre-exit-door .foyer-door-light{animation-play-state:paused}
