/* Animation system */
@keyframes lx-fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes lx-fade-in{from{opacity:0}to{opacity:1}}
@keyframes lx-mark-converge{0%{letter-spacing:0.35em;opacity:0.5}60%{opacity:1}100%{letter-spacing:0.08em;opacity:1}}
@keyframes lx-glow-pulse{0%,100%{filter:drop-shadow(0 0 8px rgba(85,88,240,0.25))}50%{filter:drop-shadow(0 0 18px rgba(85,88,240,0.55))}}
@keyframes lx-count-pulse{0%{transform:scale(1)}45%{transform:scale(1.04)}100%{transform:scale(1)}}
[data-lx-reveal]{opacity:0;transform:translateY(16px);transition:opacity 450ms cubic-bezier(0,0,0.2,1),transform 450ms cubic-bezier(0,0,0.2,1)}
[data-lx-reveal].lx-visible{opacity:1;transform:translateY(0)}
[data-lx-fade]{opacity:0;transition:opacity 500ms cubic-bezier(0,0,0.2,1)}
[data-lx-fade].lx-visible{opacity:1}
[data-lx-delay="1"]{transition-delay:0.08s}[data-lx-delay="2"]{transition-delay:0.16s}[data-lx-delay="3"]{transition-delay:0.24s}[data-lx-delay="4"]{transition-delay:0.32s}[data-lx-delay="5"]{transition-delay:0.40s}[data-lx-delay="6"]{transition-delay:0.48s}
.stat-num.lx-counted{animation:lx-count-pulse 0.4s cubic-bezier(0,0,0.2,1) both}
.cta-section[data-lx-fade].lx-visible .cta-mark{animation:lx-glow-pulse 2.4s ease-in-out 0.6s 1}