:root { --ease: cubic-bezier(0.16, 1, 0.3, 1); }

html { scroll-behavior: smooth; }

#nav.scrolled {
  background-color: rgba(251, 243, 228, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom-color: #E4D2B0;
}

.filter-btn.active, .day-tab.active {
  background-color: #3B2412;
  color: #FBF3E4;
  border-color: #3B2412;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms var(--ease), transform 700ms var(--ease);
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

[data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 600ms var(--ease), transform 600ms var(--ease);
}
[data-reveal-stagger].is-visible > * { opacity: 1; transform: translateY(0); }

.snap-x-mandatory { scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
.snap-x-mandatory > * { scroll-snap-align: start; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  [data-reveal], [data-reveal-stagger] > * { opacity: 1 !important; transform: none !important; }
  [data-parallax] { transform: none !important; }
  html { scroll-behavior: auto; }
}