*{transition-property:transform,opacity,background-color,border-color,box-shadow,color;transition-timing-function:cubic-bezier(0.4,0,0.2,1);}.btn-gradient{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;}.btn-gradient::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s ease;}.btn-gradient:hover::before{left:100%;}.btn-gradient:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 25px rgba(0,0,0,0.2);}.btn-gradient:active{transform:translateY(0) scale(0.98);transition:all 0.1s ease;}.btn-glass{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);backdrop-filter:blur(10px);}.btn-glass:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px rgba(0,0,0,0.15);background-color:rgba(255,255,255,0.3) !important;}.btn-glass:active{transform:translateY(0) scale(1);transition:all 0.1s ease;}.card-hover{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.card-hover:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,0.15);}.link-hover{transition:all 0.2s ease;position:relative;}.link-hover::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:currentColor;transition:width 0.3s ease;}.link-hover:hover::after{width:100%;}.link-hover:hover{transform:translateX(4px);}.icon-hover{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.icon-hover:hover{transform:scale(1.2) rotate(5deg);}.input-hover{transition:all 0.2s ease;}.input-hover:hover{border-color:var(--color-indigo-400) !important;box-shadow:0 0 0 3px rgba(99,102,241,0.1);}.img-hover{transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);}.img-hover:hover{transform:scale(1.1);}.group-hover-effect:hover .group-hover-target{transform:translateY(-4px);opacity:1;}.group-hover-effect .group-hover-target{transition:all 0.3s ease;opacity:0.8;}button,a,input[type="button"],input[type="submit"],select,label[for]{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}button:hover,a:hover{transition-duration:0.2s;}button:active,a:active{transition-duration:0.1s;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;}}