/* Video aprobado completo, sin recortar el logo ni sus letras. */
@font-face {
  font-family: "IBM Plex Sans Intro";
  src: url("./IBM_Plex_Sans/IBMPlexSans-VariableFont_wdth,wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
}
.hero-image.talenka-intro {
  --intro-top-space: 0px;
  --intro-scroll-travel: 0px;
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 0;
  height: calc(min(56.25vw, 100svh) + var(--intro-top-space) + var(--intro-scroll-travel));
  aspect-ratio: auto;
  overflow: visible;
  background: #060608;
  color: #f5f1ea;
}
.talenka-intro__viewport {
  position: sticky;
  top: 0;
  width: 100%;
  height: calc(min(56.25vw, 100svh) + var(--intro-top-space));
  padding-top: var(--intro-top-space);
  box-sizing: border-box;
  overflow: hidden;
  perspective: 1600px;
  perspective-origin: 50% 50%;
}
.talenka-intro__film {
  width: 100%;
  height: 100%;
  transform: scale(0.96);
  transform-origin: 50% 50%;
  transform-style: flat;
  backface-visibility: visible;
  pointer-events: none;
  will-change: transform;
}
.talenka-intro .hero-image__video,
.talenka-intro__fallback {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
}
.has-talenka-intro #servicios { scroll-margin-top: 5.5rem; }
.talenka-intro [hidden] { display: none !important; }
@media (max-width: 48rem) {
  .has-talenka-intro .topnav { background: rgb(6 6 8 / 96%); }
  .has-talenka-intro .topnav__wrapper { gap: 0.6rem; padding-block: 0.5rem; }
  .has-talenka-intro .topnav__homelink { flex: none; }
  .has-talenka-intro .topnav__logo { width: 3rem; }
  .has-talenka-intro .topnav nav { flex: 1; min-width: 0; }
  .has-talenka-intro .topnav__links { justify-content: flex-end; gap: 0 0.85rem; }
  .has-talenka-intro .topnav .topnav__link {
    padding: 0.45rem 0;
    font: 500 0.6875rem/1.2 "IBM Plex Sans Intro", sans-serif;
    letter-spacing: 0.03em;
  }
  .hero-image.talenka-intro {
    --intro-top-space: 5.5rem;
    --intro-scroll-travel: 0px;
    padding: 0;
  }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* The longer track exists only while retracing the intro. */
.hero-image.talenka-intro.is-returning { --intro-scroll-travel: clamp(800px, 160svh, 1800px); }
.talenka-intro .hero-image__video { transform: translateZ(0); backface-visibility: visible; }
