Skip to content

Style guide

How Always & Forever looks and sounds. Values come from packages/ui/src/tokens.css; change them there and this page follows.

Principles

  • A private gallery. Paintings on a deep green wall under picture lights, each with a card-stock label beside it.
  • Two surfaces only. The wall holds art; catalogue paper holds facts. A dado rail is the only divider.
  • Gilt means something. Gold leaf is for frames and rails, not buttons. Most frames are ebony or walnut.
  • Everything is square. Art and bands have hard edges; controls are softened by 2 px at most.
  • Light comes from above. Walls are lighter at the top and shadows fall down, as under a picture light.
  • Plain words. Sentence case, active verbs, specific numbers. A button says what happens.
  • Phones first. Design at 375 px, tap targets at least 44 px, one main action per screen.
  • Nothing fake. No made-up reviews, ratings, counts or press logos. Sample portraits are labelled as samples.

Color

  • Salon green

    #1f3d35

    The gallery wall. Background of most pages.

  • Salon deep

    #142a24

    Shadowed wall: footer and the dado rail.

  • Salon raised

    #29493f

    Panels sitting on the wall.

  • Catalogue paper

    #f3efe6

    Information pages, labels, buttons on the wall. Text on the wall.

  • Card stock

    #e6dcc4

    Label stock and the hover state of paper buttons.

  • Ink

    #1a1f1c

    Text on paper. Fill of the main button on paper.

  • Antique gilt

    #a8873f

    Gold leaf: frames and rails only, never buttons.

  • Burnished gilt

    #e0c88c

    Frame highlights. Gold text and hairlines on the wall.

  • Gilt in shadow

    #6b5220

    Frame shading.

  • Gilt deep

    #7a5c1c

    Gold used as text on paper.

  • Bole

    #5e2f1f

    Red clay under the gold, seen in frame recesses.

  • Ebony

    #1b1815

    Ebonized frame finish.

  • Walnut

    #5b3b24

    Walnut frame finish.

  • Natural oak

    #b08a5c

    Plain natural-oak frame, as a framed print really ships.

  • Frame white

    #ece8df

    Plain white frame, as a framed print really ships.

  • Lichen

    #b4c4bc

    Secondary text on the wall.

  • Slate

    #4e5a54

    Secondary text on paper.

  • Verdigris

    #8fd1bc

    Focus ring on the wall.

  • Verdigris deep

    #1d6b57

    Focus ring on paper.

  • Ember

    #ffab98

    Error text on the wall.

  • Ember deep

    #a3301f

    Error text on paper.

  • After dark

    #1d2a27

    Memorial wall: the same room, lights lowered.

  • After dark, deep

    #141e1c

    Memorial shadowed wall.

  • After dark, raised

    #26352f

    Memorial panels.

  • Candle

    #d9c393

    Memorial light and accent.

Contrast, calculated live

Text needs 4.5 to 1. Large text, focus rings and control edges need 3 to 1 (WCAG 2.2 AA).

Contrast ratios for every text and focus pairing
PairingUsed forRatioResult
paper on salonBody text on the wall10.30 : 1Pass (4.5)
lichen on salonSecondary text on the wall6.51 : 1Pass (4.5)
lichen on salon-deepFooter and captions8.34 : 1Pass (4.5)
gilt-light on salonGold text and the ampersand on the wall7.21 : 1Pass (4.5)
ink on paperBody text on paper; button label on the wall14.56 : 1Pass (4.5)
paper on inkButton label on paper14.56 : 1Pass (4.5)
slate on paperSecondary text on paper6.28 : 1Pass (4.5)
slate on paper-shadeSecondary text on label stock5.28 : 1Pass (4.5)
gilt-deep on paperGold text on paper (step numerals)5.42 : 1Pass (4.5)
ember on salonError text on the wall6.49 : 1Pass (4.5)
ember-deep on paperError text on paper6.10 : 1Pass (4.5)
verdigris on salonFocus ring on the wall6.76 : 1Pass (3)
verdigris-deep on paperFocus ring on paper5.56 : 1Pass (3)
gilt on salonGilt rails on the wall3.49 : 1Pass (3)
paper on duskBody text, memorial12.95 : 1Pass (4.5)
candle on duskGold text, memorial8.62 : 1Pass (4.5)

Type

One family, Newsreader, for everything. Its optical-size axis is picked from the font size, so headlines get the sharp display cut and labels the sturdy text cut. Italic for artwork titles, the memorial heading and dates. Running text uses old-style figures; prices use lining, tabular figures. Headings are fluid between a 375 px phone and a 1280 px desktop.

Display, 40 to 88 px

Painted and framed

Heading 1, 36 to 60 px

A portrait to remember them by

Heading 2, 30 to 46 px

Editions and prices

Heading 3, 24 to 30 px

Choose a style

Heading 4, 20 to 24 px

Approve the painting

Lead, 19 to 22 px

Send a few phone photos and choose one of twelve painting styles.

Body, 18 px

One to ten photos from your phone. We choose the best to paint from.

Small, 16 px

Shipping to the United States only, 2 to 3 business days to print.

Caption, 14 px

Sample portrait of Coco, created from phone photos.

Italic, any px

A King Charles Spaniel, c. 1866

Prices (lining, tabular), any px

From $119, $89, $69 and $24

Wordmark

Always & Forever

Paper on the wall, burnished-gilt ampersand

Always & Forever

Ink on paper, gilt-deep ampersand

Monogram

  • Set in Newsreader with light tracking (+0.01em). The ampersand comes from the italic, in gilt.
  • The italic ampersand alone is the house monogram: favicon, seals, the colophon ornament.
  • Never stretch, outline, add shadows or put the wordmark on a photo.
  • Keep clear space around it equal to the height of the capital A. Smallest size: 20 px.

Frame and placard

The signature. Every frame the site shows is a real Lumaprints frame we sell (gold, black, white, natural oak, and silver floating frames for canvas), drawn from their mockup templates at true moulding width. The carved ebony and walnut finishes below are CSS only and no longer used on the site. The label hangs beside or below the frame, never on it.

Winter painting of Pebbles on a plaid blanket among snowy pine branches, pine cones and red berries, a lantern glowing behind
finish="gilt"
Old-master painting of Phoebe wrapped in a red velvet cloak, with a hazy landscape of blue hills and a castle behind
finish="ebony" slip
Natural-history plate of Luna sitting on a mossy stone, framed by ferns, violets and white wildflowers on aged cream paper
finish="walnut" mat="mat"
Watercolor of Phoebe's head and shoulders in soft pink, grey and cream washes, her pale blue eyes in crisp detail
finish="black" profile="slim" mat="mat"
Brush-and-ink painting of Pebbles sitting on pale paper, with a branch of small red blossoms at the top left
finish="white" profile="slim" mat="mat"
Minimal painting of Luna sitting upright against a plain warm-grey background, her curled ears and wrinkled skin in soft detail
finish="oak" profile="slim"
Oil portrait of Coco, a small long-haired dog with a black head, tan eyebrows and cheeks and a white chest, against a dark brown studio background

Coco

Papillon

Classic Oil

Sample portrait

Maple

Golden Retriever

Classic Oil

16 × 20 in

Left: the picture light (the page's one load animation). Right: the label for one of our sample portraits, and the same label set for a customer's portrait.

Buttons, links and focus

Link that looks like a buttonA plain text link

Buttons are 52 px tall with a 2 px radius, set in the serif. One primary button per screen: a paper card on the wall, an ink fill on paper. Keyboard focus draws a 3 px verdigris ring: light on the wall, deep on paper. Press Tab to see it.

Link on paper

Form inputs

As you want it on the placard.

Enter an email address like name@example.com.

Size

Sticky action bar

On phones the main action floats at the bottom as a single ink button, inside the safe area, with no bar behind it. It appears once the first button scrolls away and hides near the memorial room and the closing button. From the lg breakpoint it disappears on the landing page. Shown here in flow.

Memorial palette

The memorial path is the same room after dark: a deeper wall and candle-warm light, set with a single attribute, data-mode="memorial". Copy gets gentler and there is no promotion anywhere inside it.

Watercolor of Phoebe's head and shoulders in soft pink, grey and cream washes, her pale blue eyes in crisp detail

Your pet, painted and framed

Green wall, warm picture light, gilt frame.

Start your portrait

Biscuit

Beagle

Watercolor

11 × 14 in

Voice and tone

Do

  • Say: Start your portrait
  • Say: You get two versions and two more attempts, free.
  • Say: Payment comes first, because every portrait is painted to order.
  • Say: Created from your photos, and checked by our team before printing.
  • Say: Take all the time you need. (memorial)

Don't

  • Avoid: Unleash the magic!
  • Avoid: Amazing AI-powered artwork, try it now!!
  • Avoid: Try it free (we do not offer free previews)
  • Avoid: Don't miss out on 20% off! (never for a memorial portrait)

Imagery

  • The pet is always the subject. Show the portrait large, in its frame, on the wall.
  • Never crop a painting to a circle or round its corners. Frames are rectangles.
  • Show real products and real sample portraits, made by our own pipeline and captioned as samples created from phone photos. Never present a sample as a customer's order.
  • No stock photos of smiling people holding pets. No made-up customers.
  • Every image has alt text that says what it shows. Decorative images have empty alt text.
  • Memorial imagery is calm: soft light, no confetti, no sales badges.