@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-slide-up{animation:slide-up .8s ease-out forwards}.animate-slide-down{animation:slide-down .8s ease-out forwards}.animate-spin-slow{animation:spin-slow 20s linear infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.map-bg{background:url(https://images.unsplash.com/photo-1560269999-cef6ebd231e1) center/cover no-repeat}.section-title{position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60%;height:3px;background:linear-gradient(90deg,#f4a261,#1a659e);border-radius:3px}.hero-bg{background:linear-gradient(#0d3b66d9,#1a659ed9)}.map-bg{background:url(https://images.unsplash.com/photo-1560269999-cef6ebd231e1) center/cover no-repeat}.service-card{transition:all .5s ease}.service-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px -12px #00000040}.testimonial-card{opacity:.7;transform:scale(.9);transition:all .5s ease}.testimonial-card.active{opacity:1;transform:scale(1)}.tech-logo{filter:grayscale(100%);opacity:.6;transition:all .3s ease}.tech-logo:hover{filter:grayscale(0%);opacity:1}.topography-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:-1}.topography-line{position:absolute;width:200%;height:100%;background-size:100px 100px;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 30% 40%,rgba(255,255,255,.1) 1px,transparent 1px);animation:moveLines 40s linear infinite}.topography-line:nth-child(2){animation-duration:60s;background-image:radial-gradient(circle at 70% 80%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 60% 70%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 50% 60%,rgba(255,255,255,.1) 1px,transparent 1px)}.topography-line:nth-child(3){animation-duration:80s;background-image:radial-gradient(circle at 40% 10%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 1px,transparent 1px)}@keyframes moveLines{0%{transform:translate(0)}to{transform:translate(-50%)}}.topography-images{display:flex;position:absolute;bottom:0;right:0;width:40%;height:50%;gap:15px;padding:15px;z-index:0}.topography-img{flex:1;border-radius:8px;box-shadow:0 10px 30px #0003;overflow:hidden;transform:translateY(0);transition:transform .5s ease}.topography-img:hover{transform:translateY(-10px)}.topography-img img{width:100%;height:100%;object-fit:cover}.dark .service-card{background-color:#1f2937}.dark .tech-logo{filter:grayscale(100%) brightness(80%)}.dark .tech-logo:hover{filter:grayscale(0%) brightness(100%)}.dark .section-title:after{background:linear-gradient(90deg,#f4a261,#0d3b66)}.dark .hero-bg{background:linear-gradient(#0d3b66e6,#0d3b66e6)}.dark .topography-line{background-image:radial-gradient(circle at 10% 20%,rgba(0,0,0,.3) 1px,transparent 1px),radial-gradient(circle at 20% 30%,rgba(0,0,0,.3) 1px,transparent 1px),radial-gradient(circle at 30% 40%,rgba(0,0,0,.3) 1px,transparent 1px)}.dark .topography-line:nth-child(2){background-image:radial-gradient(circle at 70% 80%,rgba(0,0,0,.3) 1px,transparent 1px),radial-gradient(circle at 60% 70%,rgba(0,0,0,.3) 1px,transparent 1px),radial-gradient(circle at 50% 60%,rgba(0,0,0,.3) 1px,transparent 1px)}.dark .topography-line:nth-child(3){background-image:radial-gradient(circle at 40% 10%,rgba(0,0,0,.3) 1px,transparent 1px),radial-gradient(circle at 30% 20%,rgba(0,0,0,.3) 1px,transparent 1px),radial-gradient(circle at 20% 30%,rgba(0,0,0,.3) 1px,transparent 1px)}
