// Movimiento del cursor personalizado const cursor = document.getElementById('custom-cursor'); document.addEventListener('mousemove', (e) => { cursor.style.left = e.clientX + 'px'; cursor.style.top = e.clientY + 'px'; }); // Animación de revelación al hacer scroll const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('active'); } }); }, { threshold: 0.1 }); document.querySelectorAll('.reveal').forEach(el => observer.observe(el)); // Sutil efecto de inclinación en la tarjeta de servicio const card = document.querySelector('.service-card'); if(card) { card.addEventListener('mousemove', (e) => { let xAxis = (window.innerWidth / 2 - e.pageX) / 25; let yAxis = (window.innerHeight / 2 - e.pageY) / 25; card.style.transform = `rotateY(${xAxis}deg) rotateX(${yAxis}deg)`; }); }