const navbar = document.getElementById("navbar"); const mobileMenu = document.getElementById("mobile-menu"); function onScroll() { if (!navbar) { return; } if (window.scrollY > 20) { navbar.classList.add("scrolled"); } else { navbar.classList.remove("scrolled"); } } function toggleMenu() { if (mobileMenu) { mobileMenu.classList.toggle("open"); } } function closeMenu() { if (mobileMenu) { mobileMenu.classList.remove("open"); } } window.toggleMenu = toggleMenu; window.closeMenu = closeMenu; window.addEventListener("scroll", onScroll); onScroll(); const observer = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { entry.target.classList.add("visible"); } }); }, { threshold: 0.12 }, ); document .querySelectorAll(".reveal") .forEach((element) => observer.observe(element));