.module-banner-art .banner-drift{animation:banner-breathe 3.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.module-banner-art .banner-drift-1{animation-name:banner-float-left;animation-duration:3.8s}
.module-banner-art .banner-drift-2{animation-name:banner-float-right;animation-duration:3.8s}
.module-banner-art .banner-box-flaps{transform-box:fill-box;transform-origin:center;animation:banner-flaps 3.8s ease-in-out infinite}
.module-banner-art .banner-connection-pulse{stroke-dasharray:24 110;animation:banner-signal 2s linear infinite;opacity:0}
.module-banner-art .banner-spark{transform-box:fill-box;transform-origin:center;animation:banner-glimmer 3.8s ease-in-out infinite}
.module-banner-art .banner-spark:nth-last-child(2){animation-delay:.6s}
.module-banner-art .banner-draw{stroke-dasharray:100;animation:banner-draw-line 3.8s ease-in-out infinite}
.module-banner-art .banner-draw-check{animation-delay:.8s}
.module-banner-art .banner-chart-bars{transform-box:fill-box;transform-origin:center bottom;animation:banner-bars 3.8s ease-in-out infinite}
.module-banner-art .banner-rays{animation:banner-rays 3.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.module-banner-art .banner-particles rect{animation:banner-flight 3.8s ease-out infinite;animation-delay:var(--flight-delay);opacity:0;transform-box:fill-box;transform-origin:center}
.module-banner-art .banner-drift,.module-banner-art .banner-box-flaps,.module-banner-art .banner-spark,.module-banner-art .banner-connection-pulse,.module-banner-art .banner-draw,.module-banner-art .banner-chart-bars,.module-banner-art .banner-rays,.module-banner-art .banner-particles rect{animation-play-state:paused}
.module-banner-art.banner-motion-active *{animation-play-state:running}
.module-banner-art.banner-motion-active .banner-connection-pulse{opacity:1}
@keyframes banner-breathe{0%,100%{transform:translateY(0) rotate(0) scale(1)}16%{transform:translateY(3px) rotate(-3deg) scale(.97,1.02)}34%{transform:translateY(-7px) rotate(3deg) scale(1.04,.98)}60%{transform:translateY(-2px) rotate(-1deg) scale(1)}80%{transform:translateY(1px)}}
@keyframes banner-float-left{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(7px,-10px) rotate(9deg)}52%{transform:translate(-5px,-3px) rotate(-5deg)}75%{transform:translate(-2px,6px) rotate(-3deg)}}
@keyframes banner-float-right{0%,100%{transform:translate(0,0) rotate(0)}22%{transform:translate(-5px,6px) rotate(-7deg)}48%{transform:translate(5px,-9px) rotate(6deg)}76%{transform:translate(-3px,-4px) rotate(-3deg)}}
@keyframes banner-flaps{0%,100%{transform:scaleY(1)}18%{transform:scaleY(.88)}34%{transform:scaleY(1.08)}52%,85%{transform:scaleY(1)}}
@keyframes banner-draw-line{0%,8%{stroke-dashoffset:100;opacity:.25}35%,76%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes banner-bars{0%,100%{transform:scaleY(1)}12%{transform:scaleY(.45)}35%,80%{transform:scaleY(1)}}
@keyframes banner-signal{from{stroke-dashoffset:268}to{stroke-dashoffset:0}}
@keyframes banner-glimmer{0%,100%{opacity:.6;transform:scale(1)}35%{opacity:1;transform:scale(1.8)}65%{opacity:.7;transform:scale(.85)}}
@keyframes banner-rays{0%,100%{opacity:.55}28%{opacity:1;transform:scale(1.06)}60%{opacity:.7;transform:scale(1)}}
@keyframes banner-flight{0%,18%{opacity:0;transform:translate(0,0) scale(.3)}30%{opacity:1}57%{opacity:0;transform:translate(var(--flight-x),var(--flight-y)) rotate(90deg) scale(1)}100%{opacity:0;transform:translate(var(--flight-x),var(--flight-y))}}
@media(prefers-reduced-motion:reduce){.module-banner-art *{animation:none!important}.module-banner-art .banner-connection-pulse,.module-banner-art .banner-particles{display:none}.module-banner-art .banner-draw{stroke-dashoffset:0}}
