@keyframes hero-blur-in{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur()}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-split-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-shimmer{0%{background-position:200%}to{background-position:-200%}}.hero-animate-blur{animation:.85s ease-out both hero-blur-in}.hero-animate-fade-up{animation:.75s ease-out both hero-fade-up}.hero-animate-split{animation:.55s ease-out both hero-split-in;display:inline-block}.hero-animate-shimmer{background:linear-gradient(110deg, var(--hero-shimmer-base) 0%, var(--hero-shimmer-base) 40%, var(--hero-shimmer-highlight) 50%, var(--hero-shimmer-base) 60%, var(--hero-shimmer-base) 100%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2.4s ease-in-out both hero-shimmer}.hero-typewriter{white-space:nowrap;border-right:2px solid var(--hero-typewriter-cursor,currentColor);animation:hero-typewriter-width var(--hero-typewriter-duration,1.8s) steps(var(--hero-typewriter-steps,20)) .1s both, hero-typewriter-cursor .6s step-end infinite;display:inline-block;overflow:hidden}@keyframes hero-typewriter-width{0%{width:0}to{width:100%}}@keyframes hero-typewriter-cursor{50%{border-color:#0000}}
