.voco-mascot-live{position:relative;display:inline-block;flex-shrink:0;vertical-align:middle;transform-origin:50% 60%;animation:voco-float 7.4s ease-in-out infinite;will-change:transform;--voco-lift:5px;--voco-tilt:1.6deg}
.voco-mascot-pose{position:relative;display:block;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1);transform-origin:52% 62%}
.voco-mascot-pose>img{display:block;width:100%;height:100%;object-fit:contain}
.voco-face-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.voco-eye-blink{opacity:0;animation:voco-blink 7.4s linear infinite}
.voco-closed-eyes{filter:drop-shadow(0 0 7px var(--voco-tone-3b9aff, #3b9aff))}
.voco-speech-glow{opacity:0;filter:drop-shadow(0 0 6px var(--voco-tone-58aaff, #58aaff));transition:opacity .25s}
.voco-speech-glow rect{transform-box:fill-box;transform-origin:center;animation:voco-speech 1.05s ease-in-out infinite alternate;animation-play-state:paused}
.voco-speech-glow rect:nth-child(2){animation-delay:-.28s}.voco-speech-glow rect:nth-child(3){animation-delay:-.6s}.voco-speech-glow rect:nth-child(4){animation-delay:-.15s}.voco-speech-glow rect:nth-child(5){animation-delay:-.78s}.voco-speech-glow rect:nth-child(6){animation-delay:-.42s}.voco-speech-glow rect:nth-child(7){animation-delay:-.91s}
.voco-intro-pill>.voco-mascot-live{width:52px;height:52px;--voco-lift:1.5px;--voco-tilt:1deg;animation-delay:-2.1s}
.voco-intro-pill .voco-eye-blink{animation-delay:-2.1s}
.voco-intro-pill .voco-face-overlay{inset:1px;width:calc(100% - 2px);height:calc(100% - 2px)}
.workflow-hub-core{position:relative;isolation:isolate}
.workflow-hub-core>.voco-mascot-live{width:224px;height:224px;z-index:1}
.workflow-hub-core .voco-mascot-pose>img{width:100%;height:100%}
.workflow-hub-core:after{content:"";position:absolute;bottom:5px;left:30%;width:40%;height:5px;border-radius:50%;background:var(--voco-tone-6b9ddd, #6b9ddd);filter:blur(3px);opacity:.12;animation:voco-ground-shadow 7.4s ease-in-out infinite;z-index:0}
.workflow-section[data-phase='1'] .voco-mascot-pose{transform:rotate(-2deg) translateX(-1px)}
.workflow-section[data-phase='2'] .voco-mascot-pose{transform:rotate(1deg) translateY(-1px)}
.workflow-section[data-phase='2'] .voco-speech-glow{opacity:.55}
.workflow-section[data-phase='2'] .voco-speech-glow rect{animation-play-state:running}
.workflow-section[data-phase='3'] .voco-mascot-pose{transform:rotate(3deg) translateX(2px)}
.workflow-section[data-phase='4'] .voco-mascot-pose{animation:voco-success-nod 1.1s cubic-bezier(.2,.8,.2,1) both}
.mascot-resting,.mascot-resting *{animation-play-state:paused!important}
@keyframes voco-float{0%,100%{transform:translate3d(0,2px,0) rotate(calc(-1 * var(--voco-tilt)))}50%{transform:translate3d(0,calc(-1 * var(--voco-lift)),0) rotate(var(--voco-tilt))}}
/* Occasional short blink, with a small second blink. Open eyes dominate the cycle. */
@keyframes voco-blink{0%,43%,46%,88%,92%,100%{opacity:0}44%,45%,89%,90%{opacity:1}}
@keyframes voco-speech{from{opacity:.2;transform:scaleY(.55)}to{opacity:.85;transform:scaleY(1)}}
@keyframes voco-ground-shadow{0%,100%{opacity:.14;transform:scaleX(1)}50%{opacity:.07;transform:scaleX(.8)}}
@keyframes voco-success-nod{0%,100%{transform:rotate(0) translateY(0)}40%{transform:rotate(3deg) translateY(2px)}70%{transform:rotate(-1deg) translateY(-1px)}}
@media(max-width:1000px) and (min-width:761px){.workflow-hub-core{width:170px;height:170px}.workflow-hub-core>.voco-mascot-live{width:190px;height:190px}}
@media(max-width:720px){.voco-intro-pill>.voco-mascot-live{width:36px;height:36px;--voco-lift:1px}.workflow-hub-core>.voco-mascot-live{width:210px;height:210px;--voco-lift:5px}}
@media(prefers-reduced-motion:reduce){.voco-mascot-live,.voco-mascot-live *,.workflow-hub-core:after{animation:none!important;transition:none!important;transform:none!important;will-change:auto}.voco-eye-blink,.voco-speech-glow{display:none}}
