/* Explicitly opted-in non-HOME Hero text only. Baseline content stays visible without JavaScript.
   Only opacity and transform are animated; no layout or typography changes. */
@keyframes loving-text-home-v1 {
  from { opacity: 0; transform: translateY(-16px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
  body #main [data-loving-text-entry="home-text-v1"][data-loving-text-entry-state="running"] > [data-loving-text-entry-step] {
    animation-name: loving-text-home-v1;
    animation-duration: 520ms;
    animation-timing-function: cubic-bezier(.22, .61, .36, 1);
    animation-delay: 0ms;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: backwards;
    animation-play-state: running;
  }

  body #main [data-loving-text-entry="home-text-v1"][data-loving-text-entry-state="running"] > [data-loving-text-entry-step="eyebrow"] {
    animation-delay: calc(var(--loving-text-entry-lead, 0ms) + 0ms);
  }
  body #main [data-loving-text-entry="home-text-v1"][data-loving-text-entry-state="running"] > [data-loving-text-entry-step="title"] {
    animation-delay: calc(var(--loving-text-entry-lead, 0ms) + 160ms);
  }
  body #main [data-loving-text-entry="home-text-v1"][data-loving-text-entry-state="running"] > [data-loving-text-entry-step="intro"] {
    animation-delay: calc(var(--loving-text-entry-lead, 0ms) + 320ms);
  }

  /* Current HOME uses Arial/Georgia. If future fonts are pending, give them a
     finite 120ms grace period, never pause the animation or wait indefinitely. */
  body #main [data-loving-text-entry="home-text-v1"][data-loving-text-entry-fonts="pending"] {
    --loving-text-entry-lead: 120ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  body #main [data-loving-text-entry="home-text-v1"] > [data-loving-text-entry-step] {
    animation: none !important;
  }
}

@media print {
  body #main [data-loving-text-entry="home-text-v1"] > [data-loving-text-entry-step] {
    animation: none !important;
  }
}
