Creative Brief

Maison Théo

Shopify Launch — Creative Direction Package

Creative Direction Pascal Champagne
Development Demo
Theme Shopify Dawn
Date April 2026
Version 1.0
Scroll
01

Brand Position

Maison Théo is the neighborhood chocolate maker who treats every batch like it's being made for a friend. The digital experience should feel like stepping into a warm atelier on a cold Montreal morning — you smell the roasting cocoa before you see the shelves. This is not luxury chocolate dressed down; it's craft chocolate that doesn't need to dress up.

What This Brand Is

  • A maker who sells, not a brand that manufactures
  • Process-transparent — the "how" is as compelling as the "what"
  • Neighborhood-rooted — Plateau Mont-Royal is home, not just an address
  • Warm without being folksy, careful without being precious

What This Brand Is Not

  • Corporate luxury masquerading as craft
  • Rustic-chic aesthetic worn as a marketing costume
  • A gifting brand — this is chocolate for people who eat chocolate
  • Aspirational or exclusive — the farmers market is the spiritual home
02

Color Palette

Every color is derived from the brand's photography and material world — wood surfaces, kraft paper, dark chocolate, cocoa powder, and natural light. Nothing is imposed; everything is observed.

Aa
Dominant Background Warm Linen #F5F0E8 Natural-light photography highlights — the color of parchment under afternoon light.
Aa
Surface / Cards Kraft #EDE6D6 The kraft paper packaging — the brand's most recognizable physical touchpoint.
Aa
Primary Accent Tempered Dark #3C2415 The color of properly tempered 72% dark chocolate — the product IS the primary color.
Aa
Secondary Accent Cocoa Terre #B5704F Raw cocoa powder and Montreal terracotta — exists in the brand's material world.
Aa
Body Text Espresso #2C1810 Near-black warm brown from photo shadows. Reads as black but maintains warmth. Never use #000.
Aa
Border / Divider Parchment Edge #C4B5A0 Muted taupe of kraft paper edges — visible enough to define space, quiet enough to never compete.

Palette Rules

  • Never use pure black (#000000) or pure white (#FFFFFF) — always tint toward the warm hue
  • Shadows use rgba(44, 24, 16, 0.08–0.15) — warm brown, never neutral grey
  • Dark sections use Tempered Dark as background with Warm Linen text — creates page rhythm
  • All colors derive from the brand's physical materials — if it doesn't exist in the atelier, it doesn't belong on the screen
03

Typography

Heading — Fraunces
Goûté avec intention.
Family Fraunces
Weights 600 (headings), 700 (hero)
Provider Google Fonts
Why Old-style soft serif with organic stroke variation — echoes hand-lettered packaging without resorting to novelty script.
Body — DM Sans
On fait nos tablettes en petits lots chaque mardi dans notre atelier du Plateau Mont-Royal. Chaque fève est sélectionnée à la main, torréfiée lentement, et transformée avec patience en un chocolat qui parle de son origine. Pas de raccourcis. Pas de compromis. Juste du bon chocolat, fait par quelqu'un qui en mange autant qu'il en fabrique.
Family DM Sans
Weights 400 (body), 500 (nav, emphasis)
Provider Google Fonts
Why Geometric sans with rounded terminals — friendly geometry contrasts Fraunces' organic serifs. Not sterile like Inter.
H1 Fait à la main Fraunces 700 / 56px
H2 Nos chocolats Fraunces 600 / 40px
H3 Tablette Venezuela 72% Fraunces 600 / 28px
H4 Tasting notes DM Sans 500 / 20px
Body Warm, earthy, with notes of dried cherry and a clean finish. DM Sans 400 / 17px
Small Free Montreal delivery on orders over $50 DM Sans 400 / 14px
Button Ajouter au panier DM Sans 600 / 16px
04

Tone of Voice

Honest Warm Unhurried
This brand would write
« On fait nos tablettes en petits lots chaque mardi. Venez sentir l'atelier. »

We make our bars in small batches every Tuesday. Come smell the shop.

This brand would never write
« Découvrez l'excellence du chocolat artisanal. Une expérience sensorielle d'exception vous attend. »

Discover the excellence of artisanal chocolate. An exceptional sensory experience awaits.

Why the Difference

The first example speaks in first person, names a specific day, and invites you to a physical place with a physical sense — smell. It sounds like a person. The second uses impersonal promotional language, deploys "excellence" and "exceptional" — words that mean nothing because every brand uses them. Maison Théo should always sound like Théo talking, never like a marketing department writing. First person, present tense, specific details over vague claims.

05

Page Structure

The full homepage scroll from announcement bar to footer. Click the wireframe to enlarge. Each section is detailed in the cards that follow.

Photo
Click to enlarge

Announcement Bar

Kraft background, free delivery message. Persistent, understated.

Announcement bar · Scheme 3

Header

Logo left, menu center. Sticky on scroll. Transparent → Warm Linen transition.

Header · Scheme 1

Hero — Split Layout

Process photo left (60%), headline + CTA right (40%). Close-up, not wide lifestyle.

Image with text · Scheme 1

Process Intro — Dark Band

Tempered Dark background, Warm Linen text. Visual rhythm shift from commerce to storytelling.

Rich text · Scheme 2

Process Steps

Four equal columns: Sélection → Torréfaction → Conchage → Moulage. Square photos.

Multicolumn (4) · Scheme 1

Product Collection

Three products per row. Natural surface photography. Kraft card backgrounds, warm hover shadows.

Featured collection · Scheme 1

Our Story

Text left, atelier photo right. Founder story under 100 words. No CTA — the story is the destination.

Image with text · Scheme 1

Newsletter

Kraft background. Warm input styling. Cocoa Terre submit button — deliberately not the primary CTA color.

Email signup · Scheme 3

Footer — Dark Bookend

Tempered Dark echoes the process section. Tagline, nav links, social, payment icons.

Footer · Scheme 2
06

Section Direction

Every section specifies the Dawn section type, the color scheme to assign, and the exact creative direction. Priority badges indicate where the most impact lives.

Header

Dawn section: Header — Scheme 1 (Warm Linen)
High
Layout Logo left, menu center, sticky on scroll Logo Hand-lettered wordmark or Fraunces 600 text logo, max 180px Menu DM Sans 500, sentence case: Boutique · Notre histoire · Le processus · Contact Key rules Separator line off. Background: transparent → Warm Linen on scroll.
Implementation: Dawn native — all controls in theme settings. Sticky header built-in.

Hero — Split Layout

Dawn section: Image with text (NOT Image banner) — Scheme 1
High
Photo
Layout Image left 60%, text right 40% Headline « Fait à la main. Goûté avec intention. » — Fraunces 700 Subtext Chocolat artisanal du Plateau Mont-Royal, un lot à la fois. — DM Sans 400, muted CTA "Découvrir nos chocolats" — Tempered Dark button, sentence case Key rules Close-up process shot (hands, cocoa beans). NOT a wide lifestyle shot. NOT Image banner.
Implementation: Dawn native — "Image with text" section. Image position: left. Content position: middle.

Process Intro — Dark Section

Dawn section: Rich text — Scheme 2 (Tempered Dark)
High
Layout Centered narrow text, maximum padding (96px) Headline « De la fève à la tablette » — Fraunces 600 Body 2–3 sentences in Théo's voice about the bean-to-bar journey Key rules Dark band creates visual rhythm — shifts from commerce to storytelling. Let it breathe.
Implementation: Dawn native — Rich text with Scheme 2. Content width: narrow. Padding slider: maximum.

Process Steps

Dawn section: Multicolumn (4 columns) — Scheme 1
High
Layout 4 equal columns, square photo + heading + description each Columns Sélection → Torréfaction → Conchage → Moulage Images Square ratio, real process photos (not illustrations) Key rules Equal column widths — no hierarchy. 2 columns on mobile. These prove the "made by hand" claim.
Implementation: Dawn native — Multicolumn, 4 columns, square images.

Product Collection

Dawn section: Featured collection — Scheme 1
High
Layout 3 products per row (desktop), 2 on mobile Headline "Nos chocolats" — Fraunces 600 Cards Kraft background, warm shadow on hover (translateY -2px) Hide Vendor, rating, quick-add button — let the purchase be intentional Key rules Natural surface photography only — never reshoot on white. Price in DM Sans 500, muted.
Implementation: Dawn native for grid. Custom CSS (~10 lines) for card shadow and background. See tokens.css.

Our Story

Dawn section: Image with text — Scheme 1
Medium
Atelier
Layout Text left, atelier photo right Headline « Un chocolatier, une obsession » — Fraunces 600 Body Founder story — who Théo is, why chocolate, why Montreal. Under 100 words. CTA None — the story is the destination, not a waypoint
Implementation: Dawn native — "Image with text" section. Image position: right. No button.

Newsletter

Dawn section: Email signup — Scheme 3 (Kraft)
Medium
Layout Centered input + button on Kraft background Headline « Soyez les premiers à goûter. » Subtext Nouveaux lots, histoires d'origine, et invitations à l'atelier CTA Cocoa Terre (#B5704F) submit — deliberately not primary CTA color Key rules Input: Warm Linen bg, Parchment Edge border. No popup — inline only.
Implementation: Dawn native for layout. Custom CSS (~8 lines) for input and button styling.

Footer

Dawn section: Footer — Scheme 2 (Tempered Dark)
Medium
Layout Three columns on Tempered Dark background Col 1 "Fait avec soin sur le Plateau" — brand tagline Col 2 Navigation links Col 3 Social links (Instagram primary) + payment icons Key rules Echoes the dark process band — visual bookend. No newsletter here (standalone section above).
Implementation: Dawn native — footer with Scheme 2. Menu + social links in theme settings.

Product Page Template

Dawn template: Product page — Scheme 1
High
Product Ajouter
Layout Large single product media, stacked. One hero shot beats six angles. Title Fraunces 600. Price in DM Sans 500, muted. CTA "Ajouter au panier" — full width on mobile, Tempered Dark, sentence case Below Collapsible tabs: tasting notes, origin, ingredients Key rules Dynamic checkout (Shop Pay) disabled — brand moment shouldn't be interrupted by payment logos.
Implementation: Dawn native for layout + collapsible tabs. Disable dynamic checkout in theme settings. Button styling via tokens.css.

Announcement Bar

Dawn section: Announcement bar — Scheme 3 (Kraft)
Medium
Content « Livraison gratuite à Montréal — commandes de 50$+ » Style Kraft background, Espresso text. DM Sans 400, 14px. Key rules No dismiss button — persistent but understated. Useful info, not a promotion. A note pinned to the shop door.
Implementation: Dawn native — text + color scheme. No custom code.
07

Photography

Product Background

Textured surfaces only. Natural wood, kraft paper, raw linen. Never white, never transparent, never studio-lit. The surface is part of the story — it says "this was made by hand on a real table in a real shop."

Style Reference

Warm natural light, shallow depth of field for details, flat-lay for arrangements. Slight amber color temperature. Shadows present and soft — never eliminated. The photography should feel like you could reach out and touch the surface texture.

Existing Assets

The existing Instagram photography IS the brand. Do not recommend a professional reshoot. Provide light editing guidelines: consistent warmth (+10), consistent crop ratios (1:1 product, 3:4 feature), minimum 2000px for retina.

New Photography

Match the existing aesthetic. Same surfaces (the wooden table, the kraft paper). Same natural window light. Same warmth. The worst thing you can do is hire a photographer who gives you clean, polished images that don't match.

Critical: Product images should never be placed on white backgrounds for this brand. If marketplace or aggregator requirements demand white-background shots, create them separately — they are not used on the Shopify store. The warm, textured photography is a non-negotiable brand signal.

08

Interactive Elements

Primary Action Secondary Action Text Link Voir notre processus → Form Input
Product Card Hover
Photo
Venezuela 72%
14,00 $
Photo
Pérou 65%
12,00 $

Primary CTA

Background#3C2415
Text#F5F0E8
FontDM Sans 600
Size16px
Casesentence case
Padding16px 32px
Radius4px
Hoverdarken → #2C1810

Secondary CTA

Backgroundtransparent
Text#B5704F
Border1.5px #B5704F
FontDM Sans 500
Size16px
Casesentence case
Radius4px
Hoverfill #B5704F, text #F5F0E8

Links

Color#B5704F
Underlinergba, 30% opacity
Offset3px
Hoverunderline 100%

Form Inputs

Background#F5F0E8
Border1.5px #C4B5A0
Text#2C1810
Placeholder#C4B5A0
Radius4px
Focusborder → #B5704F

Rationale: Sentence case ("Ajouter au panier") matches the unhurried, honest tone — uppercase CTAs feel corporate and urgent. The chocolate brown makes the button the most prominent interactive element without introducing a new color. The product IS the brand color.

09

Theme Constraints & Custom Code

Dawn handles 90% of this brief natively. Custom CSS is limited to ~30 lines of progressive enhancement in tokens.css. No JavaScript required. No apps needed for launch.

Hero split layout: Achieved by using "Image with text" section in the hero position instead of "Image banner." No custom code — this is a section choice, not a workaround.

0 lines CSS

Typography (Fraunces + DM Sans): Both fonts are available in Dawn's font picker. Select via Theme Settings → Typography. No @font-face needed.

0 lines CSS

Color schemes: Three schemes configured in Theme Settings → Colors. Each section selects its scheme. Fully native.

0 lines CSS

Dark sections (process, footer): Apply Scheme 2 (Tempered Dark) via section settings. Dawn handles text/background inversion natively.

0 lines CSS
CSS

Product card styling: Kraft background, warm shadow on hover, 6px border-radius. Dawn's default cards are minimal — enhancement via tokens.css.

~10 lines CSS
CSS

Button fine-tuning: Sentence case enforcement, exact padding/radius, hover darkening. Dawn defaults to uppercase buttons.

~12 lines CSS
CSS

Newsletter input styling: Warm linen background and kraft border instead of Dawn's default white. Submit button color override to Cocoa Terre.

~8 lines CSS
10

Your Deliverables

Along with this brief, your team receives three files that translate the creative direction into code-ready specifications. Here's what each one does and where it goes.

.css

tokens.css

All custom styles in one ~30-line file. Colors, fonts, spacing, button overrides — everything Dawn doesn't handle natively.

Drop into theme/assets/ → link in theme.liquid
MD

DESIGN.md

Every design decision in a format AI coding tools read automatically. Place it in your project root — Claude Code, Cursor, or Windsurf will follow the direction.

Place in theme project root → AI reads it at session start
HTML

Dev Handoff

Interactive implementation guide. Theme setup, section order, settings for each section, and what to avoid — with a progress checklist and downloadable assets.

Open the handoff page → follow the checklist → download tokens.css + DESIGN.md

Working with AI tools? Place DESIGN.md in your Shopify theme project root. Your AI assistant will read it automatically and follow the design direction — exact colors, fonts, spacing, and what to avoid. You can prompt it directly: "Style the product cards according to DESIGN.md."

11

Decisions to Confirm

Before development begins, we'd like to align on a few key creative decisions. Each one reflects an intentional choice — here's the reasoning and the question.

1

We've intentionally removed the quick-checkout buttons (Apple Pay, Shop Pay) to keep the buying experience focused and on-brand. The product page should feel like a considered purchase, not a fast transaction. We recommend revisiting this decision after 90 days with real sales data.

Does this approach work for you, or is quick checkout a must-have at launch?
2

The homepage opens with a split layout — a close-up process photo on the left, your headline on the right. This gives more presence and intimacy than the typical full-width banner you see on most Shopify stores.

Are you comfortable with this direction, or would you prefer to see a full-width alternative?
3

The newsletter section uses a Kraft background instead of matching the rest of the page, and the submit button is Cocoa Terre (#B5704F) instead of the primary dark brown. This deliberate contrast signals "this is different" — it's an invitation, not a sales push.

Does the differentiated newsletter section feel right, or should it match the primary button style?
4

The store's primary language is French (Quebec tone — warm, direct, not formal). We recommend English as a secondary toggle for visitors outside Quebec, but all default copy, headlines, and product descriptions should be written in French first.

Is French-primary with an English option the right approach for your market?