/* The film follows the existing CTA surface expansion; text never scales. */
.site-footer.site-footer--film {
  display: block;
  min-height: 0;
  isolation: isolate;
  overflow: hidden;
  background: #05060c;
}
.site-footer--film > .wrap { position: relative; }
.site-footer--film .contact-film { transform: none; border-radius: inherit; }
.site-footer--film .contact-film::after {
  background: linear-gradient(90deg, #05060ce6, #05060cc4 55%, #05060cde);
}
.contact--film {
  min-height: clamp(480px, 39vw, 600px);
  display: grid;
  align-items: center;
  padding-block: clamp(64px, 6vw, 96px);
}
.contact--film::before { display: none; }
.contact-film {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  border-radius: max(24px, var(--contact-corner, 32px));
  background: #05060c;
  box-shadow: 0 18px 48px -30px #060c4d66;
  transform: scaleX(var(--contact-width, 1));
  transform-origin: center;
}
.contact-film picture,
.contact-film img,
.contact-film video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.contact-film img,
.contact-film video { object-fit: cover; object-position: center 70%; }
.contact-film.is-managed img { opacity: 0; transition: opacity .45s ease; }
.contact-film.is-poster-ready img { opacity: 1; }
.contact-film video { opacity: 0; transition: opacity .8s ease; }
.contact-film.is-playing video { opacity: 1; }
.contact-film::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #05060ca6, #05060c59 56%, #05060c73),
    linear-gradient(180deg, #05060c4d, #05060c0d 65%, #05060c40);
  box-shadow: inset 0 0 0 1px #ffffff12;
  border-radius: inherit;
}
.contact--film .contact-content { position: relative; align-items: start; }
.contact--film h2 { margin: 0; color: #fff; text-shadow: 0 2px 24px #05060c99; }
.contact--film h2 span { color: #dce0ff; }
.contact--film .contact-next p { color: #edf0fa; text-shadow: 0 2px 16px #05060c; }
.contact--film .contact-email { color: #dce0ff; text-decoration-color: #dce0ff80; }
.contact--film a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }

@media (max-width: 1000px) and (min-width: 761px) {
  .contact--film .contact-content { width: calc(100% - 80px); gap: 32px; }
  .contact--film h2 { font-size: 36px; }
}
@media (max-width: 760px) {
  .contact--film {
    min-height: 0;
    padding-block: 36px 72px;
    align-items: start;
  }
  /* Keep the media and footer edges steady while the browser toolbar moves. */
  .contact-film { transform: none; border-radius: 24px; }
  .contact--film .contact-content { gap: 24px; }
  .contact--film .whatsapp-action { min-height: 52px; }
  .contact--film .contact-email { text-shadow: 0 1px 12px #05060c; }
  .contact-film img,
  .contact-film video { object-position: 50% 64%; }
  .contact-film::after {
    background: linear-gradient(180deg, #05060ce6 0%, #05060cbd 40%, #05060c99 78%, #05060c59 100%);
  }
  .contact--film h2 { font-size: clamp(30px, 8.5vw, 38px); }
  .contact--film .contact-next p { max-width: 36ch; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-film.is-managed img { transition: none; }
  .contact-film video { display: none; transition: none; }
}
