.cmw-anim-ready{animation-duration:var(--cmw-duration,.8s);animation-delay:var(--cmw-delay,0s);animation-fill-mode:both;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
.cmw-anim-paused{animation-play-state:paused!important}
@keyframes cmw-fade-in{from{opacity:0}to{opacity:1}}
@keyframes cmw-fade-up{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes cmw-fade-down{from{opacity:0;transform:translateY(-36px)}to{opacity:1;transform:none}}
@keyframes cmw-fade-left{from{opacity:0;transform:translateX(-42px)}to{opacity:1;transform:none}}
@keyframes cmw-fade-right{from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:none}}
@keyframes cmw-slide-up{from{transform:translateY(60px)}to{transform:none}}
@keyframes cmw-slide-left{from{transform:translateX(-60px)}to{transform:none}}
@keyframes cmw-slide-right{from{transform:translateX(60px)}to{transform:none}}
@keyframes cmw-zoom-in{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes cmw-bounce-in{0%{opacity:0;transform:scale(.75)}60%{opacity:1;transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes cmw-flip-in{from{opacity:0;transform:perspective(700px) rotateX(-65deg)}to{opacity:1;transform:perspective(700px) rotateX(0)}}
@keyframes cmw-rotate-in{from{opacity:0;transform:rotate(-7deg) scale(.94)}to{opacity:1;transform:none}}
@keyframes cmw-blur-reveal{from{opacity:0;filter:blur(14px)}to{opacity:1;filter:blur(0)}}
@keyframes cmw-wipe-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cmw-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes cmw-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes cmw-gentle-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.cmw-anim-ready{animation:none!important;transition:none!important}}
