/* Short, interaction-driven frames work regardless of CSS motion preferences. */
.hero .hero-title-glitch{display:block;position:relative;isolation:isolate}
.hero .hero-title-glitch,.hero .hero-title-glitch-fx,.hero .hero-title-glitch-fx::before,.hero .hero-title-glitch-fx::after{transition:none!important;animation:none!important}
.hero .hero-title-glitch-fx{position:absolute;inset:0;pointer-events:none;user-select:none}
.hero .hero-title-glitch-fx::before,.hero .hero-title-glitch-fx::after{content:attr(data-text);position:absolute;inset:0;opacity:0;font:inherit;letter-spacing:inherit;word-spacing:inherit;white-space:normal;pointer-events:none}
.hero .hero-title-glitch-fx::before{color:#f3f7f5;text-shadow:3px 0 #5ce6a5}
.hero .hero-title-glitch-fx::after{color:#f3f7f5;text-shadow:-3px 0 #89dfef}
.hero .hero-title-glitch.is-glitching{text-shadow:2px 0 #5ce6a570,-2px 0 #89dfef60}
.hero .hero-title-glitch.is-glitching .hero-title-glitch-fx::before{opacity:.95;transform:translateX(-5px);clip-path:inset(14% 0 76%)}
.hero .hero-title-glitch.is-glitching .hero-title-glitch-fx::after{opacity:.8;transform:translateX(5px);clip-path:inset(65% 0 23%)}
.hero .hero-title-glitch[data-glitch-frame="2"] .hero-title-glitch-fx::before,.hero .hero-title-glitch[data-glitch-frame="5"] .hero-title-glitch-fx::before{transform:translateX(6px);clip-path:inset(38% 0 51%)}
.hero .hero-title-glitch[data-glitch-frame="2"] .hero-title-glitch-fx::after,.hero .hero-title-glitch[data-glitch-frame="5"] .hero-title-glitch-fx::after{transform:translateX(-4px);clip-path:inset(80% 0 10%)}
.hero .hero-title-glitch[data-glitch-frame="3"] .hero-title-glitch-fx::before,.hero .hero-title-glitch[data-glitch-frame="6"] .hero-title-glitch-fx::before{transform:translateX(-3px);clip-path:inset(72% 0 16%)}
.hero .hero-title-glitch[data-glitch-frame="3"] .hero-title-glitch-fx::after,.hero .hero-title-glitch[data-glitch-frame="6"] .hero-title-glitch-fx::after{transform:translateX(4px);clip-path:inset(22% 0 68%)}
