/* Decorative routes stay behind the hero copy and out of the product demo. */
.hero-copy-grid{position:relative;isolation:isolate;overflow:hidden}
.hero-copy-grid>div:not(.hero-route-background){position:relative;z-index:1}
.hero-route-background{position:absolute;z-index:0;pointer-events:none;inset:-30px -80px -30px 34%;color:var(--text,#f4f4f5);opacity:.22;mask-image:linear-gradient(90deg,transparent,black 45%,black 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 45%,black 90%,transparent)}
.hero-route-background svg{width:100%;height:100%;overflow:visible;animation:rivo-route-drift 28s ease-in-out infinite alternate}
.hero-route-lines{opacity:.32}.hero-route-traces{opacity:.8}.hero-route-trace{stroke-dasharray:2 98;animation:rivo-route-travel 18s linear infinite}.hero-route-trace:nth-child(2){animation-duration:23s;animation-delay:-9s}.hero-route-trace:nth-child(3){animation-duration:21s;animation-delay:-14s}.hero-route-stops{opacity:.65}
@keyframes rivo-route-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes rivo-route-drift{from{transform:translate3d(0,-5px,0)}to{transform:translate3d(10px,7px,0)}}
html[data-theme=light] .hero-route-background{color:#172033;opacity:.2}
@media(max-width:700px){.hero-route-background{inset:0 -190px 0 10%;opacity:.14}html[data-theme=light] .hero-route-background{opacity:.13}}
@media(prefers-reduced-motion:reduce){.hero-route-background svg,.hero-route-trace{animation:none!important}.hero-route-traces{display:none}}
