@media (pointer: fine) {
  .butterfly-cursor {
    width: 56px !important;
    height: 56px !important;
    font-size: 0 !important;
    overflow: visible !important;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.38)) drop-shadow(0 0 7px rgba(61,180,255,.25)) !important;
  }

  .butterfly-wing {
    display: none !important;
  }

  .butterfly-cursor::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/assets/brand/butterfly-original-blue.png") center / contain no-repeat;
    transform-origin: 50% 55%;
    animation: fixed-butterfly-flap .38s cubic-bezier(.45,.05,.55,.95) infinite alternate;
    will-change: transform;
  }

  .butterfly-cursor.is-flying::before {
    animation-duration: .2s;
  }
}

@keyframes fixed-butterfly-flap {
  from { transform: perspective(140px) rotateX(-4deg) rotateZ(-1.2deg) scaleX(1); }
  to { transform: perspective(140px) rotateX(7deg) rotateZ(1.2deg) scaleX(.78) scaleY(1.025); }
}

@media (prefers-reduced-motion: reduce), (pointer: coarse) {
  .butterfly-cursor::before { animation: none !important; }
}
