.logo-marquee-section {
  padding: 90px 0;
}

.lm-viewport {
  position: relative;
  overflow: hidden;
}

.lm-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 16px;
  will-change: transform;
}

.lm-card {
  flex: 0 0 auto;
  width: clamp(140px, 16vw, 220px);
  height: clamp(84px, 9vw, 120px);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  padding: 0;
}

.lm-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.95);
}

/* Controls */
.lm-controls {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
}

.lm-btn {
  appearance: none;
  border: none;
  background: #fff;
  color: #111;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lm-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.lm-btn:active {
  transform: translateY(0);
}

/* Pause state */
.lm-viewport.is-paused .lm-track {
  animation-play-state: paused;
}

/* Responsive spacing */
@media (max-width: 1024px) {
  .logo-marquee-section {
    padding: 48px 0;
  }

  .lm-track {
    gap: 14px;
  }
}

@media (max-width: 640px) {
  .lm-track {
    gap: 12px;
  }
}

/* Pointer styles for dragging */
.lm-viewport {
  cursor: grab;
}

.lm-viewport:active {
  cursor: grabbing;
}