*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;overflow-x:hidden}

::selection{background-color:#035adb;color:#fff}

.shape-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}
.shape-blob-1{width:500px;height:500px;background:rgba(3,90,219,.08);top:-200px;right:-200px}
.shape-blob-2{width:400px;height:400px;background:rgba(3,90,219,.06);bottom:-150px;left:-150px}
.shape-blob-3{width:300px;height:300px;background:rgba(23,23,36,.04);top:50%;left:50%;transform:translate(-50%,-50%)}

.gradient-text{background:linear-gradient(135deg,#035adb,#024baf,#035adb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.glass-card{background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3)}

.creative-card{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}
.creative-card:hover{transform:translateY(-8px) scale(1.02)}

.service-card{position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#035adb,#024baf);opacity:0;transition:opacity .4s ease;z-index:0;border-radius:inherit}
.service-card:hover::before{opacity:1}
.service-card:hover .service-content{position:relative;z-index:1;color:#fff}
.service-card:hover .service-icon{background:rgba(255,255,255,.2)!important;color:#fff!important}
.service-card:hover .service-link{color:#fff!important;border-color:rgba(255,255,255,.4)!important}

.process-step{position:relative}
.process-step:not(:last-child)::after{content:'';position:absolute;top:28px;left:calc(50% + 36px);width:calc(100% - 72px);height:2px;background:linear-gradient(90deg,#035adb,transparent);display:none}
@media(min-width:1024px){.process-step:not(:last-child)::after{display:block}}

.team-card{overflow:hidden}
.team-card .team-social{transform:translateY(100%);transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}
.team-card:hover .team-social{transform:translateY(0)}
.team-card .team-img-wrapper{overflow:hidden}
.team-card img,.team-card .team-img-placeholder{transition:transform .6s ease}
.team-card:hover img,.team-card:hover .team-img-placeholder{transform:scale(1.1)}

.testimonial-card{background:linear-gradient(135deg,#fff,#f8faff)}

.floating{animation:float 6s ease-in-out infinite}
.floating-delay{animation:float 6s ease-in-out 2s infinite}
.floating-slow{animation:float 8s ease-in-out 1s infinite}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
@keyframes float-reverse{0%,100%{transform:translateY(0) rotate(15deg)}50%{transform:translateY(-20px) rotate(25deg)}}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(3,90,219,.4)}70%{box-shadow:0 0 0 20px rgba(3,90,219,0)}100%{box-shadow:0 0 0 0 rgba(3,90,219,0)}}
.pulse-ring{animation:pulse-ring 2s infinite}

@keyframes tilt-in{0%{transform:rotateY(-20deg) translateX(40px);opacity:0}100%{transform:rotateY(0) translateX(0);opacity:1}}
@keyframes slide-up-fade{0%{transform:translateY(20px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes scale-in{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

.animate-float-reverse{animation:float-reverse 7s ease-in-out infinite}
.animate-tilt-in{animation:tilt-in .8s cubic-bezier(.175,.885,.32,1.275) forwards}
.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);background-size:200% 100%;animation:shimmer 2s infinite}

.animate-in{opacity:0;transform:translateY(40px);transition:all .7s cubic-bezier(.175,.885,.32,1.275)}
.animate-in.visible{opacity:1;transform:translateY(0)}
.animate-in-left{opacity:0;transform:translateX(-40px);transition:all .7s cubic-bezier(.175,.885,.32,1.275)}
.animate-in-left.visible{opacity:1;transform:translateX(0)}
.animate-in-right{opacity:0;transform:translateX(40px);transition:all .7s cubic-bezier(.175,.885,.32,1.275)}
.animate-in-right.visible{opacity:1;transform:translateX(0)}
.animate-in-scale{opacity:0;transform:scale(.8);transition:all .7s cubic-bezier(.175,.885,.32,1.275)}
.animate-in-scale.visible{opacity:1;transform:scale(1)}

.section-divider{position:relative}
.section-divider::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(3,90,219,.2),transparent)}
