.films-hero { padding-top: clamp(28px, 4vw, 56px); padding-bottom: clamp(36px, 5vw, 64px); }
.films-title { font-size: var(--kf-fs-display); }
.films-hero .kf-lede { margin-top: 14px; }
.films-hero .films-count { margin: 14px 0 0; }
/* The other shops the films visit, one line under the cast strip (site panel M1). */
.films-cast .cast-others { margin: clamp(16px, 2.4vw, 24px) 0 0; max-width: 72ch; font-size: var(--kf-fs-body); color: var(--kf-ink); }
.films-cast { padding-top: clamp(32px, 4vw, 48px); padding-bottom: clamp(32px, 4vw, 48px); }
/* The seven films in viewing order: each a row with its copy beside the player. */
.film-list { list-style: none; margin: clamp(20px, 3vw, 32px) 0 0; padding: 0; display: grid; gap: clamp(28px, 4vw, 44px); }
.film-entry { padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--kf-line); }
.film-entry:first-child { padding-top: 0; border-top: 0; }
.shorts.is-single { grid-template-columns: minmax(0, 1fr); }
.shorts.is-single .short { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 20px clamp(20px, 3vw, 40px); align-items: start; }
.shorts.is-single .short-copy { order: -1; margin-top: 0; }
.shorts.is-single .short-title { font: 500 var(--kf-fs-h3)/1.15 var(--kf-serif); margin: 0 0 8px; }
.shorts.is-single .short-line { font-size: var(--kf-fs-body); color: var(--kf-ink); }
@media (max-width: 900px) { .shorts.is-single .short { grid-template-columns: minmax(0, 1fr); } .shorts.is-single .short-copy { order: 0; } }
@media (max-width: 640px) {
  .shorts.is-single .short { grid-template-columns: 136px minmax(0, 1fr); gap: 12px; }
  .shorts.is-single .short-title { font-size: var(--kf-fs-title); }
  .shorts.is-single .short-line { font-size: var(--kf-fs-small); color: var(--kf-muted); }
  .shorts.is-single .short:has(.film.is-playing) { grid-template-columns: minmax(0, 1fr); }
}
.films-more { padding-top: clamp(40px, 6vw, 72px); }
.more-card { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 18px 28px; align-items: center; padding: clamp(18px, 3vw, 28px);
  background: var(--kf-panel); border: 1px solid var(--kf-line); border-radius: 24px; }
@media (max-width: 560px) { .more-card { grid-template-columns: minmax(0, 1fr); } }
.more-fig { position: relative; height: 150px; border-radius: 18px; overflow: hidden;
  background: radial-gradient(120% 110% at 40% 0%, #fbf6ea 0%, #efe3cc 70%, #e6d7bd 100%); }
.more-fig > * { position: absolute; }
.more-fig img { max-width: none; }
.more-fig .mglow { left: 50%; bottom: -46px; width: 280px; height: 180px; margin-left: -140px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(247, 178, 90, 0.5), rgba(247, 178, 90, 0.15) 55%, rgba(247, 178, 90, 0) 100%); }
.more-fig .m-phone { left: 50%; bottom: 16px; translate: -50% 0; }
.more-fig .m-lock { right: 14px; top: 12px; }
.more-title { font: 500 var(--kf-fs-h3)/1.2 var(--kf-serif); margin: 0 0 6px; max-width: 640px; }
