@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{opacity:1;transform:scale(1)}}@keyframes slideInUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes hoverPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,100%{box-shadow:0 0 5px rgba(24,113,138,.3)}50%{box-shadow:0 0 20px rgba(24,113,138,.6)}}@keyframes textGlow{0%{text-shadow:1px 2px 6px rgba(24,113,138,.3)}100%{text-shadow:2px 3px 25px rgba(24,113,138,.6)}}@keyframes sectionTitleGlow{0%{filter:drop-shadow(2px 2px 2px rgba(217,229,186,.2))}50%{filter:drop-shadow(2px 3px 6px rgba(114,121,60,.6))}100%{filter:drop-shadow(2px 2px 2px rgba(194,218,171,.4))}}@keyframes spinAround{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes spinAround3D{from{transform:rotateZ(0deg) rotateX(0deg)}to{transform:rotateZ(360deg) rotateX(360deg)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}.animate-fade-in{animation:fadeIn 1s ease-out;}.animate-fade-in-up{animation:fadeInUp .8s ease-out;}.animate-fade-in-down{animation:fadeInDown .8s ease-out;}.animate-fade-in-left{animation:fadeInLeft .8s ease-out;}.animate-fade-in-right{animation:fadeInRight .8s ease-out;}.animate-scale-in{animation:scaleIn .6s ease-out;}.animate-bounce-in{animation:bounceIn 1s ease-out;}.animate-slide-in-up{animation:slideInUp .8s ease-out;}.animate-float{animation:float 3s ease-in-out infinite;}.animate-glow{animation:glow 2s ease-in-out infinite;}.animate-rotate{animation:rotate 2s linear infinite;}.scroll-animate{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.25,.46,.45,.94);animation-fill-mode:forwards;}.scroll-animate.animate{opacity:1;transform:translateY(0);animation-fill-mode:forwards;}.scroll-animate-left{opacity:0;transform:translateX(-50px);transition:all .8s cubic-bezier(.25,.46,.45,.94);animation-fill-mode:forwards;}.scroll-animate-left.animate{opacity:1;transform:translateX(0);animation-fill-mode:forwards;}.scroll-animate-right{opacity:0;transform:translateX(50px);transition:all .8s cubic-bezier(.25,.46,.45,.94);animation-fill-mode:forwards;}.scroll-animate-right.animate{opacity:1;transform:translateX(0);animation-fill-mode:forwards;}.scroll-animate-scale{opacity:0;transform:scale(.8);transition:all .8s cubic-bezier(.25,.46,.45,.94);animation-fill-mode:forwards;}.scroll-animate-scale.animate{opacity:1;transform:scale(1);animation-fill-mode:forwards;}.hover-lift{transition:transform .3s ease,box-shadow .3s ease;}.hover-lift:hover{transform:translateY(-10px);box-shadow:0 15px 35px rgba(24,113,138,.2);}.hover-scale{transition:transform .3s ease;}.hover-scale:hover{transform:scale(1.05);}.hover-rotate{transition:transform .3s ease;}.hover-rotate:hover{transform:rotate(5deg);}.btn-hover-slide{position:relative;overflow:hidden;transition:color .3s ease;}.btn-hover-slide::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,var(--primary-blue-2),var(--warm-1));transition:left .3s ease;z-index:-1;}.btn-hover-slide:hover::before{left:0;}.image-hover-zoom{overflow:hidden;border-radius:var(--border-radius-lg);}.image-hover-zoom img{transition:transform .5s ease;}.image-hover-zoom:hover img{transform:scale(1.1);}.image-hover-overlay{position:relative;overflow:hidden;border-radius:var(--border-radius-lg);}.image-hover-overlay::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(24,113,138,.7);opacity:0;transition:opacity .3s ease;}.image-hover-overlay:hover::after{opacity:1;}.loading-spinner{width:40px;height:40px;border:4px solid rgba(24,113,138,.1);border-left:4px solid var(--primary-blue-1);border-radius:50%;animation:rotate 1s linear infinite;}.loading-dots{display:flex;gap:5px;}.loading-dots span{width:8px;height:8px;background:var(--primary-blue-1);border-radius:50%;animation:hoverPulse 1.4s ease-in-out infinite both;}.loading-dots span:nth-child(1){animation-delay:-.32s;}.loading-dots span:nth-child(2){animation-delay:-.16s;}.progress-bar-animated{background:linear-gradient(90deg,var(--primary-blue-1),var(--primary-blue-2),var(--primary-blue-1));background-size:200% 100%;animation:progressShine 2s linear infinite;}@keyframes progressShine{0%{background-position:200% 0}100%{background-position:-200% 0}}.typewriter{overflow:hidden;border-right:2px solid var(--primary-blue-1);white-space:nowrap;animation:typing 3.5s steps(40,end),blink .75s step-end infinite;}.text-reveal{position:relative;overflow:hidden;}.text-reveal::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--primary-blue-1);animation:textReveal 1.5s ease-in-out;}@keyframes textReveal{0%{left:0;width:0}50%{left:0;width:100%}100%{left:100%;width:0}}.stagger-fade-in>*{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards;}.stagger-fade-in>*:nth-child(1){animation-delay:.1s;}.stagger-fade-in>*:nth-child(2){animation-delay:.2s;}.stagger-fade-in>*:nth-child(3){animation-delay:.3s;}.stagger-fade-in>*:nth-child(4){animation-delay:.4s;}.stagger-fade-in>*:nth-child(5){animation-delay:.5s;}.stagger-fade-in>*:nth-child(6){animation-delay:.6s;}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--white);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .5s ease;}.page-loader.fade-out{opacity:0;pointer-events:none;}.section-reveal{position:relative;overflow:hidden;}.section-reveal::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:sectionReveal 2s ease-in-out;}@keyframes sectionReveal{0%{left:-100%}100%{left:100%}}.delay-100{animation-delay:.1s;}.delay-200{animation-delay:.2s;}.delay-300{animation-delay:.3s;}.delay-400{animation-delay:.4s;}.delay-500{animation-delay:.5s;}.delay-600{animation-delay:.6s;}.delay-700{animation-delay:.7s;}.delay-800{animation-delay:.8s;}.delay-900{animation-delay:.9s;}.delay-1000{animation-delay:1s;}.duration-fast{animation-duration:.3s;}.duration-normal{animation-duration:.5s;}.duration-slow{animation-duration:.8s;}.duration-slower{animation-duration:1.2s;}.fill-forwards{animation-fill-mode:forwards;}.fill-backwards{animation-fill-mode:backwards;}.fill-both{animation-fill-mode:both;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-iteration-count:1!important;animation-duration:.18s!important;transition-duration:.18s!important}.animate-float,.animate-glow,.animate-rotate{animation:none!important}.scroll-animate,.scroll-animate-left,.scroll-animate-right,.scroll-animate-scale{opacity:0;transform:none;transition:opacity .18s ease-out!important}.scroll-animate.animate,.scroll-animate-left.animate,.scroll-animate-right.animate,.scroll-animate-scale.animate{opacity:1;transform:none}.animate-fade-in-up,.animate-fade-in-down,.animate-fade-in-left,.animate-fade-in-right,.animate-slide-in-up,.animate-scale-in,.animate-bounce-in{animation:none!important;opacity:1;transform:none;transition:opacity .18s ease-out!important}}.motion-reduced *,.motion-reduced *::before,.motion-reduced *::after{animation-iteration-count:1!important;animation-duration:.18s!important;transition-duration:.18s!important;}.motion-reduced .animate-float,.motion-reduced .animate-glow,.motion-reduced .animate-rotate{animation:none!important;}.motion-reduced .scroll-animate,.motion-reduced .scroll-animate-left,.motion-reduced .scroll-animate-right,.motion-reduced .scroll-animate-scale{opacity:0;transform:none;transition:opacity .18s ease-out!important;}.motion-reduced .scroll-animate.animate,.motion-reduced .scroll-animate-left.animate,.motion-reduced .scroll-animate-right.animate,.motion-reduced .scroll-animate-scale.animate{opacity:1;transform:none;}.motion-reduced .animate-fade-in-up,.motion-reduced .animate-fade-in-down,.motion-reduced .animate-fade-in-left,.motion-reduced .animate-fade-in-right,.motion-reduced .animate-slide-in-up,.motion-reduced .animate-scale-in,.motion-reduced .animate-bounce-in{animation:none!important;opacity:1;transform:none;transition:opacity .18s ease-out!important;}.hover-lift:hover,.hover-tilt:hover,.hover-scale:hover,.hover-rotate:hover{transform:none!important;}