// Mobile menu toggle document.addEventListener('DOMContentLoaded', () => { const toggle = document.querySelector('.menu-toggle'); const nav = document.querySelector('.nav-links'); if (toggle && nav) { toggle.addEventListener('click', () => nav.classList.toggle('open')); // close menu when clicking a link nav.querySelectorAll('a').forEach(a => a.addEventListener('click', () => nav.classList.remove('open')) ); } // Highlight current nav link const path = location.pathname; document.querySelectorAll('.nav-links a').forEach(a => { const href = a.getAttribute('href'); if (href === path || (href !== '/' && path.startsWith(href))) { a.classList.add('active'); } }); // Simple scroll-reveal for cards const observer = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) { e.target.style.opacity = '1'; e.target.style.transform = 'translateY(0)'; } }); }, { threshold: 0.1 }); document.querySelectorAll('.feature-card, .blog-card, .course-item').forEach(el => { el.style.opacity = '0'; el.style.transform = 'translateY(20px)'; el.style.transition = 'opacity .5s ease, transform .5s ease'; observer.observe(el); }); });