html[data-motion-ready] .pf-char-in { --pf-dur: 900ms; --pf-step: 20ms; --pf-delay: 100ms; --pf-dist: 0.32em; --pf-ease: cubic-bezier(0.16, 0.75, 0.24, 1); }
html[data-motion-ready] .pf-char-in .pf-c { position: relative; opacity: 0; }
html[data-motion-ready] .pf-char-in--blur { --pf-dist: 0.32em; --pf-blur: 7px; }
html[data-motion-ready] .pf-char-in--blur.is-on .pf-c { opacity: 1; animation: pf-char-in-blur var(--pf-dur) var(--pf-ease) calc(var(--pf-delay) + var(--i, 0) * var(--pf-step)) both; }
html[data-motion-ready] .pf-char-in--rise.is-on .pf-c { opacity: 1; animation: pf-char-in-rise var(--pf-dur) var(--pf-ease) calc(var(--pf-delay) + var(--i, 0) * var(--pf-step)) both; }
@keyframes pf-char-in-rise {
  from { top: var(--pf-dist); opacity: 0; }
  44% { opacity: 1; }
  74% { top: -0.018em; opacity: 1; }
  to { top: 0; opacity: 1; }
}
@keyframes pf-char-in-blur {
  from { top: var(--pf-dist); opacity: 0; filter: blur(var(--pf-blur)); }
  42% { opacity: 0.95; }
  70% { top: -0.025em; opacity: 1; filter: blur(0); }
  to { top: 0; opacity: 1; filter: none; }
}
@media (prefers-reduced-motion: reduce) { html[data-motion-ready] .pf-char-in .pf-c, html[data-motion-ready] .pf-char-in.is-on .pf-c { opacity: 1; animation: none; top: 0; filter: none; } }
