/* Bonecos de corpo inteiro (bonecos.js): as juntas giram em unidades do viewBox. */
.boneco { display: block; overflow: visible; }
.boneco g { transform-box: view-box; }

/* Andar: as pernas alternam, a canela dobra quando a perna volta, os braços balançam ao contrário e o corpo sobe a cada passo */
.boneco.andando .perna.frente { animation: coxa .72s linear infinite; }
.boneco.andando .perna.tras { animation: coxa .72s linear -.36s infinite; }
.boneco.andando .perna.frente .canela { animation: canela .72s linear infinite; }
.boneco.andando .perna.tras .canela { animation: canela .72s linear -.36s infinite; }
.boneco.andando .braco.frente { animation: balanco-braco .72s ease-in-out -.36s infinite; }
.boneco.andando .braco.tras { animation: balanco-braco .72s ease-in-out infinite; }
.boneco.andando .balanco { animation: passo-sobe .36s ease-in-out infinite; }
.boneco.andando .cabeca { animation: cabeca-anda .72s ease-in-out infinite; }
@keyframes coxa { 0%, 100% { transform: rotate(-26deg); } 50% { transform: rotate(24deg); } }
@keyframes canela { 0%, 45% { transform: rotate(0); } 70% { transform: rotate(48deg); } 90% { transform: rotate(8deg); } }
@keyframes balanco-braco { 0%, 100% { transform: rotate(-22deg); } 50% { transform: rotate(22deg); } }
@keyframes passo-sobe { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes cabeca-anda { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } }

/* Parado: respira e mexe a cabeça de leve */
.boneco.parado .balanco { animation: respira 3.2s ease-in-out infinite; }
.boneco.parado .cabeca { animation: olha 5s ease-in-out infinite; }
@keyframes respira { 50% { transform: translateY(-1.5px); } }
@keyframes olha { 0%, 60%, 100% { transform: rotate(0); } 70%, 85% { transform: rotate(3deg); } }

/* Gestos ao se apresentar, um por deus */
.boneco.parado[data-boneco="coordenador"] .cabeca { animation: ergue-globo 2.8s ease-in-out infinite; }
@keyframes ergue-globo { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-6px) rotate(-1.5deg); } 55% { transform: translateY(-6px) rotate(1.5deg); } }
.boneco.parado[data-boneco="roteirista"] .cabeca { animation: escreve 2.4s ease-in-out infinite; }
@keyframes escreve { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-3deg); } 45% { transform: rotate(-1deg); } 60% { transform: rotate(-3deg); } }

/* Hermes encostado no ícone: cotovelo apoiado, pernas cruzadas, corpo inclinado para o ícone */
.boneco.encostado .inteiro { transform: rotate(7deg); transform-origin: 52px 136px; transition: transform .5s ease; }
.boneco.encostado .braco.frente { transform: rotate(-28deg); transition: transform .5s ease; }
.boneco.encostado .braco.frente .antebraco { transform: rotate(-64deg); transition: transform .5s ease; }
.boneco.encostado .perna.frente { transform: rotate(16deg); transition: transform .5s ease; }
.boneco.encostado .perna.frente .canela { transform: rotate(-30deg); transition: transform .5s ease; }
.boneco.encostado .perna.tras { transform: rotate(-4deg); }
.boneco.encostado .braco.tras { transform: rotate(10deg); }
.boneco.encostado .cabeca { animation: olha 4.4s ease-in-out infinite; }
.boneco.encostado .balanco { animation: respira 3.2s ease-in-out infinite; }
.boneco.encostado.acena .braco.tras { animation: aceno-mao 1.2s ease-in-out; }
@keyframes aceno-mao { 0%, 100% { transform: rotate(10deg); } 30%, 70% { transform: rotate(-150deg); } 50% { transform: rotate(-125deg); } }

@media (prefers-reduced-motion: reduce) {
  .boneco * { animation: none !important; }
}
