/* Bruxa voadora redesenhada: menor, legível e com movimento individual das partes. */
.hn-witch{
  width:clamp(66px,11vw,102px);
  opacity:.98;
  filter:drop-shadow(0 6px 7px rgba(0,0,0,.76)) drop-shadow(0 0 6px rgba(128,63,182,.22));
}
.hn-witch-small{width:clamp(50px,8vw,74px);opacity:.84}
.hn-witch-extra{width:clamp(45px,7vw,68px);opacity:.75}
.hn-witch-alt{opacity:.93}

/* Estado de repouso: sempre fora do quadro. O motor de voo sobrescreve o transform apenas durante a travessia. */
.hn-halloween-atmosphere .hn-witch,
.hn-halloween-atmosphere .hn-bat{transform:translate3d(-250vw,0,0)}

.hn-witch-svg-v2{display:block;width:100%;height:auto;overflow:visible}

.hn-broom-stick-v2{fill:none;stroke:#8a5a32;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}
.hn-broom-bristles-v2{fill:#b77732;stroke:#4b2b16;stroke-width:1.1;transform-box:fill-box;transform-origin:right center;animation:hnBroomBristles .42s ease-in-out infinite alternate}

.hn-witch-cloak-tail-v2{fill:#27102f;stroke:#9a62bd;stroke-width:1.25;transform-box:fill-box;transform-origin:right center;animation:hnCloakFlutter .78s ease-in-out infinite alternate}
.hn-witch-cloak-highlight-v2{fill:#4b2058;stroke:none;opacity:.92}
.hn-witch-torso-v2{fill:#32133c;stroke:#b879d6;stroke-width:1.4}
.hn-witch-collar-v2{fill:#6f3190;stroke:#be87d7;stroke-width:.8}
.hn-witch-belt-v2{fill:#1e111f;stroke:#b47c48;stroke-width:.9}
.hn-witch-buckle-v2{fill:#ffc05d;stroke:#73451d;stroke-width:.8}

.hn-witch-hair-v2{fill:#b05227;stroke:#ef945f;stroke-width:1.1;transform-box:fill-box;transform-origin:right top;animation:hnHairFlutter .58s ease-in-out infinite alternate}
.hn-witch-hair-strand-v2{fill:#d06b32;stroke:none}

.hn-witch-legs-v2{transform-box:fill-box;transform-origin:left top;animation:hnWitchLegsFloat 1.02s ease-in-out infinite alternate}
.hn-witch-leg-v2{fill:#46304f;stroke:#b47bc2;stroke-width:1}
.hn-witch-boot-v2{fill:#17121a;stroke:#8f7798;stroke-width:1}
.hn-witch-leg-back-v2{transform-box:fill-box;transform-origin:left top;animation:hnLegKick .82s ease-in-out -.31s infinite alternate}

.hn-witch-arm-v2{transform-box:fill-box;transform-origin:left center;animation:hnWitchArmSwing .76s ease-in-out infinite alternate}
.hn-witch-sleeve-v2{fill:#35143f;stroke:#ae72ca;stroke-width:1.2}
.hn-witch-hand-v2,.hn-witch-neck-v2{fill:#87a95c;stroke:#c4df92;stroke-width:1}
.hn-witch-finger-v2{fill:none;stroke:#9abd6b;stroke-width:1.4;stroke-linecap:round}

.hn-witch-head-v2{transform-box:fill-box;transform-origin:center bottom;animation:hnWitchHeadNod 1.18s ease-in-out infinite alternate}
.hn-witch-face-v2{fill:#91b864;stroke:#d0e6a3;stroke-width:1.2}
.hn-witch-nose-v2{fill:#86aa5c;stroke:#c8df96;stroke-width:1}
.hn-witch-eye-v2{fill:#ffd45d;stroke:#3c2612;stroke-width:.7;filter:drop-shadow(0 0 2px rgba(255,204,67,.9))}
.hn-witch-smile-v2{fill:none;stroke:#312118;stroke-width:1.2;stroke-linecap:round}
.hn-witch-wart-v2{fill:#49632f}

.hn-witch-hat-v2{transform-box:fill-box;transform-origin:center bottom;animation:hnWitchHatRide 1.04s ease-in-out -.22s infinite alternate}
.hn-witch-hat-brim-v2,.hn-witch-hat-crown-v2,.hn-witch-hat-tip-v2{fill:#1d1126;stroke:#a663c6;stroke-width:1.25}
.hn-witch-hat-band-v2{fill:#7a2e8f;stroke:#d28ee7;stroke-width:.8}
.hn-witch-hat-buckle-v2{fill:#ffb949;stroke:#6e431c;stroke-width:.8}
.hn-witch-hat-tip-v2{transform-box:fill-box;transform-origin:left bottom;animation:hnHatWobble .88s ease-in-out infinite alternate}

.hn-witch-rider-v2{transform-box:fill-box;transform-origin:center bottom;animation:hnWitchBodyRide 1.55s ease-in-out infinite alternate}
.hn-witch-broom-v2{transform-box:fill-box;transform-origin:center;animation:hnWitchBroomRide 1.72s ease-in-out infinite alternate}

@keyframes hnWitchBodyRide{
  from{transform:translateY(-1px) rotate(-1deg)}
  to{transform:translateY(2px) rotate(1.25deg)}
}
@keyframes hnWitchBroomRide{
  from{transform:rotate(-1.1deg) translateY(.6px)}
  to{transform:rotate(1.2deg) translateY(-.7px)}
}
@keyframes hnWitchArmSwing{
  from{transform:rotate(-4deg) translateY(-1px)}
  to{transform:rotate(5deg) translateY(1px)}
}
@keyframes hnWitchHeadNod{
  from{transform:rotate(-1.8deg) translateY(0)}
  to{transform:rotate(2.5deg) translateY(1px)}
}
@keyframes hnWitchHatRide{
  from{transform:rotate(-1.5deg) translateY(.4px)}
  to{transform:rotate(1.8deg) translateY(-.7px)}
}
@keyframes hnWitchLegsFloat{
  from{transform:rotate(-2.5deg) translateY(-1px)}
  to{transform:rotate(3deg) translateY(1px)}
}
@keyframes hnHatWobble{
  from{transform:rotate(-7deg) skewX(-2deg)}
  to{transform:rotate(9deg) skewX(3deg)}
}
@keyframes hnHairFlutter{
  from{transform:skewX(-5deg) translateX(-2px)}
  to{transform:skewX(9deg) translateX(2px)}
}
@keyframes hnCloakFlutter{
  from{transform:skewY(-3deg) scaleX(.96)}
  to{transform:skewY(6deg) scaleX(1.05)}
}
@keyframes hnBroomBristles{
  from{transform:skewY(-7deg) scaleY(.93)}
  to{transform:skewY(9deg) scaleY(1.08)}
}
@keyframes hnLegKick{
  from{transform:rotate(-5deg) translateY(-1px)}
  to{transform:rotate(9deg) translateY(1px)}
}

@media(max-width:620px){
  .hn-witch{width:clamp(58px,17vw,82px)}
  .hn-witch-small{width:clamp(46px,13vw,66px)}
  .hn-witch-extra{width:clamp(42px,11vw,58px)}
}
@media(max-width:420px){
  .hn-witch{width:clamp(56px,18vw,76px)}
}
@media(prefers-reduced-motion:reduce){
  .hn-witch-rider-v2,.hn-witch-broom-v2,.hn-witch-arm-v2,.hn-witch-head-v2,.hn-witch-hat-v2,.hn-witch-hat-tip-v2,.hn-witch-hair-v2,.hn-witch-cloak-tail-v2,.hn-broom-bristles-v2,.hn-witch-legs-v2,.hn-witch-leg-back-v2{animation:none!important}
}
