@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-10px,0)}70%{transform:translate3d(0,-5px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.25,.46,.45,.94) both}.animate-fade-in-down{animation:fadeInDown .8s cubic-bezier(.25,.46,.45,.94) both}.animate-fade-in-left{animation:fadeInLeft .8s cubic-bezier(.25,.46,.45,.94) both}.animate-fade-in-right{animation:fadeInRight .8s cubic-bezier(.25,.46,.45,.94) both}.animate-scale-in{animation:scaleIn .6s cubic-bezier(.25,.46,.45,.94) both}.animate-float{animation:float 6s ease-in-out infinite}.animate-gentle-float{animation:gentleFloat 4s ease-in-out infinite}.animate-pulse-smooth{animation:pulse 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4) 50%,transparent);background-size:1000px 100%;animation:shimmer 2s infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradientShift 6s ease infinite}.animate-slide-up{animation:slideUp .8s cubic-bezier(.25,.46,.45,.94) both}.animate-slide-down{animation:slideDown .8s cubic-bezier(.25,.46,.45,.94) both}.animate-zoom-in{animation:zoomIn .6s cubic-bezier(.25,.46,.45,.94) both}.animate-bounce-gentle{animation:bounce 2s ease-in-out infinite}.animate-heartbeat{animation:heartbeat 2s ease-in-out infinite}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.animate-delay-600{animation-delay:.6s}.animate-delay-700{animation-delay:.7s}.animate-delay-800{animation-delay:.8s}.hover-lift{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.hover-glow{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.hover-glow:hover{box-shadow:0 0 30px rgba(99,102,241,.3)}.hover-scale{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.hover-scale:hover{transform:scale(1.05)}.scroll-fade-in{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.46,.45,.94)}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}.glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.glass,.glass-dark{backdrop-filter:blur(20px)}.glass-dark{background:rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.1)}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.button-apple{transition:all .2s cubic-bezier(.25,.46,.45,.94);transform-origin:center}.button-apple:hover{transform:scale(1.02)}.button-apple:active{transform:scale(.98)}.focus-ring{transition:all .2s cubic-bezier(.25,.46,.45,.94)}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(99,102,241,.3)}.parallax-slow{transform:translateZ(0);will-change:transform}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.page-enter-active,.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:all .4s cubic-bezier(.25,.46,.45,.94)}@media (prefers-reduced-motion:no-preference){.animate-on-scroll{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.25,.46,.45,.94)}.animate-on-scroll.animate{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}