/* Finite blur-to-focus entrances, matching Hedy's 6px / 700ms reveal. */
/* Smaller content blocks replace the old whole-section entrances. */
.scroll-focus-ready #main :where(.reveal, .reveal .screen-column,
  .integration-arrived[data-integration-reveal], .integration-card.integration-arrived) {
  animation: none;
  opacity: 1;
  transform: none;
  transition: none;
}

.scroll-focus-ready #main [data-scroll-focus="pending"] {
  opacity: 0;
  filter: blur(6px);
  translate: 0 8px;
}

.scroll-focus-ready #main [data-scroll-focus="entering"] {
  animation: scroll-focus-enter 700ms ease-out both;
}

@keyframes scroll-focus-enter {
  from { opacity: 0; filter: blur(6px); translate: 0 8px; }
  to { opacity: 1; filter: blur(0); translate: 0 0; }
}

/* Focused controls are readable immediately, even before they are observed. */
.scroll-focus-ready #main [data-scroll-focus]:focus-within,
.motion-paused #main [data-scroll-focus] {
  animation: none;
  opacity: 1;
  filter: none;
  translate: none;
}

@media (prefers-reduced-motion: reduce), print {
  .scroll-focus-ready #main [data-scroll-focus] {
    animation: none;
    opacity: 1;
    filter: none;
    translate: none;
  }
}
