.worked-with {
  padding: 80px 0;
  overflow: hidden;
}

.marquee-container {
  width: 100%;
  overflow: hidden;
  position: relative;
  /* Fades out the edges for a highly modern look */
  -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  padding: 20px 0;
}

.marquee-track {
  display: flex;
  gap: 80px;
  width: max-content;
  animation: marquee 35s linear infinite;
  will-change: transform;
}

/* Pause animation on hover */
.marquee-track:hover {
  animation-play-state: paused;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    /* Since we duplicate the items once, -50% translates exactly one set of items */
    transform: translateX(-50%);
  }
}

.logo-badge {
  font-family: var(--font-sans);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--text-muted);
  letter-spacing: -0.02em;
  transition: color var(--transition);
  text-transform: uppercase;
  user-select: none;
  cursor: default;
}

.logo-badge:hover {
  color: var(--text-primary);
}

@media (max-width: 640px) {
  .marquee-track {
    gap: 40px;
    animation-duration: 20s;
  }
  .logo-badge {
    font-size: 1.25rem;
  }
}