/* Both surfaces move entirely through native scrolling and sticky positioning. */
:root { --footer-reveal-ready: 1; }

@media (prefers-reduced-motion: no-preference) {
  .has-footer-reveal { overflow-anchor: none; }

  .has-footer-reveal [data-page-surface] {
    position: sticky;
    z-index: 0;
    top: var(--footer-surface-top, 0px);
  }

  .has-footer-reveal [data-reveal-footer] {
    position: relative;
    z-index: 15;
    margin: 0;
  }
}

@media print {
  .has-footer-reveal [data-page-surface],
  .has-footer-reveal [data-reveal-footer] {
    position: static;
  }
}
