* {
  scroll-behavior: smooth;
}

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

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

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

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* Animation Classes */
.animation-hero-fade {
  animation: fadeInUp 0.8s ease-out;
  animation-delay: 0.1s;
  animation-fill-mode: both;
}

.animation-hero-slide-in {
  animation: slideInRight 0.8s ease-out;
  animation-delay: 0.3s;
  animation-fill-mode: both;
}

/* Section reveal animation */
.section-reveal {
  animation: fadeInUp 0.6s ease-out forwards;
  opacity: 0;
}

/* Smooth underline hover effect */
a {
  position: relative;
  text-decoration: none;
}

a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #8B6F47;
  transition: width 0.3s ease;
}

nav a::after {
  display: none;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #f5f5f5;
}

::-webkit-scrollbar-thumb {
  background: #8B6F47;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #6b5435;
}

/* Image lazy load fallback */
img {
  transition: opacity 0.3s ease;
}

/* Button hover scale */
button, a[class*="btn"], a[class*="px-8 py-"], a[class*="px-6 py-"] {
  transition: all 0.3s ease;
}

button:hover, a[class*="btn"]:hover, a[class*="px-8 py-"]:hover, a[class*="px-6 py-"]:hover {
  transform: translateY(-2px);
}

/* Card hover effect */
.group {
  position: relative;
}

/* Grain overlay for sophistication */
.grain-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" /%3E%3C/filter%3E%3Crect width="400" height="400" filter="url(%23noiseFilter)" opacity="0.05"/%3E%3C/svg%3E');
  pointer-events: none;
  opacity: 0.5;
}

/* Mobile menu smooth transitions */
#mobile-menu {
  transition: all 0.3s ease;
  overflow: hidden;
  max-height: 500px;
}

#mobile-menu.hidden {
  max-height: 0;
  overflow: hidden;
}
