@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0) translateX(-50%)}40%{transform:translateY(-10px) translateX(-50%)}60%{transform:translateY(-5px) translateX(-50%)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.7)}50%{box-shadow:0 0 0 15px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{from{opacity:0;transform:rotate(-10deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,100%{box-shadow:0 0 5px rgba(178,34,34,.5)}50%{box-shadow:0 0 20px rgba(178,34,34,.8),0 0 30px rgba(178,34,34,.6)}}.fade-in-up{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease forwards}.fade-in-up.delay-1{animation-delay:.2s}.fade-in-up.delay-2{animation-delay:.4s}.fade-in-up.delay-3{animation-delay:.6s}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.active{opacity:1;transform:translateY(0)}.stagger-item{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.stagger-item:nth-child(1){transition-delay:.1s}.stagger-item:nth-child(2){transition-delay:.2s}.stagger-item:nth-child(3){transition-delay:.3s}.stagger-item:nth-child(4){transition-delay:.4s}.stagger-item:nth-child(5){transition-delay:.5s}.stagger-item:nth-child(6){transition-delay:.6s}.stagger-item.visible{opacity:1;transform:translateY(0)}.btn{position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover::before{width:300px;height:300px}.leader-card,.service-card,.testimonial-card{transition:all .3s ease}.service-card:hover{animation:float 3s ease-in-out infinite}.contact-item svg,.service-icon svg{transition:transform .3s ease}.service-card:hover .service-icon svg{transform:scale(1.1) rotate(5deg)}.animated-link{position:relative;display:inline-block}.animated-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--accent-crimson);transition:width .3s ease}.animated-link:hover::after{width:100%}.image-zoom-wrapper{overflow:hidden;border-radius:var(--radius-lg)}.image-zoom{transition:transform .5s ease}.image-zoom-wrapper:hover .image-zoom{transform:scale(1.1)}.image-reveal{position:relative;overflow:hidden}.image-reveal::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--primary-navy);transform:translateX(-100%);transition:transform .6s ease}.image-reveal.active::after{transform:translateX(100%)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-text{height:1rem;border-radius:4px;margin-bottom:.5rem}.skeleton-circle{width:60px;height:60px;border-radius:50%}.spinner{width:40px;height:40px;border:4px solid rgba(0,51,102,.1);border-top-color:var(--primary-navy);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal.active{opacity:1;visibility:visible}.modal-content{transform:scale(.8) translateY(-20px);transition:transform .3s ease}.modal.active .modal-content{transform:scale(1) translateY(0)}.toast{transform:translateX(400px);transition:transform .3s ease}.toast.show{transform:translateX(0)}.faq-answer{transition:max-height .3s ease-out,padding .3s ease-out}.faq-item.active .faq-answer{animation:fadeIn .3s ease}.testimonials-track{transition:transform .5s cubic-bezier(.645,.045,.355,1)}.parallax{transform:translateZ(0);will-change:transform}.navbar{transition:all .3s ease-in-out}.navbar.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.1)}@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.counter{animation:countUp .5s ease}.tooltip{opacity:0;transform:translateY(-5px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.tooltip.show{opacity:1;transform:translateY(0);pointer-events:auto}.dropdown-menu{opacity:0;transform:translateY(-10px);visibility:hidden;transition:all .3s ease}.dropdown.active .dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}.progress-bar{transform:scaleX(0);transform-origin:left;transition:transform .6s ease}.progress-bar.active{transform:scaleX(1)}.badge-pulse{animation:pulse 2s infinite}.count-up{animation:countUp .8s ease}input:focus,select:focus,textarea:focus{animation:inputFocus .3s ease}@keyframes inputFocus{0%{box-shadow:0 0 0 0 rgba(178,34,34,.4)}100%{box-shadow:0 0 0 4px rgba(178,34,34,0)}}.input-error{animation:shake .5s ease;border-color:var(--accent-crimson)}@keyframes checkmark{0%{stroke-dashoffset:100}100%{stroke-dashoffset:0}}.checkmark{stroke-dasharray:100;stroke-dashoffset:100;animation:checkmark .5s ease forwards}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background-color:var(--primary-navy);border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,100%,60%{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.ripple{position:relative;overflow:hidden}.ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active::after{width:200px;height:200px}.page-transition{animation:fadeIn .5s ease}.scroll-progress{position:fixed;top:70px;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--accent-crimson),var(--primary-navy));z-index:1001;transition:width .1s ease}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.will-animate{will-change:transform,opacity}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.scroll-snap-container{scroll-snap-type:y mandatory;overflow-y:scroll}.scroll-snap-item{scroll-snap-align:start}@media (hover:none) and (pointer:coarse){.btn:hover{transform:none}.leader-card:hover,.service-card:hover{transform:none}}