:root {
  --font-sans: "Manrope", sans-serif;
  --font-syne: "Syne", sans-serif;
  --font-serif-italic: "Cormorant Garamond", serif;
  
  --color-accent-lime: #b4f024;
  --color-accent-lime-dim: #8ec316;
}

/* Base custom styles */
body {
  font-family: var(--font-sans);
  background-color: #07080a;
}

/* Custom animations for the ultra-premium feel */
@keyframes float-medium {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-15px) rotate(3deg);
  }
}

.animate-float-stone {
  animation: float-medium 7s ease-in-out infinite;
}

@keyframes pulse-glow {
  0%, 100% {
    opacity: 0.25;
    filter: blur(120px) saturate(1);
  }
  50% {
    opacity: 0.45;
    filter: blur(150px) saturate(1.5);
  }
}

.animate-lime-glow {
  animation: pulse-glow 6s ease-in-out infinite;
}

@keyframes ring-rotate {
  0% {
    transform: rotate3d(1, 1, 1, 0deg);
  }
  100% {
    transform: rotate3d(1, 1, 1, 360deg);
  }
}

.animate-ring-slow {
  animation: ring-rotate 25s linear infinite;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #07080a;
}
::-webkit-scrollbar-thumb {
  background: #161a22;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
::-webkit-scrollbar-thumb:hover {
  background: #b4f024;
}

/* Marquee infinite scroll animation */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.animate-marquee {
  display: flex;
  width: max-content;
  animation: marquee 30s linear infinite;
}

.animate-marquee:hover {
  animation-play-state: paused;
}

/* Custom utility transitions */
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Custom text shadow */
.text-glow {
  text-shadow: 0 0 10px rgba(180, 240, 36, 0.2);
}
