Brelvia Ledger

Our story

Financial education with a human scale.

Brelvia Ledger began with a simple observation: people often need a clear next question before they need another spreadsheet. We create learning materials that make room for context, uncertainty, and steady practice.

Our mission

We help adults build financial literacy through accurate explanations, practical exercises, and language that respects different lives and starting points.

Useful

Every lesson ends with a thoughtful action or question.

Honest

We explain limits, trade-offs, and when specialist advice may help.

Welcoming

Clear language replaces shame and unnecessary jargon.

The people behind the pages

Mara Chen

Curriculum editor focused on everyday budgeting and clear explanations.

Jon Bell

Learning designer who turns complex topics into manageable practice.

Priya Nair

Research lead who reviews educational accuracy and accessibility.

Explore the catalog
`; const footerHTML = ``; document.getElementById('site-header').innerHTML = headerHTML; document.getElementById('site-footer').innerHTML = footerHTML; // Mobile menu const mobileToggle = document.querySelector('[data-mobile-toggle]'); const mobileMenu = document.querySelector('[data-mobile-menu]'); if (mobileToggle && mobileMenu) { mobileToggle.addEventListener('click', () => { mobileMenu.classList.toggle('hidden'); mobileMenu.classList.toggle('flex'); mobileMenu.classList.toggle('flex-col'); mobileMenu.classList.toggle('w-full'); mobileMenu.classList.toggle('mt-4'); }); } // Theme toggle const themeToggle = document.querySelector('[data-theme-toggle]'); if (themeToggle) { const applyTheme = (theme) => { if (theme === 'dark') { document.documentElement.style.setProperty('--page-bg', '#2f211a'); document.documentElement.style.setProperty('--text', '#f5efe6'); document.body.style.backgroundColor = '#2f211a'; document.body.style.color = '#f5efe6'; } else { document.documentElement.style.setProperty('--page-bg', '#f5efe6'); document.documentElement.style.setProperty('--text', '#2f211a'); document.body.style.backgroundColor = '#f5efe6'; document.body.style.color = '#2f211a'; } }; const savedTheme = localStorage.getItem('bl-theme') || 'light'; applyTheme(savedTheme); themeToggle.addEventListener('click', () => { const current = localStorage.getItem('bl-theme') || 'light'; const next = current === 'light' ? 'dark' : 'light'; localStorage.setItem('bl-theme', next); applyTheme(next); }); } // Auth modal const authButtons = document.querySelectorAll('[data-auth]'); const authModal = document.querySelector('[data-auth-modal]'); const closeModal = document.querySelector('[data-close-modal]'); const authTitle = document.querySelector('[data-auth-title]'); if (authButtons.length && authModal && authTitle) { authButtons.forEach(btn => { btn.addEventListener('click', () => { const mode = btn.getAttribute('data-auth'); authTitle.textContent = mode === 'login' ? 'Welcome back' : 'Create account'; authModal.classList.remove('hidden'); authModal.classList.add('grid'); }); }); if (closeModal) { closeModal.addEventListener('click', () => { authModal.classList.add('hidden'); authModal.classList.remove('grid'); }); } authModal.addEventListener('click', (e) => { if (e.target === authModal) { authModal.classList.add('hidden'); authModal.classList.remove('grid'); } }); } // Cookie banner const banner = document.querySelector('[data-cookie-banner]'); const closeBtn = document.querySelector('[data-cookie-close]'); if (banner && closeBtn) { const consent = localStorage.getItem('bl-cookie-consent'); if (consent === 'accepted') { banner.style.display = 'none'; } else { banner.style.display = 'block'; } closeBtn.addEventListener('click', () => { localStorage.setItem('bl-cookie-consent', 'accepted'); banner.style.display = 'none'; }); } })();