.logos {
  padding: 36px var(--container-padding);
  width: min(100%, var(--container-max));
  margin: 0 auto;
}

.logos__heading {
  text-align: center;
  color: var(--color-text-primary);
  margin: 0 0 18px;
  font-family: var(--font-body);
  font-size: 1.1rem;
  font-weight: 500;
}

.logos__viewport {
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.logos__track {
  display: flex;
  gap: 64px;
  align-items: center;
  width: max-content;
  animation: logos-scroll var(--speed, 30s) linear infinite;
  padding: 12px 0;
}

.logos__item img {
  display: block;
  height: 56px;
  width: auto;
  object-fit: contain;
  filter: none;
  opacity: 0.9;
  transition: opacity 0.2s ease, filter 0.2s ease;
}

.logos__item--gray img {
  filter: grayscale(1);
}

.logos__item:hover img {
  opacity: 1;
  filter: none;
}

@keyframes logos-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.logos__empty {
  text-align: center;
  color: var(--color-text-secondary);
  font-family: var(--font-body);
}
