/* Single film — the player leads, then the story, stills, credits, next film. */
.page-film .film-hero { padding-block: clamp(40px, 6vw, 80px) clamp(36px, 5vw, 60px); }
.page-film .film-hero__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 40px; align-items: end; margin-bottom: clamp(24px, 3vw, 36px); }
.page-film .film-hero__head .stack { --stack: 14px; }
.page-film .player { position: relative; padding: 12px; background: var(--white); box-shadow: var(--shadow-lift); }
.page-film .player .media { aspect-ratio: 16 / 9; }
.page-film .player__play { white-space: nowrap; position: absolute; left: 50%; top: 50%; z-index: 2; transform: translate(-50%, -50%); }
.page-film .player__tc { position: absolute; left: clamp(24px, 2.6vw, 36px); bottom: clamp(24px, 2.6vw, 36px); z-index: 2; padding: 6px 10px; border-radius: 4px; background: rgba(38, 42, 51, .72); color: var(--paper); font-family: var(--f-typed); font-size: 14px; }
.page-film .facts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: clamp(22px, 3vw, 32px) 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.page-film .facts > div { display: grid; gap: 6px; padding: 16px 18px 16px 0; }
.page-film .facts > div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.page-film .facts dt { font: 700 12px/1.2 var(--f-label); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.page-film .facts dd { margin: 0; font: 400 19px/1.25 var(--f-display); color: var(--blue-deep); }
@media (max-width: 900px) {
  .page-film .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-film .facts > div, .page-film .facts > div + div { padding: 14px 14px 14px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .page-film .facts > div:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--line); }
  .page-film .facts > div:last-child { grid-column: 1 / -1; border-bottom: 0; padding-left: 0; border-left: 0; }
}
@media (max-width: 640px) {
  .page-film .film-hero__head { grid-template-columns: minmax(0, 1fr); }
  .page-film .player__play { left: 50%; top: auto; bottom: 18px; transform: translateX(-50%); }
  .page-film .player__tc { top: 22px; bottom: auto; left: 22px; }
}

/* Story */
.page-film .story { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.page-film .infilm { padding: clamp(22px, 3vw, 32px); background: var(--white); box-shadow: var(--shadow); }
.page-film .infilm h2 { font-size: 26px; margin-bottom: 16px; }
@media (max-width: 860px) { .page-film .story { grid-template-columns: minmax(0, 1fr); } }

/* Stills */
.page-film .stills { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); }
.page-film .still { display: grid; gap: 8px; }
.page-film .still .media { aspect-ratio: 16 / 9; }
.page-film .still figcaption { display: flex; justify-content: space-between; gap: 8px; font-family: var(--f-typed); font-size: 13px; color: var(--muted); }
@media (max-width: 900px) {
  .page-film .stills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-film .stills li:first-child { grid-column: 1 / -1; }
}

/* Credits */
.page-film .credits { display: grid; gap: 14px; max-width: 640px; margin-inline: auto; text-align: center; }
.page-film .credits__list { display: grid; gap: 10px; margin: 8px 0 0; }
.page-film .credits__list > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: baseline; }
.page-film .credits__list dt { text-align: right; font: 700 13px/1.4 var(--f-label); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.page-film .credits__list dd { margin: 0; text-align: left; font: 400 22px/1.3 var(--f-display); color: var(--blue-deep); }
.page-film .credits__list a { color: inherit; text-decoration-color: var(--powder); }
.page-film .credits__list a:hover { color: var(--blue); }
@media (max-width: 480px) {
  .page-film .credits__list > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .page-film .credits__list dt, .page-film .credits__list dd { text-align: center; }
}

/* Next film */
.page-film .next { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 56px); align-items: center; }
.page-film .next .media { aspect-ratio: 16 / 9; }
.page-film .next__body { display: grid; gap: 14px; justify-items: start; }
.page-film .next__body h2 { font-size: clamp(30px, 3.4vw, 44px); }
.page-film .next__icon { position: absolute; left: 14px; bottom: 14px; z-index: 2; width: 46px; height: 46px; border-radius: 50%; background: rgba(250, 250, 247, .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='%232F3E63'/%3E%3C/svg%3E") center / 22px no-repeat; box-shadow: var(--shadow); }
@media (max-width: 760px) { .page-film .next { grid-template-columns: minmax(0, 1fr); } }

.page-film .credits-line { padding-bottom: 28px; }
