GroveGlow Guitar

Rooted in patient teaching

A brighter way to begin guitar.

GroveGlow Guitar began with a simple observation: beginners do best when every new idea has a clear purpose, a manageable pace, and room for their own musical taste.

Our story

Our small teaching team created GroveGlow Guitar after years of helping first-time players move past confusing starts. We built a digital studio where the fundamentals are visible, the practice steps are short, and questions are welcome.

Today, every course is reviewed for clarity, realistic pacing, and usefulness away from the screen. We teach skills that support independent playing rather than dependence on endless lessons.

Our mission

Help more people experience the quiet confidence of making music by giving beginners a thoughtful, accessible place to start.

Our values

Clarity first

Every lesson removes ambiguity so learners can focus on sound, not frustration.

Patience always

We design for real lives, real schedules, and real starting points with no pressure.

Musical freedom

Students learn to play the songs that matter to them from day one.

The people behind the lessons

Maya Chen

Foundations teacher

Maya turns tuning, posture, and chord diagrams into friendly first steps.

Jon Bell

Rhythm coach

Jon helps learners find a steady pulse through simple patterns and patient repetition.

Elena Ruiz

Learner experience lead

Elena keeps every course welcoming, organized, and easy to revisit.

`; document.querySelector('header').innerHTML = headerHTML; document.querySelector('footer').innerHTML = footerHTML; // Mobile nav const menuToggle = document.getElementById('menu-toggle'); const mobileNav = document.getElementById('mobile-nav'); menuToggle.addEventListener('click', () => { mobileNav.classList.toggle('hidden'); }); // Theme const themeBtn = document.getElementById('theme-toggle'); function applyTheme(theme) { if (theme === 'dark') { document.documentElement.style.setProperty('--tw-bg', '#18352A'); document.body.classList.add('!bg-[#18352A]', '!text-[#F7F3E8]'); document.body.classList.remove('bg-[#F7F3E8]', 'text-[#18352A]'); } else { document.documentElement.style.removeProperty('--tw-bg'); document.body.classList.remove('!bg-[#18352A]', '!text-[#F7F3E8]'); document.body.classList.add('bg-[#F7F3E8]', 'text-[#18352A]'); } localStorage.setItem('gg-theme', theme); } const savedTheme = localStorage.getItem('gg-theme') || 'light'; applyTheme(savedTheme); themeBtn.addEventListener('click', () => { const current = localStorage.getItem('gg-theme') || 'light'; applyTheme(current === 'light' ? 'dark' : 'light'); }); // Modals const loginModal = document.createElement('div'); loginModal.innerHTML = ``; document.body.appendChild(loginModal.firstElementChild); const registerModal = document.createElement('div'); registerModal.innerHTML = ``; document.body.appendChild(registerModal.firstElementChild); document.getElementById('login-open').addEventListener('click', () => document.getElementById('login-modal').classList.remove('hidden')); document.getElementById('close-login').addEventListener('click', () => document.getElementById('login-modal').classList.add('hidden')); document.getElementById('register-open').addEventListener('click', () => document.getElementById('register-modal').classList.remove('hidden')); document.getElementById('close-register').addEventListener('click', () => document.getElementById('register-modal').classList.add('hidden')); // Cookie banner logic from footer const cookieBanner = document.getElementById('cookie-banner'); const cookieAccept = document.getElementById('cookie-accept'); const cookiePref = document.getElementById('cookie-preferences'); const CONSENT_KEY = 'gg-cookie-consent'; function showBanner() { cookieBanner.hidden = false; } function hideBanner() { cookieBanner.hidden = true; } function hasConsent() { return localStorage.getItem(CONSENT_KEY) === 'true'; } function setConsent() { localStorage.setItem(CONSENT_KEY, 'true'); hideBanner(); } if (!hasConsent()) setTimeout(showBanner, 800); cookieAccept.addEventListener('click', setConsent); cookiePref.addEventListener('click', showBanner);