/* One accessible list; a visual-only copy closes the animated loop. */
.clients-section { min-width: 0; }
.clients-heading { display: flex; align-items: end; justify-content: space-between; gap: 26px; margin-bottom: 30px; }
.clients-heading h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); max-width: 24ch; }
.clients-heading p { color: var(--muted); }
.clients-viewport { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; padding: 6px 0 12px; }
.clients-track { display: flex; width: max-content; }
.clients-list { display: flex; gap: 16px; list-style: none; margin: 0; padding: 0 16px 0 0; flex: 0 0 auto; }
.client-card { width: 170px; flex: 0 0 170px; padding: 18px 12px; border: 1px solid #d6e2f3; border-radius: 16px; background: #fff; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.client-logo { width: 100%; height: 90px; display: flex; align-items: center; justify-content: center; }
.client-logo img { display: block; max-width: 100%; max-height: 90px; width: auto; height: auto; object-fit: contain; }
.client-card > span { font-size: .83rem; font-weight: 700; line-height: 1.4; color: var(--navy); overflow-wrap: anywhere; }
.clients-copy { display: none; }
.clients-loop-enabled .clients-copy { display: flex; pointer-events: auto; }
.clients-ready .clients-viewport { cursor: grab; touch-action: auto; -webkit-overflow-scrolling: touch; scroll-behavior: auto; overscroll-behavior-x: contain; }
.clients-dragging .clients-viewport { cursor: grabbing; user-select: none; }
.clients-ready .client-logo img { -webkit-user-drag: none; }
@media (max-width: 760px) {
  .clients-heading { align-items: start; flex-direction: column; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .clients-copy { display: none !important; }
}
