/* Enhancements only: without JS, content and native horizontal scrolling stay visible. */
.home-page.motion-ready [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  transition: opacity 800ms cubic-bezier(.2,.72,.2,1), transform 850ms cubic-bezier(.18,.78,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.home-page.motion-ready [data-reveal="left"] { transform: translate3d(-46px, 0, 0); }
.home-page.motion-ready [data-reveal="right"] { transform: translate3d(46px, 0, 0); }
.home-page.motion-ready [data-reveal="scale"] { transform: translate3d(0, 20px, 0) scale(.94); }
.home-page.motion-ready [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
.home-page.motion-ready [data-parallax] {
  transform: translate3d(0, var(--parallax-y, 0px), 0);
  will-change: transform;
}
.home-page [data-carousel-track] {
  display: flex;
  gap: clamp(14px, 2vw, 24px);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.home-page [data-carousel-track]::-webkit-scrollbar { display: none; }
.home-page [data-carousel-track] > * {
  flex: 0 0 var(--carousel-card-width, min(82vw, 420px));
  min-width: 0;
  scroll-snap-align: start;
}
.home-page:not(.motion-carousel) [data-carousel-prev],
.home-page:not(.motion-carousel) [data-carousel-next] { display: none; }
.home-page [data-carousel-prev]:disabled,
.home-page [data-carousel-next]:disabled { opacity: .38; cursor: default; }
@media (prefers-reduced-motion: reduce) {
  .home-page [data-carousel-track] { scroll-behavior: auto; }
  .home-page.motion-ready [data-reveal],
  .home-page.motion-ready [data-parallax] {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
}
