@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(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(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-10deg) scale(.95)}to{opacity:1;transform:rotate(0) scale(1)}}.animate-fade-up{animation:fadeInUp .8s ease-out forwards}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-slide-left{animation:slideInLeft .8s ease-out forwards}.animate-slide-right{animation:slideInRight .8s ease-out forwards}.animate-scale-in{animation:scaleIn .6s ease-out forwards}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-rotate-in{animation:rotateIn .6s ease-out forwards}.animate-stagger>*{animation:fadeInUp .8s ease-out forwards}.animate-stagger>*:nth-child(1){animation-delay:.1s}.animate-stagger>*:nth-child(2){animation-delay:.2s}.animate-stagger>*:nth-child(3){animation-delay:.3s}.animate-stagger>*:nth-child(4){animation-delay:.4s}.animate-stagger>*:nth-child(5){animation-delay:.5s}.animate-stagger>*:nth-child(6){animation-delay:.6s}html{scroll-behavior:smooth}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}button,a[role=button],.btn{position:relative;overflow:hidden;transition:all .3s ease}button:hover,a[role=button]:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px #00000026}button:active,a[role=button]:active,.btn:active{transform:translateY(0)}a{transition:all .3s ease}a:hover{color:inherit}.card{transition:all .3s ease;position:relative}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}img{transition:transform .3s ease,filter .3s ease}.image-hover:hover{transform:scale(1.05);filter:brightness(1.1)}.section-reveal{opacity:0;animation:fadeInUp .8s ease-out forwards}@media (max-width: 768px){h1{letter-spacing:-.5px;line-height:1.3}h2{line-height:1.4}p{line-height:1.6}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.gradient-text{background-size:200% 200%;animation:gradientShift 6s ease infinite}.fade-in-on-scroll{opacity:0;transform:translateY(20px);transition:all .6s ease}.fade-in-on-scroll.visible{opacity:1;transform:translateY(0)}.btn-primary{position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #49ddc366!important}.btn-primary:active{transform:translateY(-1px) scale(.99)}.btn-secondary{position:relative;overflow:hidden}.btn-secondary:hover{background-color:#ffffff1a;transform:translateY(-3px);box-shadow:0 8px 24px #fff3}.btn-secondary:active{transform:translateY(-1px)}
