/* October review: readable controls, clear room exits, and stable page layouts. */
html { scroll-padding-top: calc(var(--environment-header-height, 72px) + 24px); }
:is(#welcome,#gnosis,#originals,#cast,#personnel,#screening-programme,#contact,#brief,#scripts,#credits,#room-content) { scroll-margin-top:0!important; }
body.mq-typography .mq-skip-link { font-size:16px; }
body { font-size: 16px; }
body.mq-typography #site-nav a { font-size:11px; }
body.mq-typography #site-nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: #ed424a; text-underline-offset: 9px; text-decoration-thickness: 2px; }
body.mq-typography :is(.entry__skip,.skip-link) { font-size: 21px; min-height: 44px; display: inline-flex; align-items: center; }
body.mq-typography .room-visitor__identity { flex-wrap: wrap; font-size: 16px; letter-spacing: .07em; }
.room-scroll-cue { display:flex; align-items:center; justify-content:center; gap:12px; flex-shrink:0; min-height:44px; margin-top:auto; padding-top:16px; color:#d5e4ee; opacity:.6; text-decoration:none; font-size:16px; transition:opacity .18s; }
.room-scroll-cue > span:first-child { font-size:28px; line-height:1; }
.room-scroll-cue:hover,.room-scroll-cue:focus-visible { opacity:1; color:#fff; }
.room-scroll-cue:focus-visible { outline:2px solid #82aaff; outline-offset:3px; }
.elevator-navigating > .elevator-transition { position:fixed!important; inset:0!important; width:100vw!important; height:100dvh!important; max-width:none!important; z-index:100000; }
.elevator-navigating { overflow-anchor:none; }
.listening-brand { display:grid; align-content:center; justify-items:start; gap:24px; min-width:0; }
.listening-brand .listening-wordmark { width:100%; height:auto; }
.listening-series-links { display:flex; gap:16px 24px; flex-wrap:wrap; margin-top:24px; }
.listening-series-links a,.review-link { color:#a9c7ff; font-size:18px; text-underline-offset:5px; }
body.mq-typography .listening-footer { display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center; padding-block:64px; }
body.mq-typography .listening-footer h2 { margin:0; font-size:clamp(32px,4vw,54px); }
.review-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:14px 24px; border:1px solid currentColor; color:#a9c7ff; font-size:18px; text-decoration:none; }
.review-button:hover,.review-button:focus-visible { color:#fff; background:#17324d; }
.cast-frame-art { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }
.cast-frame-art image { filter:brightness(.68) saturate(.7) sepia(.14); }
body.mq-typography :is(.script-shelf,.production-cast,.production-crew)>header { display:block; text-align:left; }
body.mq-typography :is(.script-shelf,.production-cast,.production-crew)>header h2 { max-width:24ch; font-size:clamp(32px,4vw,52px); color:#17191d; margin:0 0 28px; }
.evidence-terminal { position:relative; }
.evidence-image-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; }
.evidence-image-controls button { width:44px; min-height:44px; border:1px solid #91a294; background:#16221e; color:#ecf5ed; font-size:24px; cursor:pointer; }
.evidence-image-controls button:focus-visible { outline:3px solid #8abaff; outline-offset:2px; }
.evidence-image-controls span { font-size:16px; }
.evidence-terminal__rail button { min-width:56px; min-height:60px; }
.evidence-terminal__rail { overflow-x:auto; }
body.mq-typography .programme-still { display:grid; grid-template-columns:minmax(0,1fr); }
.programme-still>img,.programme-still>.programme-play { grid-area:1 / 1; }
body.mq-typography .programme-play { position:relative; inset:auto; align-self:center; justify-self:center; z-index:2; margin:16px; padding:18px 24px; min-height:64px; font-size:20px; background:#f8f0dc; box-shadow:0 4px 32px #000b; }
body.mq-typography .programme-play__icon { width:38px; height:38px; font-size:18px; }
.programme-still figcaption { grid-row:2; flex-wrap:wrap; }
body.mq-typography .programme-film__end { display:flex; flex-direction:column; align-items:center; padding:56px 20px; gap:32px; text-align:center; }
.programme-consultation { max-width:680px; }
body.mq-typography .programme-consultation h3 { font-size:clamp(30px,3.5vw,44px); margin:0 0 18px; }
.programme-consultation p { font-size:20px; margin:0 0 28px; }
.programme-number,[data-film-number],.programme-index li a>span:first-child { display:none; }
body.mq-typography .programme-index li a { grid-template-columns:minmax(0,1fr); }
body.mq-typography .programme-index :is(strong,small) { grid-column:1; }
.office-slideshow-feedback { position:fixed; z-index:10000; padding:10px 14px; max-width:220px; box-sizing:border-box; border:1px solid #c3b586; border-radius:3px; background:#10191cf2; color:#fff; font:16px/1.5 'DM Sans',sans-serif; pointer-events:none; }
.office-slideshow-feedback[hidden] { display:none; }
.rooftop-next { position:absolute; z-index:15; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:24px; background:linear-gradient(90deg,transparent,#07121ab8,transparent); text-align:center; }
.fei-controls[hidden] { display:none; }
.rooftop-next p { margin:0 0 8px; color:#fff; font:500 clamp(22px,3vw,38px)/1.2 'DM Sans',sans-serif; }
.rooftop-next a,.rooftop-next button { display:flex; align-items:center; justify-content:center; width:min(330px,90%); min-height:48px; padding:12px 18px; border:1px solid #a5bad0; color:#fff; background:#101e2be8; font:500 18px/1.4 'DM Sans',sans-serif; text-decoration:none; cursor:pointer; }
.rooftop-next a:hover,.rooftop-next button:hover { background:#294463; }
.rooftop-next :focus-visible { outline:3px solid #bdd4ff; outline-offset:3px; }
.news-content,.news-shell,.mq-post { min-width:0; }
.news-content img { max-width:100%; height:auto; }
.news-content .mq-post>img { width:100%; max-height:440px; object-fit:contain; }
.news-content .mq-post-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
body.mq-typography .news-content h2 { overflow-wrap:break-word; }
.news-content :is(p,a,h1,h2,h3) { overflow-wrap:anywhere; }
.news-content .news-shell { max-width:calc(100% - 40px); }
.news-content .mq-collections.news-shell { width:min(1440px,calc(100% - clamp(40px,8vw,144px))); }
@media(max-width:1550px) {
  .site-header { gap:20px; }
  #site-nav { gap:18px; }
  #site-nav a { letter-spacing:0; }
}
@media(max-width:1200px) {
  .site-header .menu-toggle { display:block; }
  .site-header #site-nav { display:none; }
  .site-header #site-nav.is-open { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; padding:20px; background:#08090b; max-height:calc(100dvh - 130px); overflow-y:auto; }
  .site-header #site-nav.is-open a { min-height:44px; }
}
@media(max-width:760px) {
  .room-scroll-cue { justify-content:flex-start; margin-top:20px; }
  .listening-series-links { flex-direction:column; }
  .programme-still .programme-play { font-size:16px; min-height:52px; padding:12px 16px; }
  .rooftop-next { gap:8px; padding:10px; }
  .rooftop-next p { display:none; }
  .rooftop-next a,.rooftop-next button { min-height:44px; padding:6px 14px; font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .room-scroll-cue { transition:none; } }
