Style Library

Blueland-inspired

Brand-inspiredBath

Every product page at Blueland opens with a color-coded argument — lemon yellow (#fffcbb) for citrus, pale mint (#c8faa1) for eucalyptus, soft lavender (#fce5ff) for fresh linen — a candy-counter display that reframes c…

#133cd1
#000175
#b8caef
#001589
#2d56d2
#587bda
#0033a7
#9ca3af
FontsGT-Pressura headingsGT-Pressura body

Preview

A sample page drawn from this style’s tokens — a guide to the look, not the exact output. Fonts from Google Fonts: GT-Pressura, Sailec.

New · weekly review

Plan the week in ten minutes

Pull in every task, see what matters, and share one clear plan with the team.

Get startedSee how it worksDocs
Tasks done1,284+12% this week
Sign in
Emailyou@example.com
Remember meContinue
Today
Review roadmapDone
Ship onboardingIn progress
Team sync3 pm
Prompt
Paste into any AI assistant before describing what to build — or attach it to a project below.
# Visual style inspired by Blueland's storefront (Bath)

A full style reference in DESIGN.md format: tokens in the front matter, then type scale, components, layout, do's and don'ts. Use it for colour, type, spacing and components only — never Blueland's name, logo, product photos, copy or trademarks.

---
version: alpha
name: "Blueland"
description: |-
  Every product page at Blueland opens with a color-coded argument — lemon yellow (#fffcbb) for citrus, pale mint (#c8faa1) for eucalyptus, soft lavender (#fce5ff) for fresh linen — a candy-counter display that reframes cleaning as sensory selection rather than household obligation. The structural anchor is deep cobalt #133cd1, an almost inkwell blue that carries every primary CTA, nav active state, and brand wordmark, sitting against a cool sky canvas (#f0f7ff and #ffffff) that keeps the system feeling clean without reading clinical. Dark navy (#000175) provides typographic weight for headlines and key UI text, while the stepped blue family — #001589, #0033a7, #133cd1, #2d56d2, #587bda — creates monochromatic depth that allows the pastel product colors to read as signal rather than decoration. Type runs GT-Pressura at display scale, a geometric grotesque with slightly compressed tracking that gives headlines an assured, modern solidity; Sailec handles body and UI copy, offering neutral legibility that keeps product descriptions readable without visual noise. Corner radii skew friendly: primary buttons are full pills ({rounded.full}), scent-selector chips match that pill shape, while product cards sit at a gentler {rounded.md} that softens the grid without fully dissolving it. The eco-impact band — a full-bleed cobalt section counting plastic bottles saved and CO₂ offset — appears at page transitions, translating environmental credentials into motion-driven numerics rather than copy-heavy callouts. Subscription toggle placement directly beside the add-to-cart button reflects the refill business model's centrality; the UI never lets a one-time purchaser forget that a cadence option exists. Starter kit bundles carry a distinct card treatment with included-items iconography, reinforcing the onboarding path for new customers and the brand's argument that switching cleaning systems is a single, discrete decision.

colors:
  primary: "#133cd1"
  primary-active: "#000175"
  primary-disabled: "#b8caef"
  primary-dark: "#001589"
  primary-mid: "#2d56d2"
  primary-light: "#587bda"
  ink: "#000175"
  body: "#0033a7"
  muted: "#9ca3af"
  hairline: "#e5e7eb"
  hairline-soft: "#e3eafd"
  canvas: "#ffffff"
  surface-soft: "#f0f7ff"
  surface-card: "#f4f8fe"
  surface-blue-pale: "#deeaff"
  on-primary: "#ffffff"
  accent-yellow: "#fffcbb"
  accent-green: "#c8faa1"
  accent-lavender: "#fce5ff"
  accent-peach: "#fff2dd"
  accent-mint: "#f3fff8"
  accent-blush: "#fff6f1"
  accent-rose: "#f7ebeb"
  accent-sky: "#a0ddff"
  error: "#ce4947"

typography:
  display-xl:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 56px
    fontWeight: 700
    lineHeight: 1.07
    letterSpacing: -0.5px
  display-lg:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 40px
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: -0.3px
  display-md:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 28px
    fontWeight: 700
    lineHeight: 1.2
    letterSpacing: -0.2px
  display-sm:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 22px
    fontWeight: 600
    lineHeight: 1.25
    letterSpacing: -0.1px
  title-md:
    fontFamily: "'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 18px
    fontWeight: 600
    lineHeight: 1.33
    letterSpacing: 0
  title-sm:
    fontFamily: "'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 16px
    fontWeight: 600
    lineHeight: 1.375
    letterSpacing: 0
  body-md:
    fontFamily: "'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0
  body-sm:
    fontFamily: "'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.43
    letterSpacing: 0
  caption:
    fontFamily: "'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 12px
    fontWeight: 400
    lineHeight: 1.33
    letterSpacing: 0.2px
  label-sm:
    fontFamily: "'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 11px
    fontWeight: 600
    lineHeight: 1.27
    letterSpacing: 0.5px
    textTransform: uppercase
  button-md:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 16px
    fontWeight: 700
    lineHeight: 1.25
    letterSpacing: 0.2px
  button-sm:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 14px
    fontWeight: 700
    lineHeight: 1.29
    letterSpacing: 0.1px
  nav-link:
    fontFamily: "'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 15px
    fontWeight: 500
    lineHeight: 1.33
    letterSpacing: 0
  price-display:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 20px
    fontWeight: 700
    lineHeight: 1.2
    letterSpacing: 0
  impact-counter:
    fontFamily: "'GT-Pressura', 'Sailec', Helvetica, Arial, sans-serif"
    fontSize: 48px
    fontWeight: 700
    lineHeight: 1.0
    letterSpacing: -1px

rounded:
  none: 0px
  xs: 4px
  sm: 8px
  md: 12px
  lg: 20px
  xl: 32px
  full: 9999px

spacing:
  xxs: 2px
  xs: 4px
  sm: 8px
  md: 12px
  base: 16px
  lg: 24px
  xl: 32px
  xxl: 48px
  section: 64px

components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    typography: "{typography.button-md}"
    rounded: "{rounded.full}"
    padding: 14px 28px
    height: 48px
  button-primary-active:
    backgroundColor: "{colors.primary-active}"
    textColor: "{colors.on-primary}"
    rounded: "{rounded.full}"
  button-primary-disabled:
    backgroundColor: "{colors.primary-disabled}"
    textColor: "{colors.on-primary}"
    rounded: "{rounded.full}"
  button-secondary:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.primary}"
    border: "2px solid {colors.primary}"
    typography: "{typography.button-md}"
    rounded: "{rounded.full}"
    padding: 12px 28px
    height: 48px
  button-ghost:
    backgroundColor: transparent
    textColor: "{colors.ink}"
    typography: "{typography.button-sm}"
    rounded: "{rounded.full}"
    padding: 10px 20px
  text-input:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.ink}"
    placeholderColor: "{colors.muted}"
    border: "1px solid {colors.hairline}"
    borderFocus: "2px solid {colors.primary}"
    typography: "{typography.body-md}"
    rounded: "{rounded.md}"
    padding: 12px 16px
    height: 48px
  nav-bar:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.ink}"
    typography: "{typography.nav-link}"
    height: 72px
    borderBottom: "1px solid {colors.hairline}"
    logoColor: "{colors.primary}"
  product-card:
    backgroundColor: "{colors.surface-card}"
    rounded: "{rounded.md}"
    padding: "{spacing.base}"
    imageBackground: "{colors.surface-soft}"
    titleTypography: "{typography.title-sm}"
    priceTypography: "{typography.price-display}"
    textColor: "{colors.ink}"
    subtextColor: "{colors.muted}"
    bodyTypography: "{typography.body-sm}"
  scent-chip:
    height: 32px
    rounded: "{rounded.full}"
    border: "2px solid transparent"
    borderSelected: "2px solid {colors.primary}"
    padding: 4px 12px
    typography: "{typography.body-sm}"
    textColor: "{colors.ink}"
  color-swatch:
    size: 24px
    rounded: "{rounded.full}"
    borderSelected: "3px solid {colors.ink}"
    borderUnselected: "1px solid {colors.hairline}"
  eco-badge:
    backgroundColor: "{colors.accent-green}"
    textColor: "{colors.primary-active}"
    typography: "{typography.label-sm}"
    rounded: "{rounded.full}"
    padding: 4px 10px
  refill-badge:
    backgroundColor: "{colors.surface-blue-pale}"
    textColor: "{colors.primary}"
    typography: "{typography.label-sm}"
    rounded: "{rounded.full}"
    padding: 4px 10px
  impact-stat-band:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    counterTypography: "{typography.impact-counter}"
    labelTypography: "{typography.body-sm}"
    padding: "{spacing.xxl} {spacing.section}"
    rounded: "{rounded.none}"
  hero-banner:
    backgroundColor: "{colors.surface-soft}"
    headlineTypography: "{typography.display-xl}"
    headlineColor: "{colors.ink}"
    subheadTypography: "{typography.body-md}"
    subheadColor: "{colors.body}"
    ctaBackgroundColor: "{colors.primary}"
    ctaTextColor: "{colors.on-primary}"
    ctaTypography: "{typography.button-md}"
    ctaRounded: "{rounded.full}"
    minHeight: 560px
    rounded: "{rounded.none}"
  subscription-toggle:
    backgroundColor: "{colors.surface-soft}"
    activeColor: "{colors.primary}"
    activeTextColor: "{colors.on-primary}"
    inactiveTextColor: "{colors.ink}"
    typography: "{typography.body-sm}"
    rounded: "{rounded.lg}"
    border: "1px solid {colors.hairline-soft}"
    padding: "{spacing.sm} {spacing.base}"
  starter-kit-card:
    backgroundColor: "{colors.canvas}"
    border: "2px solid {colors.primary}"
    rounded: "{rounded.md}"
    padding: "{spacing.xl}"
    titleTypography: "{typography.display-sm}"
    titleColor: "{colors.ink}"
    itemIconColor: "{colors.primary}"
    itemTypography: "{typography.body-sm}"
    savingsBadgeBackground: "{colors.accent-green}"
    savingsBadgeTextColor: "{colors.primary-active}"
  scent-variant-card:
    rounded: "{rounded.md}"
    padding: "{spacing.base}"
    titleTypography: "{typography.title-sm}"
    textColor: "{colors.ink}"
  footer:
    backgroundColor: "{colors.primary-active}"
    textColor: "{colors.on-primary}"
    linkColor: "{colors.surface-blue-pale}"
    typography: "{typography.body-sm}"
    headingTypography: "{typography.title-sm}"
    padding: "{spacing.xxl} {spacing.section}"

---

## Components

### Buttons

**`button-primary`** — Full pill-shaped button (#133cd1 background, white text, `{rounded.full}`, 48px tall) used for primary CTAs: "Add to Cart," "Shop Now," "Start Your Kit." On hover the background deepens to `{colors.primary-active}` (#000175); the disabled state uses `{colors.primary-disabled}` (#b8caef) at reduced opacity. The pill form is held at all viewport widths and never collapses to a square or rectangle variant.

**`button-secondary`** — White canvas with a 2px cobalt (#133cd1) border and matching text, identical pill radius. Used for secondary actions such as "Learn More," "Compare Bundles," or "View All Products." Hover shifts border and text to `{colors.primary-active}`.

**`button-ghost`** — Transparent background with `{colors.ink}` text, pill shape, no border. Reserved for use inside colored banners and overlay surfaces where a filled button would create too much visual mass. Relies entirely on surrounding context for boundary definition.

### Inputs

**`text-input`** — White field with 1px `{colors.hairline}` border at rest and a 2px cobalt focus ring, `{rounded.md}` (12px) corners. Placeholder text renders in `{colors.muted}`. Used in email-capture modules, promo code fields, and newsletter sign-up bars at the footer top.

### Navigation

**`nav-bar`** — White bar, 72px tall, 1px hairline bottom border. The Blueland wordmark appears in `{colors.primary}` cobalt at the left. Center holds product-category links in `{typography.nav-link}` weight-500 Sailec. Right side carries a cart icon with a cobalt fill count badge (white numeral) and a hamburger menu button on mobile. On scroll, a subtle drop-shadow appears beneath the bar without changing the white background.

### Product Components

**`product-card`** — Pale blue card (`{colors.surface-card}`) at `{rounded.md}`, 12px radius. Product image sits on a `{colors.surface-soft}` image field. Product name renders in `{typography.title-sm}`, one-time price in `{typography.price-display}`, subscribe-and-save price below in `{typography.body-sm}` and `{colors.muted}`. A scent-category color chip pulled from the accent family (accent-yellow, accent-green, accent-lavender, etc.) appears in the card's upper corner as a visual differentiator across the grid.

**`scent-chip`** — Pill-shaped fragrance-selector with transparent fill and a 2px border (transparent when idle, cobalt when selected). Text label in `{typography.body-sm}`. Arranged in a horizontal row beneath the product title on PDPs; on mobile the row becomes a single-line horizontal scroll track.

**`color-swatch`** — 24px circular swatch button tinted to the product variant's accent color. Selected state shows a 3px `{colors.ink}` border; unselected shows a 1px `{colors.hairline}`. Tapping a swatch updates the card background color, image, and the scent-chip row simultaneously.

**`subscription-toggle`** — Two-segment control ("One-time" / "Subscribe & Save") rendered in a pale blue `{colors.surface-soft}` container at `{rounded.lg}`. The active segment slides a cobalt fill pill with white text beneath it. Placed directly above the primary CTA on every PDP; it is never hidden or moved below the fold. Subscription price appears at a discount relative to one-time, formatted in `{typography.price-display}`.

### Badges & Labels

**`eco-badge`** — Pale green pill (`{colors.accent-green}`) with dark navy text in `{typography.label-sm}` uppercase. Used for "Plastic-Free," "Refillable," and certification callouts (EPA Safer Choice, B-Corp, etc.) on product cards and PDPs.

**`refill-badge`** — Pale blue pill (`{colors.surface-blue-pale}`) with cobalt text, same label-sm uppercase treatment. Used for "Refill Available" and "Works with Starter Kit" callouts to reinforce system compatibility at a glance.

### Marketing Sections

**`hero-banner`** — Full-width section, minimum 560px tall, `{colors.surface-soft}` background. Headline in `{typography.display-xl}` at `{colors.ink}`, subhead in `{typography.body-md}` at `{colors.body}`. CTA uses cobalt fill, white text, pill radius. Photography shows products floating or resting on clean domestic surfaces against white or pale backgrounds. On desktop the layout splits 60/40 text-to-image; on mobile the image stacks above text.

**`impact-stat-band`** — Full-bleed cobalt section (`{colors.primary}`) with no corner radius. Displays three or four statistics: plastic bottles diverted, CO₂ offset, orders shipped, tablets sold. Each stat renders in `{typography.impact-counter}` (white, 48px, −1px tracking) with a short descriptor below in `{typography.body-sm}` white. Numbers animate via count-up on viewport entry; layout is four-column on desktop, two-by-two on tablet, stacked on mobile.

**`starter-kit-card`** — White card with a 2px cobalt border at `{rounded.md}`, generous internal padding from `{spacing.xl}`. Headline in `{typography.display-sm}`, a bulleted list of included tablet types with cobalt checkmark icons in `{typography.body-sm}`, a savings badge in `{colors.accent-green}`, and a full-width primary CTA at the base. This is the primary conversion surface for first-time customers and appears as a sticky recommendation module on the homepage.

**`scent-variant-card`** — Small card whose background is set to one of the accent colors (accent-yellow, accent-green, accent-lavender, accent-peach) corresponding to the product's scent profile. Title in `{typography.title-sm}`, `{colors.ink}`. Used in scent-collection grid sections and "choose your scent" flows within the PDP.

### Footer

**`footer`** — Deep navy background (`{colors.primary-active}`, #000175) with `{colors.on-primary}` body text and `{colors.surface-blue-pale}` links. Four-column layout at desktop: Shop, Company, Sustainability, Social. Column headings in `{typography.title-sm}`, links in `{typography.body-sm}`. Email sign-up bar embedded at footer top spans full content width with a white text input on navy.

## Responsive Behavior

| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 744px | Single-column product grid; nav collapses to wordmark + cart icon + hamburger; scent chips and color swatches scroll horizontally; hero headline drops to `{typography.display-md}`; impact-stat-band stacks stats in a single column; footer sections collapse to accordion |
| Tablet | 744–1128px | Two-column product grid; nav shows top-level labels with sub-categories in a slide-in drawer; hero splits 50/50 image and text; starter-kit-card goes full-width; impact-stat-band shows 2×2 grid |
| Desktop | 1128–1440px | Three-column product grid; full nav with mega-menu dropdowns; hero 60/40 text-to-image split; impact-stat-band four-column horizontal; footer four-column |
| Wide | > 1440px | Content constrained to 1440px max-width with auto side margins; hero photography bleeds to viewport edge with content column inset; product grid can expand to four columns |

### Touch Targets

- All buttons minimum 48px tall
- Color swatches padded invisibly to 40px tap target despite 24px visual size
- Scent chips at 32px visual height padded to 44px minimum touch height
- Nav hamburger and cart icon padded to 44×44px touch area
- Subscription toggle segments each minimum 44px touch height
- Footer accordion toggle rows minimum 48px touch height

### Collapsing Strategy

- Nav: full horizontal mega-menu on desktop → icon strip + hamburger drawer on mobile
- Product grid: 4-col wide → 3-col desktop → 2-col tablet → 1-col mobile
- Footer: 4-column → 2-column on tablet → collapsible accordion on mobile
- Hero: side-by-side text + image → stacked image above text on mobile
- Impact stat band: 4-across horizontal → 2×2 grid on tablet → 1-column stacked on mobile
- Scent chip row: wrapping flex on desktop → single horizontal scroll track on mobile
- Starter-kit-card: sidebar placement on desktop PDP → full-width block below product details on mobile

## Known Gaps

- **Agent usage policy:** Historical tokens are unverified. Do not use them as current-site measurements or claim a faithful reconstruction.







- **Evidence:** [SOURCE.json](./SOURCE.json) records capture time, URLs and per-token evidence status. CSS value matches do not establish semantic roles or visual fidelity; unmeasured values remain inferred or unverified.

- GT-Pressura weight range and precise tracking values not confirmed from extraction; sizes and weights estimated from visual inspection of live site
- Sailec is a licensed typeface; exact weight and style availability (italic, light, black) not confirmed from font-stack extraction alone
- Self-Modern appears in the detected font stack but its usage context (display editorial vs. marketing headers) could not be determined — omitted from component definitions pending visual verification
- Exact button height and horizontal padding not extracted from CSS; 48px height and 28px horizontal padding are estimates consistent with Shopify theme conventions
- Motion/animation spec for impact-counter count-up entrance and subscription-toggle pill transition not available from static extraction
- Dark-mode palette not observed; unclear whether Blueland ships a dark surface variant
- Precise mapping of scent names to accent colors (#fffcbb → citrus, #c8faa1 → eucalyptus, etc.) inferred from brand knowledge, not directly extracted
- Meta theme-color not set, so OS-level browser chrome color is unspecified
- No confirmed icon system library (custom SVG set vs. third-party); cobalt color usage on icons assumed from brand palette
Use it in an app
Create a free account to attach this style to a project: the hub adds it to the prompt your AI assistant gets, so it builds every page in this look.

From Awesome DESIGN.md — e-commerce (MIT, commit e4dc419).View source