-
+
- {{ target.grapheme }}
-
-
+ >{{ target.grapheme }}
+
diff --git a/packages/stage-ui/src/components/widgets/poppin-text/animators/blur-fade.ts b/packages/stage-ui/src/components/widgets/poppin-text/animators/blur-fade.ts
new file mode 100644
index 0000000000..c35f9125bd
--- /dev/null
+++ b/packages/stage-ui/src/components/widgets/poppin-text/animators/blur-fade.ts
@@ -0,0 +1,97 @@
+import type { Animator } from '.'
+
+import { animate, cubicBezier, stagger } from 'animejs'
+
+/**
+ * The blurred stagger of AIRI text motion. The values match the slide transitions of the project talks.
+ *
+ * Each grapheme fades and sharpens over `durationMs`. Graphemes start `staggerMs` apart, and all starts fit in
+ * `maxSpreadMs`, so a long text does not take seconds to appear.
+ */
+export const BLUR_FADE = {
+ /** @default 500 */
+ durationMs: 500,
+ /** @default 40 */
+ staggerMs: 40,
+ /** @default 600 */
+ maxSpreadMs: 600,
+ /** @default 3 */
+ blurPx: 3,
+} as const
+
+export type BlurFadeOptions = Partial