/* Animated SVG vocabulary reused unchanged from Factory. */
@keyframes a-bob{50%{transform:translateY(-4px)}}
@keyframes a-ping{0%,100%{opacity:.14;transform:scale(.86)}50%{opacity:.3;transform:scale(1.04)}}
@keyframes a-tick{0%{stroke-dashoffset:26}45%,100%{stroke-dashoffset:0}}
@keyframes a-point{0%,100%{transform:translate(0,0)}45%{transform:translate(9px,9px)}}
@keyframes a-lift{0%,100%{transform:translateY(0);opacity:1}55%{transform:translateY(-9px);opacity:.55}}
@keyframes a-fill{0%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
@keyframes a-sweep{0%,100%{transform:translateX(-15px)}50%{transform:translateX(15px)}}
@keyframes a-ink{0%{stroke-dashoffset:32}60%,100%{stroke-dashoffset:0}}
@keyframes a-roll{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
@keyframes a-lines{to{stroke-dashoffset:-24}}
@keyframes a-scan{0%,100%{transform:translate(0,0)}50%{transform:translate(-26px,-22px)}}
@keyframes a-spin{to{transform:rotate(1turn)}}
@keyframes a-feed{to{stroke-dashoffset:-28}}
@keyframes a-press{0%,100%{transform:translateY(-6px)}45%,60%{transform:translateY(9px)}}
@keyframes a-heat{0%{opacity:0;transform:translateY(6px)}40%{opacity:.85}100%{opacity:0;transform:translateY(-8px)}}
@keyframes a-stamp{0%,100%{transform:scale(1)}12%{transform:scale(.82)}26%{transform:scale(1.06)}}
@keyframes a-trace{0%{stroke-dashoffset:120}55%,100%{stroke-dashoffset:0}}
@keyframes a-swatch{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes a-layer{50%{transform:translateY(-3px)}}
@keyframes a-cut{0%{stroke-dashoffset:52}70%,100%{stroke-dashoffset:0}}
@keyframes a-run{0%{offset-distance:0%}100%{offset-distance:100%}}

.a-bob{animation:a-bob 3.4s ease-in-out infinite;transform-origin:50% 50%}
.a-ping{animation:a-ping 2.6s ease-in-out infinite;transform-origin:70px 70px}
.a-tick{stroke-dasharray:26;animation:a-tick 2.6s ease-in-out infinite}
.a-point{animation:a-point 2.6s ease-in-out infinite}
.a-lift{animation:a-lift 3s ease-in-out infinite}
.a-fill{transform-origin:30px 0;animation:a-fill 3s ease-in-out infinite}
.a-sweep{animation:a-sweep 3.2s ease-in-out infinite}
.a-ink{stroke-dasharray:32;animation:a-ink 3.2s ease-in-out infinite}
.a-roll{animation:a-roll 2.4s ease-in-out infinite}
.a-dash-lines>path{stroke-dasharray:6 6;animation:a-lines 1.1s linear infinite}
.a-scan{animation:a-scan 3.6s ease-in-out infinite}
.a-spin{animation:a-spin 4.4s linear infinite;transform-origin:34px 49px}
.a-feed{stroke-dasharray:8 8;animation:a-feed 1.4s linear infinite}
.a-press{animation:a-press 3s ease-in-out infinite}
.a-heat>path{animation:a-heat 2.4s ease-in-out infinite}
.a-heat>path:nth-child(2){animation-delay:.35s}
.a-heat>path:nth-child(3){animation-delay:.7s}
.a-stamp,.a-stamp-tick{animation:a-stamp 3.2s ease-in-out infinite;transform-origin:68px 69px}
.a-trace{stroke-dasharray:120;animation:a-trace 3.6s ease-in-out infinite}
.a-arc{stroke-dasharray:120;animation:a-trace 3.6s ease-in-out infinite}
.a-lay1{animation:a-layer 3s ease-in-out infinite}
.a-lay2{animation:a-layer 3s ease-in-out infinite .18s}
.a-lay3{animation:a-layer 3s ease-in-out infinite .36s}
.a-sw1{animation:a-swatch 2.4s ease-in-out infinite}
.a-sw2{animation:a-swatch 2.4s ease-in-out infinite .3s}
.a-sw3{animation:a-swatch 2.4s ease-in-out infinite .6s}
.a-cut{stroke-dasharray:52;animation:a-cut 3.2s ease-in-out infinite}
@keyframes a-needle{0%,100%{transform:translate(0,0)}45%{transform:translate(-7px,9px)}}
.a-needle{animation:a-needle 2.4s ease-in-out infinite}
.a-stitchline{stroke-dasharray:8 7;animation:a-feed 1.6s linear infinite}
/* offset-path drives the parcel along the same arc the route draws */
.a-run{offset-path:path("M24 62c14-26 34-26 48 0");offset-rotate:0deg;
  animation:a-run 3.6s ease-in-out infinite}
