:root{--animation-duration-instant:0.1s;--animation-duration-quick:0.2s;--animation-duration-smooth:0.3s;--animation-duration-gentle:0.5s;--animation-duration-leisurely:0.8s;--animation-duration-slow:1.2s;--ease-standard:cubic-bezier(0.4,0,0.2,1);--ease-emphasized:cubic-bezier(0.2,0,0,1);--ease-decelerated:cubic-bezier(0,0,0.2,1);--ease-accelerated:cubic-bezier(0.4,0,1,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--motion-distance-small:8px;--motion-distance-medium:16px;--motion-distance-large:32px;--motion-distance-extra-large:64px;--stagger-delay-1:0.05s;--stagger-delay-2:0.1s;--stagger-delay-3:0.15s;--stagger-delay-4:0.2s;--stagger-delay-5:0.25s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(var(--motion-distance-large))}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(calc(-1 * var(--motion-distance-large)))}to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translateX(var(--motion-distance-large))}to{opacity:1;transform:translateX(0)}}@keyframes fadeRight{0%{opacity:0;transform:translateX(calc(-1 * var(--motion-distance-large)))}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.8) translateY(var(--motion-distance-medium))}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-1 * var(--motion-distance-small)))}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,calc(-1 * var(--motion-distance-large)),0)}70%{transform:translate3d(0,calc(-1 * var(--motion-distance-medium)),0)}90%{transform:translate3d(0,calc(-1 * var(--motion-distance-small)),0)}}.animate-fade-in{animation:fadeIn var(--animation-duration-gentle) var(--ease-standard) forwards}.animate-fade-up{animation:fadeUp var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-fade-down{animation:fadeDown var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-fade-left{animation:fadeLeft var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-fade-right{animation:fadeRight var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-scale-in{animation:scaleIn var(--animation-duration-gentle) var(--ease-spring) forwards}.animate-scale-up{animation:scaleUp var(--animation-duration-leisurely) var(--ease-spring) forwards}.animate-slide-in-right{animation:slideInRight var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-slide-in-left{animation:slideInLeft var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-slide-in-up{animation:slideInUp var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-slide-in-down{animation:slideInDown var(--animation-duration-leisurely) var(--ease-emphasized) forwards}.animate-shimmer{background:linear-gradient(90deg,var(--sponto-blue),var(--sponto-purple),var(--sponto-blue));background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}.animate-float{animation:float 6s var(--ease-standard) infinite}.animate-pulse{animation:pulse 2s var(--ease-standard) infinite}.animate-rotate{animation:rotate 20s linear infinite}.animate-bounce{animation:bounce var(--animation-duration-slow) var(--ease-standard) infinite}.fade-in{opacity:0;transform:translateY(var(--motion-distance-large))}.fade-in.visible{opacity:1;transform:translateY(0);transition:all var(--animation-duration-leisurely) var(--ease-emphasized)}.fade-in-section{opacity:0;transform:translateY(var(--motion-distance-large))}.fade-in-section.visible{opacity:1;transform:translateY(0);transition:all var(--animation-duration-leisurely) var(--ease-emphasized)}.stagger-1{animation-delay:var(--stagger-delay-1)}.stagger-2{animation-delay:var(--stagger-delay-2)}.stagger-3{animation-delay:var(--stagger-delay-3)}.stagger-4{animation-delay:var(--stagger-delay-4)}.stagger-5{animation-delay:var(--stagger-delay-5)}.hover-lift{transition:all var(--animation-duration-smooth) var(--ease-standard)}.hover-lift:hover{transform:translateY(calc(-1 * var(--motion-distance-small))) scale(1.02)}.hover-lift-strong{transition:all var(--animation-duration-smooth) var(--ease-standard)}.hover-lift-strong:hover{transform:translateY(calc(-1 * var(--motion-distance-medium))) scale(1.05)}.hover-grow{transition:transform var(--animation-duration-smooth) var(--ease-spring)}.hover-grow:hover{transform:scale(1.05)}.hover-rotate{transition:transform var(--animation-duration-smooth) var(--ease-spring)}.hover-rotate:hover{transform:rotate(-5deg) scale(1.05)}.focus-ring{transition:all var(--animation-duration-quick) var(--ease-standard)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(74,144,226,.3)}.active-press{transition:transform var(--animation-duration-instant) var(--ease-standard)}.active-press:active{transform:scale(.98)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 2s infinite}.loading-spinner{animation:rotate 1s linear infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01s!important;animation-iteration-count:1!important;transition-duration:.01s!important;animation-delay:0s!important}.animate-bounce,.animate-float,.animate-pulse,.animate-rotate,.animate-shimmer{animation:none!important}}@media (max-width:768px){:root{--motion-distance-small:4px;--motion-distance-medium:8px;--motion-distance-large:16px;--motion-distance-extra-large:32px;--animation-duration-gentle:0.4s;--animation-duration-leisurely:0.6s;--animation-duration-slow:0.8s}.animate-float{animation:none}}@media print{*,:after,:before{animation:none!important;transition:none!important}}