/* Local, articulated micro-gestures. The illustration boxes never travel. */
.idle-shell{display:block;position:relative;flex-shrink:0;pointer-events:none}
.idle-shell>img.idle-source{display:block;width:100%!important;height:100%!important;max-width:100%;margin:0!important;transform:none!important;object-fit:contain}
.idle-shell.idle-ready>img{opacity:0}
.idle-figure{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.token-host>.idle-shell{width:190px;height:220px;margin-left:-35px;margin-right:-20px}
.guide-disc>.idle-shell{width:270px;height:270px;max-width:none;transform:translate(-18px,8px)}
.curious-host>.idle-shell{position:relative;top:auto;right:auto;width:235px;height:235px;transform:none;font-size:inherit}
.farewell-lockup>.idle-shell{width:155px;height:155px;margin-left:0;transform:none}
.idle-head,.idle-gesture{transform-box:view-box;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused}
.idle-visible .idle-head,.idle-visible .idle-gesture{animation-play-state:running}
.idle-head{transform-origin:var(--neck-x) var(--neck-y);animation-name:idle-listen;animation-duration:var(--idle-duration,17s);animation-delay:var(--idle-delay,0s)}
.idle-shell[data-pose=confident] .idle-head{animation-name:idle-acknowledge}
.idle-shell[data-pose=curious] .idle-head{animation-name:idle-consider}
.idle-gesture{transform-origin:var(--elbow-x) var(--elbow-y);animation-name:idle-offer;animation-duration:4.8s;animation-delay:var(--gesture-delay,0s)}
.idle-shell[data-pose=seated] .idle-gesture{animation-name:idle-wave;animation-duration:2.9s}
@keyframes idle-listen{0%,100%{transform:rotate(-.6deg)}45%{transform:rotate(1.4deg)}70%{transform:rotate(.4deg)}}
@keyframes idle-acknowledge{0%,25%,70%,100%{transform:rotate(0deg)}38%{transform:rotate(2deg)}48%{transform:rotate(-.7deg)}58%{transform:rotate(1deg)}}
@keyframes idle-consider{0%,100%{transform:rotate(.4deg)}35%,48%{transform:rotate(-2.2deg)}72%{transform:rotate(1deg)}}
@keyframes idle-offer{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
@keyframes idle-wave{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(14deg)}}
/* Seamless, gentle waving; only the raised forearm moves, not the whole hero. */
.wave-arm{animation-duration:2.8s;animation-timing-function:ease-in-out}
@keyframes wave{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(9deg)}}
@media(max-width:1100px){.token-host>.idle-shell{width:155px;margin-left:-15px}.guide-disc>.idle-shell{width:240px;height:240px;transform:translate(-15px,4px)}}
@media(max-width:760px){.token-host>.idle-shell{width:150px;height:170px;margin-right:-10px}.guide-disc>.idle-shell{width:205px;height:205px;transform:translate(-15px,4px)}.curious-host>.idle-shell{width:155px;height:155px}.farewell-lockup>.idle-shell{width:135px;height:135px}}
@media(prefers-reduced-motion:reduce){.idle-head,.idle-gesture{animation:none!important;transform:none}.idle-shell.idle-ready>img{opacity:1}.idle-figure{display:none}}
@media print{.idle-shell.idle-ready>img{opacity:1}.idle-figure{display:none}.wave-arm{animation:none!important;transform:none}}
