/* Shared page enter / reveal / lang fade — marketing + legal hub pages */
@import url("site-promo.css?v=20260831ah");
:root {
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Animate page content only — fixed top nav stays steady (no flash / slide). */
body.page-shell > :not(.nav) {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.45s var(--ease-out), transform 0.45s var(--ease-out);
}
body.page-shell.is-ready > :not(.nav) {
  opacity: 1;
  transform: none;
}
body.page-shell.is-leaving > :not(.nav) {
  opacity: 0;
  transform: translateY(-6px);
  transition-duration: 0.32s;
  pointer-events: none;
}
body.page-shell > .nav {
  opacity: 1;
  transform: none;
  transition: none;
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.65s var(--ease-out), transform 0.65s var(--ease-out);
}
.reveal.is-in {
  opacity: 1;
  transform: none;
}
.reveal-delay-1 { transition-delay: 0.07s; }
.reveal-delay-2 { transition-delay: 0.14s; }
.reveal-delay-3 { transition-delay: 0.21s; }
.reveal-delay-4 { transition-delay: 0.28s; }
.reveal-delay-5 { transition-delay: 0.35s; }
.reveal-delay-6 { transition-delay: 0.42s; }

@media (prefers-reduced-motion: reduce) {
  body.page-shell > :not(.nav),
  body.page-shell.is-ready > :not(.nav),
  body.page-shell.is-leaving > :not(.nav) {
    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

