/* ===== Hero banner sweep — Business Bench style =====
   A vertical band of the same image glides slowly across the
   fully-visible background image (left 120% -> -50% over 8s),
   while its inner background-position drifts 100% -> 0 over 5s. */

.hero-slide {
    overflow: hidden
}

.hero-wipe {
    position: absolute;
    top: 0;
    left: 120%;
    width: 10%;
    height: 100%;
    z-index: 1;
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: 50%;
    transition: all 8s;
    pointer-events: none;
    will-change: left
}

/* Kicks in whenever the owning slide becomes active; the 8s left
   transition plus the 5s position shift replay on every activation. */
.hero-slide.active .hero-wipe.run {
    left: -50%;
    animation: civilionWipeShift 5s
}

@keyframes civilionWipeShift {
    from { background-position: 100% }
    to   { background-position: 0 }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide.active .hero-wipe.run {
        left: 120%;
        animation: none
    }
}
