/* Capa de movimiento (adaptada de la skill landing-premium). Todo cuelga de #lp.mov. */

/* Titulares que se montan palabra a palabra (y se desmontan al subir) */
#lp.mov h2 .pal {
  display: inline-block;
  --l: clamp(0, calc(var(--tp, 1) * (1 + var(--n, 1) * .12) - var(--i, 0) * .12), 1);
  opacity: max(var(--l), .06);
  transform: translateY(calc((1 - var(--l)) * .45em));
  filter: blur(calc((1 - var(--l)) * 6px));
}

/* Tarjetas que entran girando; con ratón se inclinan hacia el puntero */
#lp.mov .card, #lp.mov [data-entra] {
  transform: perspective(900px)
             translateY(calc((1 - var(--sp, 1)) * 36px))
             rotateX(calc((1 - var(--sp, 1)) * 12deg + var(--tx, 0deg)))
             rotateY(var(--ty, 0deg));
  opacity: calc(.15 + var(--sp, 1) * .85);
}
#lp.mov .card { position: relative }

/* Brillo cálido que sigue al ratón dentro de la tarjeta */
#lp.mov .card .brillo {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  opacity: 0; transition: opacity .3s ease;
  background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(247, 217, 162, .09), transparent 58%);
}
#lp.mov .card:hover .brillo { opacity: 1 }
