
/* Global Scroll Behavior */
html {
  scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  background: #cb9e4f;
}
::-webkit-scrollbar-thumb:hover {
  background: #b08942;
}

/* Typography Overrides */
body {
  font-family: 'Inter', sans-serif;
  color: #333333;
  -webkit-font-smoothing: antialiased;
}

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

/* Animations (Replacements for Framer Motion) */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Delay utilities */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Modal Animation */
.modal-backdrop {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.modal-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.modal-content {
  transform: scale(0.9) translateY(20px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.modal-backdrop.open .modal-content {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* Cookie Banner Animation */
.cookie-banner {
  transform: translateY(100%);
  opacity: 0;
  transition: all 0.5s ease-out;
}
.cookie-banner.visible {
  transform: translateY(0);
  opacity: 1;
}

/* Header Transitions */
#main-header {
  transition: all 0.3s ease-in-out;
}
#mobile-menu {
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
#mobile-menu.open {
  max-height: 85vh;
  opacity: 1;
}

/* Submenu Dropdown */
.group:hover .group-hover\:scale-y-100 {
  transform: scaleY(1);
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

/* Floating Animation */
    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-20px); }
    }
    
    @keyframes float-delayed {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-15px); }
    }
    
    .animate-float {
      animation: float 6s ease-in-out infinite;
    }
    
    .animate-float-delay {
      animation: float-delayed 5s ease-in-out infinite;
      animation-delay: 0.5s;
    }
    
    /* Progress Bar Fill Animation */
    @keyframes fillProgress {
      from { width: 0%; }
      to { width: 100%; }
    }
    
    .progress-fill {
      animation: fillProgress 2s ease-out forwards;
      animation-delay: 0.5s;
    }
    
    /* Counter Animation */
    @keyframes pulse-glow {
      0%, 100% { 
        box-shadow: 0 0 20px rgba(203, 158, 79, 0.3);
      }
      50% { 
        box-shadow: 0 0 40px rgba(203, 158, 79, 0.6);
      }
    }
    
    .pulse-glow {
      animation: pulse-glow 3s ease-in-out infinite;
    }
    
    /* Reveal Animation */
    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease-out;
    }
    
    .reveal.active {
      opacity: 1;
      transform: translateY(0);
    }
    
    /* Stagger Delays */
    .delay-100 { transition-delay: 0.1s; }
    .delay-200 { transition-delay: 0.2s; }
    .delay-300 { transition-delay: 0.3s; }
    .delay-400 { transition-delay: 0.4s; }
    
    /* Stats Card Hover Effect */
    .stats-card {
      position: relative;
      overflow: hidden;
    }
    
    .stats-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
      transition: left 0.5s;
    }
    
    .stats-card:hover::before {
      left: 100%;
    }
    
    /* Icon Bounce on Hover */
    .icon-bounce:hover {
      animation: bounce 0.6s;
    }
    
    @keyframes bounce {
      0%, 100% { transform: translateY(0); }
      25% { transform: translateY(-10px); }
      50% { transform: translateY(0); }
      75% { transform: translateY(-5px); }
    }
    
    /* Modern Gradient Text */
    .gradient-text {
      background: linear-gradient(135deg, #cb9e4f 0%, #d2bf7e 50%, #e3c381 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    /* Shine Effect */
    @keyframes shine {
      0% { left: -100%; }
      100% { left: 200%; }
    }
    
    .shine-effect {
      position: relative;
      overflow: hidden;
    }
    
    .shine-effect::after {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 50%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
      animation: shine 3s infinite;
    }
    
    .gradient-text {
      background: linear-gradient(135deg, #cb9e4f 0%, #d2bf7e 50%, #e3c381 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease-out;
    }
    
    .reveal.active {
      opacity: 1;
      transform: translateY(0);
    }
    
    .delay-100 { transition-delay: 0.1s; }
    .delay-200 { transition-delay: 0.2s; }
    .delay-300 { transition-delay: 0.3s; }
    .delay-400 { transition-delay: 0.4s; }
    
    .metric-card {
      position: relative;
      overflow: hidden;
    }
    
    .metric-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(203,158,79,0.1), transparent);
      transition: left 0.6s;
    }
    
    .metric-card:hover::before {
      left: 100%;
    }
    
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .animate-in {
      animation: fadeInUp 0.8s ease-out forwards;
    }
