.marquee{contain:paint;max-width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{width:max-content;animation:marquee var(--marquee-duration,40s) linear infinite;gap:2.5rem;padding-inline:1.5rem;display:flex}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 1.25rem))}}@media (prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee-track{flex-wrap:wrap;justify-content:center;width:auto;animation:none}.marquee-track>[aria-hidden=true]{display:none}}
.flow-path{stroke-dasharray:2 14;stroke-linecap:round;animation:12s linear infinite flow-dash}@keyframes flow-dash{to{stroke-dashoffset:-160px}}@media (prefers-reduced-motion:reduce){.flow-path{animation:none}}.flow-node{animation:5s ease-in-out infinite flow-float;animation-delay:var(--flow-delay,0s)}.flow-node:after{content:"";opacity:0;animation:5s ease-out infinite flow-ring;animation-delay:var(--flow-delay,0s);pointer-events:none;border:2px solid;border-radius:999px;position:absolute;inset:-6px}.flow-node svg{transition:transform .4s cubic-bezier(.16,1,.3,1)}.group:hover .flow-node svg{animation:.6s ease-in-out flow-wiggle}@keyframes flow-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes flow-ring{0%{opacity:.6;transform:scale(.9)}40%,to{opacity:0;transform:scale(1.45)}}@keyframes flow-wiggle{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-10deg)scale(1.12)}60%{transform:rotate(8deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){.flow-node,.flow-node:after,.group:hover .flow-node svg{animation:none}}
