/* Shared editorial theme. Film artwork keeps its original colours. */
:root,
body[class] {
  --bg: #f7f5ef;
  --panel: #eceee6;
  --ink: #203b30;
  --muted: #5c685f;
  --line: #cbd2c7;
  --paper: #f7f5ef;
  --black: #203b30;
  --accent: #284e39;
  --on-accent: #f7f5ef;
  --gutter: clamp(20px, 4.5vw, 76px);
  color-scheme: light;
}
body { background: var(--bg); color: var(--ink); }
html { scroll-padding-top: 24px; }
body :focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
body .site-header { min-height: 96px; height: auto; padding-block: 22px; border-bottom: 1px solid var(--line); }
body .site-header .brand img { width: 115px; filter: brightness(.2) sepia(.3); }
.site-header #navigation { gap: clamp(18px, 2.5vw, 36px); }
.site-header #navigation a { font-weight: 500; min-height: 44px; display: inline-flex; align-items: center; }
.site-header #navigation a[aria-current] { color: var(--accent); }
.site-header #navigation a:last-child { border-radius: 4px; padding: 10px 20px; border-color: var(--accent); }
.site-header #navigation a:last-child:hover { background: var(--accent); color: var(--on-accent); }
.button { min-height: 48px; border-radius: 4px; }
.text-link, .back-link { min-height: 44px; align-items: center; }
.back-link { display: inline-flex; }
body .eyebrow { letter-spacing: .035em; }

/* A quiet page around the cinema frame, with clear changes of section. */
.home-cinema { margin: 20px var(--gutter) 0; border-radius: 6px; }
.home-cinema-copy { padding-inline: clamp(24px, 4vw, 64px); }
.home-cinema h1 { max-width: 890px; }
.home-cinema :focus-visible { outline-color: #f7f5ef; }
.home-cinema-copy > .button { background: #f7f5ef; color: #203b30; border-color: #f7f5ef; }
.home-cinema-copy > .button:hover { background: #e9ece4; }
.home-news-featured { background: #f7f5ef; padding-block: 58px; }
.news-carousel-slide { background: #eceee6; border-radius: 5px; overflow: hidden; }
.news-carousel-controls > button { border-color: #879688; border-radius: 50%; }
.news-carousel-controls > button:hover { background: #dce5d8; }
.home-studio { --bg: #e6ece1; --ink: #203b30; --muted: #526352; border-block: 1px solid #cbd2c7; }
.home-studio-image img { border-radius: 4px; }
.home-film-image { border-radius: 4px; }
.home-film-caption > .eyebrow, .home-film-caption > p:last-child,
.home-creation .eyebrow, .home-creation p:not(.eyebrow) { color: var(--muted); }
.home-films { padding-block: 66px; }
.home-development { background: #eceee6; }
.journal-home { background: #e6ece1; color: #203b30; border-top: 1px solid #cbd2c7; }
.journal-home .news-list, .journal-home .news-row { border-color: #b4c2b2; }

/* Filters behave like controls, and every poster has a visible entry point. */
.catalogue-page { padding-top: 54px; }
.catalogue-heading { padding-bottom: 32px; }
.catalogue-heading h1 { font-size: clamp(44px, 5.4vw, 78px); }
.catalogue-toolbar { padding-block: 14px; gap: 18px; margin-bottom: 36px; }
.catalogue-filters { gap: 8px; }
.catalogue-filters button { min-height: 44px; padding: 10px 16px; border: 1px solid transparent; border-radius: 4px; color: var(--ink); }
.catalogue-filters button:hover { background: #e6ece1; border-color: #a8b7a5; }
.catalogue-filters button[aria-pressed=true] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.catalogue-filters span { opacity: 1; }
.catalogue-poster { border-radius: 4px; }
.catalogue-card-cta { opacity: 1; transform: none; left: auto; top: auto; right: 10px; bottom: 10px; padding: 10px 12px; gap: 22px; background: #f7f5ef; color: #203b30; border-radius: 3px; font-size: 13px; }
.catalogue-card:hover .catalogue-card-cta { background: #284e39; color: #f7f5ef; }
.catalogue-card-info { padding-top: 22px; }
.catalogue-card h2 { margin-top: 10px; }
.catalogue-status { font-weight: 600; }
.catalogue-grid { row-gap: 48px; }

/* The same footer on every page, including the contact and creation pages. */
body[class] .site-footer {
  --bg: #203b30; --ink: #f7f5ef; --paper: #f7f5ef; --black: #203b30;
  --muted: #c0cdbd; --line: #58705c; --accent: #f9d987;
  background: var(--bg); color: var(--ink); max-width: none;
  padding-top: clamp(42px, 6vw, 84px); margin-top: 0;
}
.site-footer > div { max-width: 1440px; margin-inline: auto; }
body[class] .site-footer .footer-brand img { filter: none; }
.site-footer .contact-invitation { font-size: clamp(45px, 6vw, 88px); }
.site-footer .contact-invitation > span { font-size: clamp(45px, 6vw, 88px); }
.site-footer .contact-invitation em { color: #d4edf4; }
.site-footer .socials a { min-height: 44px; display: inline-flex; align-items: center; }
.site-footer a:focus-visible { outline-color: #f9d987; }
.page-contact .contact-heading .contact-address { overflow-wrap: anywhere; }
.contact-form label { font-size: 14px; letter-spacing: 0; text-transform: none; }
.contact-form input, .contact-form textarea, .contact-form select { border-color: #879688; border-radius: 4px; background: #fffcf6; }
.contact-form-submit > p { font-size: 13px; }
.contact-form-submit button { border-radius: 4px; }
.creation-heading, .studio-clean-heading { padding-top: 54px; }

@media (max-width: 760px) {
  body .site-header { min-height: 84px; height: 84px; padding-block: 16px; column-gap: 14px; }
  body .site-header .brand img { width: 96px; }
  .site-header #navigation { gap: 4px; top: 84px; padding-bottom: 28px; box-shadow: 0 18px 24px #203b3014; }
  .site-header #navigation a { padding: 13px 0; }
  .site-header #navigation a:last-child { padding: 13px 0; border: 0; }
  .site-header #navigation a:last-child:hover { background: transparent; color: var(--accent); }
  .menu-toggle .menu-lines { position: relative; width: 22px; height: 14px; border: 0; transform: none; }
  .menu-toggle .menu-lines::before, .menu-toggle .menu-lines::after { content: ''; position: absolute; left: 0; right: 0; width: 22px; height: 1px; border: 0; background: currentColor; transform: none; transition: transform .2s, top .2s; }
  .menu-toggle .menu-lines::before { top: 3px; }
  .menu-toggle .menu-lines::after { top: 11px; }
  .menu-toggle[aria-expanded=true] .menu-lines::before { top: 7px; transform: rotate(45deg); }
  .menu-toggle[aria-expanded=true] .menu-lines::after { top: 7px; transform: rotate(-45deg); }
  .home-cinema { margin: 12px 12px 0; }
  .home-cinema-copy { padding-inline: 24px; }
  .home-news-featured, .home-films { padding-block: 40px; }
  .catalogue-page { padding-top: 34px; }
  .catalogue-toolbar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .catalogue-filters { width: 100%; gap: 6px; }
  .catalogue-filters button { font-size: 13px; padding-inline: 11px; }
  .catalogue-result { padding: 2px 0 0; }
  .catalogue-grid { column-gap: 18px; row-gap: 34px; }
  .catalogue-card-cta { left: 8px; right: 8px; bottom: 8px; gap: 8px; padding: 9px; font-size: 12px; }
  .catalogue-card-info { padding-top: 16px; }
  .catalogue-card h2 { font-size: 23px; }
  .creation-heading, .studio-clean-heading { padding-top: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  html, html:focus-within { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}
@media (forced-colors: active) {
  .catalogue-filters button[aria-pressed=true] { border: 2px solid ButtonText; }
}
.hero-motion-toggle { position: absolute; right: 24px; bottom: 20px; display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 10px 14px; border: 1px solid #d8ded4; border-radius: 4px; background: #172c24e8; color: #f7f5ef; font-size: 13px; }
.hero-motion-toggle:hover { background: #203b30; }
.hero-motion-toggle:focus-visible { outline-color: #f9d987; }
@media(max-width:760px) { .hero-motion-toggle { right: 16px; bottom: 14px; font-size: 12px; } .home-cinema-copy { padding-bottom: 82px; } }
/* Exhibition photographs read as a small gallery in the journal. */
.prose .wp-block-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 16px; margin-block:30px; }
.prose .wp-block-gallery figure { min-width:0; margin:0; }
.prose .wp-block-gallery figure img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; margin:0 0 10px; }
.prose .wp-block-gallery > img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; }
.prose .wp-block-gallery figcaption { font-size:.82em; line-height:1.45; color:var(--muted,#5c685f); }
@media(max-width:760px) { .prose .wp-block-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; } }
@media(max-width:420px) { .prose .wp-block-gallery { grid-template-columns:1fr; } }

/* Undated stories keep the same breathing room, without an empty date column. */
.news-card.without-date .news-copy { padding-top:24px; }
.featured-news .news-card.without-date .news-copy,
.development-update .news-card.without-date .news-copy,
.development-record-copy .news-card.without-date .news-copy { padding-top:0; }
.news-row.without-date > h3 { grid-column:1 / 3; grid-row:1; }
.news-row.without-date > .row-image { grid-column:3; grid-row:1; }
.news-row.without-date > .row-arrow { grid-column:4; grid-row:1; }
@media (min-width:601px) and (max-width:900px) {
  .development-record-copy .news-card.without-date .news-copy { padding-top:15px; }
}
@media (max-width:580px) {
  .news-card.without-date .news-copy { padding-top:20px; }
  .featured-news .news-card.without-date .news-copy { padding-top:24px; }
  .development-update .news-card.without-date .news-copy,
  .development-record-copy .news-card.without-date .news-copy { padding-top:0; }
  .news-row.without-date > h3 { grid-column:1; }
  .news-row.without-date > .row-image { grid-column:2; }
  .news-row.without-date > .row-arrow { grid-column:3; }
}

/* Editorial display type, shared by all public pages in both lighting modes. */
body main :is(h1,h2,h3),body .contact-invitation{
  font-family:var(--serif,'Instrument Serif',Georgia,serif)!important;
  font-weight:400!important;
  letter-spacing:-.015em!important;
  font-synthesis:none;
}
body main :is(h1,h2,h3) em{font-family:inherit;font-weight:400!important}
.page-home .section-heading h2,.page-home .home-intro h2{font-size:clamp(42px,5.2vw,80px);line-height:1.06}
body .film-disclosure>summary h2{font-size:clamp(28px,3vw,42px);line-height:1.15}
body .catalogue-card-info h2,body .home-film-caption h3{font-size:clamp(30px,3vw,46px);line-height:1.12}
body .news-copy h3{font-size:clamp(28px,2.6vw,38px);line-height:1.15}

/* Stronger serif section headings; the bundled face supplies its original forms. */
body main h2,body .film-intention>h3,body .mk-chapter h3{
  font-family:var(--serif,'Instrument Serif',Georgia,serif)!important;
  font-weight:700!important;
  font-synthesis:weight;
}
body main h2 em{font-weight:700!important;font-synthesis:weight}

/* Studio social links wrap cleanly as the list grows. */
.site-footer .footer-bottom{grid-template-columns:130px minmax(0,1fr) minmax(0,2fr);gap:24px}
.site-footer .socials{flex-wrap:wrap;gap:6px 20px;min-width:0}
.site-footer .footer-bottom>small{grid-column:1/-1}
@media(max-width:1000px){.site-footer .footer-bottom{grid-template-columns:110px minmax(0,1fr)}.site-footer .socials{grid-column:1/-1}}
@media(max-width:420px){.site-footer .footer-bottom{grid-template-columns:95px minmax(0,1fr)}}
