/* Centre the visible phrase, not an invisible longest-phrase placeholder.
   Fixed line heights prevent the hero and CTA from jumping during deletion. */
.pm-home #root .typing-headline { width: 100%; }
.pm-home #root .typing-headline .typing-line { display: block; white-space: nowrap; }
.pm-home #root .typing-headline .typing-prefix { display: inline; }
.pm-home #root .typing-headline .typing-slot { display: inline-block; vertical-align: baseline; }
.pm-home #root .typing-headline .typing-live { display: inline-block; white-space: nowrap; min-height: 1em; }
.typing-caret { display: inline-block; width: .035em; height: .85em; background: currentColor; margin-left: .04em; vertical-align: -.02em; }
@media (prefers-reduced-motion: no-preference) {
  .typing-headline:not([data-paused="true"]) .typing-caret { animation: typing-blink 1s steps(1, end) infinite; }
  @keyframes typing-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
}
@media (max-width: 900px) {
  .pm-home #root .typing-headline { font-size: clamp(30px, 5.2vw, 46px); }
}
@media (max-width: 600px) {
  .pm-home #root .typing-headline .typing-line { white-space: normal; }
  .pm-home #root .typing-headline .typing-slot { display: block; text-align: center; min-height: 1.15em; }
  .pm-home #root .typing-headline { font-size: clamp(27px, 7.5vw, 40px); line-height: 1.15; }
}
@media (prefers-reduced-motion: reduce) {
  .typing-caret { display: none; }
}
