.tsc-section-image-line .image-line {
    --image-line-gap: 20px;
    width: 100%;
    overflow: hidden; /* Clips the viewable marquee window */
}

.tsc-section-image-line .image-line:hover .image-track {
    animation-play-state: paused;
}

.tsc-section-image-line .image-track {
    display: flex;
    width: max-content;
    animation: imageLine var(--image-line-duration, 45s) linear infinite;
    will-change: transform;
}

.tsc-section-image-line .image-set {
    display: flex;
    flex-shrink: 0;
    /* Same 20px space between images as the original grid gap */
    gap: var(--image-line-gap);
    /* Trailing gap so the join between the two copies also stays 20px */
    padding-inline-end: var(--image-line-gap);
}

.tsc-section-image-line .image-wrapper {
    flex: 0 0 250px;
    width: 250px;
    min-width: 250px;
}

.tsc-section-image-line .image__image-line {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
}

@keyframes imageLine {
    from {
        transform: translateX(0);
    }
    to {
        /* Two equal sets: -50% lands exactly on the duplicate */
        transform: translateX(-50%);
    }
}
