/* RP MOTION — capa de movimiento compartida (hero de cine + aparición al bajar)
   Solo se activa si el JS agrega .rpm al <html>. Sin JS o con "reducir movimiento" todo queda visible. */

/* Aparición al bajar */
.rpm .rpm-r{opacity:0;transform:translateY(60px);transition:opacity 1.1s cubic-bezier(.2,.7,.3,1),transform 1.1s cubic-bezier(.2,.7,.3,1);will-change:opacity,transform;}
.rpm .rpm-r.rpm-v{opacity:1;transform:none;}
/* Variante para fotos: se descubre de abajo hacia arriba */
.rpm img.rpm-r,.rpm .rpm-r-img{opacity:1;transform:none;clip-path:inset(18% 0 0 0);transition:clip-path 1.3s cubic-bezier(.2,.7,.2,1),transform 1.6s cubic-bezier(.2,.7,.2,1);}
.rpm img.rpm-r.rpm-v,.rpm .rpm-r-img.rpm-v{clip-path:inset(0 0 0 0);}

/* Entrada del texto del hero, escalonada */
@keyframes rpmIn{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
.rpm .rpm-in{opacity:0;animation:rpmIn 1.2s cubic-bezier(.2,.7,.3,1) forwards;}

/* Capa de fondo con zoom lento (Ken Burns) para heros con background-image */
.rpm .rpm-hero{isolation:isolate;}
.rpm .rpm-hero-bg{position:absolute;inset:-2%;z-index:-1;background-size:cover;background-repeat:no-repeat;animation:rpmKB 22s ease-out forwards;transform-origin:60% 50%;}
.rpm .rpm-hero::before{z-index:0;}
@keyframes rpmKB{from{transform:scale(1.14);}to{transform:scale(1.0);}}
/* Zoom lento sobre <img> o <video> de hero */
.rpm .rpm-kb{animation:rpmKB 22s ease-out forwards;transform-origin:50% 55%;}

/* Fotos de pantalla completa entre secciones: zoom ligado al scroll */
.rpm .rpm-zoom{will-change:transform;}

@media (prefers-reduced-motion: reduce){
  .rpm .rpm-r,.rpm .rpm-in,.rpm img.rpm-r{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important;transition:none!important;}
  .rpm .rpm-hero-bg,.rpm .rpm-kb{animation:none!important;}
}
