:root { --video-gold:#f4bc3e; --video-pink:#ec70b5; --video-red:#e3262e; --video-ink:#08080b; --video-panel:#121117; --video-paper:#efede8; }

.video-floor .floor-scene { display:block; background:#09070b; }
.video-floor .floor-scene::before { content:none; }
.video-floor__image,.video-floor__shade { position:absolute; inset:0; width:100%; height:100%; }
.video-floor__image { object-fit:cover; transition:filter 1.15s ease; }
.video-floor__shade { z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(6,4,8,.18),transparent 28%),linear-gradient(180deg,rgba(0,0,0,.02),transparent 70%,rgba(0,0,0,.22)); transition:background 1.15s ease; }
.video-floor.is-standby .video-floor__image { filter:brightness(.2) saturate(.45); }
.video-floor.is-standby .video-floor__shade { background:linear-gradient(rgba(2,3,6,.46),rgba(2,3,6,.7)); }
.video-room-overlay { --screen-glow:#465dd8; position:absolute; z-index:3; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.theatre-standby-relight { opacity:0; pointer-events:none; transition:opacity .85s ease; }
.video-floor.is-standby .theatre-standby-relight { opacity:.82; }
.theatre-reel { pointer-events:none; }
.theatre-reel__black { fill:#010103; }
.theatre-reel__slot { opacity:0; transform:scale(1); transform-box:fill-box; transform-origin:center; transition:opacity .14s linear,transform 1.45s linear; }
.theatre-reel__slot.is-active { opacity:1; transform:scale(1.025); }
.theatre-reel__backdrop { opacity:.62; filter:blur(30px) saturate(1.25) brightness(.58); }
.theatre-reel__art { filter:saturate(1.06) contrast(1.03); }
.theatre-reel__slot.is-portrait { transform:none; }
.theatre-reel__slot.is-portrait .theatre-reel__backdrop { opacity:.24; }
.theatre-reel__slot.is-portrait.is-active .theatre-reel__art { animation:theatre-portrait-pan var(--portrait-hold,6s) linear both; }
.theatre-reel__video { opacity:0; pointer-events:none; transition:opacity .18s linear; }
.theatre-reel__video-frame,.theatre-reel__video-frame iframe { width:100%; height:100%; border:0; background:#050408; }
.theatre-reel.is-video .theatre-reel__slot { opacity:0; }
.theatre-reel.is-video .theatre-reel__video { opacity:1; }
.theatre-reel.is-paused .theatre-reel__art { animation-play-state:paused; }
.theatre-reel__grade { fill:url("#theatre-reel-grade"); }
@keyframes theatre-portrait-pan { 0%,7%{transform:translateY(0)} 93%,100%{transform:translateY(var(--portrait-travel,0))} }
.theatre-program-monitors { pointer-events:none; }
.theatre-program-monitor__screen { fill:rgba(3,12,21,.94); stroke:rgba(124,208,255,.58); stroke-width:2; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 9px rgba(68,164,255,.34)); }
.theatre-program-monitor__readout { pointer-events:none; }
.theatre-program-monitor__readout text { font-family:"DM Sans",sans-serif; }
.theatre-program-monitor__label,.theatre-program-monitor__index { fill:#8dccef; font-size:16px; font-weight:700; letter-spacing:2.2px; }
.theatre-program-monitor__index { fill:rgba(169,218,244,.7); font-size:13px; }
.theatre-program-monitor__title { fill:#f5fbff; font-size:20px; font-weight:700; letter-spacing:.8px; }
.theatre-program-monitor__readout line { stroke:rgba(111,196,241,.38); stroke-width:2; vector-effect:non-scaling-stroke; }
.theatre-program-monitor--current .theatre-program-monitor__screen { fill:rgba(14,10,18,.95); stroke:rgba(244,188,62,.78); filter:drop-shadow(0 0 11px rgba(244,188,62,.32)); }
.theatre-program-monitor--current .theatre-program-monitor__label { fill:#f4bc3e; }
.theatre-program-monitor--current .theatre-program-monitor__readout line { stroke:rgba(244,188,62,.45); }
.theatre-reel.is-paused~.theatre-program-monitors .theatre-program-monitor--current .theatre-program-monitor__screen { stroke:#ec70b5; filter:drop-shadow(0 0 12px rgba(236,112,181,.46)); }
.theatre-reel.is-paused~.theatre-program-monitors .theatre-program-monitor--current .theatre-program-monitor__label { fill:#ec70b5; }
.theatre-screen-bounce { opacity:1; pointer-events:none; mix-blend-mode:screen; transition:opacity .85s ease; }
.video-floor.is-standby .theatre-screen-bounce { opacity:0; }
.theatre-screen-bounce__wash,.theatre-screen-bounce__pool { fill:var(--screen-glow); transition:fill .42s ease; }
.theatre-screen-bounce__wash { opacity:.075; filter:url("#theatre-bounce-blur"); }
.theatre-screen-bounce__pool { opacity:.13; filter:url("#theatre-bounce-blur"); }
.theatre-switch-lights { pointer-events:none; mix-blend-mode:screen; }
.theatre-toggle-stack--previous { fill:#69dcff; }
.theatre-toggle-stack--toggle { fill:#ffd35b; }
.theatre-toggle-stack--next { fill:#ec70b5; }
.theatre-toggle-pulse { opacity:0; }
.theatre-toggle-pulse--ambient-a { animation:theatre-toggle-idle 23s steps(1,end) -8s infinite; }
.theatre-toggle-pulse--ambient-b { animation:theatre-toggle-idle 29s steps(1,end) -19s infinite; }
.theatre-toggle-pulse--ambient-c { animation:theatre-toggle-idle 19s steps(1,end) -3s infinite; }
.video-floor.is-standby .theatre-toggle-stack--previous .theatre-toggle-pulse,
.video-floor.is-standby .theatre-toggle-stack--next .theatre-toggle-pulse { animation:none; opacity:0; }
.theatre-toggle-stack.is-triggered .theatre-toggle-pulse { animation:theatre-toggle-response .9s ease-out both; }
.theatre-toggle-stack.is-triggered .theatre-toggle-pulse:nth-child(2) { animation-delay:.07s; }
.theatre-toggle-stack.is-triggered .theatre-toggle-pulse:nth-child(3) { animation-delay:.14s; }
.theatre-toggle-stack.is-triggered .theatre-toggle-pulse:nth-child(4) { animation-delay:.21s; }
.theatre-toggle-stack.is-triggered .theatre-toggle-pulse:nth-child(5) { animation-delay:.28s; }
@keyframes theatre-toggle-idle { 0%,96.5%,100%{opacity:0} 97.1%{opacity:.52} 97.6%{opacity:.1} 98.1%{opacity:.36} 98.7%{opacity:0} }
@keyframes theatre-toggle-response { 0%,100%{opacity:0} 14%{opacity:.82} 58%{opacity:.62} 78%{opacity:.16} }
.theatre-transport-terminals { pointer-events:none; }
.theatre-transport-terminal__screen { fill:rgba(3,12,21,.9); stroke:rgba(124,208,255,.44); stroke-width:2; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 8px rgba(68,164,255,.24)); }
.theatre-transport-terminal__readout { pointer-events:none; }
.theatre-transport-terminal__readout text { font-family:"DM Sans",sans-serif; }
.theatre-transport-terminal__verb { fill:#f5fbff; font-size:24px; font-weight:700; letter-spacing:2.1px; }
.theatre-transport-terminal__hint { fill:#8dccef; font-size:14px; font-weight:700; letter-spacing:1.6px; }
.theatre-transport-terminal__meta { fill:rgba(169,218,244,.72); font-size:12px; font-weight:700; letter-spacing:1.1px; }
.theatre-transport-terminal__icon { fill:none; stroke:#8dccef; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.theatre-transport-terminal__icon-fill { fill:#f4bc3e; }
.theatre-transport-terminal__beacon { fill:#6ee8ff; filter:drop-shadow(0 0 7px #6ee8ff); animation:theatre-terminal-beacon 1.7s steps(1,end) infinite; }
.theatre-transport-terminal--current .theatre-transport-terminal__screen { fill:rgba(14,10,18,.92); stroke:rgba(244,188,62,.64); filter:drop-shadow(0 0 9px rgba(244,188,62,.25)); }
.theatre-transport-terminal--current .theatre-transport-terminal__hint,.theatre-transport-terminal--current .theatre-transport-terminal__meta { fill:#d8b96c; }
.theatre-transport-terminal--current .theatre-transport-terminal__beacon { fill:#f4bc3e; filter:drop-shadow(0 0 7px #f4bc3e); animation-delay:-.8s; }
.theatre-transport-terminal__play { display:none; }
.video-floor.is-standby .theatre-transport-terminals [data-terminal-icon="pause"] { display:none; }
.video-floor.is-standby .theatre-transport-terminal__play { display:block; }
.video-floor.is-standby .theatre-transport-terminal--previous,
.video-floor.is-standby .theatre-transport-terminal--next,
.video-floor.is-standby .theatre-program-monitor--previous,
.video-floor.is-standby .theatre-program-monitor--next { opacity:.48; }
.theatre-reel.is-paused~.theatre-transport-terminals [data-terminal-icon="pause"] { display:none; }
.theatre-reel.is-paused~.theatre-transport-terminals .theatre-transport-terminal__play { display:block; fill:#ec70b5; }
.theatre-reel.is-paused~.theatre-transport-terminals .theatre-transport-terminal--current .theatre-transport-terminal__screen { stroke:#ec70b5; }
@keyframes theatre-terminal-beacon { 0%,44%,100%{opacity:.22} 48%,82%{opacity:1} }
.video-hotspot { pointer-events:all; outline:none; }
.video-hotspot__matte { fill:#ffcf62; opacity:.025; pointer-events:none; transition:opacity .22s ease,filter .22s ease; }
.video-hotspot__surface { fill:rgba(244,188,62,0); stroke:rgba(255,221,137,0); stroke-width:3; vector-effect:non-scaling-stroke; pointer-events:all; cursor:pointer; transition:stroke .22s ease,filter .22s ease; }
.video-phone-hotspot .video-hotspot__matte { fill:#ff5159; opacity:.035; }
.video-hotspot__label { opacity:0; pointer-events:none; transition:opacity .2s ease; }
.video-hotspot[data-screen-action] .video-hotspot__label { display:none; }
.video-hotspot__label rect { fill:rgba(10,7,12,.94); stroke:var(--video-gold); stroke-width:3; vector-effect:non-scaling-stroke; }
.video-hotspot__label text { fill:#fff; font:700 22px "DM Sans",sans-serif; letter-spacing:2.2px; }
.video-phone-label rect { stroke:#ff565d; }
.video-hotspot:hover .video-hotspot__matte,.video-hotspot:focus-visible .video-hotspot__matte { opacity:.3; filter:drop-shadow(0 0 14px rgba(244,188,62,.95)) drop-shadow(0 0 32px rgba(236,112,181,.64)); }
.video-hotspot:hover .video-hotspot__surface,.video-hotspot:focus-visible .video-hotspot__surface { stroke:rgba(255,221,137,.7); filter:drop-shadow(0 0 8px rgba(244,188,62,.7)); }
.video-phone-hotspot:hover .video-hotspot__matte,.video-phone-hotspot:focus-visible .video-hotspot__matte,.phone-is-ringing .video-phone-hotspot .video-hotspot__matte { opacity:.36; filter:drop-shadow(0 0 14px #e3262e) drop-shadow(0 0 34px rgba(227,38,46,.82)); }
.video-phone-hotspot:hover .video-hotspot__surface,.video-phone-hotspot:focus-visible .video-hotspot__surface,.phone-is-ringing .video-hotspot__surface--phone { stroke:#ff5d64; filter:drop-shadow(0 0 10px rgba(227,38,46,.8)); }
.video-hotspot:hover .video-hotspot__label,.video-hotspot:focus-visible .video-hotspot__label,.phone-is-ringing .video-phone-label { opacity:1; }
.video-floor.is-standby .video-hotspot[aria-disabled="true"] .video-hotspot__surface { cursor:default; }
.video-floor.is-standby .video-hotspot[aria-disabled="true"]:hover .video-hotspot__matte,
.video-floor.is-standby .video-hotspot[aria-disabled="true"]:focus-visible .video-hotspot__matte { opacity:.025; filter:none; }
.video-floor.is-standby .video-hotspot[aria-disabled="true"]:hover .video-hotspot__surface,
.video-floor.is-standby .video-hotspot[aria-disabled="true"]:focus-visible .video-hotspot__surface { stroke:transparent; filter:none; }
.production-call-button { width:100%; border:0; cursor:pointer; font-family:inherit; }

/* The film programme continues the screening room at reading scale. */
.screening-programme { color:#f0eadf; background:#10100f; padding:0 0 68px; scroll-margin-top:88px; }
.programme-shell { width:min(1450px,calc(100% - clamp(40px,9vw,164px))); margin:auto; }
.programme-masthead { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:32px 0; border-bottom:1px solid #575148; font-size:12px; }
.programme-masthead p { margin:0; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.programme-masthead p span { padding:0 10px; color:#ad9170; }
.programme-masthead a { color:#bdb4a5; text-decoration:none; }
.programme-masthead a span { margin-left:12px; }
.programme-selection { display:grid; grid-template-columns:minmax(200px,24%) minmax(0,1fr); gap:clamp(30px,5vw,86px); padding-top:50px; }
.programme-label { margin:0; color:#bdaa8d; font-size:10px; font-weight:700; line-height:1.5; text-transform:uppercase; letter-spacing:.15em; }
.programme-index { min-width:0; align-self:start; position:sticky; top:102px; }
.programme-index ol { padding:0; margin:20px 0 30px; list-style:none; border-top:1px solid #413d36; }
.programme-index li { border-bottom:1px solid #413d36; }
.programme-index li a { position:relative; display:grid; grid-template-columns:25px 1fr; gap:5px 10px; padding:20px 8px 20px 0; color:#aaa69d; text-decoration:none; border-left:2px solid transparent; transition:color .15s,background .15s; }
.programme-index li a>span { grid-row:span 2; font:10px/1.9 monospace; color:#9b8a70; }
.programme-index strong { font-size:15px; font-weight:500; line-height:1.3; }
.programme-index small { font-size:10px; color:#999286; }
.programme-index a[aria-current="true"] { color:#fff4d9; background:linear-gradient(90deg,#cfa66c14,transparent); border-left-color:#d7b477; padding-left:12px; }
.programme-index a:hover { color:#fff4d9; }
.programme-index__commission { display:block; padding:12px 0; color:#c9b694; font-size:12px; line-height:1.6; text-decoration:none; }
.programme-index__commission span { margin-left:8px; }
.programme-film { min-width:0; }
.programme-film__heading { position:relative; padding:0 60px 25px 0; }
.programme-film h2 { margin:12px 0 0; font-family:'DM Sans',sans-serif; font-size:clamp(42px,5.8vw,88px); font-weight:500; letter-spacing:-.055em; line-height:1.02; text-wrap:balance; overflow-wrap:anywhere; }
.programme-number { position:absolute; right:0; top:0; color:#756851; font:22px/1 monospace; }
.programme-still { position:relative; margin:0; }
.programme-still>img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#030303; display:block; }
.programme-inline-player { position:absolute; inset:0 0 auto; width:100%; aspect-ratio:16/9; min-height:200px; background:#000; }
.programme-inline-player iframe { width:100%; height:100%; border:0; }
.programme-still.is-playing-inline>img { min-height:200px; }
.programme-still.is-playing-inline .programme-play { display:none; }
.programme-play { position:absolute; left:24px; bottom:66px; display:flex; gap:12px; align-items:center; background:#eee6d5; color:#181511; text-decoration:none; padding:12px 20px 12px 13px; min-height:50px; font-size:12px; font-weight:700; border:1px solid #fff4dc; box-shadow:0 4px 20px #0005; }
.programme-play__icon { display:grid; place-items:center; width:26px; height:26px; border:1px solid #887b67; border-radius:50%; font-size:10px; padding-left:2px; }
.programme-still figcaption { display:flex; justify-content:space-between; gap:16px; align-items:center; min-height:48px; padding:12px 0; color:#b1a99b; font-size:10px; border-bottom:1px solid #413d36; }
.programme-still figcaption>span { text-transform:uppercase; letter-spacing:.08em; }
.programme-still figcaption a { color:inherit; text-underline-offset:4px; }
.programme-film__notes { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(170px,1fr); gap:clamp(24px,5vw,72px); margin:34px 0 44px; }
.programme-summary { font-size:clamp(17px,1.7vw,23px); line-height:1.6; margin:0 0 30px; max-width:40ch; font-weight:400; }
.programme-facts { margin:0; display:grid; gap:20px; }
.programme-facts dt,.programme-credits dt { font-size:10px; color:#aaa091; line-height:1.5; margin-bottom:5px; }
.programme-facts dd { margin:0; font-size:13px; line-height:1.6; }
.programme-credits h3 { margin:0 0 18px; padding:0 0 12px; border-bottom:1px solid #413d36; font-weight:500; font-size:12px; }
.programme-credits dl { margin:0; display:grid; gap:15px; }
.programme-credits dd { margin:0; font-size:14px; line-height:1.5; }
.programme-distinction { border-left:1px solid #9d835c; padding-left:15px; margin:28px 0 0; }
.programme-distinction .programme-label { display:block; margin-bottom:8px; font-size:9px; }
.programme-distinction a { color:#d8c5a4; font-size:11px; line-height:1.7; text-decoration:none; }
.programme-film__end { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #575148; padding:22px 0; }
.programme-film__end a { color:#eee6d5; font-size:14px; text-decoration:none; line-height:1.6; }
.programme-film__end a span { display:block; color:#bfa67b; font-size:11px; }
.programme-film__end button,.programme-extras button { border:0; background:none; color:#c2b69e; padding:12px 0; font:inherit; font-size:11px; cursor:pointer; text-align:left; }
.programme-status { min-height:1.5em; font-size:12px; color:#d8bd8a; margin:12px 0; }
.programme-extras { margin-top:58px; border-top:1px solid #575148; border-bottom:1px solid #575148; }
.programme-extras summary { display:flex; align-items:center; gap:24px; padding:26px 0; cursor:pointer; list-style:none; }
.programme-extras summary::-webkit-details-marker { display:none; }
.programme-extras summary>span:nth-child(2) { flex:1; font-size:19px; letter-spacing:-.02em; }
.programme-extras summary>span:last-child { font-size:24px; color:#bdaa8d; }
.programme-extras[open] summary>span:last-child { transform:rotate(45deg); }
.programme-extras__body { padding:0 0 28px; }
.programme-extras__body>p { color:#b1a99b; font-size:14px; line-height:1.7; }
.programme-shorts { display:flex; gap:25px; max-width:700px; margin:25px 0; }
.programme-shorts figure { margin:0; flex:1; min-width:0; }
.programme-shorts video { width:100%; max-height:480px; background:#000; }
.programme-shorts figcaption { margin-top:14px; font-size:18px; }
.programme-shorts figcaption span { display:block; color:#b1a99b; font-size:11px; margin-top:5px; }
.programme-extras__links { display:flex; align-items:center; gap:30px; }
.programme-extras__links a { color:#c2b69e; font-size:11px; text-decoration:none; padding:12px 0; }
.screening-programme [hidden] { display:none !important; }
.screening-programme a:focus-visible,.screening-programme button:focus-visible,.screening-programme summary:focus-visible { outline:2px solid #efcc8d; outline-offset:5px; }
.screening-programme h2:focus,.screening-programme:focus { outline:none; }
.theatre-reel.is-video .theatre-reel__video { pointer-events:auto; }
.theatre-reel.is-video { pointer-events:auto; }
.theatre-reel__grade { pointer-events:none; }
.video-footer { padding:28px clamp(26px,5vw,72px); color:#9ca2ad; background:#050608; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.video-footer p { margin:0; } .video-footer a { color:#fff; }
.programme-still{scroll-margin-top:calc(var(--environment-header-height,72px) + 16px)}
@media(max-width:850px) {
  .programme-shell { width:calc(100% - 40px); }
  .programme-selection { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:28px; }
  .programme-index { position:static; }
  .programme-index ol { margin:12px 0 0; display:flex; overflow-x:auto; scroll-snap-type:x proximity; }
  .programme-index li { flex:0 0 200px; border-bottom:0; border-right:1px solid #413d36; scroll-snap-align:start; }
  .programme-index li a { height:100%; padding:15px 14px; }
  .programme-index__commission { display:none; }
  .programme-film h2 { font-size:clamp(38px,8.5vw,70px); }
  .programme-extras { margin-top:24px; }
}
@media(max-width:520px) {
  .programme-shell { width:calc(100% - 32px); }
  .programme-masthead { align-items:flex-start; padding:23px 0; font-size:10px; gap:15px; }
  .programme-masthead p { max-width:18ch; line-height:1.6; }
  .programme-masthead p span { padding:0 3px; }
  .programme-masthead a { line-height:1.6; padding:0 0 10px; text-align:right; }
  .programme-film__notes { grid-template-columns:1fr; gap:30px; margin-top:25px; }
  .programme-summary { font-size:18px; }
  .programme-credits dl { grid-template-columns:1fr 1fr; gap:19px; }
  .programme-play { bottom:65px; left:12px; padding:8px 12px; min-height:44px; font-size:11px; }
  .programme-still figcaption { min-height:50px; font-size:9px; }
  .programme-film__end { align-items:flex-start; }
  .programme-film__end a { font-size:13px; }
  .programme-film__end button { flex:none; font-size:10px; }
  .programme-extras summary { gap:14px; }
  .programme-extras summary .programme-label { max-width:10ch; }
  .programme-extras summary>span:nth-child(2) { font-size:16px; }
  .programme-extras__links { gap:22px; }
  .programme-shorts { gap:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .theatre-reel__slot { transition:none; transform:none; }
  .theatre-reel__art,.theatre-toggle-pulse,.theatre-transport-terminal__beacon { animation:none !important; }
  .video-hotspot__matte,.video-hotspot__surface,.video-hotspot__label,.video-floor__image { transition:none; }
}
