.floating-kefu {
  position: fixed;
  right: clamp(12px, 3vw, 34px);
  bottom: clamp(78px, 12vh, 148px);
  z-index: 70;
  display: block;
  width: clamp(92px, 12vw, 156px);
  line-height: 0;
  cursor: pointer;
  animation: kefu-drift 3.2s ease-in-out infinite;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .35));
  transform-origin: center bottom;
}

.floating-kefu img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .25s ease, filter .25s ease;
  pointer-events: none;
}

.floating-kefu:hover img {
  transform: scale(1.06);
  filter: brightness(1.08);
}

.floating-kefu:focus-visible {
  outline: 3px solid #facc15;
  outline-offset: 4px;
  border-radius: 16px;
}

@keyframes kefu-drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(-1deg);
  }

  50% {
    transform: translate3d(0, -14px, 0) rotate(2deg);
  }
}

@media (max-width: 640px) {
  .floating-kefu {
    right: 10px;
    bottom: 84px;
    width: 92px;
  }
}
