/* A quick editorial entrance. Layout, navigation and form controls stay stable. */
@keyframes page-copy-arrive {
  from { opacity: .08; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes page-visual-arrive {
  from { opacity: .12; transform: translateY(24px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes page-section-arrive {
  from { opacity: .3; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  html[data-page-motion="ready"] [data-page-enter] {
    animation: page-copy-arrive 620ms var(--ease-out) backwards;
  }
  html[data-page-motion="ready"] [data-page-enter="title"] { animation-duration: 700ms; }
  html[data-page-motion="ready"] [data-page-enter="visual"] {
    animation-name: page-visual-arrive; animation-duration: 720ms;
    animation-delay: 100ms;
  }
  html[data-page-motion="ready"] [data-page-order="1"] { animation-delay: 50ms; }
  html[data-page-motion="ready"] [data-page-order="2"] { animation-delay: 100ms; }
  html[data-page-motion="ready"] [data-page-order="3"] { animation-delay: 150ms; }
  html[data-page-motion="ready"] [data-page-order="4"] { animation-delay: 200ms; }
  html[data-page-motion="ready"] [data-page-order="5"] { animation-delay: 230ms; }
  html[data-page-motion="ready"] [data-page-order="6"] { animation-delay: 260ms; }
  [data-scroll-motion].is-motion-revealed {
    animation: page-section-arrive 580ms var(--ease-out) backwards;
    animation-delay: var(--reveal-delay, 0ms);
  }
  /* Hover feedback only belongs on devices with a real hover pointer. */
  @media (hover: hover) and (pointer: fine) {
    .text-link > span[aria-hidden="true"] { display: inline-block; transition: transform 160ms var(--ease-out); }
    .text-link:hover > span[aria-hidden="true"] { transform: translateX(3px); }
  }
}
/* Keyboard focus completes an entrance. Pointer gestures hold their current position. */
[data-motion-settled] {
  animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
  [data-page-enter], [data-scroll-motion] {
    animation: none !important; animation-delay: 0ms !important;
    opacity: 1 !important; transform: none !important;
  }
  .text-link > span[aria-hidden="true"] { transition: none !important; transform: none !important; }
}
@media print {
  [data-page-enter], [data-scroll-motion] {
    animation: none !important; animation-delay: 0ms !important;
    opacity: 1 !important; transform: none !important;
  }
}
