PeteCatalyst Studio

STUDIO SUPPORT

Bring us your drawing question.

Tell us what you are practicing, where the process feels unclear, or which course format would help you learn well. We reply thoughtfully within two business days.

Direct desk

We review thoughtful questions during regular studio hours and aim to reply with a useful next step. Mention your vector lantern work or gesture atlas practice for faster routing.

420 California Street, San Francisco, CA 94104
petecatalyst.bond

We never share your details with third parties.

`; const footerHTML = ` `; document.querySelector('header').innerHTML = headerHTML; document.querySelector('footer').innerHTML = footerHTML; // Re-attach header & footer scripts (() => { const q = s => document.querySelector(s); q('[data-mobile-open]')?.addEventListener('click', () => q('[data-mobile-menu]').classList.toggle('hidden')); document.querySelectorAll('[data-auth-open]').forEach(b => b.onclick = () => { q('[data-auth-modal]').classList.remove('hidden'); q('[data-auth-title]').textContent = b.dataset.authOpen === 'login' ? 'Log in to your studio' : 'Create your studio profile'; }); q('[data-theme-open]')?.addEventListener('click', () => q('[data-theme-modal]').classList.remove('hidden')); document.querySelectorAll('[data-modal-close]').forEach(b => b.onclick = () => b.closest('[role="dialog"]').classList.add('hidden')); // Theme buttons document.querySelectorAll('[data-set-theme]').forEach(btn => { btn.onclick = () => { if (btn.dataset.setTheme === 'light') { document.documentElement.style.setProperty('--tw-bg-opacity', '1'); document.body.classList.remove('bg-slate-950'); document.body.classList.add('bg-slate-100', 'text-slate-950'); } else { document.body.classList.remove('bg-slate-100', 'text-slate-950'); document.body.classList.add('bg-slate-950', 'text-slate-100'); } q('[data-theme-modal]').classList.add('hidden'); }; }); })(); // Cookie banner (() => { const b = document.querySelector('[data-cookie-banner]'); if (localStorage.getItem('pc-cookie-consent')) b?.remove(); document.querySelector('[data-cookie-close]')?.addEventListener('click', () => { localStorage.setItem('pc-cookie-consent', 'yes'); b?.remove(); }); })(); // Contact form validation const form = document.querySelector('#contact-form'); const errorModal = document.querySelector('#error-modal'); const errorText = document.querySelector('#error-text'); const errorClose = document.querySelector('#error-close'); form.addEventListener('submit', function(e) { const requiredFields = [...form.querySelectorAll('[required]')]; const bad = requiredFields.filter(x => { if (!x.value.trim()) return true; if (x.type === 'email' && !x.validity.valid) return true; if (x.name === 'message' && x.value.trim().length < 20) return true; return false; }); if (bad.length) { e.preventDefault(); errorText.textContent = 'Please provide your name, a valid email, a reachable phone number, and a message of at least 20 characters.'; errorModal.classList.remove('hidden'); errorModal.classList.add('grid'); } }); errorClose.addEventListener('click', () => { errorModal.classList.remove('grid'); errorModal.classList.add('hidden'); });