/* Version 24: styles are limited to the two new video sections.
   Keep the established hero, announcement, photos, and other pages unchanged. */
.home-film-v24 {
  padding-block: clamp(2.5rem, 4vw, 4rem);
}

.home-film-layout-v24 {
  max-width: 1200px;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 3.5rem);
}

.home-film-layout-v24 > *,
.camp-film-layout-v24 > * {
  min-width: 0;
}

.home-film-copy-v24 h2 {
  max-width: 12ch;
  font-size: clamp(1.9rem, 2.6vw, 2.5rem);
}

.home-film-copy-v24 .lead {
  line-height: 1.65;
}

.media-figure-v24 {
  min-width: 0;
  margin: 0;
}

.home-film-v24 .video-frame {
  margin-top: 0;
}

.media-credit-v24 {
  margin-top: 1rem;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.media-credit-v24 p {
  margin: 0 0 .4rem;
}

.media-credit-v24 a {
  text-decoration: underline;
  text-underline-offset: .2em;
}

.media-credit-v24 a:hover {
  color: var(--navy);
}

.media-credit-v24 a:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 3px;
}

.media-watch-v24 {
  display: inline-block;
  padding-block: .35rem;
  color: var(--navy);
  font-weight: 700;
}

.camp-film-layout-v24 {
  max-width: 1360px;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, .75fr);
  align-items: center;
}

.camp-film-v24 .camp-film-note-v24 {
  background: var(--paper);
}

.camp-film-facts-v24 {
  display: grid;
  gap: .9rem;
  margin-block: 1.4rem;
  padding-block: 1.1rem;
  border-block: 1px solid var(--line);
}

.camp-film-facts-v24 dt {
  color: var(--muted);
  font-size: .85rem;
}

.camp-film-facts-v24 dd {
  margin: .15rem 0 0;
  color: var(--navy);
  font-weight: 700;
}

@media (max-width: 960px) {
  .home-film-layout-v24,
  .camp-film-layout-v24 {
    max-width: 760px;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
  }

  .home-film-copy-v24 h2 {
    max-width: none;
  }
}
