/* One complete heading arrives together; desktop composition stays intact. */
@media (max-width: 760px) {
  html body h1[data-title-entry] { animation: none !important; }
  html body h1[data-title-entry] span:not(.hero-word) {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    will-change: auto;
  }
  html body h1[data-title-entry] .hero-word {
    animation: none !important;
    opacity: 1;
    transform: none;
    filter: none;
    will-change: auto;
  }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  html.mobile-title-motion-ready body h1[data-title-entry]:not(.is-title-entering) {
    opacity: 0;
  }
  html body h1[data-title-entry].is-title-entering {
    animation: mobile-title-sweep 1.7s .12s cubic-bezier(.25,.1,.25,1) both !important;
  }
  html body h1[data-title-entry="focus"].is-title-entering {
    animation: mobile-title-focus 1.5s .12s cubic-bezier(.25,.1,.25,1) both !important;
  }
  html body h1[data-title-entry="lines"].is-title-entering {
    animation: none !important;
    opacity: 1;
  }
  html body h1[data-title-entry="lines"].is-title-entering .hero-word {
    animation: mobile-title-line 1.15s .12s cubic-bezier(.22,.65,.32,1) both !important;
  }
  html body h1[data-title-entry="lines"].is-title-entering .hero-word:nth-child(2) { animation-delay: .28s !important; }
  html body h1[data-title-entry="lines"].is-title-entering .hero-word:nth-child(3) { animation-delay: .44s !important; }
}
@keyframes mobile-title-focus {
  from { opacity: 0; transform: translateY(20px) scale(.95); filter: blur(8px); }
  55% { opacity: 1; filter: blur(1px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes mobile-title-line {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: none; }
}
@keyframes mobile-title-sweep {
  from { opacity: 0; transform: translateY(48px); clip-path: inset(0 0 100% 0); }
  18% { opacity: 1; }
  to { opacity: 1; transform: translateY(0); clip-path: inset(0); }
}
