.clients-carousel {
--clients-logo-height: 90px;
--clients-gap: 0px;
position: relative;
width: 100%;
background: #fff;
color: #111;
overflow: hidden;
cursor: grab;
-webkit-user-select: none;
user-select: none;
touch-action: pan-y;
}
.clients-carousel:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.clients-carousel.is-dragging { cursor: grabbing; }
.clients-carousel__viewport { overflow: hidden; width: 100%; }
.clients-carousel__track { display: flex; width: max-content; will-change: transform; }
.clients-carousel__set { display: flex; flex: none; gap: var(--clients-gap); }
.clients-logo {
display: flex;
flex: 0 0 clamp(160px, 20vw, 260px);
align-items: center;
justify-content: center;
box-sizing: border-box;
height: calc(var(--clients-logo-height) + 48px);
padding: 24px 32px;
background: #fff;
border-right: 1px solid #e8e8e8;
}
.clients-logo__link { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.clients-logo__image { display: block; width: auto; max-width: 100%; height: auto; max-height: var(--clients-logo-height); object-fit: contain; transition: filter 250ms ease, opacity 250ms ease, transform 250ms ease; pointer-events: none; }
.clients-carousel.is-grayscale .clients-logo__image { filter: grayscale(1); opacity: .72; }
.clients-carousel.is-grayscale .clients-logo:hover .clients-logo__image,
.clients-carousel.is-grayscale .clients-logo:focus-within .clients-logo__image { filter: grayscale(0); opacity: 1; }
.clients-carousel.has-hover-animation .clients-logo:hover .clients-logo__image,
.clients-carousel.has-hover-animation .clients-logo:focus-within .clients-logo__image { transform: scale(1.03); }
.clients-theme--dark, .clients-theme--dark .clients-logo { background: #111; color: #fff; }
.clients-theme--dark .clients-logo { border-color: rgba(255,255,255,.14); }
@media (max-width: 600px) { .clients-carousel .clients-logo { flex-basis: 50vw; padding: 20px 24px; } }
@media (prefers-reduced-motion: reduce) { .clients-carousel .clients-logo__image { transition-duration: 0.01ms; } }