@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}@keyframes scale-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes scroll-carrousel{from{transform:translateX(0)}to{transform:translateX(-50%)}}.animate-fade-in{animation:fade-in var(--transition-slow) both}.animate-fade-in-up{animation:fade-in-up var(--transition-slow) both}.animate-fade-in-down{animation:fade-in-down var(--transition-slow) both}.animate-slide-left{animation:slide-in-left var(--transition-slow) both}.animate-slide-right{animation:slide-in-right var(--transition-slow) both}.animate-scale-in{animation:scale-in var(--transition-slow) both}.delay-100{animation-delay:100ms}.delay-200{animation-delay:200ms}.delay-300{animation-delay:300ms}.delay-400{animation-delay:400ms}.delay-500{animation-delay:500ms}.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.55s cubic-bezier(.22,1,.36,1),transform 0.55s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.modal-inner{animation:scale-in 250ms ease both}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgb(0 0 0 / .12)}