/* TVGC · capa de movimiento 1 — scroll con inercia (Lenis) y transiciones entre páginas.
   Todo lo que mueve algo depende de html.lenis (lo pone el núcleo) o de
   prefers-reduced-motion:no-preference. Sin JS o con movimiento reducido, la web queda como estaba. */

/* ── Lenis (de lenis.css 1.3.26, sin la regla que desactiva los iframes) ── */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}
.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}

/* Las páginas declaran html{scroll-behavior:smooth}: con Lenis activo el suavizado es suyo.
   scroll-padding: los scrollIntoView nativos que quedan no se esconden bajo la barra fija.
   scrollbar-gutter: al parar Lenis (modal abierto) la página no baila de ancho. */
html.lenis{scroll-behavior:auto!important;scroll-padding-top:var(--tvgc-navh,0px);scrollbar-gutter:stable}

/* ── View Transitions entre documentos (Chrome/Edge 126+, Safari 18.2+) ── */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}

  /* raíz: la saliente se apaga, la entrante sube 10 px mientras aparece */
  ::view-transition-old(root){animation:tvgc-vt-out .42s cubic-bezier(.4,0,.2,1) both}
  ::view-transition-new(root){animation:tvgc-vt-in .56s cubic-bezier(.16,1,.3,1) .04s both}

  /* la foto del héroe viaja de una página a otra */
  .rh-bg,.hero>.hero-bg,#hero-bg-img{view-transition-name:tvgc-hero}
  ::view-transition-group(tvgc-hero){animation-duration:.85s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
  ::view-transition-old(tvgc-hero),::view-transition-new(tvgc-hero){object-fit:cover;height:100%;overflow:clip}

  /* si se llega con transición, el loader de la página no tapa el fundido */
  html.tvgc-vt #tvgc-loader{display:none!important}
}
@keyframes tvgc-vt-out{to{opacity:0}}
@keyframes tvgc-vt-in{from{opacity:0;transform:translateY(10px)}}
