light · retail · marketplace · sans · dense · home-improvement · residential · e-commerce

DESIGN.md inspired by Lowe's

Signature navy blue on white canvas — residential-DIY warmth rendered as big-box retail.

By webdesignhot · www.lowes.com
$ npx @webdesignhot/design-md add lowes
Learn more about the CLI
Compare to…
try on →
theme
1440 × 900
mobile · 390 × 844
Tokens webdesignhot/0.1
  • bg #ffffff
  • bg-page #f5f5f5
  • surface #ffffff
  • surface-soft #f5f5f5
  • surface-strong #eaeaea
  • surface-blue-soft #e6ecf5
  • surface-red-soft #fdeaea
  • masthead #012169
  • masthead-deep #001447
  • masthead-active #000d33
  • brand AAA · 14.8 #012169
  • brand-deep #001447
  • brand-darkest #000d33
  • lowes-red #cc0000
  • lowes-red-deep #a30000
  • lowes-red-active #7a0000
  • clearance-orange #f26522
  • text AAA · 17.4 #1a1a1a
  • text-strong #000000
  • text-muted #5b5b5b
  • text-soft #7a7a7a
  • text-on-blue #ffffff
  • text-on-red #ffffff
  • link #0046be
  • link-hover #012169
  • link-visited #5e2a8c
  • border — · 1.5 #d0d0d0
  • border-soft #e0e0e0
  • border-strong — · 2.8 #9a9a9a
  • border-input #9a9a9a
  • rating-orange #f26522
  • rating-empty #d0d0d0
  • pro-blue #012169
  • free-shipping #007a3d
  • in-stock #007a3d
  • out-of-stock #7a7a7a
  • clearance-tag #cc0000
  • scrim rgba(0,0,0,0.5)
  • shadow-card rgba(0,0,0,0.08)
  • shadow-elev rgba(0,0,0,0.16)
  • success #007a3d
  • warning #cc6600
  • warning-soft #fff4e5
  • danger #cc0000
  • info #012169
Typography
Ship faster than ever.
hero-banner "Helvetica Neue" 48px w900 -1px
The quick brown fox jumps over the lazy dog.
page-title "Helvetica Neue" 32px w700 -0.5px
Ship faster than ever.
price-display "Helvetica Neue" 32px w700 -0.25px
The quick brown fox jumps over the lazy dog.
section-head "Helvetica Neue" 24px w700 0
The quick brown fox jumps over the lazy dog.
price-product "Helvetica Neue" 22px w700 0
The quick brown fox jumps over the lazy dog.
sub-section "Helvetica Neue" 18px w700 0
The quick brown fox jumps over the lazy dog.
price-savings "Helvetica Neue" 18px w700 0
The quick brown fox jumps over the lazy dog.
product-title "Helvetica Neue" 16px w500 0
The quick brown fox jumps over the lazy dog.
product-title-md "Helvetica Neue" 14px w500 0
The quick brown fox jumps over the lazy dog.
body-md "Helvetica Neue" 14px w400 0
The quick brown fox jumps over the lazy dog.
price-strikethru "Helvetica Neue" 14px w400 0
The quick brown fox jumps over the lazy dog.
button-cta "Helvetica Neue" 14px w700 0.02em
The quick brown fox jumps over the lazy dog.
nav-link "Helvetica Neue" 14px w500 0
The quick brown fox jumps over the lazy dog.
body-sm "Helvetica Neue" 13px w400 0
OUR DESIGN SYSTEM
caption "Helvetica Neue" 12px w400 0
The quick brown fox jumps over the lazy dog.
pro-tag "Helvetica Neue" 12px w700 0.02em
The quick brown fox jumps over the lazy dog.
micro "Helvetica Neue" 11px w400 0
The quick brown fox jumps over the lazy dog.
badge "Helvetica Neue" 11px w700 0.04em
Spacing
  • step-0 2px
  • step-1 4px
  • step-2 8px
  • step-3 12px
  • step-4 16px
  • step-5 20px
  • step-6 24px
  • step-7 32px
  • step-8 40px
  • step-9 48px
  • step-10 64px
  • step-11 80px
Radius
  • micro 2px
  • sm 4px
  • md 6px
  • lg 8px
  • pill 9999px
Components
Text link →
Card preview A complete kit — everything your product needs. Hero, pricing, FAQ, dashboard, docs — every layout your product needs.
New Stable v1.0
Design roles 6/8 mapped · webdesignhot/0.1

Maps the 8 canonical role names to this entry's actual tokens. Use these to plug the design into role-aware tools — shadcn/ui themes, role-aware Tailwind plugins, atelier-lint — without hard-coding token names.

  • background bg
  • foreground text
  • primary brand
  • primary-foreground
  • accent
  • muted text-muted
  • border border
  • ring border-strong
Lineage & influences

Lowe's visual lineage is the residential counterweight to Home Depot's contractor-orange. The signature navy (#012169) dates to the postwar identity refresh and has remained essentially unchanged for decades — a deliberate signal of trust, neighborhood-hardware-store warmth, and a softer register than the industrial-orange of its larger competitor. The storefront takes the warehouse-retail conventions (dense product grids, white seamless product shots, big rectangular tiles, clearance red callouts) but tunes the temperature warmer: more lifestyle-context photography on hero bands, friendlier product copy, residential project framing ("Find your project", "Make your home, yours") rather than contractor-spec framing. Typography is Helvetica Neue at confident weights — no custom typeface, no display flourish — but with body copy slightly larger and looser than the warehouse-club category (14/1.5 vs 14/1.43 at Costco). The brand position: the friendlier hardware store, where homeowners feel welcome and contractors are served via the parallel MyLowe's Pro program. The web design enforces this with navy chrome (residential trust), clearance red CTAs (retail urgency), and orange-amber star ratings (consumer warmth) — never the saturated industrial orange Home Depot codes the entire identity around.

Export 4 formats · paste-ready
Tailwind

theme.extend block for tailwind.config.js

tailwind.config.js
CSS variables

:root { --bg, --text, --brand, … } you can paste anywhere

design.css
DTCG JSON

W3C Design Tokens Community Group format

design.tokens.json
Figma Variables

Importable into Figma → Variables → Import

figma-variables.json
The file
---
name: Lowe's
tagline: Signature navy blue on white canvas — residential-DIY warmth rendered as big-box retail.
updated_at: 2026-05-28T00:00:00+12:00
published_at: 2026-05-28T00:00:00+12:00
author: webdesignhot
source_url: https://www.lowes.com
spec: webdesignhot/0.1
quality: curated
featured: false
categories: [marketplace]
tags: [light, retail, marketplace, sans, dense, home-improvement, residential, e-commerce]
preview_swatch: ['#ffffff', '#012169', '#cc0000']
related: [costco, walmart, target]
description: 'Lowe''s storefront is the residential-DIY counterweight to Home Depot — a white canvas (`#ffffff`) anchored on the signature **Lowe''s navy** (`#012169`) chrome with **clearance red** (`#cc0000`) carrying primary CTAs, the wordmark, and price-drop callouts. Where Home Depot codes industrial-orange and contractor-first, Lowe''s codes residential-blue and homeowner-first — softer voice, warmer product photography, more lifestyle context. Type runs a bold geometric sans (Helvetica Neue / Arial fallback) at confident weights with no flourish — utility with a slightly more inviting register than the warehouse-store category. The page is engineered for the homeowner planning a project from a desktop browser: dense product grids, big rectangular product tiles, 4px square-ish corners on CTAs (no fashion pills), and price callouts in clearance red rendered as flat boxes. The result is a big-box retail site that reads warmer than Home Depot, more curated than Walmart, and more residential than Costco — Lowe''s blue as a category-defining signal of "the friendlier hardware store".'

# Canonical 8-role aliases (bg / text / brand / border / accent / muted / surface / danger).
# Maps role names to this entry's actual token names so role-aware
# downstream tools resolve `theme.background` → entry's `bg`, etc.
# Auto-generated by scripts/add-aliases.mjs — do not edit manually;
# regenerate after changing color token names.
aliases:
  background: bg
  foreground: text
  primary: brand
  muted: text-muted
  border: border
  ring: border-strong
colors:
  bg: '#ffffff'                  # default canvas
  bg-page: '#f5f5f5'             # alternate page floor
  surface: '#ffffff'
  surface-soft: '#f5f5f5'        # disabled fields, alt row
  surface-strong: '#eaeaea'      # divider band
  surface-blue-soft: '#e6ecf5'   # informational banner surface — soft navy tint
  surface-red-soft: '#fdeaea'    # clearance-band soft surface
  masthead: '#012169'            # Lowe's signature navy — the chrome
  masthead-deep: '#001447'       # deeper navy for hover and footer
  masthead-active: '#000d33'     # pressed state
  brand: '#012169'               # primary brand navy
  brand-deep: '#001447'
  brand-darkest: '#000d33'
  lowes-red: '#cc0000'           # clearance red — CTA and price-drop fill
  lowes-red-deep: '#a30000'      # deep red for hover
  lowes-red-active: '#7a0000'    # pressed state
  clearance-orange: '#f26522'    # secondary clearance accent — used sparingly on "Hot Buy" tags
  text: '#1a1a1a'                # primary ink — slightly warmer than pure black
  text-strong: '#000000'         # heading ink at maximum punch
  text-muted: '#5b5b5b'          # secondary metadata
  text-soft: '#7a7a7a'           # caption text
  text-on-blue: '#ffffff'        # white on navy
  text-on-red: '#ffffff'         # white on clearance red
  link: '#0046be'                # link blue — slightly brighter than chrome navy for legibility
  link-hover: '#012169'          # deeper hover navy
  link-visited: '#5e2a8c'        # purple visited
  border: '#d0d0d0'              # default 1px hairline
  border-soft: '#e0e0e0'         # editorial divider
  border-strong: '#9a9a9a'       # focus state hairline
  border-input: '#9a9a9a'        # form input outline
  rating-orange: '#f26522'       # star rating fill — Lowe's uses orange-amber, not yellow
  rating-empty: '#d0d0d0'        # empty star
  pro-blue: '#012169'            # "Pro" / contractor program tag — saturated navy
  free-shipping: '#007a3d'       # "FREE delivery" green tag
  in-stock: '#007a3d'            # "In Stock" status green
  out-of-stock: '#7a7a7a'        # grey "Out of stock" tag
  clearance-tag: '#cc0000'       # "Clearance" / "Special Value" red tag
  scrim: 'rgba(0,0,0,0.5)'       # modal backdrop
  shadow-card: 'rgba(0,0,0,0.08)'
  shadow-elev: 'rgba(0,0,0,0.16)'
  success: '#007a3d'             # in-stock confirmation green
  warning: '#cc6600'             # advisory amber
  warning-soft: '#fff4e5'
  danger: '#cc0000'              # validation error matches clearance red
  info: '#012169'

typography:
  display:
    family: '"Helvetica Neue", Helvetica, Arial, sans-serif'
    weights: [700, 900]
    opentype-features: ['tnum']
  body:
    family: '"Helvetica Neue", Helvetica, Arial, sans-serif'
    weights: [400, 500, 700]
  mono:
    family: 'Menlo, Monaco, Consolas, "Courier New", monospace'
    weights: [400]
  scale:
    hero-banner:     { size: 48, weight: 900, lineHeight: 1.0,  tracking: '-1px',     family: display, opentype: ['tnum'], transform: uppercase }
    page-title:      { size: 32, weight: 700, lineHeight: 1.1,  tracking: '-0.5px',   family: display }
    section-head:    { size: 24, weight: 700, lineHeight: 1.2,  tracking: '0',        family: display }
    sub-section:     { size: 18, weight: 700, lineHeight: 1.25, tracking: '0',        family: body }
    product-title:   { size: 16, weight: 500, lineHeight: 1.4,  tracking: '0',        family: body }
    product-title-md: { size: 14, weight: 500, lineHeight: 1.43, tracking: '0',        family: body }
    body-md:         { size: 14, weight: 400, lineHeight: 1.5,  tracking: '0',        family: body }
    body-sm:         { size: 13, weight: 400, lineHeight: 1.4,  tracking: '0',        family: body }
    caption:         { size: 12, weight: 400, lineHeight: 1.33, tracking: '0',        family: body }
    micro:           { size: 11, weight: 400, lineHeight: 1.27, tracking: '0',        family: body }
    price-display:   { size: 32, weight: 700, lineHeight: 1.0,  tracking: '-0.25px',  family: body, opentype: ['tnum'] }
    price-product:   { size: 22, weight: 700, lineHeight: 1.0,  tracking: '0',        family: body, opentype: ['tnum'] }
    price-strikethru: { size: 14, weight: 400, lineHeight: 1.0,  tracking: '0',        family: body, opentype: ['tnum'] }
    price-savings:   { size: 18, weight: 700, lineHeight: 1.1,  tracking: '0',        family: body, opentype: ['tnum'] }
    button-cta:      { size: 14, weight: 700, lineHeight: 1.0,  tracking: '0.02em',   family: body, transform: uppercase }
    nav-link:        { size: 14, weight: 500, lineHeight: 1.0,  tracking: '0',        family: body }
    badge:           { size: 11, weight: 700, lineHeight: 1.0,  tracking: '0.04em',   family: body, transform: uppercase }
    pro-tag:         { size: 12, weight: 700, lineHeight: 1.0,  tracking: '0.02em',   family: body, transform: uppercase }

radius:
  micro: 2
  sm: 4        # most CTAs and inputs — Lowe's stays square-ish
  md: 6        # cards, panels
  lg: 8
  pill: 9999   # used sparingly — only on filter chips and the Pro program toggle

spacing:
  base: 4
  scale: [2, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80]

layout:
  page-width: 1280
  prose-width: 720
  header-height: 96
  masthead-height: 56
  sub-nav-height: 40

components:
  button-cta:
    bg: '#cc0000'
    color: '#ffffff'
    radius: 4
    padding: '12px 20px'
    height: 44
    font: button-cta
    use: 'Add to Cart, Sign In — every primary action. Solid clearance red, square-ish corners (4px), uppercase label.'
  button-cta-hover:
    bg: '#a30000'
    color: '#ffffff'
    radius: 4
    use: 'Hover state — deeper red.'
  button-secondary:
    bg: '#ffffff'
    color: '#012169'
    border: '2px solid #012169'
    radius: 4
    padding: '10px 18px'
    height: 44
    use: 'Cancel, Save for Later — navy outline secondary.'
  button-tertiary-text:
    bg: 'transparent'
    color: '#0046be'
    use: '"Show more", text-only links — underlined on hover.'
  product-card:
    bg: '#ffffff'
    color: '#1a1a1a'
    radius: 6
    padding: '12px'
    border: '1px solid #d0d0d0'
    use: 'Listing tile — image-led, hairline-bordered, dense metadata stack with lifestyle-friendly product photography.'
  search-bar:
    bg: '#ffffff'
    color: '#1a1a1a'
    radius: 4
    height: 40
    border: '1px solid #d0d0d0'
    focus-ring: '2px solid #012169'
    use: 'Masthead search — square-ish 4px radius, full-width centred in masthead.'
  search-button:
    bg: '#012169'
    color: '#ffffff'
    radius: '0 4px 4px 0'
    width: 60
    height: 40
    use: 'Right-edge navy tab inside the search bar — white magnifier icon.'
  text-input:
    bg: '#ffffff'
    color: '#1a1a1a'
    radius: 4
    height: 40
    padding: '10px 14px'
    border: '1px solid #9a9a9a'
    focus: '2px solid #012169'
    use: 'Form input — slim 4px radius, ink text.'
  star-rating:
    color-fill: '#f26522'
    color-empty: '#d0d0d0'
    use: 'Five-star rating — Lowe''s orange-amber fill, grey empty.'
  clearance-tag:
    bg: '#cc0000'
    color: '#ffffff'
    radius: 2
    padding: '4px 8px'
    use: 'Solid red "CLEARANCE" / "SPECIAL VALUE" callout — uppercase white text.'
  pro-tag:
    bg: '#012169'
    color: '#ffffff'
    radius: 2
    padding: '4px 8px'
    use: 'Navy "PRO" / "MyLowe''s Pro Rewards" tag — same shape as clearance.'
  free-shipping-tag:
    bg: 'transparent'
    color: '#007a3d'
    radius: 0
    padding: '0'
    use: 'Inline green "FREE delivery" text — no fill, just confident green ink.'
  price-drop-callout:
    bg: '#cc0000'
    color: '#ffffff'
    radius: 4
    padding: '6px 10px'
    use: 'Solid red price-drop band — "$50 OFF" white bold text. Inline beside the price-display.'
  hero-banner:
    bg: '#012169'
    color: '#ffffff'
    radius: 0
    padding: '32px 40px'
    use: 'Full-width navy promo band — white display headline, white CTA pill.'

motion:
  ease-standard: 'cubic-bezier(0.4, 0, 0.2, 1)'
  ease-emphasized: 'cubic-bezier(0.2, 0, 0, 1)'
  duration-fast: 150
  duration-standard: 240
  duration-slow: 320
  cta-press: 'CTA bg deepens cc0000 → 7a0000 over 150ms on :active'
  card-hover: 'shadow-card appears + border thickens 1px → 1px #9a9a9a over 240ms — no transform'
  search-focus: '2px navy ring fades in over 200ms'
  reduced-motion: 'respects prefers-reduced-motion: reduce — colour transitions remain, transforms suppressed.'

breakpoints:
  mobile: 600
  tablet: 1024
  desktop: 1280
  wide: 1536

shadows:
  ambient: 'none — Lowe''s stays mostly flat'
  hover-card: 'rgba(0,0,0,0.08) 0 2px 8px'
  modal: 'rgba(0,0,0,0.16) 0 8px 24px'
  ring: '0 0 0 2px #012169'

accessibility:
  contrast-text-on-bg: 16.1          # #1a1a1a on #ffffff — AAA
  contrast-text-on-cta: 5.9          # #ffffff on #cc0000 — AA body / AAA large
  contrast-text-on-blue: 13.2        # #ffffff on #012169 — AAA
  contrast-link-on-bg: 8.4           # #0046be on #ffffff — AAA
  contrast-muted-on-bg: 7.2          # #5b5b5b on #ffffff — AAA
  contrast-green-shipping: 4.7       # #007a3d on #ffffff — AA
  focus-ring: '2px solid #012169 + 2px outline offset'
  reduced-motion-honored: true
  touch-target-min: 44               # most CTAs hit 44×44 (slightly below typical 48)
  keyboard-nav: 'Tab moves masthead → search → category nav → main grid → footer; arrow keys inside category mega-menu.'

dark-mode: null   # No public-web dark mode. Lowes.com is light-only.

lineage:
  summary: 'Lowe''s visual lineage is the residential counterweight to Home Depot''s contractor-orange. The signature navy (#012169) dates to the postwar identity refresh and has remained essentially unchanged for decades — a deliberate signal of trust, neighborhood-hardware-store warmth, and a softer register than the industrial-orange of its larger competitor. The storefront takes the warehouse-retail conventions (dense product grids, white seamless product shots, big rectangular tiles, clearance red callouts) but tunes the temperature warmer: more lifestyle-context photography on hero bands, friendlier product copy, residential project framing ("Find your project", "Make your home, yours") rather than contractor-spec framing. Typography is Helvetica Neue at confident weights — no custom typeface, no display flourish — but with body copy slightly larger and looser than the warehouse-club category (14/1.5 vs 14/1.43 at Costco). The brand position: the friendlier hardware store, where homeowners feel welcome and contractors are served via the parallel MyLowe''s Pro program. The web design enforces this with navy chrome (residential trust), clearance red CTAs (retail urgency), and orange-amber star ratings (consumer warmth) — never the saturated industrial orange Home Depot codes the entire identity around.'
  influences:
    - name: The Home Depot
      role: peer-competitor
      url: https://www.homedepot.com
    - name: Ace Hardware
      role: community-hardware-store sibling
      url: https://www.acehardware.com
    - name: Menards
      role: midwest big-box peer
      url: https://www.menards.com
    - name: True Value
      role: neighborhood-hardware tradition
      url: https://www.truevalue.com
    - name: Sears Roebuck catalog
      role: 20th-century mail-order home-goods tradition
      url: https://www.searsarchives.com
    - name: IKEA
      role: residential-lifestyle merchandising
      url: https://www.ikea.com
    - name: Helvetica Neue
      role: typographic-neutrality lineage
      url: https://fonts.adobe.com/fonts/helvetica-neue
---

## 1. Visual Theme & Atmosphere

Lowe's storefront is the residential-DIY counterweight to Home Depot's contractor-industrial codebase — utilitarian and dense like the warehouse-retail category demands, but tuned a register warmer with lifestyle photography, friendlier voice, and the signature **Lowe's navy** (`#012169`) chrome instead of Home Depot's saturated orange. The base canvas is white (`#ffffff`) with a soft grey (`#f5f5f5`) page floor, anchored on the deep navy masthead and accented by **clearance red** (`#cc0000`) — the colour every primary CTA wears and the colour every price-drop callout uses to mirror in-store sale tags.

Type runs **Helvetica Neue** at no-flourish modest weights — page titles 32px / 700, body 14px / 400 with a slightly looser 1.5 line height, button labels 14px / 700 uppercase with 0.02em tracking. There is no custom typeface, no display family, no expressive flourishes. The choice mirrors Costco, Walmart, and Home Depot's own utilitarian discipline — but Lowe's leans a touch warmer by keeping product titles at 500 weight (Costco bolds them to 700, Home Depot keeps them at 400), an intentionally residential register that reads as "browsing for your home" rather than "scanning a contractor catalogue".

The chromatic identity is a deliberately two-and-a-half voltage system: **Lowe's navy** for chrome, wordmark, and brand trust; **clearance red** for primary CTA and price-drop urgency; and a quiet **orange-amber** (`#f26522`) used only for star ratings and the occasional "Hot Buy" tag — the closest Lowe's gets to a third colour, and a deliberate signal of distance from Home Depot's saturated orange. The rest of the page is white, ink, and grey. The colour pairings consciously avoid Home Depot's full-orange identity: where Home Depot codes orange across chrome, CTA, and accent, Lowe's keeps orange to a thin sliver of the surface area.

Shape language is intentionally **square-ish**. CTAs sit at 4px radius (not pill); cards round at 6px; the search bar is a 4px-radius rectangle with a navy search button on the right edge. There are no pill CTAs anywhere in the storefront — Lowe's, like its big-box peers, resists the fashionable rounding that consumer brands lean into. The square-corner discipline reads as utilitarian, retail-warehouse-coded, and respectful of the home-improvement category's signage tradition. Shadows are minimal; most surfaces are flat with a single hover-card lift on tiles.

The page reads as **the friendlier hardware store, online**. Bold navy chrome, clearance-red price callouts, dense product grids with lifestyle-context thumbnails on hero bands and white-seamless product shots on grid tiles, and a footer crowded with project-help links — every element echoes a physical Lowe's store's residential-friendly merchandising logic. The result is a big-box retail site that reads warmer than Home Depot, more curated than Walmart, and more residential than Costco.

**Key Characteristics:**
- Two-and-a-half voltage palette: Lowe's navy (`#012169`) chrome + clearance red (`#cc0000`) CTA + sparing orange-amber (`#f26522`) for ratings
- Helvetica Neue at confident weights — no custom typeface, body 14/400 at 1.5 line height (warmer than Costco's 1.43)
- Square-ish 4–6px corners — no pill CTAs in the primary purchase flow
- Clearance-red CTA at 4px radius, 12×20px padding, 44px height, uppercase white label
- Star ratings render in orange-amber on grey — deliberately distinct from Home Depot's saturated orange identity
- Pro program tag uses navy boxes — parallel contractor track without taking over the visual identity
- Product titles at 500 weight (not 400 like Home Depot, not 700 like Costco) — a residential-friendly middle
- Generous footer with project-help, MyLowe's, and Pro links — homeowner-first organisation

## 2. Color Palette & Roles

### Primary
- **Canvas** (`#ffffff`): default page floor, every product tile, every form surface
- **Page Floor** (`#f5f5f5`): alternate band ground
- **Ink** (`#1a1a1a`): primary text colour — slightly warmer than pure black for the residential register
- **Heading Ink** (`#000000`): used on hero display copy where Lowe's wants maximum punch

### Brand & Dark
- **Lowe's Navy** (`#012169`): the masthead, primary brand chrome, secondary CTA outline, Pro tag fill
- **Brand Deep** (`#001447`): hover state on chrome and footer ground
- **Brand Active** (`#000d33`): pressed state, deepest editorial accent

### Clearance Red
- **Clearance Red** (`#cc0000`): the primary CTA fill and price-drop callout — the brand's loudest moment
- **Red Deep** (`#a30000`): hover state on red CTAs
- **Red Active** (`#7a0000`): pressed state

### Accent — Orange-Amber (used sparingly)
- **Rating Orange** (`#f26522`): star rating fill — Lowe's distinguishing consumer-warmth signal
- **Clearance Orange** (`#f26522`): "Hot Buy" tag fill on featured clearance items — same hex, rare deployment

### Accent — Tag System
- **Clearance Tag** (`#cc0000`): "Clearance", "Special Value", "Price Drop" — same red as the CTA
- **Pro Tag** (`#012169`): "Pro Program", "MyLowe's Pro Rewards" — same navy as the brand
- **Free Shipping** (`#007a3d`): inline "FREE delivery" green text — confident, no fill
- **In Stock** (`#007a3d`): availability status green
- **Out of Stock** (`#7a7a7a`): grey "Out of stock" tag

### Interactive
- **Link** (`#0046be`): default inline link — slightly brighter than chrome navy for body legibility
- **Link Hover** (`#012169`): deeper navy hover
- **Visited** (`#5e2a8c`): purple visited state
- **Disabled** (`#9a9a9a`): disabled text and outline
- **Selected** (`#012169`): selected radio / checkbox / tab fill

### Neutral Scale
- **Ink** (`#1a1a1a`) — primary text
- **Heading** (`#000000`) — hero display copy
- **Muted** (`#5b5b5b`) — secondary metadata
- **Soft** (`#7a7a7a`) — caption text
- **Disabled** (`#9a9a9a`) — disabled state text
- **Border** (`#d0d0d0`) — default 1px hairline
- **Border Soft** (`#e0e0e0`) — editorial dividers
- **Border Strong** (`#9a9a9a`) — focus state hairline on inputs

### Surface & Borders
- **Canvas** (`#ffffff`) — default
- **Soft** (`#f5f5f5`) — disabled fields, alternate row, page floor
- **Strong** (`#eaeaea`) — divider band between major sections
- **Blue Soft Surface** (`#e6ecf5`) — informational banner surface, soft navy tint
- **Red Soft Surface** (`#fdeaea`) — clearance-band soft surface

### Shadow Colors
Lowe's stays mostly flat. Hover-card shadow is single-layer neutral grey at 8% — same intensity as Costco, Walmart, and Home Depot.

- `rgba(0,0,0,0.08) 0 2px 8px` — hover-card lift
- `rgba(0,0,0,0.16) 0 8px 24px` — modal drop

### Semantic
- **Success Green** (`#007a3d`): "In Stock", "Order Placed", "FREE delivery"
- **Warning Amber** (`#cc6600`): advisory banners
- **Danger Red** (`#cc0000`): validation errors — same hex as clearance red (accepted because errors are rare and accompanied by error copy)
- **Info Navy** (`#012169`): informational banners — same as brand navy

## 3. Typography Rules

### Font Family

**Primary**: `Helvetica Neue`. Fallback chain: `Helvetica, Arial, sans-serif`. Lowe's uses no custom typeface — Helvetica Neue is the entire system. Inter is the closest open-source substitute.

**Mono**: not part of the storefront brand system.

**OpenType features**: `tnum` is enabled on prices, savings callouts, ratings, and shipping countdowns. No `ss01` discipline.

### Hierarchy

| Role | Font | Size | Weight | Line Height | Letter Spacing | OT Features | Notes |
|------|------|------|--------|-------------|----------------|-------------|-------|
| hero-banner | Helvetica Neue | 48 | 900 | 1.0 | -1px | uppercase | "SPRING SAVINGS EVENT" promo banner |
| page-title | Helvetica Neue | 32 | 700 | 1.1 | -0.5px | — | Category page H1 |
| section-head | Helvetica Neue | 24 | 700 | 1.2 | 0 | — | "Trending Now", "Shop by Project" |
| sub-section | Helvetica Neue | 18 | 700 | 1.25 | 0 | — | Sub-section heads on PDP |
| product-title | Helvetica Neue | 16 | 500 | 1.4 | 0 | — | PDP main product title — medium weight (Lowe's residential middle: warmer than Costco's 700, more confident than Home Depot's 400) |
| product-title-md | Helvetica Neue | 14 | 500 | 1.43 | 0 | — | Grid product card titles — medium weight |
| body-md | Helvetica Neue | 14 | 400 | 1.5 | 0 | — | Default body — looser line height than Costco for residential readability |
| body-sm | Helvetica Neue | 13 | 400 | 1.4 | 0 | — | Secondary metadata |
| caption | Helvetica Neue | 12 | 400 | 1.33 | 0 | — | Footer micro-text |
| micro | Helvetica Neue | 11 | 400 | 1.27 | 0 | — | Footer legal |
| price-display | Helvetica Neue | 32 | 700 | 1.0 | -0.25px | tnum | PDP main price ("$1,299.00") |
| price-product | Helvetica Neue | 22 | 700 | 1.0 | 0 | tnum | Grid tile current price |
| price-strikethru | Helvetica Neue | 14 | 400 | 1.0 | 0 | tnum | Original price strikethrough |
| price-savings | Helvetica Neue | 18 | 700 | 1.1 | 0 | tnum | "$50 OFF" savings callout — moderate weight (Lowe's keeps savings text quieter than Costco's 24/900 warehouse-yellow band) |
| button-cta | Helvetica Neue | 14 | 700 | 1.0 | 0.02em | uppercase | Primary CTA label — uppercase tracking |
| nav-link | Helvetica Neue | 14 | 500 | 1.0 | 0 | — | Masthead category labels — medium weight (lighter than Costco's 700) |
| badge | Helvetica Neue | 11 | 700 | 1.0 | 0.04em | uppercase | "CLEARANCE", "SPECIAL VALUE" |
| pro-tag | Helvetica Neue | 12 | 700 | 1.0 | 0.02em | uppercase | "PRO", "MYLOWE'S PRO REWARDS" |

### Principles

- **Helvetica Neue, full stop.** No custom typeface, no display family. The fallback chain is the system.
- **Product titles at 500 (medium).** The residential middle — Costco bolds them (700) for warehouse confidence; Home Depot leaves them at 400 for catalogue density; Lowe's sits between for homeowner-browsable warmth.
- **Body line-height 1.5.** Looser than Costco's 1.43 — Lowe's prioritises residential readability over warehouse density.
- **Button CTAs uppercase with 0.02em tracking.** Lowe's uses uppercase labels on red CTAs to mirror big-box-retail signage typography.
- **Savings callouts at 18/700.** Quieter than Costco's 24/900 warehouse-yellow band — Lowe's prefers inline red over loud yellow bands.
- **Tabular numerals on every price.** `tnum` everywhere money lives.
- **Body at 14/400.** Smaller than typical SaaS (16/400) — Lowe's prioritises information density.
- **No italic, no oblique.** Helvetica Neue oblique exists but never appears on the storefront.

## 4. Component Stylings

### Buttons

**`button-cta`** — the canonical Add to Cart. Solid clearance red (`#cc0000`) fill, white text in 14/700 uppercase with 0.02em tracking, **4px radius** (not pill), 12×20px padding, 44px height. Hover deepens to `#a30000`. Active to `#7a0000`. The square-ish corners are the brand's deliberate utilitarian signal.

**`button-secondary`** — white fill, 2px navy (`#012169`) outline, navy text in 14/700 uppercase. Same 4px radius and 44px height. Used on "Save for Later", "Add to List", "Continue Shopping".

**`button-tertiary-text`** — plain link-blue (`#0046be`) text, no surface. Underlined on hover. Used for "Show more", "View all", in-card secondary actions.

**`button-pro`** — full-width navy fill (`#012169`) with white "JOIN MYLOWE'S PRO" text in 14/700 uppercase. Appears in the contractor-program rail and in the masthead utility strip. Same 4px radius as primary CTA.

### Cards

**`product-card`** — listing tile. White surface, 6px radius, 12px padding, 1px `#d0d0d0` hairline border (Lowe's, like Costco, uses borders where Amazon and Target omit them — the warehouse-grid feel). Stack: 1:1 thumbnail with `object-fit: contain` on white (or `cover` for lifestyle context shots on featured tiles), optional Clearance or Special Value red tag floating top-left, brand line ("Kobalt", "allen + roth") in 12/500 muted, product title in 14/500 ink (medium weight — the residential middle), star row (orange-amber filled) + review count in link-blue, current price in 22/700 with `tnum`, optional strikethrough original price, optional inline red price-drop callout ("$50 OFF" in 14/700 white on red), green "FREE delivery" inline text where applicable, Add to Cart red square button at the bottom.

**`pdp-buy-box`** — sticky right-rail card on PDP. White, 6px radius, 1px `#d0d0d0` border, hover-card shadow, 24px padding. Stack: large `price-display` (32/700) with optional strikethrough, inline red "$50 OFF" callout, "FREE delivery by [date]" green inline, ZIP-code change link, store-pickup option with store name, quantity stepper, full-width red Add to Cart, navy outline "Add to List" secondary, "Add to Pro Cart" navy CTA if Pro program is active, "Ships from Lowe's" small print.

**`hero-banner`** — full-width Lowe's navy (`#012169`) ground, no rounded corners, 32×40px padding. Display headline in 48/900 uppercase white. Sub-copy in 18/400 white. White-with-navy-text CTA at the bottom. Often paired with a lifestyle-context image (a homeowner painting a wall, a finished deck, a garden refresh) on the right half — the residential warmth signal that distinguishes from Costco's product-on-white heroes.

**`project-card`** — featured "Shop by Project" tile. Larger 320×240 lifestyle image at top with no padding (`object-fit: cover`), then a 16px-padded text block beneath: project name in 18/700 ("Refresh Your Bathroom"), 14/400 muted sub-copy, link-blue "Start your project →" tertiary link. The most lifestyle-coded card type in the system.

**`pro-rewards-card`** — navy (`#012169`) ground card, white text. Title "MYLOWE'S PRO REWARDS" in 18/700 uppercase, value-prop body in 14/400 white, white "JOIN NOW" outline secondary at the bottom. The parallel contractor program in card form — kept visually distinct from the consumer flow.

### Badges, Tags, Pills

**`clearance-tag`** — solid clearance red (`#cc0000`) box, white uppercase "CLEARANCE" or "SPECIAL VALUE" text in 11/700 with 0.04em tracking, 2px radius, 4×8px padding. The most distinctive seller-meta moment on Lowe's — anchors top-left of qualifying tiles.

**`pro-tag`** — solid navy (`#012169`) box, white uppercase "PRO" or "MYLOWE'S PRO REWARDS" text. Same shape as clearance tag. Signals contractor-program eligibility.

**`hot-buy-tag`** — solid orange-amber (`#f26522`) box, white uppercase "HOT BUY" text. The only place orange appears as a fill colour — used sparingly on featured clearance items.

**`new-tag`** — solid navy (`#012169`) box, white uppercase "NEW" text. Same shape as Pro tag.

**`free-shipping-text`** — inline green (`#007a3d`) text, no fill, no box. "FREE delivery" or "FREE delivery by Thu". Confident green ink — Lowe's prefers inline coloured text over green fill boxes for shipping callouts.

**`price-drop-callout`** — solid red (`#cc0000`) fill, white text in 14/700 ("$50 OFF"), 4px radius, 6×10px padding. Anchored inline beside the `price-display` on PDP, or in the product-card price row.

**`out-of-stock-tag`** — grey (`#7a7a7a`) fill, white "OUT OF STOCK" text, 2px radius.

### Inputs / Forms

**`text-input`** — white surface, 1px `#9a9a9a` hairline (darker than typical for the big-box-utility feel), 4px radius, 40px height, 10×14px padding. Stacked label above in `caption` muted. On focus the border thickens to 2px navy.

**`search-bar`** — masthead search. White fill, 4px radius, 40px height, 1px `#d0d0d0` hairline. Right edge terminates with a 60×40 Lowe's navy (`#012169`) `search-button` carrying a white magnifier icon. Square-ish corners — Lowe's resists the pill discipline that consumer brands adopt.

**`select`** — same look as `text-input` with a chevron indicator.

**`zip-input`** — masthead utility input for store-pickup location. 60px width, 30px height, slim 4px radius, navy underline on focus.

### Navigation

**`masthead`** — full-width white bar with a 1px hairline bottom and a thin navy (`#012169`) top accent strip, 96px height (taller than Costco's 88 to accommodate the project-help link row). Lowe's wordmark flush left in navy ("Lowe's" in italic-cursive script). Search bar centred. Account / Lists / Cart utilities flush right in `nav-link` (14/500) ink with link-blue on hover.

**`sub-nav`** — slim 40px band beneath the masthead, white fill, 1px hairline bottom. Holds department links: "Departments", "Bath", "Bathroom", "Kitchen", "Lighting", "Outdoor", "Tools", "Paint", "Pro". 14/500 ink labels with `:hover` flipping to navy.

**`mega-menu-flyout`** — opens from category dropdown; white surface, 6px radius, 1px hairline, hover-card shadow. Multi-column nav of category trees with 14/400 ink labels and a featured lifestyle image on the right (the residential-warmth signal again).

**`breadcrumb`** — `text-muted` (`#5b5b5b`) with `>` separators, 13/400.

### Star Rating

**`star-rating`** — 5-icon row, fill `#f26522` (orange-amber) for filled, `#d0d0d0` for empty. Half-stars rendered with clipped half-fill. Followed by a link-blue review count: "(2,847)". The orange-amber fill is the deliberate distance from Home Depot's saturated industrial orange identity.

### Modals & Toasts

**`modal`** — centred dialog over a 50%-opacity ink scrim. White surface, 6px radius (matching cards), 1px hairline border, modal shadow. Close X anchored top-right.

**`toast`** — bottom-centre notifications. White fill, 4px radius, 1px hairline, ink text, 16×24px padding. "Added to Cart" success toast uses a green check icon (`#007a3d`).

## 5. Layout Principles

### Spacing System

- Base unit: **4px**
- Scale: `2 · 4 · 8 · 12 · 16 · 20 · 24 · 32 · 40 · 48 · 64 · 80`
- Section padding (vertical): **48–64px** between major bands — slightly more breath than Costco (40–64px) and Home Depot (40–56px), the residential-friendly register
- Card internal padding: **12px** for product tiles; **24px** for PDP buy box; **32–40px** for hero banner
- Gutters: **16px** between product tiles in grid view; **48–64px** between major page bands; **8px** between adjacent CTAs

### Grid & Container

- Max content width: **1280px** centred
- Homepage: 4-column tile grid at desktop with category navigation rail on the left and a featured lifestyle hero band at the top
- Search results: **4–5 column** product grid at desktop with 16px gutters
- PDP: 2-column with image gallery left (~52%), buy box right (~36%)
- Footer: **5-column** project-help / customer-service / Pro / company / connect link grid

### Whitespace Philosophy

Lowe's gives major sections moderate-to-generous breath (48–64px vertical) — a touch more than Costco's 40–64px and notably more than Home Depot's 40–56px. The product grids stay compressed (tiles run 4–5 across with 16px gutters and 1px borders) but hero bands and editorial sections enjoy the extra breath. The footer is dense like its peers, with five columns of customer-service and project-help links because Lowe's assumes homeowners come looking for specific project answers (project guides, store hours, return policy, Pro program info).

### Section Cadence

Lowe's alternates between **white bands** (default body), **soft-blue tint bands** (`#e6ecf5` informational/featured sections), and **navy or clearance-red full-width promo bands** (hero promos, big seasonal sales). The navy band uses Lowe's navy ground with white display copy; the red band uses clearance red with white display copy. Yellow is never used as a band ground (that's Costco's lane).

## 6. Shapes & Radius Scale

| Tier | Value | Use |
|------|-------|-----|
| Micro | 2px | Clearance, Pro, Hot Buy tags |
| Small | 4px | CTAs, search bar, form inputs, price-drop callouts |
| Card | 6px | Product tiles, modals, mega-menu flyouts |
| Soft | 8px | Larger feature cards (rare) |
| Pill | 9999px | Used sparingly — only on filter chips and the Pro-program toggle |

Lowe's defining shape choice, shared with its big-box peers, is **the absence of pill CTAs in the primary purchase flow**. Where consumer-tech brands (Airbnb, Stripe, Notion) use 9999px pills, Lowe's stays at 4px square-ish corners. The brand position: rounded pills read as fashion consumer-tech; square CTAs read as utilitarian retail. The square-corner discipline is shared with Home Depot, Costco, and Walmart — what distinguishes Lowe's is the warmer chromatic register (navy + clearance red + orange-amber) inside those shared shape conventions.

There are no compound radii in mainline UI.

## 7. Depth & Elevation

| Level | Treatment | Use |
|-------|-----------|-----|
| 0 — Flat | no shadow | Body, masthead, footer, all editorial bands (~95% of surfaces) |
| 1 — Hover Card | `rgba(0,0,0,0.08) 0 2px 8px` | Product tiles on hover, dropdowns, mega-menu |
| 2 — Modal | `rgba(0,0,0,0.16) 0 8px 24px` | Centred dialogs |
| 3 — Scrim | `rgba(0,0,0,0.5)` | Modal backdrop |

### Shadow Philosophy

Lowe's stays mostly flat. Depth comes from **the navy chrome** and **the 1px hairline borders on product tiles** — the borders are shared with Costco and reinforce the big-box-retail grid utility aesthetic. Hover-card shadow is single-layer neutral grey. No atmospheric multi-layer shadows; no coloured glows; no glassmorphism. The brand position: home-improvement retail should feel solid and trustworthy, not floating-and-fashionable.

## 8. Interaction & Motion

### Easing
- **Standard**: `cubic-bezier(0.4, 0, 0.2, 1)` — default for hover, focus
- **Emphasized**: `cubic-bezier(0.2, 0, 0, 1)` — modal entry

### Durations
| Bucket | Value | Use |
|--------|-------|-----|
| Fast | 150ms | Hover colour swap, focus ring fade-in |
| Standard | 240ms | Card hover lift + border thicken, modal enter |
| Slow | 320ms | Hero carousel slide, page transitions |

### Per-Component Recipes

- **CTA hover**: background transitions from `#cc0000` to `#a30000` over 150ms.
- **CTA press**: deepens to `#7a0000` for 150ms on `:active`.
- **Product card hover**: shadow appears (`rgba(0,0,0,0.08) 0 2px 8px`) and the 1px `#d0d0d0` border thickens to `#9a9a9a` over 240ms. No transform — Lowe's resists the lift gimmick.
- **Search-bar focus**: 2px navy ring fades in over 200ms.
- **Mega-menu flyout**: 240ms ease-out fade + 4px slide-down.
- **Modal enter**: scrim fades in over 200ms, dialog opacity 0 → 1 over 240ms emphasized.
- **Add to Cart success**: red CTA briefly flashes to deeper `#7a0000` and a checkmark icon fades in over 240ms before the toast appears.

### Page Transitions

Page-to-page navigation uses no transition.

### Reduced Motion

Respects `prefers-reduced-motion: reduce`. Hover transitions degrade to opacity-only; the Add to Cart flash skips the colour pulse.

## 9. Accessibility & A11y

### Contrast Pairs

| Pair | Ratio | Level |
|------|-------|-------|
| #1a1a1a ink on #ffffff canvas | 16.1 | AAA |
| #ffffff on #cc0000 CTA | 5.9 | AA body / AAA large |
| #ffffff on #012169 masthead | 13.2 | AAA |
| #0046be link on #ffffff | 8.4 | AAA |
| #5b5b5b muted on #ffffff | 7.2 | AAA |
| #007a3d green shipping on #ffffff | 4.7 | AA |
| #ffffff on #a30000 CTA hover | 7.5 | AAA |
| #ffffff on #001447 masthead deep | 15.9 | AAA |

The white-on-navy pair (`#ffffff` on `#012169`) hits **13.2 contrast** — well into AAA — and is the brand's most distinctive perceptual moment: the deep navy chrome reads with the same trustworthy weight as a postwar bank or institutional letterhead. The deliberate softening of body ink to `#1a1a1a` (rather than pure `#000000`) is the residential register — slightly warmer reading without sacrificing AAA contrast on white.

### Focus Indicators

Focus ring is **2px solid `#012169`** (Lowe's navy) with 2px outline-offset.

### ARIA Patterns

- **Search bar**: `role="search"`. Input has `aria-label="Search Lowes.com"`.
- **Product card**: entire tile wrapped in `<a>` with verbose `aria-label` including brand, product title, price, and rating count.
- **Star rating**: text-equivalent (`aria-label="4.6 out of 5 stars based on 2,847 reviews"`).
- **Clearance tag**: `aria-label="Clearance item — limited availability"`.
- **Pro tag**: `aria-label="Eligible for MyLowe's Pro Rewards program"`.
- **ZIP input**: `aria-label="Enter ZIP code to check local store availability"`.
- **Mega-menu flyout**: `role="menu"` with `role="menuitem"`; arrow keys navigate, Escape closes.

### Keyboard Navigation

- Masthead: Tab moves logo → ZIP input → search → account → lists → cart
- Search results: Tab through tiles in document order
- PDP: Tab through gallery → variant selector → quantity → Add to Cart → Add to List

### Screen Reader Hints

Verbose `aria-label` on icon-only buttons. The cart icon has `aria-label="Cart, 3 items, $241.97 subtotal"`. Pro tags include the program-eligibility explanation. Clearance tags include the limited-availability warning.

### Reduced Motion

All transitions degrade to opacity-only.

## 10. Responsive Behavior

### Breakpoints

| Name | Width | Key Changes |
|------|-------|-------------|
| Mobile | <600px | Masthead collapses to logo + cart + hamburger; search bar moves to its own row; product grid 2-up; project cards stack |
| Tablet | 600–1024px | Full masthead; product grid 3-up; sub-nav hides into hamburger |
| Desktop | 1024–1280px | Sub-nav with department links; product grid 4-up |
| Wide | 1280–1536px | Content caps at 1280px; product grid 5-up; lifestyle hero spans full width |

### Touch Targets

- Primary CTAs: 44px height — meets AA (slightly below the 48px AAA threshold)
- Search bar: 40×40px — borderline AA, compensated by 8px padding around the magnifier
- Product tile: entire 240×360px tile is tappable
- ZIP input: 60×30px — small but acceptable as it's secondary masthead utility

### Collapsing Strategy

- Masthead: utilities (account, lists) hide first into a hamburger; ZIP input collapses to a "Change Store" link at <1024px
- Search bar: jumps from inline to its own row at <1024px
- Product grid: 5 → 4 → 3 → 2; 16px gutters compress to 12px → 8px
- PDP: 2-column splits to single-column stack at <1024px; buy box becomes a sticky bottom bar on mobile
- Project cards: 4-up grid → 2-up → 1-up; lifestyle imagery preserved at every breakpoint (the residential signal stays intact)

### Image Behavior

Product thumbnails use `aspect-ratio: 1/1` with `object-fit: contain` for white-seamless grid tiles. Lifestyle context shots on hero bands and project cards use `object-fit: cover` with 16:9 or 4:3 aspect ratios — the warmer residential register.

### Container Queries

Not formally used.

## 11. Content & Voice

### Tone

Warm, project-focused, homeowner-first. Lowe's voice is "the friendlier hardware store clerk who walks you through your weekend project." Headlines lead with project framing ("Refresh Your Bathroom", "Plan Your Spring Garden", "Find Your Perfect Paint") rather than contractor-spec framing or pure price-and-deal copy. Where Home Depot leads with "How Doers Get More Done" and Costco leads with "Member Only Savings", Lowe's leads with "Make Your Home, Yours" and "We Help. You Save." — the residential-friendly register is the brand's distinguishing voice.

### Microcopy Patterns

- **Button verbs**: "Add to Cart", "Sign In", "Find a Store", "Start Your Project" — direct, project-oriented, outcome-named
- **Error message recipe**: `[What went wrong] + [How to fix]` — direct, friendly
- **Success confirmations**: "Added to Cart", "Order Placed", "We'll have your order ready"
- **Field labels**: short and direct — "ZIP Code", "Email", "Phone"
- **Stock urgency**: "Only 3 left at your store" (location-aware), "While supplies last"
- **Shipping**: "FREE delivery by Thu, May 30" (green inline, date-specific where possible)

### Empty States

Empty cart: "Your cart is empty. Start your project with these popular items." — friendly, project-framed.

Empty list: "Your list is empty. Save items as you shop so you can find them later."

Empty search: "No results for [query]. Try different keywords or browse by department."

### CTA Verb Conventions

- Primary: **"Add to Cart"** (default), **"Sign In"**, **"Find a Store"**
- Project: **"Start Your Project"**, **"Get Inspired"**, **"View Project Guide"**
- Pro: **"Join MyLowe's Pro Rewards"**, **"Pro Cart"**
- Save: **"Add to List"** (Lowe's uses "List" rather than wishlist)
- Avoided: "Buy Now", "Submit", "Click here"

## 12. Dark Mode & Theming

**Light-only on the public web.** Lowes.com is light-only. The Lowe's mobile app is also light-themed. The brand position: navy chrome and clearance-red CTA work best on white, and the residential warmth of lifestyle photography depends on the bright white surface for chromatic accuracy. No system-controlled dark mode at the time of writing.

## 13. Lineage & Influences

Lowe's visual lineage is best understood as **the residential counterweight to Home Depot's contractor-industrial codebase**. The signature navy (`#012169`) dates back decades and has remained essentially unchanged — a deliberate signal of trust, neighborhood-hardware-store warmth, and a softer register than the saturated industrial orange that Home Depot codes the entire identity around. Where Home Depot leans into orange-on-grey forklift aesthetics, Lowe's leans into navy-on-white residential trust — same big-box retail mechanics, different temperature.

The web design inherits from the same warehouse-retail signage tradition as Costco, Walmart, and Home Depot: dense product grids, white-seamless product photography on tiles, big rectangular CTAs at 4px square-ish corners, clearance red price callouts, no fashion-pill rounding. But Lowe's tunes every dial warmer: looser body line height (1.5 vs Costco's 1.43), medium-weight product titles (500 vs Costco's 700 and Home Depot's 400), lifestyle-context photography on hero bands and project cards (where Costco uses product-on-white throughout), and orange-amber star ratings (not the saturated industrial orange Home Depot uses everywhere). The Pro program (MyLowe's Pro Rewards) is visually parallel — navy-tagged, navy-CTA'd — kept distinct from the consumer flow without taking over the identity.

What Lowe's rejects: Home Depot's saturated industrial-orange identity (Lowe's keeps orange to a thin sliver — star ratings and Hot Buy tags); custom typefaces (Helvetica Neue carries everything); pill CTAs (square-ish 4px corners throughout); decorative gradients; dark mode; and any animation that delays the click. The brand position is **friendly utility**: Lowe's UI looks utilitarian-but-warm to designers because Lowe's optimises for homeowner retention and project conversion — and the residential-blue register is the category-defining signal that this is the friendlier hardware store, not the contractor-spec warehouse.

**Influences:**
- The Home Depot — peer competitor, the orange/industrial counterweight Lowe's defines itself against, [homedepot.com](https://www.homedepot.com)
- Ace Hardware — community-hardware sibling, [acehardware.com](https://www.acehardware.com)
- Menards — midwest big-box peer, [menards.com](https://www.menards.com)
- True Value — neighborhood-hardware tradition, [truevalue.com](https://www.truevalue.com)
- Sears Roebuck catalog — 20th-century mail-order home-goods tradition, [searsarchives.com](https://www.searsarchives.com)
- IKEA — residential-lifestyle merchandising and project-framed copy, [ikea.com](https://www.ikea.com)
- Helvetica Neue — typographic-neutrality lineage, [fonts.adobe.com](https://fonts.adobe.com/fonts/helvetica-neue)

## 14. Do's and Don'ts

**Do**
- Anchor the masthead in Lowe's navy (`#012169`) with the iconic italic-script wordmark
- Use clearance red (`#cc0000`) for primary CTA fills with white uppercase 14/700 labels
- Use 4–6px square-ish corners on every interactive surface — no pills in the primary purchase flow
- Render star ratings in orange-amber (`#f26522`) — Lowe's distinctive consumer-warmth signal
- Use Helvetica Neue at confident weights — no custom typeface
- Keep product card titles at 500 (medium) — the residential middle between Costco's 700 and Home Depot's 400
- Render Pro tags in navy boxes — keep the contractor program visually parallel, not dominant
- Use lifestyle-context photography on hero bands and project cards (residential warmth)
- Use bordered product cards (`1px #d0d0d0`) — the big-box-grid feel
- Lead headlines with project framing ("Refresh Your Bathroom", "Start Your Project") rather than pure deal copy
- Use inline green "FREE delivery" text — confident green ink, no fill box
- Keep section padding 48–64px — a touch more breath than the warehouse-club category

**Don't**
- Don't use pill CTAs in the primary purchase flow — Lowe's resists consumer-tech rounding
- Don't introduce a custom typeface — Helvetica Neue is the system
- Don't use saturated industrial orange across the chrome — that's Home Depot's identity, and the deliberate distance from it is Lowe's positioning
- Don't use multi-layer atmospheric shadows — Lowe's stays single-layer flat
- Don't use exclamation marks in body copy — the voice is friendly but direct, not playful
- Don't use warehouse-yellow savings bands — that's Costco's lane; Lowe's uses inline clearance-red callouts
- Don't bold product card titles to 700 — that's Costco's warehouse-confidence; Lowe's stays at 500
- Don't drop product card titles to 400 — that's Home Depot's catalogue density; Lowe's stays at 500
- Don't say "Buy Now" — Lowe's prefers "Add to Cart" → checkout
- Don't replace lifestyle hero photography with product-on-white — the residential warmth signal depends on context shots
- Don't let the Pro program take over the visual identity — it stays parallel, navy-coded, never dominant
- Don't tighten body line height below 1.5 — the residential readability register depends on the looser leading

## 15. Agent Prompt Guide

### Quick Color Reference

```
Canvas:           #ffffff
Page Floor:       #f5f5f5
Ink:              #1a1a1a
Lowe's Navy:      #012169
Brand Deep:       #001447
Clearance Red:    #cc0000
Red Deep:         #a30000
Rating Orange:    #f26522
Link Blue:        #0046be
Shipping Green:   #007a3d
Border:           #d0d0d0
Muted:            #5b5b5b
```

### Example Component Prompts

- "Create a Lowe's-style Add to Cart button: 44px-tall rectangle (4px radius) with clearance red (`#cc0000`) fill, white text in Helvetica Neue 14/700 uppercase with 0.02em tracking, 12×20px padding. Hover deepens to `#a30000`. No pill — square-ish corners are the brand."
- "Build a Lowe's masthead: full-width white bar with a thin Lowe's-navy (`#012169`) top accent strip and a 1px `#d0d0d0` bottom hairline, 96px tall. Lowe's italic-script wordmark in navy flush left. ZIP input + search bar centred (search bar ~600px wide, 40px tall, 4px radius, white fill, 1px `#d0d0d0` hairline, terminating in a 60×40 navy search button with a white magnifier icon). Account / Lists / Cart utilities flush right in 14/500 ink with link-blue hover."
- "Design a Lowe's product card: white surface, 6px radius, 12px padding, 1px `#d0d0d0` hairline border. Stack: 1:1 white-seamless thumbnail with `object-fit: contain`, optional clearance red box top-left ('CLEARANCE' in 11/700 uppercase white), brand line ('Kobalt') in 12/500 muted, product title in 14/500 ink (medium weight — not Costco's 700, not Home Depot's 400), 5-star row in orange-amber (`#f26522`) + review count in link-blue (`#0046be`), current price in 22/700 with `tnum`, optional strikethrough original price, optional inline red '$50 OFF' callout, green 'FREE delivery' inline text, red Add to Cart at the bottom."
- "Build a clearance tag: solid clearance red (`#cc0000`) box, white uppercase 'CLEARANCE' or 'SPECIAL VALUE' text in Helvetica Neue 11/700 with 0.04em tracking, 2px radius, 4×8px padding. Anchored top-left of qualifying product cards."
- "Create a Pro program card: navy (`#012169`) ground card, 6px radius, 24px padding. Title 'MYLOWE'S PRO REWARDS' in 18/700 uppercase white, value-prop body in 14/400 white, white outline 'JOIN NOW' secondary at the bottom — 14/700 uppercase white text, 2px white border, transparent fill, 4px radius. Keep distinct from consumer Add-to-Cart red — Pro is navy."
- "Design a project card: 320×240 lifestyle image at top with `object-fit: cover` (a homeowner painting a wall or a finished deck), then a 16px-padded text block beneath. Project name in Helvetica Neue 18/700 ('Refresh Your Bathroom'), 14/400 muted sub-copy, link-blue (`#0046be`) 'Start your project →' tertiary link. White surface, 6px radius, 1px `#d0d0d0` border. The residential-warmth signal."
- "Design a Lowe's hero banner: full-width Lowe's navy (`#012169`) ground, no rounded corners, 32×40px padding. Display headline in Helvetica Neue 48/900 uppercase white ('SPRING SAVINGS EVENT'). Sub-copy in 18/400 white. White-with-navy-text CTA at the bottom — square 4px corners, 14/700 uppercase 'SHOP THE EVENT'. Pair with a lifestyle context image on the right half (a finished garden, a refreshed kitchen) — the residential warmth that distinguishes from Costco's product-on-white heroes."

### Iteration Guide

1. **Navy over orange.** If your chrome is orange, you've drifted into Home Depot territory. Lowe's chrome is Lowe's navy `#012169`, and the deliberate distance from Home Depot's industrial-orange identity is the brand's positioning.
2. **Square corners, not pills.** If your CTA has 9999px radius, you've drifted into consumer-tech territory. Lowe's is 4px square-ish, like every big-box retail peer.
3. **Two-and-a-half voltage palette.** Navy chrome + clearance red CTA + sparing orange-amber for ratings. Yellow is Costco's lane; saturated industrial orange is Home Depot's.
4. **Product titles at 500.** Not Costco's 700, not Home Depot's 400 — the residential middle. The merchandise reads as browsable, not as warehouse-confident or catalogue-dense.
5. **Helvetica Neue, no flourish.** No custom font. No display family. Body at 14/400 with 1.5 line height for residential readability.
6. **Bordered cards.** 1px `#d0d0d0` on every product tile — the big-box-grid feel, shared with Costco. Borderless tiles read as Amazon or Target.
7. **Star ratings in orange-amber.** `#f26522` on grey. Yellow reads as Costco; bright industrial orange reads as Home Depot. Orange-amber is Lowe's.
8. **Lifestyle photography on hero bands and project cards.** Product-on-white is fine on grid tiles, but hero bands and project cards need context shots (a homeowner painting, a finished deck, a garden refresh) — the residential warmth signal is what makes Lowe's not-Costco.
Prose

1. Visual Theme & Atmosphere

Lowe’s storefront is the residential-DIY counterweight to Home Depot’s contractor-industrial codebase — utilitarian and dense like the warehouse-retail category demands, but tuned a register warmer with lifestyle photography, friendlier voice, and the signature Lowe’s navy (#012169) chrome instead of Home Depot’s saturated orange. The base canvas is white (#ffffff) with a soft grey (#f5f5f5) page floor, anchored on the deep navy masthead and accented by clearance red (#cc0000) — the colour every primary CTA wears and the colour every price-drop callout uses to mirror in-store sale tags.

Type runs Helvetica Neue at no-flourish modest weights — page titles 32px / 700, body 14px / 400 with a slightly looser 1.5 line height, button labels 14px / 700 uppercase with 0.02em tracking. There is no custom typeface, no display family, no expressive flourishes. The choice mirrors Costco, Walmart, and Home Depot’s own utilitarian discipline — but Lowe’s leans a touch warmer by keeping product titles at 500 weight (Costco bolds them to 700, Home Depot keeps them at 400), an intentionally residential register that reads as “browsing for your home” rather than “scanning a contractor catalogue”.

The chromatic identity is a deliberately two-and-a-half voltage system: Lowe’s navy for chrome, wordmark, and brand trust; clearance red for primary CTA and price-drop urgency; and a quiet orange-amber (#f26522) used only for star ratings and the occasional “Hot Buy” tag — the closest Lowe’s gets to a third colour, and a deliberate signal of distance from Home Depot’s saturated orange. The rest of the page is white, ink, and grey. The colour pairings consciously avoid Home Depot’s full-orange identity: where Home Depot codes orange across chrome, CTA, and accent, Lowe’s keeps orange to a thin sliver of the surface area.

Shape language is intentionally square-ish. CTAs sit at 4px radius (not pill); cards round at 6px; the search bar is a 4px-radius rectangle with a navy search button on the right edge. There are no pill CTAs anywhere in the storefront — Lowe’s, like its big-box peers, resists the fashionable rounding that consumer brands lean into. The square-corner discipline reads as utilitarian, retail-warehouse-coded, and respectful of the home-improvement category’s signage tradition. Shadows are minimal; most surfaces are flat with a single hover-card lift on tiles.

The page reads as the friendlier hardware store, online. Bold navy chrome, clearance-red price callouts, dense product grids with lifestyle-context thumbnails on hero bands and white-seamless product shots on grid tiles, and a footer crowded with project-help links — every element echoes a physical Lowe’s store’s residential-friendly merchandising logic. The result is a big-box retail site that reads warmer than Home Depot, more curated than Walmart, and more residential than Costco.

Key Characteristics:

  • Two-and-a-half voltage palette: Lowe’s navy (#012169) chrome + clearance red (#cc0000) CTA + sparing orange-amber (#f26522) for ratings
  • Helvetica Neue at confident weights — no custom typeface, body 14/400 at 1.5 line height (warmer than Costco’s 1.43)
  • Square-ish 4–6px corners — no pill CTAs in the primary purchase flow
  • Clearance-red CTA at 4px radius, 12×20px padding, 44px height, uppercase white label
  • Star ratings render in orange-amber on grey — deliberately distinct from Home Depot’s saturated orange identity
  • Pro program tag uses navy boxes — parallel contractor track without taking over the visual identity
  • Product titles at 500 weight (not 400 like Home Depot, not 700 like Costco) — a residential-friendly middle
  • Generous footer with project-help, MyLowe’s, and Pro links — homeowner-first organisation

2. Color Palette & Roles

Primary

  • Canvas (#ffffff): default page floor, every product tile, every form surface
  • Page Floor (#f5f5f5): alternate band ground
  • Ink (#1a1a1a): primary text colour — slightly warmer than pure black for the residential register
  • Heading Ink (#000000): used on hero display copy where Lowe’s wants maximum punch

Brand & Dark

  • Lowe’s Navy (#012169): the masthead, primary brand chrome, secondary CTA outline, Pro tag fill
  • Brand Deep (#001447): hover state on chrome and footer ground
  • Brand Active (#000d33): pressed state, deepest editorial accent

Clearance Red

  • Clearance Red (#cc0000): the primary CTA fill and price-drop callout — the brand’s loudest moment
  • Red Deep (#a30000): hover state on red CTAs
  • Red Active (#7a0000): pressed state

Accent — Orange-Amber (used sparingly)

  • Rating Orange (#f26522): star rating fill — Lowe’s distinguishing consumer-warmth signal
  • Clearance Orange (#f26522): “Hot Buy” tag fill on featured clearance items — same hex, rare deployment

Accent — Tag System

  • Clearance Tag (#cc0000): “Clearance”, “Special Value”, “Price Drop” — same red as the CTA
  • Pro Tag (#012169): “Pro Program”, “MyLowe’s Pro Rewards” — same navy as the brand
  • Free Shipping (#007a3d): inline “FREE delivery” green text — confident, no fill
  • In Stock (#007a3d): availability status green
  • Out of Stock (#7a7a7a): grey “Out of stock” tag

Interactive

  • Link (#0046be): default inline link — slightly brighter than chrome navy for body legibility
  • Link Hover (#012169): deeper navy hover
  • Visited (#5e2a8c): purple visited state
  • Disabled (#9a9a9a): disabled text and outline
  • Selected (#012169): selected radio / checkbox / tab fill

Neutral Scale

  • Ink (#1a1a1a) — primary text
  • Heading (#000000) — hero display copy
  • Muted (#5b5b5b) — secondary metadata
  • Soft (#7a7a7a) — caption text
  • Disabled (#9a9a9a) — disabled state text
  • Border (#d0d0d0) — default 1px hairline
  • Border Soft (#e0e0e0) — editorial dividers
  • Border Strong (#9a9a9a) — focus state hairline on inputs

Surface & Borders

  • Canvas (#ffffff) — default
  • Soft (#f5f5f5) — disabled fields, alternate row, page floor
  • Strong (#eaeaea) — divider band between major sections
  • Blue Soft Surface (#e6ecf5) — informational banner surface, soft navy tint
  • Red Soft Surface (#fdeaea) — clearance-band soft surface

Shadow Colors

Lowe’s stays mostly flat. Hover-card shadow is single-layer neutral grey at 8% — same intensity as Costco, Walmart, and Home Depot.

  • rgba(0,0,0,0.08) 0 2px 8px — hover-card lift
  • rgba(0,0,0,0.16) 0 8px 24px — modal drop

Semantic

  • Success Green (#007a3d): “In Stock”, “Order Placed”, “FREE delivery”
  • Warning Amber (#cc6600): advisory banners
  • Danger Red (#cc0000): validation errors — same hex as clearance red (accepted because errors are rare and accompanied by error copy)
  • Info Navy (#012169): informational banners — same as brand navy

3. Typography Rules

Font Family

Primary: Helvetica Neue. Fallback chain: Helvetica, Arial, sans-serif. Lowe’s uses no custom typeface — Helvetica Neue is the entire system. Inter is the closest open-source substitute.

Mono: not part of the storefront brand system.

OpenType features: tnum is enabled on prices, savings callouts, ratings, and shipping countdowns. No ss01 discipline.

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingOT FeaturesNotes
hero-bannerHelvetica Neue489001.0-1pxuppercase”SPRING SAVINGS EVENT” promo banner
page-titleHelvetica Neue327001.1-0.5pxCategory page H1
section-headHelvetica Neue247001.20“Trending Now”, “Shop by Project”
sub-sectionHelvetica Neue187001.250Sub-section heads on PDP
product-titleHelvetica Neue165001.40PDP main product title — medium weight (Lowe’s residential middle: warmer than Costco’s 700, more confident than Home Depot’s 400)
product-title-mdHelvetica Neue145001.430Grid product card titles — medium weight
body-mdHelvetica Neue144001.50Default body — looser line height than Costco for residential readability
body-smHelvetica Neue134001.40Secondary metadata
captionHelvetica Neue124001.330Footer micro-text
microHelvetica Neue114001.270Footer legal
price-displayHelvetica Neue327001.0-0.25pxtnumPDP main price (“$1,299.00”)
price-productHelvetica Neue227001.00tnumGrid tile current price
price-strikethruHelvetica Neue144001.00tnumOriginal price strikethrough
price-savingsHelvetica Neue187001.10tnum”$50 OFF” savings callout — moderate weight (Lowe’s keeps savings text quieter than Costco’s 24/900 warehouse-yellow band)
button-ctaHelvetica Neue147001.00.02emuppercasePrimary CTA label — uppercase tracking
nav-linkHelvetica Neue145001.00Masthead category labels — medium weight (lighter than Costco’s 700)
badgeHelvetica Neue117001.00.04emuppercase”CLEARANCE”, “SPECIAL VALUE”
pro-tagHelvetica Neue127001.00.02emuppercase”PRO”, “MYLOWE’S PRO REWARDS”

Principles

  • Helvetica Neue, full stop. No custom typeface, no display family. The fallback chain is the system.
  • Product titles at 500 (medium). The residential middle — Costco bolds them (700) for warehouse confidence; Home Depot leaves them at 400 for catalogue density; Lowe’s sits between for homeowner-browsable warmth.
  • Body line-height 1.5. Looser than Costco’s 1.43 — Lowe’s prioritises residential readability over warehouse density.
  • Button CTAs uppercase with 0.02em tracking. Lowe’s uses uppercase labels on red CTAs to mirror big-box-retail signage typography.
  • Savings callouts at 18/700. Quieter than Costco’s 24/900 warehouse-yellow band — Lowe’s prefers inline red over loud yellow bands.
  • Tabular numerals on every price. tnum everywhere money lives.
  • Body at 14/400. Smaller than typical SaaS (16/400) — Lowe’s prioritises information density.
  • No italic, no oblique. Helvetica Neue oblique exists but never appears on the storefront.

4. Component Stylings

Buttons

button-cta — the canonical Add to Cart. Solid clearance red (#cc0000) fill, white text in 14/700 uppercase with 0.02em tracking, 4px radius (not pill), 12×20px padding, 44px height. Hover deepens to #a30000. Active to #7a0000. The square-ish corners are the brand’s deliberate utilitarian signal.

button-secondary — white fill, 2px navy (#012169) outline, navy text in 14/700 uppercase. Same 4px radius and 44px height. Used on “Save for Later”, “Add to List”, “Continue Shopping”.

button-tertiary-text — plain link-blue (#0046be) text, no surface. Underlined on hover. Used for “Show more”, “View all”, in-card secondary actions.

button-pro — full-width navy fill (#012169) with white “JOIN MYLOWE’S PRO” text in 14/700 uppercase. Appears in the contractor-program rail and in the masthead utility strip. Same 4px radius as primary CTA.

Cards

product-card — listing tile. White surface, 6px radius, 12px padding, 1px #d0d0d0 hairline border (Lowe’s, like Costco, uses borders where Amazon and Target omit them — the warehouse-grid feel). Stack: 1:1 thumbnail with object-fit: contain on white (or cover for lifestyle context shots on featured tiles), optional Clearance or Special Value red tag floating top-left, brand line (“Kobalt”, “allen + roth”) in 12/500 muted, product title in 14/500 ink (medium weight — the residential middle), star row (orange-amber filled) + review count in link-blue, current price in 22/700 with tnum, optional strikethrough original price, optional inline red price-drop callout (“$50 OFF” in 14/700 white on red), green “FREE delivery” inline text where applicable, Add to Cart red square button at the bottom.

pdp-buy-box — sticky right-rail card on PDP. White, 6px radius, 1px #d0d0d0 border, hover-card shadow, 24px padding. Stack: large price-display (32/700) with optional strikethrough, inline red “$50 OFF” callout, “FREE delivery by [date]” green inline, ZIP-code change link, store-pickup option with store name, quantity stepper, full-width red Add to Cart, navy outline “Add to List” secondary, “Add to Pro Cart” navy CTA if Pro program is active, “Ships from Lowe’s” small print.

hero-banner — full-width Lowe’s navy (#012169) ground, no rounded corners, 32×40px padding. Display headline in 48/900 uppercase white. Sub-copy in 18/400 white. White-with-navy-text CTA at the bottom. Often paired with a lifestyle-context image (a homeowner painting a wall, a finished deck, a garden refresh) on the right half — the residential warmth signal that distinguishes from Costco’s product-on-white heroes.

project-card — featured “Shop by Project” tile. Larger 320×240 lifestyle image at top with no padding (object-fit: cover), then a 16px-padded text block beneath: project name in 18/700 (“Refresh Your Bathroom”), 14/400 muted sub-copy, link-blue “Start your project →” tertiary link. The most lifestyle-coded card type in the system.

pro-rewards-card — navy (#012169) ground card, white text. Title “MYLOWE’S PRO REWARDS” in 18/700 uppercase, value-prop body in 14/400 white, white “JOIN NOW” outline secondary at the bottom. The parallel contractor program in card form — kept visually distinct from the consumer flow.

Badges, Tags, Pills

clearance-tag — solid clearance red (#cc0000) box, white uppercase “CLEARANCE” or “SPECIAL VALUE” text in 11/700 with 0.04em tracking, 2px radius, 4×8px padding. The most distinctive seller-meta moment on Lowe’s — anchors top-left of qualifying tiles.

pro-tag — solid navy (#012169) box, white uppercase “PRO” or “MYLOWE’S PRO REWARDS” text. Same shape as clearance tag. Signals contractor-program eligibility.

hot-buy-tag — solid orange-amber (#f26522) box, white uppercase “HOT BUY” text. The only place orange appears as a fill colour — used sparingly on featured clearance items.

new-tag — solid navy (#012169) box, white uppercase “NEW” text. Same shape as Pro tag.

free-shipping-text — inline green (#007a3d) text, no fill, no box. “FREE delivery” or “FREE delivery by Thu”. Confident green ink — Lowe’s prefers inline coloured text over green fill boxes for shipping callouts.

price-drop-callout — solid red (#cc0000) fill, white text in 14/700 (“$50 OFF”), 4px radius, 6×10px padding. Anchored inline beside the price-display on PDP, or in the product-card price row.

out-of-stock-tag — grey (#7a7a7a) fill, white “OUT OF STOCK” text, 2px radius.

Inputs / Forms

text-input — white surface, 1px #9a9a9a hairline (darker than typical for the big-box-utility feel), 4px radius, 40px height, 10×14px padding. Stacked label above in caption muted. On focus the border thickens to 2px navy.

search-bar — masthead search. White fill, 4px radius, 40px height, 1px #d0d0d0 hairline. Right edge terminates with a 60×40 Lowe’s navy (#012169) search-button carrying a white magnifier icon. Square-ish corners — Lowe’s resists the pill discipline that consumer brands adopt.

select — same look as text-input with a chevron indicator.

zip-input — masthead utility input for store-pickup location. 60px width, 30px height, slim 4px radius, navy underline on focus.

masthead — full-width white bar with a 1px hairline bottom and a thin navy (#012169) top accent strip, 96px height (taller than Costco’s 88 to accommodate the project-help link row). Lowe’s wordmark flush left in navy (“Lowe’s” in italic-cursive script). Search bar centred. Account / Lists / Cart utilities flush right in nav-link (14/500) ink with link-blue on hover.

sub-nav — slim 40px band beneath the masthead, white fill, 1px hairline bottom. Holds department links: “Departments”, “Bath”, “Bathroom”, “Kitchen”, “Lighting”, “Outdoor”, “Tools”, “Paint”, “Pro”. 14/500 ink labels with :hover flipping to navy.

mega-menu-flyout — opens from category dropdown; white surface, 6px radius, 1px hairline, hover-card shadow. Multi-column nav of category trees with 14/400 ink labels and a featured lifestyle image on the right (the residential-warmth signal again).

breadcrumbtext-muted (#5b5b5b) with > separators, 13/400.

Star Rating

star-rating — 5-icon row, fill #f26522 (orange-amber) for filled, #d0d0d0 for empty. Half-stars rendered with clipped half-fill. Followed by a link-blue review count: “(2,847)”. The orange-amber fill is the deliberate distance from Home Depot’s saturated industrial orange identity.

Modals & Toasts

modal — centred dialog over a 50%-opacity ink scrim. White surface, 6px radius (matching cards), 1px hairline border, modal shadow. Close X anchored top-right.

toast — bottom-centre notifications. White fill, 4px radius, 1px hairline, ink text, 16×24px padding. “Added to Cart” success toast uses a green check icon (#007a3d).

5. Layout Principles

Spacing System

  • Base unit: 4px
  • Scale: 2 · 4 · 8 · 12 · 16 · 20 · 24 · 32 · 40 · 48 · 64 · 80
  • Section padding (vertical): 48–64px between major bands — slightly more breath than Costco (40–64px) and Home Depot (40–56px), the residential-friendly register
  • Card internal padding: 12px for product tiles; 24px for PDP buy box; 32–40px for hero banner
  • Gutters: 16px between product tiles in grid view; 48–64px between major page bands; 8px between adjacent CTAs

Grid & Container

  • Max content width: 1280px centred
  • Homepage: 4-column tile grid at desktop with category navigation rail on the left and a featured lifestyle hero band at the top
  • Search results: 4–5 column product grid at desktop with 16px gutters
  • PDP: 2-column with image gallery left (~52%), buy box right (~36%)
  • Footer: 5-column project-help / customer-service / Pro / company / connect link grid

Whitespace Philosophy

Lowe’s gives major sections moderate-to-generous breath (48–64px vertical) — a touch more than Costco’s 40–64px and notably more than Home Depot’s 40–56px. The product grids stay compressed (tiles run 4–5 across with 16px gutters and 1px borders) but hero bands and editorial sections enjoy the extra breath. The footer is dense like its peers, with five columns of customer-service and project-help links because Lowe’s assumes homeowners come looking for specific project answers (project guides, store hours, return policy, Pro program info).

Section Cadence

Lowe’s alternates between white bands (default body), soft-blue tint bands (#e6ecf5 informational/featured sections), and navy or clearance-red full-width promo bands (hero promos, big seasonal sales). The navy band uses Lowe’s navy ground with white display copy; the red band uses clearance red with white display copy. Yellow is never used as a band ground (that’s Costco’s lane).

6. Shapes & Radius Scale

TierValueUse
Micro2pxClearance, Pro, Hot Buy tags
Small4pxCTAs, search bar, form inputs, price-drop callouts
Card6pxProduct tiles, modals, mega-menu flyouts
Soft8pxLarger feature cards (rare)
Pill9999pxUsed sparingly — only on filter chips and the Pro-program toggle

Lowe’s defining shape choice, shared with its big-box peers, is the absence of pill CTAs in the primary purchase flow. Where consumer-tech brands (Airbnb, Stripe, Notion) use 9999px pills, Lowe’s stays at 4px square-ish corners. The brand position: rounded pills read as fashion consumer-tech; square CTAs read as utilitarian retail. The square-corner discipline is shared with Home Depot, Costco, and Walmart — what distinguishes Lowe’s is the warmer chromatic register (navy + clearance red + orange-amber) inside those shared shape conventions.

There are no compound radii in mainline UI.

7. Depth & Elevation

LevelTreatmentUse
0 — Flatno shadowBody, masthead, footer, all editorial bands (~95% of surfaces)
1 — Hover Cardrgba(0,0,0,0.08) 0 2px 8pxProduct tiles on hover, dropdowns, mega-menu
2 — Modalrgba(0,0,0,0.16) 0 8px 24pxCentred dialogs
3 — Scrimrgba(0,0,0,0.5)Modal backdrop

Shadow Philosophy

Lowe’s stays mostly flat. Depth comes from the navy chrome and the 1px hairline borders on product tiles — the borders are shared with Costco and reinforce the big-box-retail grid utility aesthetic. Hover-card shadow is single-layer neutral grey. No atmospheric multi-layer shadows; no coloured glows; no glassmorphism. The brand position: home-improvement retail should feel solid and trustworthy, not floating-and-fashionable.

8. Interaction & Motion

Easing

  • Standard: cubic-bezier(0.4, 0, 0.2, 1) — default for hover, focus
  • Emphasized: cubic-bezier(0.2, 0, 0, 1) — modal entry

Durations

BucketValueUse
Fast150msHover colour swap, focus ring fade-in
Standard240msCard hover lift + border thicken, modal enter
Slow320msHero carousel slide, page transitions

Per-Component Recipes

  • CTA hover: background transitions from #cc0000 to #a30000 over 150ms.
  • CTA press: deepens to #7a0000 for 150ms on :active.
  • Product card hover: shadow appears (rgba(0,0,0,0.08) 0 2px 8px) and the 1px #d0d0d0 border thickens to #9a9a9a over 240ms. No transform — Lowe’s resists the lift gimmick.
  • Search-bar focus: 2px navy ring fades in over 200ms.
  • Mega-menu flyout: 240ms ease-out fade + 4px slide-down.
  • Modal enter: scrim fades in over 200ms, dialog opacity 0 → 1 over 240ms emphasized.
  • Add to Cart success: red CTA briefly flashes to deeper #7a0000 and a checkmark icon fades in over 240ms before the toast appears.

Page Transitions

Page-to-page navigation uses no transition.

Reduced Motion

Respects prefers-reduced-motion: reduce. Hover transitions degrade to opacity-only; the Add to Cart flash skips the colour pulse.

9. Accessibility & A11y

Contrast Pairs

PairRatioLevel
#1a1a1a ink on #ffffff canvas16.1AAA
#ffffff on #cc0000 CTA5.9AA body / AAA large
#ffffff on #012169 masthead13.2AAA
#0046be link on #ffffff8.4AAA
#5b5b5b muted on #ffffff7.2AAA
#007a3d green shipping on #ffffff4.7AA
#ffffff on #a30000 CTA hover7.5AAA
#ffffff on #001447 masthead deep15.9AAA

The white-on-navy pair (#ffffff on #012169) hits 13.2 contrast — well into AAA — and is the brand’s most distinctive perceptual moment: the deep navy chrome reads with the same trustworthy weight as a postwar bank or institutional letterhead. The deliberate softening of body ink to #1a1a1a (rather than pure #000000) is the residential register — slightly warmer reading without sacrificing AAA contrast on white.

Focus Indicators

Focus ring is 2px solid #012169 (Lowe’s navy) with 2px outline-offset.

ARIA Patterns

  • Search bar: role="search". Input has aria-label="Search Lowes.com".
  • Product card: entire tile wrapped in <a> with verbose aria-label including brand, product title, price, and rating count.
  • Star rating: text-equivalent (aria-label="4.6 out of 5 stars based on 2,847 reviews").
  • Clearance tag: aria-label="Clearance item — limited availability".
  • Pro tag: aria-label="Eligible for MyLowe's Pro Rewards program".
  • ZIP input: aria-label="Enter ZIP code to check local store availability".
  • Mega-menu flyout: role="menu" with role="menuitem"; arrow keys navigate, Escape closes.

Keyboard Navigation

  • Masthead: Tab moves logo → ZIP input → search → account → lists → cart
  • Search results: Tab through tiles in document order
  • PDP: Tab through gallery → variant selector → quantity → Add to Cart → Add to List

Screen Reader Hints

Verbose aria-label on icon-only buttons. The cart icon has aria-label="Cart, 3 items, $241.97 subtotal". Pro tags include the program-eligibility explanation. Clearance tags include the limited-availability warning.

Reduced Motion

All transitions degrade to opacity-only.

10. Responsive Behavior

Breakpoints

NameWidthKey Changes
Mobile<600pxMasthead collapses to logo + cart + hamburger; search bar moves to its own row; product grid 2-up; project cards stack
Tablet600–1024pxFull masthead; product grid 3-up; sub-nav hides into hamburger
Desktop1024–1280pxSub-nav with department links; product grid 4-up
Wide1280–1536pxContent caps at 1280px; product grid 5-up; lifestyle hero spans full width

Touch Targets

  • Primary CTAs: 44px height — meets AA (slightly below the 48px AAA threshold)
  • Search bar: 40×40px — borderline AA, compensated by 8px padding around the magnifier
  • Product tile: entire 240×360px tile is tappable
  • ZIP input: 60×30px — small but acceptable as it’s secondary masthead utility

Collapsing Strategy

  • Masthead: utilities (account, lists) hide first into a hamburger; ZIP input collapses to a “Change Store” link at <1024px
  • Search bar: jumps from inline to its own row at <1024px
  • Product grid: 5 → 4 → 3 → 2; 16px gutters compress to 12px → 8px
  • PDP: 2-column splits to single-column stack at <1024px; buy box becomes a sticky bottom bar on mobile
  • Project cards: 4-up grid → 2-up → 1-up; lifestyle imagery preserved at every breakpoint (the residential signal stays intact)

Image Behavior

Product thumbnails use aspect-ratio: 1/1 with object-fit: contain for white-seamless grid tiles. Lifestyle context shots on hero bands and project cards use object-fit: cover with 16:9 or 4:3 aspect ratios — the warmer residential register.

Container Queries

Not formally used.

11. Content & Voice

Tone

Warm, project-focused, homeowner-first. Lowe’s voice is “the friendlier hardware store clerk who walks you through your weekend project.” Headlines lead with project framing (“Refresh Your Bathroom”, “Plan Your Spring Garden”, “Find Your Perfect Paint”) rather than contractor-spec framing or pure price-and-deal copy. Where Home Depot leads with “How Doers Get More Done” and Costco leads with “Member Only Savings”, Lowe’s leads with “Make Your Home, Yours” and “We Help. You Save.” — the residential-friendly register is the brand’s distinguishing voice.

Microcopy Patterns

  • Button verbs: “Add to Cart”, “Sign In”, “Find a Store”, “Start Your Project” — direct, project-oriented, outcome-named
  • Error message recipe: [What went wrong] + [How to fix] — direct, friendly
  • Success confirmations: “Added to Cart”, “Order Placed”, “We’ll have your order ready”
  • Field labels: short and direct — “ZIP Code”, “Email”, “Phone”
  • Stock urgency: “Only 3 left at your store” (location-aware), “While supplies last”
  • Shipping: “FREE delivery by Thu, May 30” (green inline, date-specific where possible)

Empty States

Empty cart: “Your cart is empty. Start your project with these popular items.” — friendly, project-framed.

Empty list: “Your list is empty. Save items as you shop so you can find them later.”

Empty search: “No results for [query]. Try different keywords or browse by department.”

CTA Verb Conventions

  • Primary: “Add to Cart” (default), “Sign In”, “Find a Store”
  • Project: “Start Your Project”, “Get Inspired”, “View Project Guide”
  • Pro: “Join MyLowe’s Pro Rewards”, “Pro Cart”
  • Save: “Add to List” (Lowe’s uses “List” rather than wishlist)
  • Avoided: “Buy Now”, “Submit”, “Click here”

12. Dark Mode & Theming

Light-only on the public web. Lowes.com is light-only. The Lowe’s mobile app is also light-themed. The brand position: navy chrome and clearance-red CTA work best on white, and the residential warmth of lifestyle photography depends on the bright white surface for chromatic accuracy. No system-controlled dark mode at the time of writing.

13. Lineage & Influences

Lowe’s visual lineage is best understood as the residential counterweight to Home Depot’s contractor-industrial codebase. The signature navy (#012169) dates back decades and has remained essentially unchanged — a deliberate signal of trust, neighborhood-hardware-store warmth, and a softer register than the saturated industrial orange that Home Depot codes the entire identity around. Where Home Depot leans into orange-on-grey forklift aesthetics, Lowe’s leans into navy-on-white residential trust — same big-box retail mechanics, different temperature.

The web design inherits from the same warehouse-retail signage tradition as Costco, Walmart, and Home Depot: dense product grids, white-seamless product photography on tiles, big rectangular CTAs at 4px square-ish corners, clearance red price callouts, no fashion-pill rounding. But Lowe’s tunes every dial warmer: looser body line height (1.5 vs Costco’s 1.43), medium-weight product titles (500 vs Costco’s 700 and Home Depot’s 400), lifestyle-context photography on hero bands and project cards (where Costco uses product-on-white throughout), and orange-amber star ratings (not the saturated industrial orange Home Depot uses everywhere). The Pro program (MyLowe’s Pro Rewards) is visually parallel — navy-tagged, navy-CTA’d — kept distinct from the consumer flow without taking over the identity.

What Lowe’s rejects: Home Depot’s saturated industrial-orange identity (Lowe’s keeps orange to a thin sliver — star ratings and Hot Buy tags); custom typefaces (Helvetica Neue carries everything); pill CTAs (square-ish 4px corners throughout); decorative gradients; dark mode; and any animation that delays the click. The brand position is friendly utility: Lowe’s UI looks utilitarian-but-warm to designers because Lowe’s optimises for homeowner retention and project conversion — and the residential-blue register is the category-defining signal that this is the friendlier hardware store, not the contractor-spec warehouse.

Influences:

  • The Home Depot — peer competitor, the orange/industrial counterweight Lowe’s defines itself against, homedepot.com
  • Ace Hardware — community-hardware sibling, acehardware.com
  • Menards — midwest big-box peer, menards.com
  • True Value — neighborhood-hardware tradition, truevalue.com
  • Sears Roebuck catalog — 20th-century mail-order home-goods tradition, searsarchives.com
  • IKEA — residential-lifestyle merchandising and project-framed copy, ikea.com
  • Helvetica Neue — typographic-neutrality lineage, fonts.adobe.com

14. Do’s and Don’ts

Do

  • Anchor the masthead in Lowe’s navy (#012169) with the iconic italic-script wordmark
  • Use clearance red (#cc0000) for primary CTA fills with white uppercase 14/700 labels
  • Use 4–6px square-ish corners on every interactive surface — no pills in the primary purchase flow
  • Render star ratings in orange-amber (#f26522) — Lowe’s distinctive consumer-warmth signal
  • Use Helvetica Neue at confident weights — no custom typeface
  • Keep product card titles at 500 (medium) — the residential middle between Costco’s 700 and Home Depot’s 400
  • Render Pro tags in navy boxes — keep the contractor program visually parallel, not dominant
  • Use lifestyle-context photography on hero bands and project cards (residential warmth)
  • Use bordered product cards (1px #d0d0d0) — the big-box-grid feel
  • Lead headlines with project framing (“Refresh Your Bathroom”, “Start Your Project”) rather than pure deal copy
  • Use inline green “FREE delivery” text — confident green ink, no fill box
  • Keep section padding 48–64px — a touch more breath than the warehouse-club category

Don’t

  • Don’t use pill CTAs in the primary purchase flow — Lowe’s resists consumer-tech rounding
  • Don’t introduce a custom typeface — Helvetica Neue is the system
  • Don’t use saturated industrial orange across the chrome — that’s Home Depot’s identity, and the deliberate distance from it is Lowe’s positioning
  • Don’t use multi-layer atmospheric shadows — Lowe’s stays single-layer flat
  • Don’t use exclamation marks in body copy — the voice is friendly but direct, not playful
  • Don’t use warehouse-yellow savings bands — that’s Costco’s lane; Lowe’s uses inline clearance-red callouts
  • Don’t bold product card titles to 700 — that’s Costco’s warehouse-confidence; Lowe’s stays at 500
  • Don’t drop product card titles to 400 — that’s Home Depot’s catalogue density; Lowe’s stays at 500
  • Don’t say “Buy Now” — Lowe’s prefers “Add to Cart” → checkout
  • Don’t replace lifestyle hero photography with product-on-white — the residential warmth signal depends on context shots
  • Don’t let the Pro program take over the visual identity — it stays parallel, navy-coded, never dominant
  • Don’t tighten body line height below 1.5 — the residential readability register depends on the looser leading

15. Agent Prompt Guide

Quick Color Reference

Canvas:           #ffffff
Page Floor:       #f5f5f5
Ink:              #1a1a1a
Lowe's Navy:      #012169
Brand Deep:       #001447
Clearance Red:    #cc0000
Red Deep:         #a30000
Rating Orange:    #f26522
Link Blue:        #0046be
Shipping Green:   #007a3d
Border:           #d0d0d0
Muted:            #5b5b5b

Example Component Prompts

  • “Create a Lowe’s-style Add to Cart button: 44px-tall rectangle (4px radius) with clearance red (#cc0000) fill, white text in Helvetica Neue 14/700 uppercase with 0.02em tracking, 12×20px padding. Hover deepens to #a30000. No pill — square-ish corners are the brand.”
  • “Build a Lowe’s masthead: full-width white bar with a thin Lowe’s-navy (#012169) top accent strip and a 1px #d0d0d0 bottom hairline, 96px tall. Lowe’s italic-script wordmark in navy flush left. ZIP input + search bar centred (search bar ~600px wide, 40px tall, 4px radius, white fill, 1px #d0d0d0 hairline, terminating in a 60×40 navy search button with a white magnifier icon). Account / Lists / Cart utilities flush right in 14/500 ink with link-blue hover.”
  • “Design a Lowe’s product card: white surface, 6px radius, 12px padding, 1px #d0d0d0 hairline border. Stack: 1:1 white-seamless thumbnail with object-fit: contain, optional clearance red box top-left (‘CLEARANCE’ in 11/700 uppercase white), brand line (‘Kobalt’) in 12/500 muted, product title in 14/500 ink (medium weight — not Costco’s 700, not Home Depot’s 400), 5-star row in orange-amber (#f26522) + review count in link-blue (#0046be), current price in 22/700 with tnum, optional strikethrough original price, optional inline red ‘$50 OFF’ callout, green ‘FREE delivery’ inline text, red Add to Cart at the bottom.”
  • “Build a clearance tag: solid clearance red (#cc0000) box, white uppercase ‘CLEARANCE’ or ‘SPECIAL VALUE’ text in Helvetica Neue 11/700 with 0.04em tracking, 2px radius, 4×8px padding. Anchored top-left of qualifying product cards.”
  • “Create a Pro program card: navy (#012169) ground card, 6px radius, 24px padding. Title ‘MYLOWE’S PRO REWARDS’ in 18/700 uppercase white, value-prop body in 14/400 white, white outline ‘JOIN NOW’ secondary at the bottom — 14/700 uppercase white text, 2px white border, transparent fill, 4px radius. Keep distinct from consumer Add-to-Cart red — Pro is navy.”
  • “Design a project card: 320×240 lifestyle image at top with object-fit: cover (a homeowner painting a wall or a finished deck), then a 16px-padded text block beneath. Project name in Helvetica Neue 18/700 (‘Refresh Your Bathroom’), 14/400 muted sub-copy, link-blue (#0046be) ‘Start your project →’ tertiary link. White surface, 6px radius, 1px #d0d0d0 border. The residential-warmth signal.”
  • “Design a Lowe’s hero banner: full-width Lowe’s navy (#012169) ground, no rounded corners, 32×40px padding. Display headline in Helvetica Neue 48/900 uppercase white (‘SPRING SAVINGS EVENT’). Sub-copy in 18/400 white. White-with-navy-text CTA at the bottom — square 4px corners, 14/700 uppercase ‘SHOP THE EVENT’. Pair with a lifestyle context image on the right half (a finished garden, a refreshed kitchen) — the residential warmth that distinguishes from Costco’s product-on-white heroes.”

Iteration Guide

  1. Navy over orange. If your chrome is orange, you’ve drifted into Home Depot territory. Lowe’s chrome is Lowe’s navy #012169, and the deliberate distance from Home Depot’s industrial-orange identity is the brand’s positioning.
  2. Square corners, not pills. If your CTA has 9999px radius, you’ve drifted into consumer-tech territory. Lowe’s is 4px square-ish, like every big-box retail peer.
  3. Two-and-a-half voltage palette. Navy chrome + clearance red CTA + sparing orange-amber for ratings. Yellow is Costco’s lane; saturated industrial orange is Home Depot’s.
  4. Product titles at 500. Not Costco’s 700, not Home Depot’s 400 — the residential middle. The merchandise reads as browsable, not as warehouse-confident or catalogue-dense.
  5. Helvetica Neue, no flourish. No custom font. No display family. Body at 14/400 with 1.5 line height for residential readability.
  6. Bordered cards. 1px #d0d0d0 on every product tile — the big-box-grid feel, shared with Costco. Borderless tiles read as Amazon or Target.
  7. Star ratings in orange-amber. #f26522 on grey. Yellow reads as Costco; bright industrial orange reads as Home Depot. Orange-amber is Lowe’s.
  8. Lifestyle photography on hero bands and project cards. Product-on-white is fine on grid tiles, but hero bands and project cards need context shots (a homeowner painting, a finished deck, a garden refresh) — the residential warmth signal is what makes Lowe’s not-Costco.
Ship with this

Drop lowes into your project, then ship the actual sections in an afternoon.

1 · install design
npx @webdesignhot/design-md add lowes
2 · ship landing page
npx agentkit init --design lowes
How AgentKit reads DESIGN.md