Clear answers, calm decisions

Frequently asked questions

What does a service include?

Every package features a tailored Room Rhythm briefing, mood boards, spatial planning, sourcing lists, and two on-site visits. The package is delivered as a comprehensive digital workbook you reference for years. Next room rhythm: Airy.

Which Room Rhythm should I choose?

Begin with the emotion you want every morning. Grounded suits family homes, Airy works for creative studios, Gathered helps entertaining spaces, and Focused serves home offices. You can change rhythms mid-project. Next room rhythm: Focused.

Do you work remotely?

Yes. Initial rhythms and mood boards are created remotely with shared video calls. Local visits are scheduled for final installation and sourcing. Clients in twelve countries have completed projects this way. Next room rhythm: Gathered.

Can you work with existing furniture?

We always start by auditing what you already own. Pieces are catalogued, refinished when needed, and repositioned to support the chosen rhythm. Sustainable reuse saves budget and story. Next room rhythm: Grounded.

How long does a project take?

Standard residential projects finish in six to ten weeks. Smaller room-focused commissions close in three weeks. We share a living timeline so you always know the next milestone. Next room rhythm: Airy.

Are revisions included?

Two full rounds of revisions are built into every service. Additional refinements are available at a clear hourly rate. Most clients find the included rounds sufficient. Next room rhythm: Focused.

Do you recommend specific retailers?

We provide a curated list across price ranges with direct vendor contacts and trade pricing where available. The list supports your rhythm and local availability. Next room rhythm: Gathered.

Can you support a rental?

Absolutely. Rentals receive non-permanent solutions, removable wall treatments, and mobile furniture plans that move with you. Next room rhythm: Airy.

What happens after I send an inquiry?

You receive a same-day confirmation and a short rhythm questionnaire. A discovery call is scheduled within 48 hours to clarify goals and timeline. Next room rhythm: Grounded.

Still shaping the question?

A brief conversation can help turn a broad concern into a useful scope.

Contact the studio
`; const footerHTML = ` `; document.querySelector('header').innerHTML = headerHTML; document.querySelector('footer').innerHTML = footerHTML; // Theme const themeBtn = document.getElementById('themeToggle'); function applyTheme(t) { if (t === 'dark') document.documentElement.style.filter = 'hue-rotate(8deg) saturate(0.9)'; else document.documentElement.style.filter = ''; localStorage.setItem('decoraTheme', t); } const savedTheme = localStorage.getItem('decoraTheme') || 'light'; applyTheme(savedTheme); themeBtn.addEventListener('click', () => { const next = localStorage.getItem('decoraTheme') === 'dark' ? 'light' : 'dark'; applyTheme(next); }); // Mobile menu const mobileBtn = document.getElementById('mobileMenuOpen'); const mobileMenu = document.getElementById('mobileMenu'); mobileBtn.addEventListener('click', () => mobileMenu.classList.toggle('hidden')); // Auth modal const authModal = document.getElementById('authModal'); const authClose = document.getElementById('authClose'); const loginBtn = document.getElementById('loginOpen'); const registerBtn = document.getElementById('registerOpen'); const authTitle = document.getElementById('authTitle'); const authCopy = document.getElementById('authCopy'); const authForm = document.getElementById('authForm'); loginBtn.addEventListener('click', () => { authTitle.textContent = 'Sign in to your account'; authCopy.textContent = 'Welcome back to the studio.'; authModal.classList.remove('hidden'); authModal.classList.add('grid'); }); registerBtn.addEventListener('click', () => { authTitle.textContent = 'Create a calm design account'; authCopy.textContent = 'Save room rhythms and revisit your favorite design services.'; authModal.classList.remove('hidden'); authModal.classList.add('grid'); }); authClose.addEventListener('click', () => { authModal.classList.remove('grid'); authModal.classList.add('hidden'); }); authForm.addEventListener('submit', (e) => { e.preventDefault(); alert('Account action complete. Welcome to DecoraVale Studio.'); authModal.classList.remove('grid'); authModal.classList.add('hidden'); authForm.reset(); }); // Rhythm badge const badge = document.getElementById('rhythmBadge'); const rhythms = ['Grounded', 'Airy', 'Gathered', 'Focused']; let rIdx = 0; function updateBadge() { if (badge) badge.textContent = rhythms[rIdx]; rIdx = (rIdx + 1) % rhythms.length; } if (badge) { updateBadge(); setInterval(updateBadge, 3800); } // Cookie banner const banner = document.getElementById('cookieBanner'); const accept = document.getElementById('cookieAccept'); const dismiss = document.getElementById('cookieDismiss'); if (!localStorage.getItem('decoraCookieConsent')) { banner.classList.remove('hidden'); banner.classList.add('flex'); } accept.addEventListener('click', () => { localStorage.setItem('decoraCookieConsent', 'true'); banner.style.display = 'none'; }); dismiss.addEventListener('click', () => banner.style.display = 'none'); // Ritual word const ritual = document.getElementById('ritualWord'); let ri = 0; function rotateRitual() { if (ritual) ritual.textContent = rhythms[ri]; ri = (ri + 1) % rhythms.length; } if (ritual) { rotateRitual(); setInterval(rotateRitual, 3200); } })();