/* Journeys card motion. Selectors are scoped so they don't restyle the rest of the page.
   Keyframe names are prefixed so they don't replace the closet "live" dot. */

.journeys-stage .cam{transition:transform 1.4s cubic-bezier(.65,0,.35,1)}
.journeys-stage .cursor{transition:left 1.1s cubic-bezier(.65,0,.35,1),top 1.1s cubic-bezier(.65,0,.35,1),opacity .5s ease}
.journeys-stage .ring{transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .4s ease}
.journeys-stage .field{transition:box-shadow .3s ease}
.journeys-stage .flip{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:50% 50%}
.journeys-stage .pop{transition:opacity .5s ease,transform .75s cubic-bezier(.2,1.55,.35,1),filter .5s ease}
.journeys-stage .slide{transition:transform .5s cubic-bezier(.32,.72,0,1),bottom .5s cubic-bezier(.32,.72,0,1)}
.journeys-stage .key{transition:background-color .15s ease,transform .15s ease}
.journeys-stage .save{transition:transform .15s ease,background-color .3s ease,color .3s ease}
.journeys-stage .caret{display:inline-block;width:1.5px;height:14px;margin-left:1px;vertical-align:-2px;background:#4A47D6;animation:journeys-blink 1s steps(1) infinite}
@keyframes journeys-blink{50%{opacity:0}}
.journeys-stage .dot{display:inline-block;width:6px;height:6px;border-radius:999px;background:#9A9CAD;animation:journeys-bob 1s ease-in-out infinite}
.journeys-stage .dot:nth-child(2){animation-delay:.15s}
.journeys-stage .dot:nth-child(3){animation-delay:.3s}
@keyframes journeys-bob{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}
.journeys-stage .gfade{transition:opacity .6s ease,transform .8s cubic-bezier(.2,1.3,.35,1)}
.journeys-stage .node{transition:opacity .5s ease,box-shadow .5s ease,background-color .5s ease,transform .6s cubic-bezier(.2,1.4,.35,1)}
.journeys-stage .badge{transition:opacity .4s ease,transform .6s cubic-bezier(.2,1.6,.35,1)}
.journeys-stage .live{position:relative;width:7px;height:7px;border-radius:999px;background:#43D6B4}
.journeys-stage .live::after{content:'';position:absolute;inset:0;border-radius:999px;background:#43D6B4;animation:journeys-live 1.6s ease-out infinite}
@keyframes journeys-live{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.8);opacity:0}}
.journeys-stage .tapring{position:absolute;left:-19px;top:-19px;width:38px;height:38px;box-sizing:border-box;border-radius:999px;border:2px solid rgba(143,123,255,.85);animation:journeys-tapr 1.1s ease-out infinite}
@keyframes journeys-tapr{0%{transform:scale(.45);opacity:1}100%{transform:scale(1.5);opacity:0}}
.journeys-stage .tap{transition:opacity .25s ease,left .45s cubic-bezier(.65,0,.35,1),top .45s cubic-bezier(.65,0,.35,1)}
.journeys-stage .tagchip{transition:opacity .3s ease,top .6s cubic-bezier(.65,0,.35,1),transform .4s cubic-bezier(.2,1.5,.35,1)}
