.flight-arc{fill:none;stroke:#f0cbff;stroke-width:1.35;stroke-dasharray:5 9;opacity:0;animation:flight-trace 4.8s linear infinite;filter:drop-shadow(0 0 5px rgba(203,108,232,.8))}
.flight-arc.a2{animation-delay:.55s}
.flight-arc.a3{animation-delay:1.1s}
.flight-arc.a4{animation-delay:1.65s}
.flight-pulse{fill:#f6d7ff;opacity:0;filter:drop-shadow(0 0 8px #cb6ce8);animation:destination 4.8s ease-in-out infinite}
.flight-pulse.p2{animation-delay:.55s}
.flight-pulse.p3{animation-delay:1.1s}
.flight-pulse.p4{animation-delay:1.65s}

.flight-caption{position:absolute;left:67%;top:60%;font:10px 'DM Mono';letter-spacing:.1em;color:#d8b7f0;white-space:nowrap;opacity:0;animation:caption-in .8s ease forwards 2.1s}
.factory-caption{position:absolute;left:67%;top:51%;font:10px/1.55 'DM Mono';letter-spacing:.1em;color:#fbf8fc;white-space:nowrap;opacity:0;animation:caption-in .8s ease forwards 1.8s}
.factory-caption b{color:#d8b7f0;font-weight:500}

@keyframes flight-trace{0%{opacity:0;stroke-dashoffset:82}
18%{opacity:.9}
72%{opacity:.78}
100%{opacity:0;stroke-dashoffset:0}
}
@keyframes destination{0%,14%{opacity:0;transform:scale(.45)}
24%,68%{opacity:1;transform:scale(1.25)}
100%{opacity:0;transform:scale(.45)}
}
@keyframes caption-in{to{opacity:1}
}

@media(max-width:720px){.flight-arc,.flight-pulse,.flight-caption,.factory-caption{opacity:0!important;animation:none}
}
