.client-proof-strip {
    border-block: 1px solid rgba(148, 163, 184, .2);
    background: rgba(248, 250, 252, .78);
}

.client-proof-strip__viewport {
    overflow: hidden;
    width: 100%;
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.client-proof-strip__track {
    display: flex;
    width: max-content;
    animation: client-proof-scroll 38s linear infinite;
    will-change: transform;
}

.client-proof-strip__group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 1rem;
    padding-right: 1rem;
}

.client-proof-strip__item {
    display: flex;
    width: clamp(8.5rem, 15vw, 11rem);
    height: 4.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .92);
    padding: .8rem 1rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.client-proof-strip__item img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 2.65rem;
    object-fit: contain;
}

.client-feedback-slide[hidden] { display: none; }
.client-feedback-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-block: 1px solid rgba(148, 163, 184, .18);
}
.client-feedback-section--light {
    background: linear-gradient(135deg, #f5f8ff 0%, #ffffff 52%, #f2fbf7 100%);
}
.client-feedback-section--dark {
    background: linear-gradient(180deg, #08050a 0%, #150811 100%);
    border-color: rgba(255, 255, 255, .10);
}
.client-feedback-slide {
    position: relative;
    overflow: hidden;
    border-top: 4px solid #135bec;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 58%, #f1fdf8 100%);
    animation: client-feedback-enter .28s ease both;
}
.client-feedback-section--dark .client-feedback-slide {
    border-top-color: #fb7185;
    background: linear-gradient(135deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 100%);
}
.client-feedback-slide::after {
    position: absolute;
    right: -4rem;
    top: -5rem;
    width: 14rem;
    height: 14rem;
    border-radius: 9999px;
    background: rgba(19, 91, 236, .08);
    content: "";
    pointer-events: none;
}
.client-feedback-section--dark .client-feedback-slide::after {
    background: rgba(251, 113, 133, .10);
}
.client-feedback-slide blockquote { position: relative; z-index: 1; }
.client-feedback-slide .client-feedback-logo {
    display: block;
    width: auto;
    max-width: 9rem;
    height: 3.25rem;
    object-fit: contain;
    object-position: right center;
}
.client-feedback-control,
.client-feedback-dot { cursor: pointer; }
@keyframes client-feedback-enter {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.client-proof-strip__viewport:hover .client-proof-strip__track,
.client-proof-strip__viewport:focus-within .client-proof-strip__track {
    animation-play-state: paused;
}

@keyframes client-proof-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .client-proof-strip__track { animation: none; }
    .client-proof-strip__group--duplicate { display: none; }
    .client-feedback-slide { animation: none; }
}

@media (max-width: 640px) {
    .client-proof-strip__viewport {
        mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
    }

    .client-proof-strip__item {
        width: 8.75rem;
        height: 4.25rem;
        padding: .65rem .8rem;
    }

    .client-proof-strip__item img { height: 2.25rem; }
    .client-feedback-slide .client-feedback-logo { max-width: 8rem; height: 2.75rem; object-position: left center; }
}
