.sl-marquee {
    --sl-duration: 30s;
    --sl-fade-size: 8%;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.sl-marquee--fade {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 var(--sl-fade-size), #000 calc(100% - var(--sl-fade-size)), transparent);
    mask-image: linear-gradient(to right, transparent, #000 var(--sl-fade-size), #000 calc(100% - var(--sl-fade-size)), transparent);
}

.sl-marquee__track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: sl-marquee var(--sl-duration) linear infinite;
}

.sl-marquee--reverse .sl-marquee__track {
    animation-direction: reverse;
}

.sl-marquee--pause-hover:hover .sl-marquee__track {
    animation-play-state: paused;
}

.sl-marquee__group {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 32px;
    padding-inline-end: 32px;
}

.sl-marquee__item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.sl-marquee__item img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    object-fit: contain;
}

.sl-marquee__content > :first-child {
    margin-top: 0;
}

.sl-marquee__content > :last-child {
    margin-bottom: 0;
}

@keyframes sl-marquee {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .sl-marquee__track {
        animation: none;
        transform: none;
    }
}
