.vs-brandstrip {
    background: #f6f4f1;
    padding: 22px 0 26px;
    border-top: 0;
    border-bottom: 0;
    overflow: hidden;
}
.vs-brandstrip h2 {
    margin: 0 0 18px;
    text-align: center;
    font-family: var(--font-family, Poppins, sans-serif);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    text-transform: none;
    color: #111;
}
.vs-brandstrip__mask {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.vs-brandstrip__track {
    display: flex;
    width: max-content;
    animation: vs-brandmarquee 36s linear infinite;
    will-change: transform;
}
.vs-brandstrip__track:hover { animation-play-state: paused; }
.vs-brandstrip ul {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    flex: 0 0 auto;
}
.vs-brandstrip li { position: relative; flex: 0 0 auto; }
.vs-brandstrip li::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 48px;
    background: linear-gradient(to bottom, transparent, #d9d9d9 30%, #d9d9d9 70%, transparent);
    pointer-events: none;
}
.vs-brandstrip a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 168px;
    height: 84px;
    flex: 0 0 168px;
    color: #161616;
    text-decoration: none;
}
.vs-brandstrip a:hover { opacity: 0.62; }
.vs-brandstrip img {
    width: 168px;
    height: 64px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.vs-brandstrip span {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
@keyframes vs-brandmarquee {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .vs-brandstrip__track { animation: none; }
}
@media (max-width: 860px) {
    .vs-brandstrip { padding: 16px 0 18px; }
    .vs-brandstrip h2 { font-size: 28px; }
    .vs-brandstrip li::after { height: 36px; }
    .vs-brandstrip a { width: 128px; height: 64px; flex-basis: 128px; }
    .vs-brandstrip img { width: 128px; height: 48px; }
    .vs-brandstrip__track { animation-duration: 28s; }
}
