/* 原版把这段跳动动画写在 head 内联 style 里，这里原样保留；不要在此追加布局规则，会和原版排版分叉 */
@keyframes manus-cta-bounce {
  0%, 38%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  12% { transform: translate3d(0, -10px, 0) scale(1.04); }
  23% { transform: translate3d(0, -2px, 0) scale(1.015); }
  31% { transform: translate3d(0, -5px, 0) scale(1.025); }
}
@keyframes manus-cta-glow {
  0%, 38%, 100% { box-shadow: 0 0 0 0 rgba(255, 183, 0, 0), 0 8px 20px rgba(0, 0, 0, .22); }
  14% { box-shadow: 0 0 0 11px rgba(255, 183, 0, 0), 0 14px 28px rgba(0, 0, 0, .30); }
  24% { box-shadow: 0 0 0 5px rgba(255, 183, 0, .20), 0 10px 24px rgba(0, 0, 0, .26); }
}
.manus-cta-bounce {
  position: relative !important;
  z-index: 1;
  will-change: transform, box-shadow;
  transform-origin: center bottom;
  animation: manus-cta-bounce 1.85s cubic-bezier(.22, .61, .36, 1) infinite, manus-cta-glow 1.85s ease-out infinite !important;
}
.manus-cta-bounce:hover,
.manus-cta-bounce:focus-visible {
  animation-play-state: paused !important;
  transform: translate3d(0, -4px, 0) scale(1.045) !important;
  filter: brightness(1.08);
}
.manus-cta-bounce:active {
  animation: none !important;
  transform: translate3d(0, 0, 0) scale(.96) !important;
}
@media (prefers-reduced-motion: reduce) {
  .manus-cta-bounce { animation: none !important; }
}
