/* Public cinema shell: a single axis, a quiet masthead and a full-view drawer. */
.site-header,.drawer-header{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:center;min-height:144px;border-bottom:1px solid var(--rule)}
.site-header .wordmark,.drawer-header .wordmark{grid-column:1/span 4;font-size:64px;justify-self:start}
.site-header .brand-description,.drawer-header .brand-description{grid-column:6/span 3;padding-left:0;font-size:13px;line-height:1.35}
.menu-trigger,.drawer-close{grid-column:11/-1;display:flex;align-items:center;justify-self:end;gap:24px;min-height:48px;padding:8px 0;border:0;background:transparent;color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.menu-trigger:focus-visible,.drawer-close:focus-visible{outline-offset:8px}
.feature-title{margin-left:0;font-weight:500}
.feature-bottom{width:100%;max-width:none}
.feature-copy{padding-bottom:28px}
.feature-view{gap:64px}
.feature-screenings a{padding-block:14px;grid-template-columns:1fr 64px 20px}
.series-feature-copy h3{margin-left:0}
.section-header h2{font-weight:500}
.journal-teaser h3{font-weight:500}
.text-link,.film-title,a,button{transition:color 180ms var(--ease)}
a:hover,button:not(:disabled):hover{color:var(--accent)}
.icon-button:not(:disabled):hover{background:transparent;border-color:var(--ink);color:var(--accent)}
.date-button:not(.selected):hover{color:var(--accent)}
.menu-open{overflow:hidden}
.menu-drawer{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;margin:0;border:0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.menu-drawer:not([open]){display:none}
.menu-drawer[open]{display:flex;flex-direction:column;animation:drawer-enter 380ms var(--ease)}
.menu-drawer::backdrop{background:#000}
.drawer-header{flex-shrink:0}
.drawer-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-block:64px;flex:1;align-items:start}
.drawer-note{grid-column:1/span 4;font-size:22px;line-height:1.35;letter-spacing:-.02em}
.drawer-navigation{grid-column:6/-1;display:flex;flex-direction:column;align-items:start;gap:16px}
.drawer-navigation a{font-size:clamp(48px,6.1vw,88px);line-height:1.08;letter-spacing:-.04em;font-weight:500;padding:4px 0;max-width:100%;text-wrap:balance}
.drawer-navigation a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.drawer-footer{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:center;padding:24px 0 40px;border-top:1px solid var(--rule);flex-shrink:0;font-size:12px;color:var(--muted)}
.drawer-footer>span{grid-column:1/span 4}.drawer-footer>a:nth-child(2){grid-column:6/span 4}.drawer-footer>a:last-child{grid-column:10/-1;justify-self:end}
@keyframes drawer-enter{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}

@media(max-width:1199px){.drawer-navigation a{font-size:6.5vw}.site-header .wordmark,.drawer-header .wordmark{font-size:56px}.menu-trigger,.drawer-close{gap:16px}}
@media(max-width:767px){
  .site-header,.drawer-header{min-height:104px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .site-header .wordmark,.drawer-header .wordmark{font-size:44px;grid-column:1/span 2}
  .site-header .brand-description,.drawer-header .brand-description{display:none}
  .menu-trigger,.drawer-close{grid-column:3/-1;font-size:12px;gap:16px}
  .menu-trigger svg,.drawer-close svg{width:24px}
  .feature-title{margin-left:0}.feature-bottom{padding:0;display:block}.feature-screenings a{grid-template-columns:1fr 48px 16px;padding-block:13px}.feature-view{display:flex;width:100%;justify-content:space-between;margin-top:16px;gap:24px}
  .drawer-body{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 16px;padding-block:40px;align-content:start}
  .drawer-note{grid-column:1/-1;font-size:15px}.drawer-note br{display:none}
  .drawer-navigation{grid-column:1/-1;gap:12px}.drawer-navigation a{font-size:clamp(40px,11vw,64px);line-height:1.15}
  .drawer-footer{grid-template-columns:1fr;gap:16px;font-size:11px;padding:24px 0 32px}
  .drawer-footer>span,.drawer-footer>a:nth-child(2),.drawer-footer>a:last-child{grid-column:1;justify-self:start}
  .drawer-footer>a{padding-block:4px}
}
@media(max-width:359px){.site-header .wordmark,.drawer-header .wordmark{font-size:40px}.feature-bottom{grid-template-columns:1fr}.feature-view{justify-self:end}.drawer-navigation a{font-size:40px}}
@media(prefers-reduced-motion:reduce){.menu-drawer[open]{animation:none}}
@media print{.menu-drawer,.menu-trigger{display:none!important}}

/* Programme and editorial entries share the page grid rather than card frames. */
.icon-button{border:0}
.drawer-navigation a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.menu-trigger:hover span,.drawer-close:hover span{text-decoration:underline;text-underline-offset:5px}
.journal-teasers{display:block}
.journal-teaser{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding:32px 0 40px;border-top:1px solid var(--rule);align-items:start}
.journal-teaser>.meta{grid-column:1/span 3;padding-top:8px}
.journal-teaser h3{grid-column:4/span 8;max-width:760px;margin:0;font-size:clamp(28px,2.8vw,40px)}
.journal-teaser .teaser-arrow{grid-column:12;position:static;justify-self:end;padding-top:8px}
.series-index-item{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.series-index-item>figure{grid-column:1/span 7}
.series-index-item>div{grid-column:9/-1;padding:0}
.series-index-item .text-link{margin-top:32px;padding-top:0}
.journal-index{display:flex;flex-direction:column;gap:64px}
.journal-index article{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 24px;border-top:1px solid var(--rule);padding-top:32px;align-items:start}
.journal-index .journal-image{grid-column:1/span 5;grid-row:1/span 4;margin:0}
.journal-index article>.meta,.journal-index article>h2,.journal-index article>p,.journal-index article>.text-link{grid-column:7/-1}
.journal-index article>h2{margin:0}
.journal-index article>p:not(.meta){margin:0;max-width:54ch}
.journal-index article>.text-link{justify-self:start}
@media(max-width:767px){
  .journal-teaser{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px 0 32px}
  .journal-teaser>.meta{grid-column:1/span 3;padding:0}
  .journal-teaser h3{grid-column:1/span 3;grid-row:2;font-size:28px}
  .journal-teaser .teaser-arrow{grid-column:4;grid-row:2;padding-top:4px}
  .series-index-item{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .series-index-item>figure,.series-index-item>div{grid-column:1/-1}
  .journal-index{gap:48px}.journal-index article{display:block;padding-top:24px}
  .journal-index .journal-image{margin-bottom:24px}.journal-index article>h2{margin-top:16px}
  .journal-index article>p:not(.meta){margin-top:20px;font-size:15px}.journal-index article>.text-link{margin-top:16px}
}
