/* Apparitions au défilement. Le script retire .hoze-motion si le mouvement est réduit. */
html.hoze-motion :is(
  .hero-content > *,
  .hero-bottom,
  .spirit-copy > *,
  .values > span,
  .spirit-visual figcaption,
  .split-heading > *,
  .pillars > article,
  .house-heading > *,
  .house-columns > figure > p,
  .house-columns figcaption,
  .practical-intro > :not(.image-frame),
  .practical-details > div,
  .memory-photo,
  .memories-copy > *,
  .collage-note,
  .events-inner > *,
  .footer-main > *,
  .footer-bottom,
  .legal-inner > *,
  .spirit-visual .image-frame,
  .menu-image,
  .house-columns .image-frame,
  .practical-small,
  .practical-tall
) {
  opacity: 0;
}

html.hoze-motion :is(
  .spirit-visual .image-frame,
  .menu-image,
  .house-columns .image-frame,
  .practical-small,
  .practical-tall
) {
  clip-path: inset(0 0 30% 0);
}

html.hoze-motion :is(
  .hero-content > *,
  .hero-bottom,
  .spirit-copy > *,
  .values > span,
  .spirit-visual figcaption,
  .split-heading > *,
  .pillars > article,
  .house-heading > *,
  .house-columns > figure > p,
  .house-columns figcaption,
  .practical-intro > :not(.image-frame),
  .practical-details > div,
  .memory-photo,
  .memories-copy > *,
  .collage-note,
  .events-inner > *,
  .footer-main > *,
  .footer-bottom,
  .legal-inner > *,
  .spirit-visual .image-frame,
  .menu-image,
  .house-columns .image-frame,
  .practical-small,
  .practical-tall
):is(.is-in, :focus-visible, :focus-within) {
  opacity: 1;
  clip-path: none;
  filter: none;
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    html.hoze-motion .hero-illustration {
      animation: hoze-drift linear both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
  }
}

@keyframes hoze-drift {
  from { translate: 0 14px; }
  to { translate: 0 -18px; }
}

@media (prefers-reduced-motion: reduce) {
  html.hoze-motion :is(
    .hero-content > *,
    .hero-bottom,
    .spirit-copy > *,
    .values > span,
    .spirit-visual figcaption,
    .split-heading > *,
    .pillars > article,
    .house-heading > *,
    .house-columns > figure > p,
    .house-columns figcaption,
    .practical-intro > :not(.image-frame),
    .practical-details > div,
    .memory-photo,
    .memories-copy > *,
    .collage-note,
    .events-inner > *,
    .footer-main > *,
    .footer-bottom,
    .legal-inner > *,
    .spirit-visual .image-frame,
    .menu-image,
    .house-columns .image-frame,
    .practical-small,
    .practical-tall,
    .hero-illustration
  ) {
    opacity: 1 !important;
    clip-path: none !important;
    filter: none !important;
    translate: none !important;
    animation: none !important;
  }
}

@media print {
  html.hoze-motion :is(
    .hero-content > *,
    .hero-bottom,
    .spirit-copy > *,
    .values > span,
    .spirit-visual figcaption,
    .split-heading > *,
    .pillars > article,
    .house-heading > *,
    .house-columns > figure > p,
    .house-columns figcaption,
    .practical-intro > :not(.image-frame),
    .practical-details > div,
    .memory-photo,
    .memories-copy > *,
    .collage-note,
    .events-inner > *,
    .footer-main > *,
    .footer-bottom,
    .legal-inner > *,
    .spirit-visual .image-frame,
    .menu-image,
    .house-columns .image-frame,
    .practical-small,
    .practical-tall
  ) {
    opacity: 1 !important;
    clip-path: none !important;
    animation: none !important;
  }
}
