Design System
Shutter Envy Brand Guidelines
Every token, every component, exactly as it renders on the live site. Use this page to keep new pages on-brand.
Colour Palette
Verified against the Peek brand audit (2026-05-16). Every value is the exact hex used on shutter-envy.co.uk.
- Gold 50
#FAF4DD - Gold 100
#F0DFA0 - Gold 200
#E5C772 - Gold 300
#D8B440 - Gold 400
#C79A08 - Gold 500
#B68A07 - Gold 600
#8B6900 - Gold 700
#6E5300
linear-gradient(180deg, #F9F8F4 0%, #FFFFFF 100%)
Typography
Spectral (serif) for display, Libre Franklin (sans) for body and UI. Letter-spacing is baked into the type scale — don't override.
- Award-Winning Shutters
- Inline Section Heading
- Subsection Title
- Card Title
- Featured copy lead-in
- Compact Card Title
- List item heading
- A lead paragraph that draws people in.
- Subheading sans-serif.
- Bold body text for emphasis.
- Standard body copy for reading.
- Card descriptions and meta.
- OVERLINE / EYEBROW
Buttons & CTAs
All buttons use Libre Franklin 500 at 14px (button-14-500) with letter-spacing 0.02em. Pill radius (999px) is the brand default.
Shadows & Radius
Use the scale; don't invent custom drop shadows or border-radius values.
-
--shadow-smSubtle base for resting cards
-
--shadow-mdHover state on cards
-
--shadow-lgFeatured cards, dropdowns
-
--shadow-xlLifted hero form, modal panels
-
--shadow-goldGold-tinted bloom (CTAs)
-
--radius-sm6px
-
--radius-md12px
-
--radius-lg16px
-
--radius-xl24px
-
--radius-pill999px
Capitalisation Rules
Consistency in casing keeps the site looking professional. Defaults below.
-
Page & Section Headings
Title Case
Have You Experienced Shutter Envy?
-
Card Titles
Title Case
Premium Quality Materials
-
Buttons & CTAs
Title Case
Arrange a Home Visit
-
Eyebrows & Overlines
UPPERCASE
READY FOR YOUR 5-STAR SERVICE?
-
Body Copy
Sentence case
We design and fit made-to-measure shutters across Leicestershire.
-
Lowercase exceptions in titles
a, an, the, and, but, or, at, by, for, in, of, on, to, with — unless first or last word
Years in the Shutter Industry · Customisable to Fit Any Space
Intro Animations
Sections fade up as they enter the viewport. Add data-reveal to a wrapper; data-reveal-children to stagger its direct children.
-
data-revealFade up (default). 28px slide, 700ms, ease
cubic-bezier(0.16, 1, 0.3, 1). -
data-reveal="left"Slides in from the left. Used on 2-column intros (Product Showcase, Bay Windows).
-
data-reveal="right"Slides in from the right. Pairs with "left" in 2-col layouts.
-
data-reveal="fade"Opacity only, no slide. Used for elements that shouldn't shift position.
-
data-reveal="scale"Scales from 0.97 → 1 with fade. Used on the Awards CTA box.
-
data-reveal-childrenStaggers direct children (60ms + 70ms per child up to 12). Used on grids.
-
prefers-reduced-motionAll reveal animations are disabled if the user has reduced motion enabled — content shows instantly.
Hover Animations
Every interactive element lifts on hover. Consistency in timing is more important than the exact pattern.
Card lift
220ms · translateY(-3px) · shadow grows from sm → md → lg. Used on every clickable card.
Image tile · scale(1.06) on hover · 600ms · gold gradient overlay fades in
Button · translateY(-1px) · background gold-400 → gold-600 · 200ms