@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse-soft {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

.animate-fadeInUp {
  animation: fadeInUp 0.8s ease-out;
}

.animate-fadeInRight {
  animation: fadeInRight 0.8s ease-out 0.2s both;
}

* {
  font-family: 'Inter', sans-serif;
}

.font-serif {
  font-family: 'Instrument Serif', serif;
}

html {
  scroll-behavior: smooth;
}

/* Smooth scrolling for nav links */
a[href^="#"] {
  scroll-behavior: smooth;
}

/* Custom button hover effect */
button, a[class*="bg-blue"], input[type="submit"] {
  position: relative;
  overflow: hidden;
}

button::before, 
a[class*="bg-blue"]::before,
input[type="submit"]::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
}

/* Form input focus states */
input:focus, textarea:focus {
  outline: none;
}

/* Ensure all images are responsive */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Smooth transitions */
a, button, [class*="transition"] {
  transition: all 0.3s ease;
}

/* Hero gradient background subtle animation */
body {
  background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(248,250,255,1) 100%);
}

