svg.beesvg-animated-svg {
  display: block;
  width: 100%;
  max-width: var(--beesvg-width, 220px);
  height: auto;
  margin-inline: auto;
  overflow: visible;
}

svg.beesvg-animated-svg .beesvg-scene,
svg.beesvg-animated-svg .beesvg-part,
svg.beesvg-animated-svg [class*="beesvg-motion-"],
svg.beesvg-animated-svg [class*="beesvg-enter-"] {
  transform-box: fill-box;
  transform-origin: var(--beesvg-origin-x, 50%) var(--beesvg-origin-y, 50%);
  will-change: transform, opacity;
}

/* Optional semantic defaults */
svg.beesvg-animated-svg .beesvg-part-light {
  opacity: 1;
}

/* Origin helpers */

svg.beesvg-animated-svg .beesvg-origin-center {
  --beesvg-origin-x: 50%;
  --beesvg-origin-y: 50%;
}

svg.beesvg-animated-svg .beesvg-origin-left {
  --beesvg-origin-x: 0%;
  --beesvg-origin-y: 50%;
}

svg.beesvg-animated-svg .beesvg-origin-right {
  --beesvg-origin-x: 100%;
  --beesvg-origin-y: 50%;
}

svg.beesvg-animated-svg .beesvg-origin-top {
  --beesvg-origin-x: 50%;
  --beesvg-origin-y: 0%;
}

svg.beesvg-animated-svg .beesvg-origin-bottom {
  --beesvg-origin-x: 50%;
  --beesvg-origin-y: 100%;
}

svg.beesvg-animated-svg .beesvg-origin-top-left {
  --beesvg-origin-x: 0%;
  --beesvg-origin-y: 0%;
}

svg.beesvg-animated-svg .beesvg-origin-top-right {
  --beesvg-origin-x: 100%;
  --beesvg-origin-y: 0%;
}

svg.beesvg-animated-svg .beesvg-origin-bottom-left {
  --beesvg-origin-x: 0%;
  --beesvg-origin-y: 100%;
}

svg.beesvg-animated-svg .beesvg-origin-bottom-right {
  --beesvg-origin-x: 100%;
  --beesvg-origin-y: 100%;
}

/* Motion classes: movement only */

svg.beesvg-animated-svg .beesvg-motion-spin-cw {
  animation: beesvg-rotate-cw var(--beesvg-spin-duration, 5s) linear infinite;
}

svg.beesvg-animated-svg .beesvg-motion-spin-ccw {
  animation: beesvg-rotate-ccw var(--beesvg-spin-duration, 5s) linear infinite;
}

svg.beesvg-animated-svg .beesvg-motion-pulse {
  animation: beesvg-pulse var(--beesvg-pulse-duration, 2.8s) ease-in-out infinite;
}

svg.beesvg-animated-svg .beesvg-motion-flicker {
  animation: beesvg-flicker var(--beesvg-flicker-duration, 3s) linear infinite;
}

svg.beesvg-animated-svg .beesvg-motion-bob {
  animation: beesvg-bob var(--beesvg-bob-duration, 3.2s) ease-in-out infinite;
}

svg.beesvg-animated-svg .beesvg-motion-spring {
  animation: beesvg-spring var(--beesvg-spring-duration, 2.2s) ease-in-out infinite;
}

svg.beesvg-animated-svg .beesvg-motion-wobble {
  animation: beesvg-wobble var(--beesvg-wobble-duration, 2.4s) ease-in-out infinite;
}

svg.beesvg-animated-svg .beesvg-motion-wobble-reverse {
  animation: beesvg-wobble-reverse var(--beesvg-wobble-duration, 2.4s) ease-in-out infinite;
}

svg.beesvg-animated-svg .beesvg-motion-flap-soft {
  animation: beesvg-flap-soft var(--beesvg-flap-soft-duration, 1.6s) ease-in-out infinite;
}

svg.beesvg-animated-svg .beesvg-motion-flap-soft-reverse {
  animation: beesvg-flap-soft-reverse var(--beesvg-flap-soft-duration, 1.6s) ease-in-out infinite;
}

svg.beesvg-animated-svg .beesvg-motion-flap-sharp {
  animation: beesvg-flap-sharp var(--beesvg-flap-sharp-duration, 0.34s) linear infinite;
}

svg.beesvg-animated-svg .beesvg-motion-flap-sharp-reverse {
  animation: beesvg-flap-sharp-reverse var(--beesvg-flap-sharp-duration, 0.34s) linear infinite;
}

svg.beesvg-animated-svg .beesvg-motion-blink {
  animation: beesvg-blink var(--beesvg-blink-duration, 5.5s) ease-in-out infinite;
}

/* Tiny SVG helper */

svg.beesvg-animated-svg.beesvg-mini {
  --beesvg-width: 72px;
}
 


/* Entry states: JS toggles .beesvg-is-entered */

svg.beesvg-animated-svg .beesvg-enter-drop,
svg.beesvg-animated-svg .beesvg-enter-rise,
svg.beesvg-animated-svg .beesvg-enter-fade,
svg.beesvg-animated-svg .beesvg-enter-pop {
  opacity: 0;
  transition-property: transform, opacity;
  transition-timing-function: ease-out;
}

svg.beesvg-animated-svg .beesvg-enter-drop {
  transform: translateY(calc(-1 * var(--beesvg-enter-distance, 24px)));
}

svg.beesvg-animated-svg .beesvg-enter-rise {
  transform: translateY(var(--beesvg-enter-distance, 24px));
}

svg.beesvg-animated-svg .beesvg-enter-fade {
  transform: none;
}

svg.beesvg-animated-svg .beesvg-enter-pop {
  transform: scale(var(--beesvg-enter-scale, 0.82));
}

svg.beesvg-animated-svg .beesvg-enter-drop.beesvg-is-entered,
svg.beesvg-animated-svg .beesvg-enter-rise.beesvg-is-entered,
svg.beesvg-animated-svg .beesvg-enter-fade.beesvg-is-entered,
svg.beesvg-animated-svg .beesvg-enter-pop.beesvg-is-entered {
  opacity: 1;
  transform: none;
}


svg.beesvg-animated-svg .beesvg-motion-hover-roam-scale {
  will-change: transform;
}

svg.beesvg-animated-svg.beesvg-flight-zone {
  display: block;
  width: 50mm;
  max-width: none;
  height: auto;
  margin: 0;
  overflow: visible;
}
 
/* Whole-bee roaming wrapper */

svg.beesvg-animated-svg .beesvg-motion-hover-roam {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  will-change: transform;
}
/* Keyframes */

@keyframes beesvg-rotate-cw {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes beesvg-rotate-ccw {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

@keyframes beesvg-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.06);
    opacity: 0.92;
  }
}

@keyframes beesvg-flicker {
  0%, 100% { opacity: 1; }
  12%      { opacity: 0.92; }
  18%      { opacity: 0.75; }
  24%      { opacity: 0.96; }
  40%      { opacity: 0.82; }
  55%      { opacity: 1; }
  73%      { opacity: 0.88; }
}

@keyframes beesvg-bob {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-4px);
  }
}

@keyframes beesvg-spring {
  0%, 100% {
    transform: scale(1) translateY(0);
  }

  15% {
    transform: scale(1.03, 0.97) translateY(1px);
  }

  35% {
    transform: scale(0.98, 1.03) translateY(-2px);
  }

  55% {
    transform: scale(1.01, 0.99) translateY(0);
  }

  75% {
    transform: scale(0.995, 1.005) translateY(-1px);
  }
}

@keyframes beesvg-wobble {
  0%, 100% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(-5deg);
  }

  50% {
    transform: rotate(2deg);
  }

  75% {
    transform: rotate(-2deg);
  }
}

@keyframes beesvg-wobble-reverse {
  0%, 100% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(-2deg);
  }

  75% {
    transform: rotate(2deg);
  }
}

@keyframes beesvg-flap-soft {
  0%, 100% {
    transform: rotate(0deg);
  }

  50% {
    transform: rotate(-10deg);
  }
}

@keyframes beesvg-flap-soft-reverse {
  0%, 100% {
    transform: rotate(0deg);
  }

  50% {
    transform: rotate(10deg);
  }
}

@keyframes beesvg-flap-sharp {
  0%   { transform: rotate(0deg); }
  8%   { transform: rotate(-16deg); }
  16%  { transform: rotate(-4deg); }
  24%  { transform: rotate(-14deg); }
  34%  { transform: rotate(-3deg); }
  46%  { transform: rotate(-15deg); }
  58%  { transform: rotate(-5deg); }
  72%  { transform: rotate(-13deg); }
  86%  { transform: rotate(-4deg); }
  100% { transform: rotate(0deg); }
}

@keyframes beesvg-flap-sharp-reverse {
  0%   { transform: rotate(0deg); }
  8%   { transform: rotate(16deg); }
  16%  { transform: rotate(4deg); }
  24%  { transform: rotate(14deg); }
  34%  { transform: rotate(3deg); }
  46%  { transform: rotate(15deg); }
  58%  { transform: rotate(5deg); }
  72%  { transform: rotate(13deg); }
  86%  { transform: rotate(4deg); }
  100% { transform: rotate(0deg); }
}

@keyframes beesvg-blink {
  0%, 45%, 52%, 100% {
    transform: scaleY(1);
    opacity: 1;
  }

  48%, 50% {
    transform: scaleY(0.12);
    opacity: 0.85;
  }
}

@media (prefers-reduced-motion: reduce) {
  svg.beesvg-animated-svg .beesvg-motion-spin-cw,
  svg.beesvg-animated-svg .beesvg-motion-spin-ccw,
  svg.beesvg-animated-svg .beesvg-motion-pulse,
  svg.beesvg-animated-svg .beesvg-motion-flicker,
  svg.beesvg-animated-svg .beesvg-motion-bob,
  svg.beesvg-animated-svg .beesvg-motion-spring,
  svg.beesvg-animated-svg .beesvg-motion-wobble,
  svg.beesvg-animated-svg .beesvg-motion-wobble-reverse,
  svg.beesvg-animated-svg .beesvg-motion-flap-soft,
  svg.beesvg-animated-svg .beesvg-motion-flap-soft-reverse,
  svg.beesvg-animated-svg .beesvg-motion-flap-sharp,
  svg.beesvg-animated-svg .beesvg-motion-flap-sharp-reverse,
  svg.beesvg-animated-svg .beesvg-motion-blink {
    animation: none !important;
  }

  svg.beesvg-animated-svg .beesvg-enter-drop,
  svg.beesvg-animated-svg .beesvg-enter-rise,
  svg.beesvg-animated-svg .beesvg-enter-fade,
  svg.beesvg-animated-svg .beesvg-enter-pop {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}