.fade-in{opacity:0;animation:fadeIn .8s ease-in forwards}@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}.stagger-item{opacity:0;transform:translateY(20px)}.stagger-item:nth-child(1) {animation:staggerFade .4s ease-out .1s forwards}.stagger-item:nth-child(2) {animation:staggerFade .4s ease-out .2s forwards}.stagger-item:nth-child(3) {animation:staggerFade .4s ease-out .3s forwards}.stagger-item:nth-child(4) {animation:staggerFade .4s ease-out .4s forwards}.stagger-item:nth-child(5) {animation:staggerFade .4s ease-out .5s forwards}.stagger-item:nth-child(n+6) {animation:staggerFade .4s ease-out .6s forwards}@keyframes staggerFade {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}.pulse{animation:pulse 2s infinite}@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}.card{transition:transform .3s ease , box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.btn{position:relative;overflow:hidden;transition:all .3s ease}.btn::after{content:'';position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255,255,255,.3);opacity:0;border-radius:100%;transform:scale(1,1) translate(-50%);transform-origin:50% 50%}.btn:hover::after{animation:ripple 1s ease-out}@keyframes ripple {
    0% {
        transform: scale(0, 0);
        opacity: 0.5;
    }
    100% {
        transform: scale(20, 20);
        opacity: 0;
    }
}.grow-hover{transition:transform .3s ease}.grow-hover:hover{transform:scale(1.05)}.shake{animation:shake .82s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}.rotate{animation:rotate 10s linear infinite}@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}.progress-bar{transition:width .6s ease}.bg-fade{animation:bgFade 3s ease-in-out infinite alternate}@keyframes bgFade {
    from { opacity: 0.7; }
    to { opacity: 0.9; }
}.text-reveal{position:relative;display:inline-block;overflow:hidden}.text-reveal::after{content:'';position:absolute;top:0;right:0;width:100%;height:100%;background:#4361ee;animation:textReveal 1.5s ease forwards}@keyframes textReveal {
    from { transform: translateX(0); }
    to { transform: translateX(100%); }
}.float{animation:float 6s ease-in-out infinite}@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
    100% { transform: translateY(0px); }
}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .4s , transform .4s}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .4s}