/* Shared, restrained motion for non-home scientific pages. */
:root {
  --pt-science-motion-ease: cubic-bezier(.22, .76, .2, 1);
  --pt-science-motion-duration: 560ms;
}

html.pt-motion-ready .pt-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity var(--pt-science-motion-duration) var(--pt-science-motion-ease),
    transform var(--pt-science-motion-duration) var(--pt-science-motion-ease);
  transition-delay: var(--pt-motion-delay, 0ms);
  will-change: opacity, transform;
}

html.pt-motion-ready .pt-reveal--hero {
  transform: translate3d(0, 12px, 0);
}

html.pt-motion-ready .pt-reveal.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* Only collection types without their own interaction transition receive this small feedback. */
.pt-motion-hover {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .pt-motion-hover:hover {
    transform: translate3d(0, -3px, 0);
  }
}

/* A quiet background signal belongs only to page heroes, never to assay figures or data tables. */
.pt-ambient-signal {
  isolation: isolate;
}

.pt-ambient-signal::after {
  background: radial-gradient(circle at 80% 24%, rgba(42, 164, 183, .12), transparent 34%);
  content: '';
  inset: 0;
  opacity: .32;
  pointer-events: none;
  position: absolute;
  z-index: -1;
  animation: pt-signal-drift 11s ease-in-out infinite;
}

@keyframes pt-signal-drift {
  0%, 100% { opacity: .2; transform: translate3d(-1.5%, 0, 0); }
  50% { opacity: .48; transform: translate3d(1.5%, -1%, 0); }
}

@media (prefers-reduced-motion: reduce) {
  html.pt-motion-ready .pt-reveal,
  html.pt-motion-ready .pt-reveal.is-revealed,
  .pt-motion-hover {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .pt-ambient-signal::after {
    animation: none !important;
  }
}

