/* M1.20 — articulated SVG rig. Each limb rotates at its own shoulder or hip. */
.walker-character,.walker-character svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.walker-character svg g{transform-box:view-box}
.walker-leg-far{transform-origin:174px 253px}
.walker-leg-near{transform-origin:126px 253px}
.walker-arm-far{transform-origin:204px 137px}
.walker-arm-near{transform-origin:98px 137px}
.walker-head{transform-origin:152px 101px}
.walker-torso{transform-origin:150px 260px}
.walker-cloak{transform-origin:150px 104px}
:is(.valley-avatar,.gate-explorer).is-walking .walker-leg-far{animation:walker-stride-back .5s ease-in-out infinite alternate}
:is(.valley-avatar,.gate-explorer).is-walking .walker-leg-near{animation:walker-stride-forward .5s ease-in-out infinite alternate}
:is(.valley-avatar,.gate-explorer).is-walking .walker-arm-far{animation:walker-stride-forward .5s ease-in-out infinite alternate}
:is(.valley-avatar,.gate-explorer).is-walking .walker-arm-near{animation:walker-stride-back .5s ease-in-out infinite alternate}
:is(.valley-avatar,.gate-explorer).is-walking .walker-torso{animation:walker-breathe .25s ease-in-out infinite alternate}
:is(.valley-avatar,.gate-explorer).is-walking .walker-head{animation:walker-head-bob .5s ease-in-out infinite alternate}
:is(.valley-avatar,.gate-explorer).is-walking .walker-cloak{animation:walker-cloak-sway .7s ease-in-out infinite alternate}
.valley-avatar .walker-character{transition:transform .12s linear}
:is(.valley-avatar,.gate-explorer).facing-left .walker-character{transform:scaleX(-1)}
.valley-avatar .hero-visual{animation:none!important}
@keyframes walker-stride-forward{from{transform:rotate(-19deg)}to{transform:rotate(19deg)}}
@keyframes walker-stride-back{from{transform:rotate(19deg)}to{transform:rotate(-19deg)}}
@keyframes walker-breathe{from{transform:translateY(-2px)}to{transform:translateY(2px)}}
@keyframes walker-head-bob{from{transform:rotate(-2deg) translateY(-1px)}to{transform:rotate(2deg) translateY(1px)}}
@keyframes walker-cloak-sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@media(prefers-reduced-motion:reduce){
 .walker-character,.walker-character *{animation:none!important;transition:none!important}
}

/* The crossroads shares the same articulated walking skeleton. */
.gate-explorer .walker-character{width:100%;height:100%;transform-origin:50% 86%}
.gate-explorer.is-walking .walker-character{animation:none!important}
