body { font-family: 'Inter', sans-serif; }
.font-display { font-family: 'Playfair Display', serif; letter-spacing: -0.01em; }
html { scroll-behavior: smooth; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1); }
.reveal.is-visible { opacity: 1; transform: none; }

nav { transition: box-shadow .3s ease; }
nav.nav-scrolled { box-shadow: 0 4px 24px rgba(0,0,0,0.3); }

.marquee-track { display: flex; width: max-content; will-change: transform; }

input[type="range"] { accent-color: #C9A961; }

@keyframes drift {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(14px, -18px) rotate(10deg); }
}
@keyframes drift-slow {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(-12px, 16px) rotate(-8deg); }
}
.animate-drift { animation: drift 9s ease-in-out infinite; }
.animate-drift-slow { animation: drift-slow 13s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .animate-drift, .animate-drift-slow { animation: none; }
}
