.hero { overflow: hidden; }
.hero-content, .season-note { position: relative; z-index: 3; }
.bee-flight { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; perspective: 900px; }
.flying-bee {
  --start-x: 0vw; --drift-x: 4vw; --drift-y: -3vh; --start-scale: .025; --end-scale: .7; --tilt: 3deg;
  position: absolute; left: var(--left); top: var(--top); width: var(--size); height: auto; opacity: 0;
  filter: blur(var(--blur)) drop-shadow(0 5px 6px rgba(34,20,4,.18));
  transform-origin: center; will-change: transform,opacity,filter;
  animation: swarm-forward var(--duration) linear var(--delay) infinite;
}
@keyframes swarm-forward {
  0% { opacity: 0; transform: translate3d(var(--start-x),0,-600px) scale(var(--start-scale)) rotate(var(--tilt)); filter: blur(calc(var(--blur) + 2px)) drop-shadow(0 2px 3px rgba(34,20,4,.08)); }
  14% { opacity: var(--opacity); }
  58% { opacity: var(--opacity); transform: translate3d(calc(var(--drift-x) * .55),calc(var(--drift-y) * .55),-170px) scale(calc(var(--end-scale) * .42)) rotate(calc(var(--tilt) * -1)); filter: blur(var(--blur)) drop-shadow(0 4px 5px rgba(34,20,4,.14)); }
  88% { opacity: calc(var(--opacity) * .8); }
  100% { opacity: 0; transform: translate3d(var(--drift-x),var(--drift-y),160px) scale(var(--end-scale)) rotate(var(--tilt)); filter: blur(calc(var(--blur) + 1px)) drop-shadow(0 8px 8px rgba(34,20,4,.2)); }
}
@media (max-width:850px) { .flying-bee:nth-child(n+11) { display:none; } }
@media (max-width:520px) { .flying-bee:nth-child(n+8) { display:none; } }
@media (prefers-reduced-motion:reduce) { .flying-bee { display:none; } }
