.promo-marquee {
    --promo-marquee-duration: 30s;
    background: var(--sc-promo-marquee-v1-root-bg, var(--primary-background-color, #f3f4f6));
    overflow: hidden;
    padding: 1.5rem 0;
}

.promo-marquee__viewport {
    overflow: hidden;
    width: 100%;
    padding-block: 0.25rem;
}

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

.promo-marquee__group {
    display: flex;
    align-items: center;
    gap: clamp(2rem, 5vw, 3.5rem);
    padding-inline-end: clamp(2rem, 5vw, 3.5rem);
}

.promo-marquee__item {
    font-size: clamp(1.35rem, 2.8vw, 2.15rem);
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    letter-spacing: -0.02em;
    padding-block: 0.125em;
}

.promo-marquee__item--solid {
    color: var(--sc-promo-marquee-v1-item-solid-text, var(--primary-title-color, #111827));
}

.promo-marquee__item--outline {
    color: transparent;
    -webkit-text-stroke: 1.5px var(--primary-title-color, #111827);
}

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

@keyframes promo-marquee-scroll {
    from {
        transform: translateX(0);
    }

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

[dir="rtl"] .promo-marquee__track {
    animation-name: promo-marquee-scroll-rtl;
}

@keyframes promo-marquee-scroll-rtl {
    from {
        transform: translateX(0);
    }

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

@media (max-width: 768px) {
    .promo-marquee {
        padding: 1.125rem 0;
    }

    .promo-marquee__item {
        font-size: clamp(1.05rem, 4.5vw, 1.5rem);
    }

    .promo-marquee__group {
        gap: 1.5rem;
        padding-inline-end: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .promo-marquee__track {
        animation: none;
        flex-wrap: wrap;
        width: 100%;
        justify-content: center;
        gap: 1rem;
        padding: 0 1rem;
    }

    .promo-marquee__group[aria-hidden="true"] {
        display: none;
    }
}

/* === theme colour controls: inherited values (generated) === */
.promo-marquee__item-- {
	color: var(--sc-promo-marquee-v1-item-text, inherit);
}
/* === end theme colour controls === */
