body {
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* Scroll-triggered fade-in animation */
        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Staggered delay utilities */
        .delay-100 { transition-delay: 100ms; }
        .delay-200 { transition-delay: 200ms; }
        .delay-300 { transition-delay: 300ms; }
        .delay-400 { transition-delay: 400ms; }

        /* Hero Background Slow Pan */
        @keyframes slowPan {
            0% { transform: scale(1.05) translateX(0); }
            100% { transform: scale(1.15) translateX(-10px); }
        }
        .hero-bg-pan {
            animation: slowPan 40s ease-in-out infinite alternate;
        }

        /* Custom Horizontal Scrollbar */
        .h-scroll-wrapper {
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }
        .h-scroll-wrapper::-webkit-scrollbar {
            display: none; /* Chrome, Safari, Opera */
        }

        /* Glassmorphism Header */
        .header-glass {
            background-color: rgba(251, 251, 248, 0.3); /* bg-ivory/30 */
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(226, 226, 226, 0.2);
        }
        html.dark .header-glass {
            background-color: rgba(34, 34, 34, 0.3); /* bg-charcoal/30 */
            border-bottom: 1px solid rgba(51, 51, 51, 0.2);
        }
        .header-scrolled {
            background-color: rgba(251, 251, 248, 0.85); /* bg-ivory/85 */
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
        }
        html.dark .header-scrolled {
            background-color: rgba(34, 34, 34, 0.85); /* bg-charcoal/85 */
        }
        
    .slideshow {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: slideShow 24s infinite;
}

.slide:nth-child(1) {
  animation-delay: 0s;
}
.slide:nth-child(2) {
  animation-delay: 6s;
}
.slide:nth-child(3) {
  animation-delay: 12s;
}
.slide:nth-child(4) {
  animation-delay: 18s;
}

@keyframes slideShow {
  0% {
    opacity: 0;
    transform: scale(1.05);
  }
  8% {
    opacity: 1;
    transform: scale(1);
  }
  25% {
    opacity: 1;
    transform: scale(1);
  }
  33% {
    opacity: 0;
    transform: scale(1.05);
  }
  100% {
    opacity: 0;
  }
}
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1.2s ease forwards;
}
.fade-in.delay-200 {
  animation-delay: 0.3s;
}
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Modern Marquee Animation */
.marquee {
  display: inline-flex;
  animation: scrollText 20s linear infinite;
}
@keyframes scrollText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}