/* Final scroll choreography
   Purposeful, one-shot entrances for evidence and research sections. */

:root {
  --motion-ease-out: cubic-bezier(.16, 1, .3, 1);
}

/* The groups below are animated by the Web Animations API. Neutralize the
   older whole-block blur reveal so parent and child motion never overlap. */
.motion-orchestrated.reveal,
.motion-orchestrated.reveal.visible {
  opacity: 1;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

.motion-orchestrated.reveal.visible .dossier-grid section,
.motion-orchestrated.reveal.visible .method-card,
.motion-orchestrated.reveal.visible .research-card {
  animation: none !important;
}

[data-motion-sequence] {
  isolation: isolate;
}

[data-motion-item] {
  backface-visibility: hidden;
  transform-origin: 50% 58%;
}

/* Keep the count-up focused on the changing figures. The previous full-length
   blur/settle animation caused a visible final hitch when its class cleared. */
.countup-metric {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

[data-countup].is-counting {
  animation: none !important;
  filter: none !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .motion-orchestrated.reveal,
  .motion-orchestrated.reveal.visible,
  [data-motion-item] {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    animation: none !important;
    transition: none !important;
  }
}
