Logos
Three variants. V1 (black) on white/light. V3 (white) on dark/maroon. V2 (red) for brand moments only. Always use SVG for digital.
Colors
The complete NZO palette. Use only these values — no exceptions. All defined as CSS tokens in nzo-master-styles.css.
Typography
One font: Figtree by Erik Kennedy. Free via Google Fonts ↗ (SIL Open Font License). No other typefaces permitted.
Sleep System
Stay Longer.
Sitewide
Buttons
Sharp corners only (radius 0). Figtree Bold, uppercase, ls 0.12–0.14em. Three types × three sizes × five states.
- Text — Primary content conveying the button's purpose. Always uppercase, Figtree Bold.
- Text Size — SM 11px · MD 13px · LG 15px. Size scales with context, never below 11px.
- Text Weight — Always 700 (Bold). Never Regular inside a button.
- Background Color — Solid fill. Primary: #84251F. Hover: #57140F. Active: #3d0d09. Disabled: #C9C9C9.
- Icon — Optional. Arrow (→) or Material Symbol. Always 6px gap from text. Inherits color.
- Padding Top/Bottom — SM 10px · MD 14px · LG 18px. Vertical breathing room around label.
- Padding Left/Right — SM 20px · MD 32px · LG 40px. Horizontal extent determines click target size.
- Outer Margin — Min 8px between adjacent buttons. 16px between button and form fields.
- Min Touch Target — 44×44px per WCAG 2.5.5. SM buttons satisfy this at full width on mobile.
- Corner Radius — Always
0px. NZO identity is sharp, architectural. No rounded or pill shapes. - Border — Always
1px solid. Solid buttons: transparent border (maintains layout stability). Outline buttons: #84251F. Reversed: #FFFFFF. - Border on hover — Outline buttons fill background on hover; border stays visible. Solid buttons border stays transparent.
- Default — No box-shadow on primary solid buttons. Flat and confident.
- Active/pressed —
inset 0 2px 4px rgba(0,0,0,0.2)— creates a pressed/recessed appearance. - Outline active —
inset 0 2px 4px rgba(0,0,0,0.15) - Never use — Elevation shadows (drop-shadow) on buttons. They conflict with Dawn's flat UI language.
- Solid hover — Background darkens: #84251F → #57140F. Text stays #FFFFFF. Border stays transparent.
- Outline hover — Background fills to #84251F. Text changes to #FFFFFF. Creates a solid button appearance.
- Text/link hover — Color darkens: #84251F → #57140F. Underline remains. No background added.
- Transition —
background 0.2s ease, border-color 0.2s ease
- Solid active — Background: #3d0d09 (deepest red). Inset shadow applied. Text stays #FFFFFF.
- Outline active — Background: #57140F. Text: #FFFFFF. Inset shadow: 0 2px 4px rgba(0,0,0,0.15).
- Visual goal — Button appears physically pressed/depressed. Darker + inset shadow achieves this.
- Duration — Instant on press (
transition: noneacceptable for :active).
- Background — #C9C9C9 (neutral gray). Communicates inactivity without brand color.
- Text — #FFFFFF on solid. #C9C9C9 on outline. Never brand red when disabled.
- Cursor —
not-allowed. Clear affordance that interaction is blocked. - Pointer events —
pointer-events: noneon all disabled buttons to prevent JS handlers firing. - Opacity — 0.8 to soften, not to signal disabled (color does that).
- Visual — Spinner (14×14px, CSS animation) prepended to label text. Label fades to 70% opacity.
- Spinner — 2px border, top-color animates at 0.7s linear. White on solid buttons, red on outline.
- Background — Unchanged from default state (maintains button footprint, no layout shift).
- Cursor —
wait. Pointer events blocked. - Implementation — Add
.is-loadingclass via JS on click. Remove on response.
| Size | Default | Hover | Disabled | Active | Loading |
|---|---|---|---|---|---|
| Small | Default | Hover | Disabled | Active | Loading |
| Medium | Default | Hover | Disabled | Active | Loading |
| Large | Default | Hover | Disabled | Active | Loading |
| Size | Default | Hover | Disabled | Active | Loading |
|---|---|---|---|---|---|
| Small | Default | Hover | Disabled | Active | Loading |
| Medium | Default | Hover | Disabled | Active | Loading |
| Large | Default | Hover | Disabled | Active | Loading |
Icons
Google Material Symbols — two approved styles: Outlined (default) and Rounded (softer UI contexts). Browse the full library at fonts.google.com/icons ↗ and Material 3 Icons ↗.
Spacing
8pt grid. 4pt half-steps below 24px. Use only these tokens for padding, margin, and gap.
Grid System
Responsive grid adapts per breakpoint. Max content width 1300px centered. Columns reduce on smaller viewports.
| Breakpoint | Device | Columns | Margin | Gutter | Max Width |
|---|---|---|---|---|---|
| xs · <480px | Mobile portrait | 4 | 16px | 8px | 100% |
| sm · 480–767px | Mobile landscape | 4 | 20px | 12px | 100% |
| md · 768–1023px | Tablet portrait | 8 | 24px | 16px | 100% |
| lg · 1024–1299px | Tablet landscape / small desktop | 10 | 32px | 16px | 100% |
| xl · ≥1300px | Desktop | 12 | auto | 16px | 1300px |
4 col · 16px margin · 8px gutter
8 col · 24px margin · 16px gutter
10 col · 32px margin · 16px gutter
Elevation & Shadows
Five shadow levels for layering UI. All NZO surfaces use border-radius: 0 — no exceptions. Sharp edges are non-negotiable.
border-radius: 0. No pills. No rounded cards. No softened inputs. This is absolute — never override with a positive value. Rounded corners are off-brand.Cards
Four card types. Sharp corners. 1px #E3E3E3 border. White or dark background only. No box-shadows on product cards.
Tables
Four table styles. Use Standard for most data. Striped for long lists. Bordered for specs/comparison. Compact for dense UI.
| Product | Weight | Price | Rating | Status |
|---|---|---|---|---|
| Ultralight Sleep System | 1 lb 6 oz | $189.00 | ★★★★★ (238) | In Stock |
| Trail Cooking Kit | 4.2 oz | $89.00 | ★★★★ (94) | In Stock |
| Merino Base Layer | 6.1 oz | $135.00 | ★★★★★ (51) | Low Stock |
| Carbon Trekking Poles | 7.9 oz | $149.00 | ★★★★ (12) | Coming Soon |
| Order | Customer | Date | Items | Total | Status |
|---|---|---|---|---|---|
| #5021 | J. Martinez | Jun 19, 2026 | 2 | $278.00 | Fulfilled |
| #5020 | A. Chen | Jun 18, 2026 | 1 | $189.00 | Fulfilled |
| #5019 | T. Williams | Jun 17, 2026 | 3 | $413.00 | Processing |
| #5018 | K. Park | Jun 16, 2026 | 1 | $89.00 | Refunded |
| #5017 | M. Torres | Jun 15, 2026 | 2 | $324.00 | Fulfilled |
| Feature | Base Layer | Mid Layer | Shell |
|---|---|---|---|
| Material | Merino Wool | Primaloft Gold | 3L Gore-Tex |
| Weight | 6.1 oz | 8.4 oz | 11.2 oz |
| Temp Rating | 30–70°F | 20–50°F | All conditions |
| Pack Size | Fist-sized | Softball | Grapefruit |
| Price | $135.00 | $219.00 | $389.00 |
| SKU | Name | Inventory | Price | Weight |
|---|---|---|---|---|
| NZO-SS-001 | Sleep System · 15°F | 42 | $189.00 | 1 lb 6 oz |
| NZO-CK-001 | Cooking Kit · Ti | 87 | $89.00 | 4.2 oz |
| NZO-BL-S | Base Layer · Small | 12 | $135.00 | 6.1 oz |
| NZO-BL-M | Base Layer · Medium | 0 | $135.00 | 6.1 oz |
| NZO-TP-001 | Trekking Poles · Carbon | 8 | $149.00 | 7.9 oz |
| NZO-BND-001 | Starter Bundle | 23 | $249.00 | 22.8 oz |
Color Schemes
Four approved Dawn theme schemes. Never mix button colors within a section. Each scheme has a designated button pairing.
Section Backgrounds
Three section types. Dark accent used sparingly — max one per page.
All Tokens
Complete CSS custom properties in nzo-master-styles.css. Reference this when writing any new CSS for the store.
| Token | Value | Use |
|---|---|---|
| --nzo-red | #84251F | Primary CTA, links, accents |
| --nzo-red-hover | #57140F | Hover states |
| --nzo-black | #121212 | Body text, headings |
| --nzo-white | #FFFFFF | Backgrounds, reversed text |
| --nzo-gray-light | #F3F3F3 | Section backgrounds |
| --nzo-gray-card | #F9F9F9 | Product card backgrounds |
| --nzo-gray-border | #E3E3E3 | Hairline borders |
| --nzo-gray-bar | #E8E8E8 | Progress bars, dividers |
| --nzo-gray-muted | #5C5C5C | Secondary text |
| --nzo-section-dark | #2A2A2A | Dark accent sections |
| --nzo-header-dark | #292929 | Header background |
| --nzo-gray-mid | #3F3F3F | Secondary dark surfaces |
| --nzo-gray-subtle | #7B7B7B | Muted text on dark bg |
| --nzo-gray-rule | #CCCCCC | Borders on dark sections |
| --nzo-star | #F79E1B | Star ratings only |
| --nzo-disabled | #C9C9C9 | Disabled states |
| --nzo-font | 'Figtree', sans-serif | All text |
| --nzo-weight-bold | 700 | Headings, buttons, labels |
| --nzo-weight-regular | 400 | Body text |
| --nzo-size-display | 48px | H1 / Display |
| --nzo-size-h2 | 36px | Section headings |
| --nzo-size-h3 | 24px | Card headings |
| --nzo-size-body | 16px | Default body |
| --nzo-size-sm | 13px | Buttons, labels |
| --nzo-size-xs | 12px | Captions, eyebrows |
| --nzo-radius | 0px | All borders — sharp corners |
| --nzo-page-width | 1300px | Max content width |
| --nzo-duration | 0.2s | Default transition duration |
| --nzo-ease | cubic-bezier(0,0,0.3,1) | All easing |
Resources
Official links for developers, vendors, and designers working with the NZO brand and Shopify theme.
?key=nzo2026