.snail-layer{position:absolute;left:0;top:0;width:100%;z-index:2;pointer-events:none;overflow:visible}.snail-layer svg{display:block;overflow:visible}.snail-map{position:absolute;left:0;top:0}.snail-route{fill:none;stroke:none}.trail{fill:none;stroke:var(--snail-color, var(--brass));stroke-width:1.8;stroke-linecap:round;opacity:0;transition:opacity .35s ease}.trail.on{opacity:.55}.page-snail{position:absolute;left:0;top:0;z-index:0;color:var(--snail-color, var(--brass));transform-origin:0 0;will-change:transform}.page-snail svg{display:block;overflow:visible}.page-snail path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.page-snail .eye{fill:currentColor}.snail-body{transform-box:fill-box;transform-origin:0% 100%}.snail-shell{transform-box:fill-box;transform-origin:50% 100%}.page-snail.moving .snail-body{animation:inch 1.9s cubic-bezier(.45,0,.35,1) infinite}.page-snail.moving .snail-shell{animation:shellpull 1.9s cubic-bezier(.45,0,.35,1) infinite}.page-snail.moving .snail-foot{animation:ripple 1.9s linear infinite}@keyframes inch{0%{transform:scaleX(1) scaleY(1)}35%{transform:scaleX(1.085) scaleY(.965)}70%{transform:scaleX(1.015) scaleY(1.02)}to{transform:scaleX(1) scaleY(1)}}@keyframes shellpull{0%{transform:translate(0) rotate(0)}35%{transform:translate(-1.5%) rotate(1.2deg)}72%{transform:translate(1.8%) rotate(-1.8deg)}to{transform:translate(0) rotate(0)}}.snail-foot{stroke-dasharray:5 9}@keyframes ripple{0%{stroke-dashoffset:0}to{stroke-dashoffset:-14}}.stalk{transform-box:fill-box;transform-origin:50% 100%;animation:peek 3.7s ease-in-out infinite}.stalk.s2{animation-duration:4.3s;animation-delay:-1.6s}@keyframes peek{0%,to{transform:rotate(0)}30%{transform:rotate(6deg)}60%{transform:rotate(-3deg)}}
