.home-banner-motion { display: block; position: relative; overflow: hidden; isolation: isolate; }
.home-banner-motion picture { display: block; }
.home-banner-motion img { display: block; transform-origin: center; }
.home-banner-motion:focus-visible { outline: 3px solid #0d6efd; outline-offset: -3px; }
.home-banner-motion::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(105deg, transparent 28%, rgba(255,255,255,0) 40%, rgba(255,255,255,.38) 49%, rgba(225,250,255,.2) 52%, transparent 64%);
    transform: translateX(-130%);
}
.home-banner-motion.is-motion-active img { animation: kissu-banner-drift 5s ease-in-out infinite alternate; animation-play-state: paused; }
.home-banner-motion.is-motion-active::before { animation: kissu-banner-light 4.6s .4s ease-in-out infinite; animation-play-state: paused; }
.home-banner-motion.is-motion-running img,
.home-banner-motion.is-motion-running::before { animation-play-state: running; }
@keyframes kissu-banner-drift {
    from { transform: scale(1); }
    to { transform: scale(1.035); }
}
@keyframes kissu-banner-light {
    0%, 15% { transform: translateX(-130%); opacity: 0; }
    30% { opacity: .9; }
    55%, 100% { transform: translateX(130%); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .home-banner-motion img, .home-banner-motion::before { animation: none !important; transform: none; }
    .home-banner-motion::before { opacity: 0; }
}
