.engine-visual{width:100%;display:block;margin:-5px 0}.piston{animation:piston-stroke 2.8s ease-in-out infinite}.piston-1,.piston-2{animation-delay:-1.4s}.spark{opacity:.15;animation:ignition 2.8s ease-in-out infinite}.spark-1,.spark-2{animation-delay:-1.4s}.crank{animation:crank-spin 2.8s linear infinite;transform-origin:0 0}.lower-mechanism{width:min(300px,85%);margin-top:24px;position:relative}.lower-mechanism .wheel{width:100%;opacity:.9}.lower-mechanism>span{display:block;text-align:center;font:9px monospace;letter-spacing:1.4px;color:var(--muted);margin-top:-10px}.route-motion{position:absolute;right:30px;top:50px;width:125px;height:95px}.route-dashes{animation:route-flow 2.8s linear infinite}@keyframes piston-stroke{0%,100%{transform:translateY(-18px)}50%{transform:translateY(34px)}}@keyframes ignition{0%,100%{opacity:1}20%,80%{opacity:.1}}@keyframes crank-spin{to{transform:rotate(360deg)}}@keyframes route-flow{to{stroke-dashoffset:-40}}@media(max-width:700px){.lower-mechanism{max-width:230px;margin:20px auto 5px}.route-motion{width:95px;right:20px;top:55px}}@media(prefers-reduced-motion:reduce){.piston,.spark,.crank,.route-dashes{animation:none!important}.spark{opacity:.6}}
