

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: Inter, sans-serif;
      width: 100%;
      max-width: 100%;
      overflow-x: hidden;
    }

    * {
      box-sizing: border-box;
    }

    img {
      display: block;
      max-width: 100%;
    }

    .grid > * {
      min-width: 0;
    }

    /* Hero */

    .hero-zoom {
      animation: heroZoom 14s ease-in-out infinite alternate;
    }

    @keyframes heroZoom {
      from {
        transform: scale(1);
      }

      to {
        transform: scale(1.08);
      }
    }

    /* Mobile Drawer */

    .drawer {
      transform: translateX(100%);
      transition: transform .35s ease;
    }

    .drawer.open {
      transform: translateX(0);
    }

    .overlay {
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s ease;
    }

    .overlay.open {
      opacity: 1;
      pointer-events: auto;
    }

    /* Hamburger */

    .hamburger span {
      transition: .3s ease;
    }

    .hamburger.active span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    /* Product / Industry Cards */

    .product-card img,
    .industry-card img {
      transition: transform .5s ease;
    }

    .product-card:hover img,
    .industry-card:hover img {
      transform: scale(1.07);
    }

    /* FAQ */

    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height .35s ease;
    }

    .faq.open .faq-content {
      max-height: 220px;
    }

    .faq.open .chevron {
      transform: rotate(180deg);
    }

    /* Counter */

    .counter {
      font-variant-numeric: tabular-nums;
    }

    /* Mobile Navigation */

    .mobile-nav-item {
      position: relative;

      display: flex;
      align-items: center;

      width: 100%;

      min-height: 58px;

      padding: 0 14px;

      border-bottom: 1px solid rgba(255,255,255,.10);

      color: rgba(255,255,255,.90);

      font-size: 17px;
      font-weight: 500;

      transition:
        background-color .3s ease,
        color .3s ease,
        padding-left .3s ease;
    }

    .mobile-nav-item:hover {
      color: #ffffff;
      background: rgba(255,255,255,.05);
    }

    /* Active mobile item */

    .mobile-nav-item.active {
      color: #f47b20;

      background: rgba(244,123,32,.10);

      padding-left: 20px;

      font-weight: 700;

      border-radius: 10px;

      border-bottom-color: rgba(244,123,32,.20);
    }

    .mobile-nav-item.active::before {
      content: "";

      position: absolute;

      left: 0;
      top: 50%;

      width: 3px;
      height: 26px;

      border-radius: 0 5px 5px 0;

      background: #f47b20;

      transform: translateY(-50%);
    }

    @media (prefers-reduced-motion: reduce) {

      *,
      *::before,
      *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }

    }

    
    .team-marquee {
        width: 100%;
        overflow: hidden;
        position: relative;
    }

    .team-track {
        display: flex;
        width: max-content;
        gap: 20px;

        animation: teamSlide 28s linear infinite;
    }

    .team-card {
        width: 280px;
        flex-shrink: 0;

        background: #fafafa;
        border: 1px solid #eeeeee;
        border-radius: 20px;
        overflow: hidden;

        transition:
            transform .4s ease,
            box-shadow .4s ease;
    }

    .team-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 45px rgba(0,0,0,.12);
    }

    .team-image {
        width: 150px;
        height: 150px;
        border-radius: 50%;
        margin: 20px auto 0;
        overflow: hidden;
    }

    .team-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;

        transition: transform .7s ease;
    }

    .team-card:hover .team-image img {
        transform: scale(1.07);
    }

    .team-content {
        padding: 20px;
    }

    .team-content span {
        display: block;

        color: #d70d79;

        font-size: 10px;
        font-weight: 900;

        text-transform: uppercase;
        letter-spacing: .18em;
    }

    .team-content h3 {
        margin-top: 7px;

        font-size: 19px;
        font-weight: 900;

        color: #89024a;
    }

    .team-content p {
        margin-top: 8px;

        font-size: 13px;
        line-height: 1.7;

        color: #737373;
    }


    /* ================================
       CONTINUOUS INFINITE SLIDE
    ================================= */

    @keyframes teamSlide {

        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(calc(-50% - 10px));
        }

    }


    /* ================================
       MOBILE
    ================================= */

    @media (max-width: 640px) {

        .team-track {
            gap: 15px;
            animation-duration: 24s;
        }

        .team-card {
            width: 250px;
        }

        .team-image {
            height: 150px;
        }

    }


    /* ================================
       PAUSE ON HOVER
    ================================= */

    .team-marquee:hover .team-track {
        animation-play-state: paused;
    }


    /* ==========================================
   CONNECTED COMPANIES
========================================== */

.company-logo-track {
    animation: companyLogoScroll 25s linear infinite;
}

.company-logo {
    width: 170px;
    height: 70px;
    margin-right: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #ffffff;
}

.company-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* Continuous movement */

@keyframes companyLogoScroll {

    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }

}


/* Mobile */

@media (max-width: 640px) {

    .company-logo {
        width: 150px;
        height: 75px;
        margin-right: 20px;
    }

    .company-logo img {
        max-width: 125px;
        max-height: 55px;
    }

    .company-logo-track {
        animation-duration: 20s;
    }

}
