/* Shared by both Company versions: CEO film and the close (as on the shipped homepage) */

.film {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  align-items: end;
  gap: clamp(24px, 4vw, 64px);
}

.film h2 {
  max-width: 14ch;
}

.byline {
  margin-top: 16px;
  font-size: 0.9375rem;
  color: var(--ink-2);
}

.film__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--film-bg);
  overflow: hidden;
}

.film__frame img,
.film__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

/* The play disc is the one fixed-colour element (DESIGN.md) */
.play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: clamp(16px, 3vw, 32px);
  width: 100%;
  border: 0;
  background: none;
  cursor: pointer;
}

.play svg {
  width: 72px;
  height: 72px;
  padding: 16px;
  border-radius: 50%;
  background: #ffffff;
  fill: var(--vega-navy);
  transition:
    background-color 0.2s ease-out,
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.play:hover svg {
  background: var(--vega-blue);
  fill: #fff;
  transform: scale(1.06);
}

.play:focus-visible {
  outline-offset: -6px;
  outline-color: #ffffff;
}

.close {
  padding-bottom: clamp(16px, 4vw, 48px);
}

.close h2 {
  max-width: 14ch;
  font-size: clamp(2.75rem, 6.4vw, 5.5rem);
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.close p {
  margin: 24px 0 36px;
  font-size: clamp(1.1875rem, 1.5vw, 1.375rem);
  color: var(--ink-2);
}

@media (max-width: 991px) {
  .film {
    grid-template-columns: minmax(0, 1fr);
  }
}
