* {
  scroll-behavior: smooth;
}

/* Typography */
body {
  font-family: 'DM Sans', sans-serif;
  letter-spacing: -0.3px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
}

/* Hero fade-in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

/* Smooth scroll for anchors */
html {
  scroll-behavior: smooth;
}

/* Custom link underline hover effect */
a {
  position: relative;
}

/* Grain overlay subtle texture */
.grain {
  background-image: 
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" result="noise" /></filter><rect width="100" height="100" fill="rgba(0,0,0,0.02)" filter="url(%23noise)"/></svg>');
}

/* Mobile menu panel styling */
#mobile-menu-panel {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

/* Marquee-style scrolling text (optional enhancement) */
@keyframes marquee {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* Section animation on scroll */
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Card hover depth */
.card-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

/* Gold accent utility */
.text-gold {
  color: #d4af37;
}

.bg-gold {
  background-color: #d4af37;
}

.border-gold {
  border-color: #d4af37;
}

/* Smooth transitions */
button, a {
  transition: all 0.3s ease;
}

/* Image hover effect */
img {
  transition: transform 0.3s ease;
}

/* Responsive grid adjustments */
@media (max-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
}

