/* PROJECT 150X — animate.css (локальный минимальный набор, §29 ТЗ) */
.animate-on-scroll{opacity:0}
.animate-on-scroll.is-visible{opacity:1}
@keyframes p150xFadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes p150xFadeIn{from{opacity:0}to{opacity:1}}
@keyframes p150xZoomIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes p150xFadeInLeft{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:translateX(0)}}
@keyframes p150xFadeInRight{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
.is-visible.animate-fadeIn{animation:p150xFadeIn .7s ease both}
.is-visible.animate-fadeInUp{animation:p150xFadeInUp .7s ease both}
.is-visible.animate-fadeInLeft{animation:p150xFadeInLeft .7s ease both}
.is-visible.animate-fadeInRight{animation:p150xFadeInRight .7s ease both}
.is-visible.animate-zoomIn{animation:p150xZoomIn .6s ease both}
@media (prefers-reduced-motion:reduce){.animate-on-scroll{opacity:1}.is-visible[class*=animate-]{animation:none}}
