/* One landscape film across viewports. Playback begins only on request. */

.film-head { max-width: 40rem; }
.film-stage {
  width: min(100%, 960px);
  margin: 0;
  aspect-ratio: 16 / 9;
  background: #f7f3e8;
  border: 1px solid var(--rule);
  border-radius: 18px;
  overflow: hidden;
  position: relative;
}
.film-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #f7f3e8;
}
.film-play {
  position: absolute;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 2;
  transition: background-color .2s ease, border-color .2s ease;
}
/* Preserve centering when the shared ink-button hover rule applies. */
.film-play.button--ink:hover { transform: translateX(-50%); }
.film-stage.is-started .film-play { display: none; }

.film-actions {
  display: flex; flex-wrap: wrap; gap: 8px 22px;
  margin: 18px 0 0;
  font: 500 .95rem/1.2 var(--sans);
}
.film-actions a { color: var(--ink); }
.film-note {
  margin: 14px 0 0;
  max-width: 62ch;
  color: var(--muted);
  font: 400 .9rem/1.55 var(--sans);
}
.film-transcript { margin-top: 14px; max-width: 68ch; }
.film-transcript summary {
  cursor: pointer;
  font: 500 .95rem/1.3 var(--sans);
  color: var(--ink);
}
.film-transcript p {
  margin-top: .7em;
  font: italic 1.02rem/1.55 var(--serif);
}

@media (max-width: 799px) {
  .film-stage {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-inline: auto;
  }
  .film-actions { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .film-stage:not(.is-started) .film-video { pointer-events: none; }
}
