.ai-fab {
  position: fixed;
  right: 22px;
  bottom: 92px;
  z-index: 651;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 7px 8px 7px 16px;
  border: 1px solid #ff4358;
  border-radius: 999px;
  background: #ff102b;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.42);
  transition: transform 0.2s ease, background 0.2s ease;
  isolation: isolate;
  animation: home-ai-attention 2.8s ease-in-out infinite;
}

.ai-fab::before {
  position: absolute;
  z-index: -1;
  inset: -6px;
  border: 2px solid #ff102b;
  border-radius: inherit;
  content: "";
  opacity: 0.55;
  animation: home-ai-halo 2.8s ease-out infinite;
}

.ai-fab:hover {
  transform: translateY(-2px);
  background: #e90020;
  animation-play-state: paused;
}

.ai-fab b {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #ff102b;
  font-size: 1.35rem;
}

.ai-fab:focus-visible {
  outline: 2px solid #ff3049;
  outline-offset: 4px;
  animation: none;
}

@keyframes home-ai-attention {
  0%, 100% { transform: translateY(0); box-shadow: 0 12px 34px #0008, 0 0 0 0 #ff102b55; }
  50% { transform: translateY(-2px); box-shadow: 0 16px 38px #0009, 0 0 18px 5px #ff102b77; }
}

@keyframes home-ai-halo {
  0% { transform: scale(0.94); opacity: 0.7; }
  75%, 100% { transform: scale(1.08); opacity: 0; }
}

@media (max-width: 700px) {
  .ai-fab {
    right: 10px;
    bottom: 142px;
    min-height: 48px;
    gap: 8px;
    padding: 6px 7px 6px 13px;
    font-size: 0.62rem;
  }

  .ai-fab b { width: 34px; height: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .ai-fab, .ai-fab::before { animation: none; }
}
