.client-section {
    padding: 24px 0 56px;
}

.client-carousel {
    position: relative;
    overflow: hidden;
    padding: 18px 0;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.62)),
        rgba(255, 255, 255, 0.52);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.86),
        0 24px 60px rgba(15, 5, 9, 0.24);
    backdrop-filter: blur(18px) saturate(1.12);
    -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

.client-carousel::before,
.client-carousel::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: min(120px, 18vw);
    pointer-events: none;
}

.client-carousel::before {
    left: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.78) 44%, rgba(255, 255, 255, 0));
}

.client-carousel::after {
    right: 0;
    background: linear-gradient(270deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.78) 44%, rgba(255, 255, 255, 0));
}

.client-carousel__track {
    display: flex;
    gap: 0;
    width: max-content;
    animation: clientLogoScroll 42s linear infinite;
    will-change: transform;
}

.client-carousel:hover .client-carousel__track {
    animation-play-state: paused;
}

.client-carousel__item {
    width: clamp(176px, 17vw, 224px);
    min-height: 118px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 8px;
    padding: 24px 32px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9)),
        #ffffff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.98),
        0 10px 24px rgba(15, 23, 42, 0.08);
}

.client-carousel__item img {
    max-width: 92%;
    max-height: 66px;
    object-fit: contain;
    filter: saturate(1.03) contrast(1.04) drop-shadow(0 7px 10px rgba(15, 23, 42, 0.08));
}

@keyframes clientLogoScroll {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .client-carousel {
        overflow-x: auto;
    }

    .client-carousel__track {
        animation: none;
    }
}

@media (max-width: 760px) {
    .client-section {
        padding: 18px 0 44px;
    }

    .client-carousel {
        padding: 12px 0;
        border-radius: 22px;
    }

    .client-carousel__item {
        width: 154px;
        min-height: 104px;
        padding: 18px 22px;
        border-radius: 16px;
    }

    .client-carousel__item img {
        max-height: 52px;
    }
}
