.film-world {
  background: #171614;
  padding: 130px 5vw 160px;
}

.film-world-heading {
  display: grid;
  grid-template-columns: .55fr 1.25fr .7fr;
  gap: 6vw;
  align-items: start;
  margin-bottom: 110px;
}

.film-world-heading h2 {
  font-size: clamp(54px, 7vw, 104px);
  line-height: .9;
  letter-spacing: -.055em;
  font-weight: 300;
  margin: 0;
}

.film-world-heading > p:last-child {
  margin: 8px 0 0;
  color: #aaa;
  font-size: 15px;
  line-height: 1.8;
}

.film-stills {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 8vw 4vw;
  align-items: start;
}

.film-stills figure { margin: 0; }
.film-stills img { width: 100%; height: auto; display: block; }
.film-stills figcaption {
  padding-top: 13px;
  color: #777;
  font-family: "DM Mono";
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.still-wide { grid-column: 1 / -1; }
.still-document { width: 78%; justify-self: end; }
.still-dark { margin-top: 13vw !important; }

@media (max-width: 800px) {
  .film-world-heading { grid-template-columns: 1fr 1.4fr; }
  .film-world-heading > p:last-child { grid-column: 2; }
}

@media (max-width: 560px) {
  .film-world { padding: 90px 6vw 110px; }
  .film-world-heading { display: block; margin-bottom: 70px; }
  .film-world-heading h2 { font-size: 13vw; margin: 50px 0 35px; }
  .film-world-heading > p:last-child { font-size: 14px; }
  .film-stills { display: block; }
  .film-stills figure,
  .still-document,
  .still-dark { width: 100%; margin: 0 0 55px !important; }
}
