html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

/* Base gradients and text-clips */
.text-gradient {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  background-image: linear-gradient(to right, #111827, #374151, #4B5563);
}

.text-gradient-primary {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  background-image: linear-gradient(to right, #0F62FE, #3B82F6);
}

/* Animations */
.animate-fade-in-up {
  animation: flexFadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-fade-in {
  opacity: 0;
  animation: flexFadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes flexFadeInUp {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes flexFadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .5; }
}

/* Remove default appearance from select */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Add custom blue IBM arrow if needed, but tailwind has base styles */
}
