function StatsRow() {
const ref = useReveal();
const [active, setActive] = useState(false);
useEffect(() => {
const node = ref.current;
if (!node) return;
const io = new IntersectionObserver(([e]) => {
if (e.isIntersecting) { setActive(true); io.disconnect(); }
}, { threshold: 0.4 });
io.observe(node);
return () => io.disconnect();
}, []);
const stats = [
{ num: 61, label: 'Años de\ntrayectoria', icon: 'assets/icons/maestria.svg', color: 'blue' },
{ num: 1472, label: 'Estudiantes', icon: 'assets/icons/estudiantes.svg', color: 'red' },
{ num: 30, label: 'Docentes', icon: 'assets/icons/profesor.svg', color: 'orange' },
{ num: 25000, label: 'Egresados', icon: 'assets/icons/graduado.svg', color: 'green' },
{ num: 4, label: 'Niveles\nacadémicos', icon: 'assets/icons/documentos.svg', color: 'blue' },
];
return (