ToGuide Atelier

Contact Concierge

We welcome thoughtful questions about curriculum, schedules, and private mentoring. Submit the form and our concierge will be in touch.

We respond within two business days.
FAQ
`; const footerHTML = ` `; headerPlaceholder.innerHTML = headerHTML; footerPlaceholder.innerHTML = footerHTML; initAllScripts(); } function initAllScripts() { // Theme toggle const themeBtn = document.querySelector('[data-action="toggle-theme"]'); function applyTheme(mode) { if (mode === 'light') { document.documentElement.style.setProperty('--page-bg', 'rgb(241 245 249)'); document.documentElement.classList.add('light'); } else { document.documentElement.style.removeProperty('--page-bg'); document.documentElement.classList.remove('light'); } localStorage.setItem('theme', mode); } const savedTheme = localStorage.getItem('theme') || 'dark'; applyTheme(savedTheme); if (themeBtn) { themeBtn.addEventListener('click', () => { const next = document.documentElement.classList.contains('light') ? 'dark' : 'light'; applyTheme(next); }); } // Auth modals document.querySelectorAll('[data-modal-open]').forEach(btn => { btn.addEventListener('click', () => { const modalId = btn.dataset.modalOpen; document.getElementById(modalId)?.classList.remove('hidden'); }); }); document.querySelectorAll('[data-modal-close]').forEach(btn => { btn.addEventListener('click', () => { btn.closest('[data-modal]')?.classList.add('hidden'); }); }); // Login form const loginForm = document.getElementById('login-form'); if (loginForm) { loginForm.addEventListener('submit', (e) => { e.preventDefault(); const name = document.getElementById('login-name').value.trim(); const greet = document.getElementById('user-greet'); if (name && greet) { greet.textContent = 'Hello, ' + name; greet.classList.remove('hidden'); } document.getElementById('modal-auth').classList.add('hidden'); loginForm.reset(); }); } // Register form const registerForm = document.getElementById('register-form'); if (registerForm) { registerForm.addEventListener('submit', (e) => { e.preventDefault(); const name = document.getElementById('register-name').value.trim(); const greet = document.getElementById('user-greet'); if (name && greet) { greet.textContent = 'Hello, ' + name; greet.classList.remove('hidden'); } document.getElementById('modal-register').classList.add('hidden'); registerForm.reset(); }); } // Cookie banner const cookieBanner = document.getElementById('cookie-banner'); const acceptCookies = document.getElementById('accept-cookies'); const cookieKey = 'tg-cookies'; if (!localStorage.getItem(cookieKey) && cookieBanner) { setTimeout(() => { cookieBanner.classList.remove('hidden'); cookieBanner.classList.add('flex'); }, 1200); } if (acceptCookies) { acceptCookies.addEventListener('click', () => { localStorage.setItem(cookieKey, 'accepted'); if (cookieBanner) { cookieBanner.classList.add('hidden'); cookieBanner.classList.remove('flex'); } }); } // Form validation function validateForm() { const errs = []; const nameVal = document.getElementById('name').value.trim(); const emailVal = document.getElementById('email').value.trim(); const msgVal = document.getElementById('message').value.trim(); if (nameVal.length < 2) errs.push('Name must be at least 2 characters.'); if (!/^[^\s<|eos|>