// Light scroll reveal for capability cards const revealables = document.querySelectorAll('.cap, .svc, .step'); const io = new IntersectionObserver((entries) => { entries.forEach((e, i) => { if (e.isIntersecting) { e.target.style.transition = 'opacity 0.7s ease, transform 0.7s ease'; e.target.style.opacity = 1; e.target.style.transform = 'translateY(0)'; io.unobserve(e.target); } }); }, { threshold: 0.12 } ); revealables.forEach((el, i) => { el.style.opacity = 0; el.style.transform = 'translateY(24px)'; el.style.transitionDelay = (i % 3) * 80 + 'ms'; io.observe(el); });