Petchi Bloom

Field note 01 / Begin with what is blooming

Make flowers feel like a story.

Petchi Bloom teaches the quiet craft behind memorable arrangements: observing shape, balancing movement, conditioning stems, and making thoughtful choices with what each season offers.

The Petchi practice

Notice first. Cut with intention. Leave room for surprise. Every lesson is designed as a calm studio table where technique and personal expression can grow together.

Read common questions

Practical technique

Clear guidance for tools, stem care, proportion, and composition.

Seasonal thinking

Lessons that help you work respectfully with local and changing materials.

Personal voice

Prompts that help your arrangements feel considered rather than copied.

Studio dispatch

Choose a gentler way to learn.

Explore short studies, guided collections, and complete pathways for building a confident floral practice at your own pace.

“A good arrangement does not shout. It gives the room somewhere beautiful to breathe.”

— The Petchi Bloom studio journal

Seasonal journal

October field notes are ready.

Five short lessons in drying late-season stems, building balanced foliage anchors, and capturing the quiet shift into autumn palettes.

Open journal

“The first time I placed two stems of lisianthus at unexpected heights, the whole piece changed. My home suddenly felt softer.”

— L. Moreau, Spring 2024 cohort

Stay close to the work.

Receive monthly studio notes, seasonal availability lists, and gentle prompts straight from the table.

`; headerContainer.innerHTML = headerHTML; footerContainer.innerHTML = footerHTML; initAllScripts(); } function initAllScripts() { const banner = document.querySelector('[data-cookie-banner]'); const closeBtn = document.querySelector('[data-cookie-close]'); if (banner && closeBtn) { if (!localStorage.getItem('petchi-cookie-consent')) { banner.classList.remove('hidden'); banner.classList.add('flex'); } closeBtn.addEventListener('click', () => { localStorage.setItem('petchi-cookie-consent', 'true'); banner.classList.remove('flex'); banner.classList.add('hidden'); }); } const toggles = document.querySelectorAll('[data-theme-toggle]'); toggles.forEach(btn => { btn.addEventListener('click', () => { const isDark = document.documentElement.classList.toggle('dark'); if (isDark) { document.body.style.background = '#2F241F'; document.body.style.color = '#F5EBDD'; } else { document.body.style.background = '#F5EBDD'; document.body.style.color = '#2F241F'; } }); }); const menuToggle = document.querySelector('[data-menu-toggle]'); const mobileMenu = document.querySelector('[data-mobile-menu]'); if (menuToggle && mobileMenu) { menuToggle.addEventListener('click', () => { mobileMenu.classList.toggle('hidden'); }); } const loginBtns = document.querySelectorAll('[data-login-open]'); const registerBtns = document.querySelectorAll('[data-register-open]'); if (loginBtns.length) { loginBtns.forEach(btn => btn.addEventListener('click', () => { const modal = document.createElement('div'); modal.className = 'fixed inset-0 z-[60] flex items-center justify-center bg-black/50'; modal.innerHTML = `

Welcome back

`; document.body.appendChild(modal); modal.addEventListener('click', e => { if (e.target === modal) modal.remove(); }); })); } if (registerBtns.length) { registerBtns.forEach(btn => btn.addEventListener('click', () => { const modal = document.createElement('div'); modal.className = 'fixed inset-0 z-[60] flex items-center justify-center bg-black/50'; modal.innerHTML = `

Create account

`; document.body.appendChild(modal); modal.addEventListener('click', e => { if (e.target === modal) modal.remove(); }); })); } } injectHeaderFooter();