/* Tight film typography and intrinsic stills form a continuous programme. */
/* Film records use a light reading surface, including shared page chrome. */
:root.film-light{
 --paper:#fff;--ink:#000;--muted:#595959;--rule:#b3b3b3;
 --cinema-red:#b7251d;--accent:var(--cinema-red);color-scheme:light;
}
.site-header{min-height:56px;padding:0;border:0}
.menu-trigger,.drawer-close{font-size:24px;left:44px;gap:6px}
.menu-trigger svg,.drawer-close svg{width:44px;height:38px}
@media(min-width:768px) and (max-width:1199px){.menu-trigger,.drawer-close{left:20px}}
@media(max-width:767px){.menu-trigger,.drawer-close{font-size:22px;left:16px}.menu-trigger svg,.drawer-close svg{width:36px;height:32px}}
.drawer-header{min-height:96px;padding-block:40px 16px}
.page-home.shell{margin-left:calc(clamp(112px,10vw,176px) + 24px);margin-right:max(16px,calc(clamp(32px,3.3vw,64px) - 24px));max-width:1680px}
.page-home .section-running-head{padding:0 0 20px}
.page-home .home-film-programme{padding:0}
.page-home .home-film{gap:16px;align-items:flex-start;padding:8px 0 24px}
.page-home .home-film-title{flex:0 1 auto;max-width:100%;font-size:clamp(112px,10vw,160px);line-height:.94;letter-spacing:-.015em;text-transform:uppercase;padding:0;overflow-wrap:anywhere}
.page-home .home-film-image{flex:0 0 auto;width:auto;padding:3px 0 0}
.page-home .home-film-image img{width:auto;height:112px;max-width:280px;object-fit:contain}
.page-home .home-film-info{flex:0 1 208px;padding:0;font-size:24px;line-height:1.13}
.page-home .home-film-times{margin:0 0 3px}
.page-home .home-film-times p{font-size:24px;line-height:1.13;gap:4px 12px}
.page-home .home-film-times time{font-size:24px;line-height:1.13}
.page-home .home-film-director,.page-home .home-film-origin{font-size:24px;line-height:1.13;color:var(--film-secondary);margin:0}
.page-home .home-actions{padding:8px 0 32px}
/* Daily programme thumbnails share one frame so times and titles align. */
.home-programme .screening-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.page-home .editorial-series,.page-home .editorial-story{padding-block:48px}
.site-footer{font-family:var(--font-reading)}
.site-footer .footer-mark{font-family:"EDIT Acumin Variable Local","Acumin Variable Concept",var(--font-reading);font-size:96px;font-weight:500;letter-spacing:-.03em;line-height:1}
.site-footer .footer-top{padding:48px 0 56px;align-items:start}
.site-footer .footer-links{grid-column:8/-1;font-size:24px;line-height:1.4;gap:12px}
.site-footer .footer-bottom{font-size:18px;line-height:1.4;padding:24px 0 32px}
.site-footer .footer-arrow{width:20px;height:20px}
@media(max-width:767px){
 .site-footer .footer-mark{font-size:72px}
 .site-footer .footer-top{padding:32px 0 40px}
 .site-footer .footer-links{font-size:22px;margin-top:28px}
 .site-footer .footer-bottom{font-size:18px;gap:16px;padding:24px 0 32px}
}
/* Film production credits: one wide, ruled record beneath the synopsis. */
.film-detail-body{display:block;padding-top:48px}
.film-detail-body .film-synopsis{max-width:920px;margin-bottom:64px}
.film-detail-body .film-information{width:100%;margin-bottom:64px}
.film-information .credits-list{display:block;border-top:1px solid var(--rule)}
.film-information .credits-list>div{display:grid;grid-template-columns:minmax(200px,26%) minmax(0,1fr);gap:24px;padding:14px 0;border-bottom:1px solid var(--rule);font-family:var(--font-reading);font-size:24px;line-height:1.45}
.film-information dt{font-family:var(--font-reading);font-size:22px;line-height:1.55;font-weight:700}
.film-information dd{font-size:24px;line-height:1.45}
.film-source-note{margin-top:24px}
.film-detail-body .upcoming-screenings{margin-top:0}
@media(min-width:1200px) and (max-width:1439px){
 .page-home .home-film-title{font-size:124px}
 .page-home .home-film-image img{height:100px;max-width:240px}
 .page-home .home-film-info{flex-basis:184px}
 .page-home .home-film-info p,.page-home .home-film-times time{font-size:22px}
}
@media(min-width:768px) and (max-width:1199px){
 .page-home.shell{margin-left:128px;margin-right:16px}
 .page-home .home-film-title{font-size:96px}
 .page-home .home-film-image img{height:80px;max-width:192px}
 .page-home .home-film-info{flex-basis:168px}
 .page-home .home-film-info p,.page-home .home-film-times time{font-size:20px}
 .film-information .credits-list>div{grid-template-columns:26% minmax(0,1fr)}
}
@media(max-width:767px){
 .site-header{min-height:40px;padding:0}
 .drawer-header{min-height:88px;padding-block:32px 16px}
 .page-home.shell{margin-left:88px;margin-right:24px}
 .page-home .section-running-head{padding:0 0 24px;gap:4px}
 .page-home .home-film{gap:12px;padding:0 0 32px}
 .page-home .home-film-title{flex-basis:100%;font-size:76px;line-height:.96}
 .page-home .home-film-image{flex:0 0 auto;max-width:100%}
 .page-home .home-film-image img{height:auto;width:100%;max-width:100%}
 .page-home .home-film-info{flex:1 1 100%;padding:0}
 .page-home .home-film-info p,.page-home .home-film-times time{font-size:22px;line-height:1.2}
 .page-home .home-actions{padding-bottom:16px}
 .page-home .editorial-series,.page-home .editorial-story{padding-block:32px}
 .film-detail-body{padding-top:32px}
 .film-detail-body .film-synopsis,.film-detail-body .film-information{margin-bottom:48px}
 .film-information .credits-list>div{grid-template-columns:1fr;gap:4px;padding:16px 0}
 .film-information dt{font-size:20px;line-height:1.4}
 .film-information dd{font-size:22px;line-height:1.45}
}
@media(max-width:359px){.page-home .home-film-title{font-size:64px}}
@media print{.site-header{display:none}.film-information .credits-list>div{break-inside:avoid}}

/* Story photography retains each supplied frame rather than card crops. */
.article-body .story-still{margin:40px 0;width:100%}.article-body .story-still img{width:100%;height:auto;object-fit:contain}

/* A clear daily heading and a compact programme catalogue. */
.home-programme .programme-header h2{font-size:48px;line-height:1.08;font-weight:400}
.page-programme .screening-catalogue{gap:40px 24px}
.page-programme .screening-image{margin-bottom:12px}
.page-programme .screening-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.page-programme .screening-film{order:1}
.page-programme .screening-time{order:2;margin:8px 0 0}
.page-programme .screening-meta{order:3;margin-top:8px;gap:4px 12px}
.page-programme .screening-action{order:4;margin-top:8px}
.page-programme .film-title{font-size:48px;line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere}
.page-programme .screening-film p{font-size:20px;line-height:1.3;margin-top:8px}
.page-programme .screening-meta,.page-programme .ticket-link,.page-programme .sold-out{font-size:20px}
@media(min-width:1200px){
 .page-programme.shell{max-width:none;margin-left:clamp(112px,9vw,160px);margin-right:32px}
 .page-programme .programme-day{grid-template-columns:140px minmax(0,1fr)}
 .page-programme .programme-day>.results-header{grid-column:1}
 .page-programme .programme-day>.screening-catalogue,.page-programme .programme-day>.empty-state{grid-column:2}
 .page-programme .screening-catalogue{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1800px){.page-programme .screening-catalogue{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){
 .home-programme .programme-header h2{font-size:40px}
 .page-programme .screening-catalogue{grid-template-columns:1fr;row-gap:40px}
 .page-programme .film-title{font-size:44px}
}

/* Journal: full-width cinema stills and one continuous reading column. */
.page-journal .journal-heading{margin:40px 0 48px}
.page-journal .journal-heading h1{max-width:none;font-size:clamp(88px,10vw,144px);line-height:.98;letter-spacing:-.015em;text-transform:uppercase}
.page-journal .journal-opening{display:grid;grid-template-columns:1fr 3fr;gap:32px;margin-top:32px}
.page-journal .journal-meta{display:flex;flex-direction:column;gap:8px;font-size:20px;line-height:1.4;color:var(--muted);margin:0}
.page-journal .journal-intro{font-family:var(--font-reading);font-size:28px;line-height:1.45;max-width:52ch;margin:0}
.page-journal .article-body{max-width:none;margin:0}
.page-journal .journal-spread{display:block;padding:0 0 72px}
.page-journal .article-body .story-still{width:100%;margin:0}
.page-journal .journal-article figure img{display:block;width:100%;height:auto;object-fit:contain}
.page-journal .journal-article figcaption{font-size:18px;line-height:1.4;color:var(--muted);margin-top:12px}
.page-journal .journal-spread-copy{width:calc(75% - 24px);max-width:66ch;margin:32px 0 0 auto}
.page-journal .journal-spread-copy>p{font-family:var(--font-reading);font-size:24px;line-height:1.6;margin:0 0 24px}
.page-journal .journal-spread-copy>p:last-child{margin-bottom:0}
.page-journal .article-end{margin:32px 0 0;padding:0;max-width:none}
.page-journal .article-end .text-link,.page-journal .journal-next .text-link{font-size:24px;line-height:1.35;gap:24px}
.page-journal .journal-next{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:24px;margin-top:0;padding-top:0;border:0}
.page-journal .journal-index{gap:56px}
.page-journal .journal-index article{padding-top:32px}
.page-journal .journal-index article>p:not(.meta){font-size:22px;line-height:1.55}
.page-journal .journal-index article>h2{font-size:64px;line-height:1.05}
@media(max-width:767px){
 .page-journal .journal-heading{margin:28px 0 32px}
 .page-journal .journal-heading h1{font-size:64px;line-height:1.02;overflow-wrap:anywhere}
 .page-journal .journal-opening{grid-template-columns:1fr;gap:24px;margin-top:24px}
 .page-journal .journal-meta{flex-direction:row;flex-wrap:wrap;font-size:18px;gap:8px 20px}
 .page-journal .journal-intro{font-size:22px;line-height:1.5}
 .page-journal .journal-spread{padding-bottom:48px}
 .page-journal .journal-spread-copy{width:100%;margin-top:24px}
 .page-journal .journal-spread-copy>p{font-size:20px;line-height:1.6;margin-bottom:20px}
 .page-journal .article-end{margin-top:24px}
 .page-journal .article-end .text-link,.page-journal .journal-next .text-link{font-size:22px;gap:16px}
 .page-journal .journal-next{flex-direction:column;gap:20px}
 .page-journal .journal-index article>h2{font-size:48px}
 .page-journal .journal-index article>p:not(.meta){font-size:20px}
}
