.lp-film-link {
  display: inline-flex;
  gap: 0.65rem;
  align-items: center;
  margin-top: 1.25rem;
  font-weight: 650;
  text-underline-offset: 0.3em;
}
.lp-film {
  background: #f3f4ee;
  scroll-margin-top: 1rem;
}
.lp-film__intro {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2rem;
}
.lp-film__intro > p {
  max-width: 28rem;
  color: var(--lp-muted);
}
.lp-film__intro h2 {
  margin-top: 0.7rem;
}
.lp-film__frame {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 1rem;
  background: #193d39;
}
.lp-film__frame :is(video, picture, img) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lp-film__frame video {
  object-fit: contain;
}
.lp-film__frame video[hidden] {
  display: none;
}
.lp-film__footnote {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0;
  font-size: 0.8rem;
  color: var(--lp-muted);
}
.lp-film__footnote a {
  white-space: nowrap;
  font-weight: 650;
  text-underline-offset: 0.25em;
}
.lp-film details {
  color: var(--lp-muted);
  font-size: 0.85rem;
  max-width: 60rem;
}
.lp-film summary {
  cursor: pointer;
  width: fit-content;
  padding: 0.5rem 0;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.lp-film details p {
  padding-block: 0.5rem;
}
.lp-film__features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2rem;
  border-top: 1px solid rgba(25, 61, 57, 0.1607843137);
}
.lp-film__features > div {
  padding: 1.5rem 1.5rem 0 0;
}
.lp-film__features span {
  display: block;
  color: #0f766e;
  font-size: 0.8rem;
  margin-bottom: 0.65rem;
  transition: transform 0.2s;
}
.lp-film__features > div:hover span {
  transform: translateX(4px);
}
.lp-film__features strong {
  display: block;
  font-weight: 650;
}
.lp-film__features p {
  color: var(--lp-muted);
  font-size: 0.9rem;
  margin-top: 0.3rem;
}
@media (max-width: 600px) {
  .lp-film__intro {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .lp-film__frame {
    aspect-ratio: 9/16;
  }
  .lp-film__footnote {
    flex-direction: column;
  }
  .lp-film__features {
    grid-template-columns: 1fr;
  }
  .lp-film__features > div {
    padding-top: 1.25rem;
  }
  .lp-film__features span {
    float: left;
    margin: 0.2rem 1rem 2rem 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lp-film__play,
  .lp-film__features span {
    transition: none;
  }
  .lp-film__features > div:hover span {
    transform: none;
  }
}

.lp-film { --lp-muted:#52635f; color:#193d39; padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,4rem); line-height:1.6; margin:1.5rem auto; max-width:1280px; border-radius:1rem; }
.lp-film * { box-sizing:border-box; }
.lp-film h2 { font-size:clamp(1.8rem,3.5vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.lp-film .lp-eyebrow { color:#0f766e; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.lp-film a { color:#0d5f59; }
.lp-film__instruction { font-size:.85rem; color:#52635f; }
.lp-film-link { color:#0d5f59; min-height:44px; margin:0; text-underline-offset:.25em; }
.lp-film :is(video,summary,a):focus-visible { outline:3px solid #0f766e; outline-offset:4px; }
@media(prefers-reduced-motion:no-preference) { .public-hero__content { animation:film-enter .45s ease-out both; } .lp-film-link { transition:color .2s; } .lp-film-link:hover { color:#193d39; } @supports(animation-timeline:view()) { .lp-film__intro { animation:film-enter linear both; animation-timeline:view(); animation-range:entry 0% entry 80%; } } }
@keyframes film-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(max-width:600px) { .lp-film { border-radius:0; } .lp-film__frame { max-width:420px; margin-inline:auto; } }

.lp-film__frame .lp-film__mobile { display:none; }
@media(max-width:600px) { .lp-film__frame .lp-film__mobile { display:block; } .lp-film__frame .lp-film__desktop { display:none; } }
