.client-logo-marquee {
    --logo-gap: clamp(1rem, 2.4vw, 2.25rem);
    --logo-width: clamp(8.5rem, 13vw, 13.5rem);
    --logo-height: clamp(4.75rem, 7vw, 6.75rem);
    position: relative;
    width: 100%;
}

.client-logo-marquee::before,
.client-logo-marquee::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 1;
    width: min(12vw, 9rem);
    height: 100%;
    pointer-events: none;
}

.client-logo-marquee::before {
    left: 0;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.client-logo-marquee::after {
    right: 0;
    background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.client-logo-row {
    overflow: hidden;
}

.client-logo-track {
    display: flex;
    width: max-content;
    gap: var(--logo-gap);
    padding-inline: var(--logo-gap);
    animation: client-logo-marquee 30s linear infinite;
    will-change: transform;
}

.client-logo-row--reverse .client-logo-track {
    animation-name: client-logo-marquee-reverse;
    animation-duration: 34s;
}

.client-logo-marquee:hover .client-logo-track {
    animation-play-state: paused;
}

.client-logo-card {
    display: flex;
    width: var(--logo-width);
    height: var(--logo-height);
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid #edf1f4;
    border-radius: 8px;
    background: #ffffff;
    padding: clamp(1rem, 2vw, 1.35rem);
    box-shadow: 0 8px 22px rgba(0, 34, 77, 0.07);
}

.client-logo-card img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

@keyframes client-logo-marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes client-logo-marquee-reverse {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .client-logo-track {
        animation-duration: 1ms;
        animation-iteration-count: 1;
        transform: translateX(0);
    }
}
