@keyframes rf-hero-rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes rf-float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes rf-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rf-hero-animate-1{animation:.75s cubic-bezier(.22,1,.36,1) both rf-hero-rise}.rf-hero-animate-2{animation:.75s cubic-bezier(.22,1,.36,1) 80ms both rf-hero-rise}.rf-hero-animate-3{animation:.75s cubic-bezier(.22,1,.36,1) .16s both rf-hero-rise}.rf-hero-animate-4{animation:.75s cubic-bezier(.22,1,.36,1) .24s both rf-hero-rise}.rf-hero-badge-float{animation:5s ease-in-out infinite rf-float-soft}.rf-cta-shimmer{background:linear-gradient(105deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 70%, white) 45%, var(--primary) 90%);background-size:200% 100%;animation:4s infinite rf-shimmer}@media (prefers-reduced-motion:reduce){.rf-hero-animate-1,.rf-hero-animate-2,.rf-hero-animate-3,.rf-hero-animate-4{opacity:1;animation:none;transform:none}.rf-hero-badge-float{animation:none}.rf-cta-shimmer{background-size:100% 100%;animation:none}}.rf-reveal-pending{opacity:0;transform:translateY(1.5rem)}.rf-reveal-visible{opacity:1;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transform:translateY(0)}@media (prefers-reduced-motion:reduce){.rf-reveal-pending,.rf-reveal-visible{opacity:1;transition:none;transform:none}}
