@keyframes marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes float-y {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

@keyframes pulse-glow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(255, 106, 0, 0.22);
  }

  50% {
    box-shadow: 0 0 0 12px rgba(255, 106, 0, 0);
  }
}

@keyframes rotate-slow {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

@keyframes drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  33% {
    transform: translate3d(6px, -10px, 0) scale(1.01);
  }

  66% {
    transform: translate3d(-8px, 8px, 0) scale(0.99);
  }
}

.float-y {
  animation: float-y 5.5s ease-in-out infinite;
}

.pulse-glow {
  animation: pulse-glow 2.8s ease-out infinite;
}

.rotate-slow {
  animation: rotate-slow 18s linear infinite;
}

.drift {
  animation: drift 10s ease-in-out infinite;
}

.shine {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
  background-size: 200% 100%;
  animation: shimmer 3s linear infinite;
}

.gradient-border {
  position: relative;
}

.gradient-border::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  content: "";
  background: linear-gradient(135deg, rgba(255, 106, 0, 0.34), rgba(59, 130, 246, 0.12), rgba(139, 92, 246, 0.18));
}

.reveal-up {
  transform: none;
  opacity: 1;
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.reveal-up.is-visible {
  transform: none;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce), (max-width: 991.98px) {
  .float-y,
  .pulse-glow,
  .rotate-slow,
  .drift,
  .shine,
  .brand-track {
    animation: none !important;
  }
}
