document.addEventListener('DOMContentLoaded', function() { // Intersection Observer for animations const animateOnScroll = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('fade-in'); animateOnScroll.unobserve(entry.target); } }); }, { threshold: 0.1 }); // Observe all sections document.querySelectorAll('section').forEach(section => { animateOnScroll.observe(section); }); // Smooth scrolling for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function(e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth' }); } }); }); // Mobile menu toggle (will be handled by navbar component) });