/* One entrance per page load; no layout changes or script dependency. */
.hero-copy .name-intro > span {
  display: inline-block;
  animation: name-arrive 1000ms cubic-bezier(.16,1,.3,1) 120ms both;
}
.hero-copy .name-intro > span:last-child { animation-delay: 280ms; }
@keyframes name-arrive {
  from { opacity: 0; transform: translateY(.26em); filter: blur(5px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-copy .name-intro > span { animation: none; }
}
@media print {
  .hero-copy .name-intro > span { animation: none; }
}
