/* Public cinema: a fixed left rail and an inset, open editorial programme. */
:root{--cinema-red:#ef352c;--accent:var(--cinema-red);--type-caption:16px;--type-body:20px;--type-film:48px}
body{font-size:20px}
.shell{width:auto;max-width:1440px;margin-left:clamp(216px,19.25vw,340px);margin-right:clamp(40px,3.6vw,72px)}
.meta,small{font-size:16px}.text-link{font-size:20px;min-height:44px}figcaption{font-size:16px}
:focus-visible{outline-color:var(--cinema-red)}
.site-header,.drawer-header{display:block;min-height:168px;padding:60px 0 36px;border:0}
.site-header .wordmark,.drawer-header .wordmark{position:fixed;top:60px;left:52px;z-index:20;font-size:24px;line-height:1;letter-spacing:.12em;writing-mode:vertical-rl;text-orientation:upright;font-weight:500}
.site-header .wordmark-period,.drawer-header .wordmark-period{display:none}
.site-header .brand-description,.drawer-header .brand-description{font-size:24px;line-height:1.3;padding:0;max-width:520px}
.menu-trigger,.drawer-close{position:fixed;left:52px;bottom:40px;z-index:20;display:flex;flex-direction:column-reverse;align-items:start;gap:4px;min-height:48px;padding:8px 0;font-size:16px;line-height:1.1}
.menu-trigger svg,.drawer-close svg{width:40px;height:24px}
.drawer-body{padding-block:32px 64px}.drawer-note{display:none}.drawer-navigation{grid-column:1/-1}
.drawer-footer{font-size:16px}.drawer-footer>span{grid-column:1/span 4}.drawer-footer>a:nth-child(2){grid-column:5/span 5}
.section-running-head{font-size:24px;padding:24px 0 20px;gap:24px}
.section-running-head h1{font:inherit;letter-spacing:inherit}.section-running-head>span{font-size:18px}
.footer-top>p,.footer-links,.footer-bottom{font-size:16px}
.footer-top{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.footer-mark{grid-column:1/span 4}.footer-top>p{grid-column:5/span 4}.footer-links{grid-column:10/-1}
.page-heading>p,.series-index-item>div>p:not(.meta),.journal-index article>p:not(.meta){font-size:20px}
.journal-teaser .meta,.journal-index .meta,.article-end .meta{font-size:16px}
.film-detail-heading>div>p{font-size:20px}.film-detail-heading>div>p+p{font-size:18px}
.film-synopsis>.lead{font-size:32px;line-height:1.4;max-width:60ch}
.film-synopsis>p:not(.lead){font-size:24px;line-height:1.55;max-width:65ch}
.credits-list>div,.upcoming-screenings>p,.detail-showtime>div{font-size:18px}
.series-film-line>span,.series-film-line .text-link,.visit-info p,.page-back .text-link,.film-synopsis .text-link,.detail-showtime .text-link{font-size:18px}

/* Intrinsic title widths stagger the stills, rather than creating inner columns. */
.now-showing{padding-bottom:0}
.home-film-programme{padding-block:12px 24px}
.home-film{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;padding:12px 0 24px;transition:color 180ms var(--ease)}
.home-film-title{flex:0 1 auto;font-size:clamp(72px,6.67vw,96px);line-height:1;font-weight:500;letter-spacing:-.04em;text-wrap:initial;max-width:100%;padding-bottom:6px}
.home-film-image{flex:0 0 170px;width:170px;display:block;min-width:0;padding-top:5px}
.home-film-info{flex:0 1 200px;min-width:0;padding-top:2px}
.home-film-director,.home-film-origin{font-size:20px;line-height:1.25}.home-film-origin{color:var(--muted);margin-top:2px}
.home-film-times{margin-top:8px}.home-film-times p{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;font-size:20px;line-height:1.25}
.home-film-times time{font-size:24px;font-variant-numeric:tabular-nums}
.home-actions{display:flex;align-items:baseline;flex-wrap:wrap;gap:24px 48px;padding:16px 0 64px}
.home-actions>.text-link:first-child{font-size:36px}.home-actions>.text-link{font-size:24px}

/* Large series and smaller illustrated stories alternate through the page. */
.editorial-feed{padding-bottom:32px}
.editorial-series,.editorial-story{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start;padding-block:72px}
.editorial-series>figure{grid-column:7/-1;grid-row:1}
.editorial-series-copy{grid-column:1/span 6;grid-row:1;min-width:0}
.editorial-series h2{font-size:clamp(64px,6.67vw,96px);font-weight:500;line-height:1;letter-spacing:-.04em;margin-bottom:32px}
.editorial-series-copy>p:not(.meta){font-size:24px;line-height:1.4;max-width:32ch}
.editorial-series-copy>.meta{font-size:20px;margin-top:24px}.editorial-series .text-link{margin-top:12px}
.editorial-story{padding-block:48px 72px}.editorial-story>figure{grid-column:1/span 5}.editorial-story>div{grid-column:7/-1;min-width:0}
.editorial-story h2{font-size:36px;line-height:1.12;font-weight:600;margin-bottom:24px}
.editorial-story p:not(.meta){font-size:24px;line-height:1.4;max-width:40ch}.editorial-story .meta{font-size:18px;margin-top:24px}.editorial-story .text-link{margin-top:8px}

/* Shared image catalogue: complete film framing, type and unboxed information. */
.screening-image{display:block;min-width:0}
.screening-film{min-width:0}.screening-film h3{font:inherit}.film-title{font-size:48px;line-height:1.08;font-weight:500}
.screening-film p{font-size:20px;line-height:1.4;margin-top:16px;max-width:36ch}
.screening-meta{font-size:20px;line-height:1.4;padding:0;min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 20px;margin-top:16px}
.screening-meta>span:last-child{flex-basis:100%}
.screening-time{display:flex;flex-direction:row;align-items:baseline;gap:16px;margin-bottom:12px;min-width:0;padding:0}
.screening-time time{font-size:24px;font-variant-numeric:tabular-nums;line-height:1.2}
.screening-action{align-self:start;margin-top:12px;justify-self:start;min-width:0}.ticket-link,.sold-out{font-size:20px}.ticket-link{gap:32px}
.screening-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 24px;border:0;align-items:start}
.screening-catalogue .screening-row{display:flex;flex-direction:column;align-items:stretch;gap:0;border:0;padding:0;min-width:0;transition:color 180ms var(--ease),opacity 180ms var(--ease)}
.screening-catalogue .screening-image{margin-bottom:24px}
.home-programme{border:0;padding-top:64px}.programme-header h2{font-size:24px;font-weight:500;line-height:1.25}.programme-date{font-size:20px}
.home-programme>.screening-catalogue{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-programme .film-title{font-size:40px}.home-programme .screening-film p,.home-programme .screening-meta{font-size:18px}
.home-programme .section-tail{margin-top:32px;gap:24px}.section-tail>.meta{font-size:16px}.section-tail>.text-link{font-size:20px}

.page-programme.shell{margin-left:clamp(160px,11.46vw,240px)}
.programme-toolbar{gap:32px}.date-strip{gap:8px;max-width:calc(100% - 240px)}
.date-button{min-width:64px;min-height:92px}.date-button>span{font-size:16px}.date-button>strong{font-size:32px}
.film-filter{min-width:200px}.film-filter>span{font-size:16px}.film-filter select{font-size:20px;min-height:44px}.film-filter option{font-weight:500}
.programme-day{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px solid var(--rule);padding-top:32px}
.programme-day>.results-header{grid-column:1/span 2;display:block;margin:0;min-width:0}
.results-header h2{font-size:28px;line-height:1.2;font-weight:500;text-wrap:normal}.results-header p{font-size:18px;color:var(--muted);margin-top:12px}
.programme-day>.screening-catalogue{grid-column:3/-1}.programme-day>.empty-state{grid-column:3/-1;border:0;padding-top:0}
.programme-note{font-size:16px;line-height:1.6;max-width:75ch;margin-top:48px}

/* Content alone triggers emphasis; empty space and other films stay quiet. */
.home-film,.screening-row{--film-foreground:var(--ink);--film-secondary:var(--muted);color:var(--film-foreground)}
.home-film .home-film-origin,.screening-row .screening-film p,.screening-row .screening-meta,.screening-row .screening-meta>span,.screening-row .sold-out{color:var(--film-secondary)}
.home-film:focus-within,.screening-row:focus-within{--film-foreground:var(--cinema-red);--film-secondary:var(--cinema-red)}
.editorial-series:has(a:hover),.editorial-series:focus-within,.editorial-story:is(:hover,:focus-visible){color:var(--cinema-red)}
.editorial-series:has(a:hover) .meta,.editorial-series:focus-within .meta,.editorial-story:is(:hover,:focus-visible) .meta{color:inherit}
@media(hover:hover) and (pointer:fine){
  .home-film:has(.home-film-title a:hover,.home-film-image img:hover,.film-hover-target:hover),
  .screening-row:has(.film-title:hover,.screening-image img:hover,.film-hover-target:hover,.ticket-link>span:hover,.ticket-link>svg:hover){--film-foreground:var(--cinema-red);--film-secondary:var(--cinema-red)}
}

@media(min-width:768px) and (max-width:1199px){
  .home-film-title{font-size:64px}.home-film-image{flex-basis:140px;width:140px}.home-film-info{flex-basis:180px}
  .home-programme>.screening-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}
  .programme-day>.results-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline}.results-header p{margin:0}.programme-day>.screening-catalogue{grid-column:1/-1}
  .editorial-series h2{font-size:64px}.editorial-series-copy>p:not(.meta),.editorial-story p:not(.meta){font-size:20px}
}
@media(max-width:1023px){
  .shell,.page-programme.shell{margin-left:104px;margin-right:32px}
  .site-header .wordmark,.drawer-header .wordmark{left:28px;top:40px;font-size:22px}.menu-trigger,.drawer-close{left:28px;bottom:24px}
  .site-header,.drawer-header{padding-top:40px;min-height:144px}.drawer-navigation a{font-size:64px}
}
@media(max-width:767px){
  body{font-size:20px}.shell,.page-programme.shell{margin-left:80px;margin-right:24px}
  .site-header,.drawer-header{min-height:144px;padding:32px 0 24px}.site-header .wordmark,.drawer-header .wordmark{left:24px;top:32px;font-size:20px}
  .site-header .brand-description,.drawer-header .brand-description{display:block;font-size:20px;line-height:1.3}
  .menu-trigger,.drawer-close{left:24px;bottom:24px;font-size:16px;gap:4px}.menu-trigger svg,.drawer-close svg{width:32px;height:24px}
  .drawer-body{padding-block:24px 40px}.drawer-navigation a{font-size:40px}.drawer-footer{font-size:16px;display:block}.drawer-footer>*{display:block;margin-top:16px}
  .section-running-head{font-size:20px;align-items:start;flex-direction:column;gap:8px;padding:16px 0 24px}.section-running-head>span{font-size:16px}
  .home-film{gap:16px;padding:8px 0 32px}.home-film-title{flex-basis:100%;font-size:56px;line-height:1.02;padding:0}
  .home-film-image{flex-basis:100%;width:100%;padding:0}.home-film-info{flex-basis:100%;padding:0}
  .home-film-director,.home-film-origin{font-size:20px}.home-film-times{margin-top:8px}
  .home-actions{gap:12px 24px;padding:8px 0 40px}.home-actions>.text-link:first-child{font-size:32px}.home-actions>.text-link{font-size:20px}
  .editorial-series,.editorial-story{display:flex;flex-direction:column;gap:24px;padding-block:40px}
  .editorial-series>figure{order:1}.editorial-series-copy{order:0}.editorial-series h2{font-size:56px;line-height:1.02;margin-bottom:24px}
  .editorial-series-copy>p:not(.meta),.editorial-story p:not(.meta){font-size:20px;line-height:1.45}
  .editorial-series-copy>.meta,.editorial-story .meta{font-size:16px;margin-top:20px}.editorial-story h2{font-size:32px}
  .home-programme{padding-top:40px}.programme-header{gap:20px}.programme-header h2{font-size:28px}.programme-date{font-size:18px;max-width:none}
  .home-programme>.screening-catalogue,.screening-catalogue{grid-template-columns:1fr;gap:48px}
  .home-programme .film-title,.film-title{font-size:48px}.home-programme .screening-film p,.home-programme .screening-meta{font-size:20px}
  .screening-catalogue .screening-row{padding:0}.screening-time time{font-size:24px}.screening-film p,.screening-meta,.ticket-link{font-size:20px}
  .screening-image,.screening-film,.screening-meta,.screening-action{grid-column:auto;grid-row:auto}.screening-meta{gap:4px 16px}.screening-action{align-self:start}
  .programme-toolbar{gap:24px}.date-strip{max-width:100%;gap:4px}.date-button{min-width:60px;min-height:84px}.date-button>span{font-size:16px}.date-button>strong{font-size:32px}
  .film-filter{min-width:0;gap:16px}.film-filter>span{font-size:16px}.film-filter select{font-size:20px;max-width:none;min-width:0}
  .programme-day{grid-template-columns:1fr;gap:32px;padding-top:24px}.programme-day>.results-header{grid-column:1;display:block}.results-header h2{font-size:32px;max-width:none}.results-header p{font-size:18px;margin-top:8px}
  .programme-day>.screening-catalogue,.programme-day>.empty-state{grid-column:1}.programme-note{font-size:16px;margin-top:32px}
  .page-heading h1{font-size:48px}.page-heading>p,.series-index-item>div>p:not(.meta),.journal-index article>p:not(.meta){font-size:20px}
  .film-detail-heading h1{font-size:48px}.film-detail-heading>div>p{font-size:20px}.film-detail-heading>div>p+p{font-size:18px}.film-synopsis>.lead{font-size:28px;line-height:1.45}.film-synopsis>p:not(.lead){font-size:22px;line-height:1.55}.credits-list>div,.upcoming-screenings>p,.detail-showtime>div{font-size:18px}
  .credits-list>div{grid-template-columns:1fr;gap:8px}.detail-showtime{align-items:start;flex-direction:column;gap:8px}.detail-showtime>div{align-items:start;flex-direction:column;gap:8px}.detail-showtime .text-link{font-size:20px;margin-left:0}
  .series-film-line>span,.series-film-line .text-link{font-size:18px}.series-film-line{grid-template-columns:1fr}.series-film-line>*{grid-column:1/-1}.series-film-line .text-link{justify-self:start}
  .footer-top{display:block}.footer-mark{font-size:48px}.footer-top>p{margin-top:24px}.footer-links{margin-top:24px;display:flex;font-size:18px}
  .footer-bottom{display:flex;flex-direction:column;font-size:16px;align-items:start;gap:16px}.footer-bottom>span:nth-child(2),.footer-bottom>a:last-child,.footer-bottom>a:nth-child(3){justify-self:start}
}
@media(max-width:359px){.page-heading h1{font-size:40px}.editorial-series h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.home-film,.home-film img,.screening-row,.screening-row img{transition:none}}

/* Preserve a programme screening choice inside the film detail. */
.detail-showtime.is-selected{border-top-color:var(--cinema-red)}
.detail-showtime .selected-screening-label{font-size:16px;line-height:1.4;color:var(--cinema-red)}

/* Film details: readable production credits, followed by a full-width timetable. */
.editorial-film-links{display:flex;flex-direction:column;align-items:start;margin-top:16px;gap:4px}
.editorial-film-links .text-link{margin:0;font-size:24px;max-width:100%}
.film-detail-body{align-items:start;row-gap:64px}
.film-detail-body h2{font-size:36px;margin-bottom:24px}
.film-synopsis{grid-column:1/span 6}
.film-information{grid-column:8/-1;min-width:0}
.film-information .credits-list{margin:0;border:0;display:flex;flex-direction:column;gap:20px}
.film-information .credits-list>div{display:grid;grid-template-columns:minmax(112px,.7fr) minmax(0,1.3fr);gap:24px;border:0;padding:0;font-size:24px;line-height:1.4}
.film-information dt{color:var(--ink);font-size:20px;font-weight:600;line-height:1.4}
.film-information dd{min-width:0;overflow-wrap:anywhere}
.film-source-note{font-size:16px;line-height:1.6;color:var(--muted);margin-top:32px}
.film-source-note a{text-decoration:underline;text-underline-offset:4px}
.film-detail-body .upcoming-screenings{grid-column:1/-1;width:100%;margin-top:16px}
.detail-screenings-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.detail-screenings-heading h2{margin:0}.detail-screenings-heading p{font-size:20px}
.detail-showtimes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:8px}
.detail-showtimes .detail-showtime{display:flex;flex-direction:row;align-items:center;gap:16px;padding:24px 0;min-width:0}
.detail-showtimes .detail-showtime>div{display:flex;flex-direction:column;align-items:start;flex:1;gap:4px;min-width:0;font-size:20px}
.detail-showtimes .detail-showtime strong{font-size:36px;line-height:1.1}
.detail-showtimes .detail-screen-name{font-size:18px;color:var(--muted)}
.detail-showtimes .text-link{font-size:20px;gap:12px;margin:0;align-self:center;max-width:150px}
.detail-showtimes .selected-screening-label{font-size:18px}
@media(min-width:768px) and (max-width:1199px){
 .film-synopsis{grid-column:1/span 6}.film-information{grid-column:7/-1}
 .film-information .credits-list>div{grid-template-columns:1fr;gap:4px}
 .detail-showtimes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .editorial-film-links .text-link{font-size:20px}
 .film-detail-body{display:flex;flex-direction:column;gap:48px;padding-top:40px}
 .film-detail-body h2{font-size:32px}.film-synopsis,.film-information{width:100%}
 .film-information .credits-list{gap:24px}.film-information .credits-list>div{grid-template-columns:1fr;gap:6px;font-size:24px}
 .film-information dt{font-size:20px}.film-source-note{font-size:16px}
 .film-detail-body .upcoming-screenings{margin:0}.detail-screenings-heading{display:block;margin-bottom:24px}
 .detail-screenings-heading p{margin-top:12px}.detail-showtimes{grid-template-columns:1fr}
 .detail-showtimes .detail-showtime{flex-direction:row;padding:24px 0}.detail-showtimes .detail-showtime>div{font-size:20px}
 .detail-showtimes .text-link{font-size:20px;gap:8px;max-width:120px}
}
