/* Individual content blocks animate; the document itself never slides. */
@view-transition { navigation: none; }
@media (prefers-reduced-motion: no-preference) {
  html, body { overflow-x: clip; }
  /* The inline head script sets booting before the first paint. */
  .js.booting body:not([data-page="iv"]) #main { opacity: 0; }
  /* Added only after the observer and accessibility handlers are installed. */
  .scroll-reveal-pending { opacity: 0; }

  .button:not(:disabled):active {
    transform: translateY(0) scale(.97);
    transition-duration: 90ms;
  }
  .menu-toggle { transition: transform 140ms ease; }
  .menu-toggle:active { transform: scale(.94); }

  #lead-dialog[open] { animation: panel-enter 220ms cubic-bezier(.22, 1, .36, 1) both; }
  #lead-dialog[open]::backdrop { animation: backdrop-enter 180ms ease-out both; }
}

@media print {
  html, body { overflow-x: visible; }
  .js.booting body:not([data-page="iv"]) #main,
  .scroll-reveal-pending { opacity: 1; }
}

@keyframes panel-enter {
  from { opacity: 0; transform: translateX(24px) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes backdrop-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}
