/* Real KYZORA mark */
.brand-logo{display:block;position:relative;overflow:hidden;width:24px;height:24px;border-radius:50%;background:#171717;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.brand-logo img{position:absolute;width:108px;height:108px;max-width:none;left:-42px;top:-20px;filter:grayscale(1) contrast(1.4) brightness(1.45)}.brand-logo:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 53%);pointer-events:none}.brand .brand-mark{display:none}
/* Animated globe in the hero */
.hero-globe{
    position:absolute;
    z-index:-1;
    right:-6vw;
    top:13vh;
    width:min(47vw,660px);
    aspect-ratio:1;
    pointer-events:none;
    filter:drop-shadow(0 0 42px rgba(255,255,255,.08));
    opacity:.88;

    animation: globeOrbit 20s linear infinite;
}

@keyframes globeOrbit{

    0%{
        transform:translate(0px,0px);
    }

    12.5%{
        transform:translate(12px,-8px);
    }

    25%{
        transform:translate(24px,-14px);
    }

    37.5%{
        transform:translate(34px,-8px);
    }

    50%{
        transform:translate(40px,0px);
    }

    62.5%{
        transform:translate(34px,8px);
    }

    75%{
        transform:translate(24px,14px);
    }

    87.5%{
        transform:translate(12px,8px);
    }

    100%{
        transform:translate(0px,0px);
    }

}.globe-shell{position:absolute;inset:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.12),transparent 23%),radial-gradient(circle at 66% 70%,rgba(255,255,255,.065),transparent 42%);overflow:hidden;box-shadow:inset -45px -30px 80px rgba(0,0,0,.58),inset 22px 15px 50px rgba(255,255,255,.035),0 0 0 18px rgba(255,255,255,.015);animation:globePulse 7s ease-in-out infinite}.globe-shell:after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(90deg,transparent 0 26px,rgba(255,255,255,.035) 27px 28px);mask-image:radial-gradient(circle,black 0 52%,transparent 71%);animation:globeDrift 13s linear infinite}.globe-lat{position:absolute;left:-5%;width:110%;height:1px;border-top:1px solid rgba(255,255,255,.28);border-radius:50%;transform-origin:center}.lat-one{top:26%;transform:rotate(-7deg) scaleY(6)}.lat-two{top:48%;transform:rotate(5deg) scaleY(2.2)}.lat-three{top:71%;transform:rotate(-5deg) scaleY(5.3)}.globe-long{position:absolute;top:-4%;left:50%;width:35%;height:108%;border:1px solid rgba(255,255,255,.25);border-radius:50%;transform:translateX(-50%)}.long-one{transform:translateX(-50%) rotate(28deg)}.long-two{transform:translateX(-50%) rotate(-28deg)}.long-three{width:58%;opacity:.65}.globe-node{position:absolute;width:5px;height:5px;background:#f1f1f1;border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.08),0 0 17px 3px rgba(255,255,255,.53);animation:nodePulse 2.7s ease-in-out infinite}.node-one{left:29%;top:34%}.node-two{right:25%;top:50%;animation-delay:-.8s}.node-three{left:42%;bottom:22%;animation-delay:-1.65s}@keyframes globePulse{50%{transform:scale(1.035);filter:brightness(1.18)}}@keyframes globeDrift{to{transform:translateX(55px)}}@keyframes nodePulse{50%{transform:scale(.5);opacity:.5}}.globe-label{position:absolute;left:11%;bottom:9%;font:500 10px/1.35 var(--font-display);text-transform:uppercase;letter-spacing:.13em;color:#bebebe;opacity:.75}
/* Expanded footer */
.footer-upgrade{position:relative;overflow:hidden;padding-top:0!important;padding-bottom:29px!important}.footer-upgrade:before{content:"";position:absolute;inset:0 max(5.2vw,26px) auto;height:1px;background:rgba(255,255,255,.18)}.footer-glow{position:absolute;right:-18vw;top:-25vw;width:53vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.11),rgba(255,255,255,.026) 31%,transparent 67%);pointer-events:none;animation:footerFloat 10s ease-in-out infinite}.footer-cta{position:relative;display:flex;justify-content:space-between;align-items:flex-end;padding:72px 0 67px;border-bottom:1px solid rgba(255,255,255,.17)}.footer-cta p{margin:0;font:500 clamp(48px,7.4vw,106px)/.85 var(--font-display);letter-spacing:-.09em}.footer-cta em{font-family:Georgia,serif;font-weight:400;color:#aaa}.footer-main{position:relative;display:grid;grid-template-columns:1.65fr .65fr .78fr .62fr;gap:25px;padding:45px 0 55px}.footer-brand-block .footer-brand{font-size:15px}.footer-brand-block>p{font:400 28px Georgia,serif;letter-spacing:-.07em;margin:26px 0 28px;color:#c9c9c9}.footer-mail{display:inline-flex;gap:10px;color:#aaa;text-decoration:none;font-size:13px;border-bottom:1px solid #666;padding-bottom:5px}.footer-mail i{font-style:normal;transition:transform .3s}.footer-mail:hover i{transform:rotate(45deg)}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column>span{color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:6px}.footer-column>a{color:#c7c7c7;text-decoration:none;font-size:13px;width:max-content;transition:color .2s,transform .2s}.footer-column>a:hover{color:#fff;transform:translateX(4px)}.footer-social-column p{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;color:#777;margin:23px 0 0}.footer-upgrade .footer-socials{justify-content:flex-start;gap:7px}.footer-upgrade .footer-bottom{position:relative;padding-top:19px;border-top:1px solid rgba(255,255,255,.17)}.footer-upgrade .footer-bottom a{display:inline-flex;gap:8px;align-items:center}.footer-upgrade .footer-bottom i{font-style:normal;transition:transform .25s}.footer-upgrade .footer-bottom a:hover i{transform:translateY(-3px)}@keyframes footerFloat{50%{transform:translate(-2vw,4vw) scale(1.12)}}
@media(max-width:800px){.hero-globe{width:98vw;right:-42vw;top:18vh;opacity:.55}.globe-label{display:none}.brand-logo{width:23px;height:23px}.footer-upgrade{padding-bottom:25px!important}.footer-upgrade:before{inset-inline:26px}.footer-cta{display:block;padding:54px 0 45px}.footer-cta p{font-size:57px;margin-bottom:29px}.footer-main{grid-template-columns:1fr 1fr;padding:37px 0 42px;gap:36px 21px}.footer-brand-block{grid-column:1/-1}.footer-brand-block>p{font-size:25px;margin:21px 0}.footer-social-column{grid-column:span 2}.footer-upgrade .footer-bottom{padding-top:17px}.footer-upgrade .footer-bottom span:nth-child(2){display:block!important}}
/* ===============================
   KYZORA Globe Rotation Fix
================================ */

@keyframes globeRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.globe-shell{
  animation:
  globePulse 7s ease-in-out infinite;
}

.globe-shell::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 26px,
      rgba(255,255,255,.05) 27px 28px
    );

  mask-image:radial-gradient(circle,black 0 52%,transparent 71%);

  animation: globeSpin 40s linear infinite;
}

@keyframes globeSpin{
  from{
    background-position-x:0;
  }
  to{
    background-position-x:220px;
  }
}
/* ==========================================
   KYZORA Premium Smooth Animation
========================================== */

html{
    scroll-behavior:smooth;
}

*,
*::before,
*::after{
    backface-visibility:hidden;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* Global transition */

a,
button,
input,
textarea,
.card,
.service-card,
.project-card,
.team-card,
.hero-btn,
.nav-link,
img,
svg{
    transition:
        all .35s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}

/* Hover */

.card:hover,
.service-card:hover,
.project-card:hover,
.team-card:hover{

    transform:translateY(-6px);

}

/* Images */

img{
    transform:translateZ(0);
}

/* Hero Globe */

.hero-globe{

    animation:
    globeFloat 8s ease-in-out infinite;

}

@keyframes globeFloat{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-10px);
    }

    100%{
        transform:translateY(0px);
    }

}

/* Footer Glow */

.footer-glow{

    animation:
    footerFloat 12s ease-in-out infinite;

}

/* Mouse Hover */

button:hover,
a:hover{

    transform:translateY(-2px);

}

/* Reduce Lag */

body{

    overflow-x:hidden;

}