/* Fase 8: animaciones de entrada sin GSAP/ScrollTrigger (112 KB). Mismos efectos: .fade_up_anim (aparece
   desplazándose 40 px desde abajo/arriba/izquierda/derecha según data-fade-from), .reveal (la imagen se
   descubre con un recorte y un leve zoom) y .title-anim (sube desde abajo). anim.js agrega .is-visible cuando el
   elemento entra en pantalla (al 90 % del alto, como el disparador anterior) y respeta data-delay/data-duration.
   Sin JavaScript (html sin la clase .anim) todo queda visible desde el principio. */
html.anim .fade_up_anim{opacity:0;transform:translate3d(0,40px,0);transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94);transition-delay:.15s}
html.anim .fade_up_anim[data-fade-from="top"]{transform:translate3d(0,-40px,0)}
html.anim .fade_up_anim[data-fade-from="left"]{transform:translate3d(-40px,0,0)}
html.anim .fade_up_anim[data-fade-from="right"]{transform:translate3d(40px,0,0)}
html.anim .fade_up_anim.is-visible{opacity:1;transform:none}
html:not(.anim) .reveal{visibility:visible}
html.anim .reveal.is-visible{visibility:visible;animation:mk-reveal-right 1.2s cubic-bezier(.77,0,.175,1) .2s both}
html.anim .reveal--left.is-visible{animation-name:mk-reveal-left}
html.anim .reveal--top.is-visible{animation-name:mk-reveal-top}
html.anim .reveal--bottom.is-visible{animation-name:mk-reveal-bottom}
html.anim .reveal.is-visible>img,html.anim .reveal.is-visible>picture>img,html.anim .reveal.is-visible>div{animation:mk-reveal-zoom 1.3s cubic-bezier(.25,.46,.45,.94) .2s both}
@keyframes mk-reveal-right{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes mk-reveal-left{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes mk-reveal-top{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes mk-reveal-bottom{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes mk-reveal-zoom{from{transform:scale(1.4)}to{transform:none}}
html.anim .title-anim{transition:top 1.2s cubic-bezier(.215,.61,.355,1)}
html:not(.anim) .title-anim,html.anim .title-anim.is-visible{top:0}
@media (prefers-reduced-motion:reduce){html.anim .fade_up_anim,html.anim .title-anim{transition:none;opacity:1;transform:none;top:0}html.anim .reveal{visibility:visible}html.anim .reveal.is-visible,html.anim .reveal.is-visible>img,html.anim .reveal.is-visible>picture>img,html.anim .reveal.is-visible>div{animation:none}}
