/* Stable logo slots with each supplied brand kept in its original colours. */
.client-marquee .client-logo-slot{width:180px;height:124px;padding:18px;flex:none;overflow:hidden}
.client-logo-slot img{display:block;max-width:100%;max-height:88px;width:auto;height:auto;object-fit:contain}
.client-marquee-track{animation-duration:160s}
.client-marquee-track:not(.logos-ready){animation-play-state:paused}
.client-logo-slot{position:relative}
.client-logo-slot img{opacity:0}
.client-logo-slot.logo-ready img{opacity:1}
.client-logo-fallback{position:absolute;inset:12px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;text-align:center;color:#536477;line-height:1.5}
.client-logo-slot.logo-ready .client-logo-fallback{display:none}
.client-marquee.is-draggable{cursor:grab;touch-action:pan-y pinch-zoom;user-select:none}
.client-marquee.is-draggable .client-marquee-track{animation:none;will-change:transform}
.client-marquee.is-dragging{cursor:grabbing}
.client-marquee img{-webkit-user-drag:none;pointer-events:none}
.client-marquee:focus-visible{outline:2px solid var(--red);outline-offset:5px;border-radius:12px}
@media(prefers-reduced-motion:reduce){.client-marquee.is-draggable{cursor:default;touch-action:auto}.client-marquee.is-draggable .client-marquee-track{transform:none!important;will-change:auto}}
@media(max-width:560px){.client-marquee .client-logo-slot{width:150px;height:108px;padding:14px}.client-logo-slot img{max-height:80px}.client-marquee-track{animation-duration:140s}}
@media(prefers-reduced-motion:reduce){.client-marquee .client-logo-slot{width:auto}.client-marquee-group{grid-template-columns:repeat(3,minmax(0,1fr))}.client-logo-slot img{max-width:100%}}
@media(prefers-reduced-motion:reduce) and (max-width:560px){.client-marquee-group{grid-template-columns:repeat(2,minmax(0,1fr))}}
