ui-ux-master 1.2.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,284 @@
1
+ # Brand Method: Playful Familiarity
2
+
3
+ Use this skill when building for food and beverage retail, family brands, toys, children's platforms, casual consumer apps, or any context where the primary emotion is delight, comfort, and ease.
4
+
5
+ Reference brands: McDonald's, KFC, Burger King, Domino's, Starbucks, LEGO, Nintendo, Coca-Cola, Nestlé, Colgate, Costco.
6
+
7
+ ---
8
+
9
+ ## When to Apply This Method
10
+
11
+ Apply Playful Familiarity when:
12
+ - The brand uses friendly, familiar, or joyful tone as a key differentiator.
13
+ - The audience is broad: families, children, casual users, all age groups.
14
+ - The primary task is order, find, or buy — but the experience should feel fun, not cold.
15
+ - Brand characters, mascots, or iconic imagery are key recognition assets.
16
+
17
+ Do not apply when:
18
+ - The brand is luxury or premium (use Premium Restraint).
19
+ - The product is enterprise software or professional tools (use Enterprise Trust Hub or Technical Authority).
20
+ - The primary goal is brand storytelling without task completion (use Editorial Brand World).
21
+
22
+ ---
23
+
24
+ ## Layout Structure
25
+
26
+ ### Hero
27
+ - Brand imagery dominant: food photography, character/mascot, product in context.
28
+ - Warm, bright, inviting — the hero should make the user feel good immediately.
29
+ - Headline: short, friendly, direct. "Order Now." "What are you craving?" "Start Building."
30
+ - CTA: bold, large, visible — "Order Now", "Find a Store", "Shop Now."
31
+ - Promotional strip: thin banner above or below hero with current offer.
32
+
33
+ ### Navigation
34
+ - Clear, simple, icons + labels.
35
+ - Categories visible in nav or below hero (not hidden in hamburger on desktop).
36
+ - Key CTAs in nav: "Order Now", "Delivery", "Store Finder."
37
+ - Mobile: bottom navigation bar (food ordering / consumer apps) OR clear hamburger.
38
+
39
+ ### Homepage Sections (in order)
40
+ 1. **Hero** — brand world, CTA, current promotion.
41
+ 2. **Featured offers / menu highlights** — 3-4 featured items with prices, large photos.
42
+ 3. **Order method selection** — Delivery / Takeaway / Dine-in (food brands).
43
+ 4. **Brand story snippet** — 1-2 paragraphs or a visual story block, friendly tone.
44
+ 5. **Loyalty / rewards** — app or rewards program teaser.
45
+ 6. **Location finder** — map or zip code input.
46
+
47
+ ### Menu / Product Page
48
+ - Large food photography or product imagery.
49
+ - Clear product name, price, description (friendly tone).
50
+ - Customization options (size, extras, add-ons): large touch targets, visible choices.
51
+ - "Add to Order" / "Add to Cart": prominent, colored, full-width on mobile.
52
+ - Allergen info: accessible, visible, not buried.
53
+
54
+ ---
55
+
56
+ ## Color Scheme
57
+
58
+ ### Palette Archetypes
59
+
60
+ **Fast Food (McDonald's, KFC, Burger King)**
61
+ - McDonald's: `#FFC72C` (yellow) + `#DA291C` (red) on white
62
+ - KFC: `#E4002B` (red) + `#000000` on white
63
+ - Burger King: `#E8611A` (orange/red) + `#502314` (brown) + cream `#F5F0E5`
64
+ - Rule: high-energy primaries, white background, CTA uses the brightest brand color.
65
+
66
+ **Coffee / Comfort (Starbucks)**
67
+ - Primary: `#00704A` (green)
68
+ - Background: `#FFFFFF` or `#F9F4EE` (warm cream)
69
+ - Accent: `#CBA258` (gold, reward tier)
70
+ - Text: `#1E3932` (deep green)
71
+
72
+ **Family Toys (LEGO)**
73
+ - Primary: `#F5CC0A` (LEGO yellow) + `#D91F26` (red) + `#006CB7` (blue)
74
+ - Background: `#FFFFFF`
75
+ - Text: `#1A1A1A`
76
+ - Use multiple brand colors in theme/product routing — each theme has its own color.
77
+
78
+ **Family Food Brands (Nestlé, Colgate)**
79
+ - Background: `#FFFFFF`
80
+ - Primary: brand blue or red
81
+ - Surface: light pastel of primary color at 10-20% opacity
82
+ - Text: `#1A1A1A`
83
+ - Warm accent: yellow or green for health cues
84
+
85
+ **Gaming / Family Entertainment (Nintendo)**
86
+ - Primary: `#E4000F` (red)
87
+ - Background: `#FFFFFF`
88
+ - Game character/art provides additional color
89
+ - Text: `#1A1A1A`
90
+
91
+ ### Rules
92
+ - Colors must be high-energy and identifiable — the brand color is the experience.
93
+ - CTA must use the brand's most energetic color.
94
+ - White backgrounds prevent color fatigue when using multiple brand colors.
95
+ - Never use muted, desaturated tones for primary elements — that signals premium, not playful.
96
+
97
+ ---
98
+
99
+ ## Typography
100
+
101
+ ### Scale
102
+ | Role | Size | Weight | Notes |
103
+ |---|---|---|---|
104
+ | Hero headline | 32-56px | 700-900 | Friendly bold, may be condensed |
105
+ | Section headline | 22-32px | 700 | |
106
+ | Product name | 16-20px | 600-700 | |
107
+ | Product description | 14-16px | 400 | Friendly tone, short |
108
+ | Price | 18-24px | 700 | Tabular numerals, brand accent |
109
+ | CTA | 15-18px | 700 | |
110
+ | Navigation label | 13-14px | 500-600 | |
111
+ | Promo badge | 11-13px | 700-800 | All-caps or bold |
112
+
113
+ ### Font Pairings
114
+ | Brand type | Font |
115
+ |---|---|
116
+ | Fast food | Nunito Black / ExtraBold, Fredoka One, or brand custom |
117
+ | Coffee / lifestyle | Lato Bold, Raleway, or circular |
118
+ | Family toys | Nunito, Poppins, or Fredoka One |
119
+ | Family food/health | Rounded Sans: Nunito, Quicksand, or Poppins |
120
+ | Gaming consumer | Custom or Barlow, Exo 2, or Noto Sans Bold |
121
+
122
+ ### Rules
123
+ - Use rounded fonts — sharp serifs and thin weights feel cold for playful brands.
124
+ - Headlines must command attention immediately — heavy weight, high contrast.
125
+ - Never use decorative fonts that sacrifice legibility.
126
+
127
+ ---
128
+
129
+ ## Spacing System
130
+
131
+ | Token | Value | Use |
132
+ |---|---|---|
133
+ | `--space-xs` | 4px | Icon nudges |
134
+ | `--space-sm` | 8px | Label margins |
135
+ | `--space-md` | 16px | Card padding, button padding |
136
+ | `--space-lg` | 24px | Between product cards |
137
+ | `--space-xl` | 40-48px | Section separation |
138
+ | `--space-2xl` | 64-80px | Hero padding |
139
+
140
+ - Product grids: 16-20px gutters.
141
+ - CTA buttons: generous padding (16px × 32px minimum) — must feel easy to tap.
142
+ - Cards: 16px padding, 8-12px border-radius.
143
+
144
+ ---
145
+
146
+ ## Motion and Interaction
147
+
148
+ ### Principles
149
+ - Microinteractions should delight — bouncy, friendly, never cold or mechanical.
150
+ - Add-to-cart / Order: satisfying animation (checkmark pop, cart count bounce).
151
+ - Promo banner: gentle left-right auto-scroll with pause on hover.
152
+ - Product card: hop/lift on hover, 150ms.
153
+
154
+ ### Mascot / Character Animation
155
+ - Character appears on key moments: empty cart ("Add your first item!"), order success, loyalty milestone.
156
+ - Keep to a few frames — simple, not complex.
157
+ - `prefers-reduced-motion`: replace all bounce/spring animations with instant transitions.
158
+
159
+ ### Loading
160
+ - Skeleton: match card dimensions, shimmer animation.
161
+ - Order confirmation: celebratory micro-animation (checkmark or confetti), then settled state.
162
+
163
+ ### Transitions
164
+ - Button tap: scale `0.95` on press, bounce back, 150ms spring.
165
+ - Card hover: `translateY(-4px)`, `box-shadow` lift, 150ms ease.
166
+
167
+ ---
168
+
169
+ ## Responsive Behavior
170
+
171
+ | Breakpoint | Key changes |
172
+ |---|---|
173
+ | Mobile 375px | Hero: full-width, stacked CTA. Menu: single-column. Bottom nav bar. Large tap targets. Price prominent on card. |
174
+ | Tablet 768px | 2-column menu grid. Nav visible. |
175
+ | Desktop 1024px | 3-4 column product grid. Full nav visible. |
176
+ | Wide 1440px+ | Max-width 1280px. Product grid up to 5 columns. |
177
+
178
+ - Mobile is the primary experience for food ordering — optimize for thumb reach.
179
+ - Bottom nav bar on mobile: 5 items max, icons + labels.
180
+ - "Add to Order" button: sticky at bottom of product detail on mobile.
181
+
182
+ ---
183
+
184
+ ## Accessibility Requirements
185
+
186
+ - Food photography alt text: describe the food item, not "image of food" — e.g., `alt="Big Mac burger with sesame bun, lettuce, cheese, and special sauce"`.
187
+ - Menu customization: radio buttons or checkboxes with visible labels. `<fieldset>` + `<legend>` per option group.
188
+ - Allergen info: must be a text element, visible by default, not only revealed on hover.
189
+ - Bottom navigation: `role="navigation"`, `aria-label="Main navigation"`. Active item: `aria-current="page"`.
190
+ - Promotions and badges: always include text content, not just color/icon.
191
+ - Character/mascot images: `alt` describes the character's action, not just "mascot."
192
+ - Order confirmation: `aria-live="polite"` for success message.
193
+ - Touch targets: all buttons and links minimum 44×44px — critical for food ordering on mobile.
194
+ - Promo banner: auto-scrolling must pause on focus and on `prefers-reduced-motion`.
195
+
196
+ ---
197
+
198
+ ## UX Principles for This Method
199
+
200
+ 1. **Make the primary task impossible to miss.** Ordering or finding a location is the job — never bury it.
201
+ 2. **Delight is earned through speed, not decoration.** A fast, frictionless order is more delightful than a bouncy animation on a slow page.
202
+ 3. **Familiarity is a feature.** Use recognizable patterns (bottom nav, large cards, price prominent) — users already know this language.
203
+ 4. **Food photography sells.** Invest in imagery. A great photo of food is worth 1000 feature descriptions.
204
+ 5. **Broad audience.** Someone's grandmother should be able to order without frustration. Do not assume tech literacy.
205
+ 6. **Loyalty creates habit.** Rewards and loyalty flows are high-value — design them to be simple and visible.
206
+
207
+ ---
208
+
209
+ ## Component Specs
210
+
211
+ ### Menu Product Card
212
+ ```
213
+ Width: flexible
214
+ Border-radius: 12px
215
+ Background: white
216
+ Border: 1px solid var(--border)
217
+ Image: 16:9 or square, object-fit: cover, border-radius top
218
+ Product name: 16-18px, weight 700, margin-top 12px
219
+ Description: 13-14px, text-secondary, 2-line clamp
220
+ Price: 16-20px, weight 700, brand accent color
221
+ CTA: "Add" button, right-aligned or full-width, brand primary
222
+ ```
223
+
224
+ ### CTA Button (Playful)
225
+ ```
226
+ Background: brand primary
227
+ Text: white, 15-18px, weight 700
228
+ Padding: 14-16px 28-36px
229
+ Border-radius: 8-12px
230
+ Hover: darken 8%, scale 1.02
231
+ Active: scale 0.97, darken 12%
232
+ Focus: 3px solid brand-darker, offset 2px
233
+ Bounce animation on add-to-cart: scale 1.1 → 1.0, 200ms spring
234
+ ```
235
+
236
+ ### Loyalty Badge / Reward
237
+ ```
238
+ Background: brand accent (gold or contrasting)
239
+ Text: 12-13px, bold, white or dark
240
+ Border-radius: 6-8px (pill: 20px)
241
+ Icon: star or flame, 14px, inline
242
+ Padding: 4px 10px
243
+ Positioned: bottom-left of product card image (absolute)
244
+ ```
245
+
246
+ ### Promo Banner
247
+ ```
248
+ Background: brand accent
249
+ Text: 13-14px, bold, white or dark
250
+ Height: 40-44px
251
+ Auto-scroll interval: 4-5s
252
+ Pause on hover + focus
253
+ Indicator dots: below banner, small (6px), brand light color
254
+ ```
255
+
256
+ ---
257
+
258
+ ## Anti-Patterns to Avoid
259
+
260
+ - Do not hide the menu behind 3 clicks.
261
+ - Do not use small, light, or thin typography — broad audiences include elderly users.
262
+ - Do not use low-contrast food badges or promo text on colorful backgrounds.
263
+ - Do not autoplay promotional audio.
264
+ - Do not require account creation before viewing the menu.
265
+ - Do not use dark patterns for upsells — every "add extra" must be a clear opt-in, not pre-checked.
266
+ - Do not use countdown timers for items that are not actually time-limited.
267
+ - Do not rely solely on color to convey allergen information.
268
+
269
+ ---
270
+
271
+ ## QA Checklist
272
+
273
+ - [ ] Primary CTA ("Order Now", "Add to Cart") visible above fold on mobile.
274
+ - [ ] Bottom nav (if used): all items labeled, accessible, active state clear.
275
+ - [ ] Food photography loads with skeleton placeholder.
276
+ - [ ] Menu customization uses `<fieldset>` + `<legend>` with keyboard-navigable options.
277
+ - [ ] Allergen info visible as text, not hover-only.
278
+ - [ ] All interactive elements ≥ 44×44px touch target.
279
+ - [ ] "Add to Order" sticky button on mobile product detail.
280
+ - [ ] Loyalty / rewards section reachable within 2 taps.
281
+ - [ ] Order confirmation announces success to screen reader (`aria-live`).
282
+ - [ ] `prefers-reduced-motion`: all bounce/spring animations replaced with instant transitions.
283
+ - [ ] No pre-checked upsell options (dark pattern check).
284
+ - [ ] Page loads in under 3s on 4G (food ordering is mobile-first, often on poor connections).
@@ -0,0 +1,270 @@
1
+ # Brand Method: Premium Restraint
2
+
3
+ Use this skill when building for ultra-luxury brands, high-end finance, premium professional services, or any context where the absence of clutter, the quality of typography, and the control of the visual field are the primary brand signal.
4
+
5
+ Reference brands: Chanel, Hermès, Rolex, Cartier, Dior, Bottega Veneta, Goldman Sachs, Audi (editorial mode), Porsche (brand site), Nespresso.
6
+
7
+ ---
8
+
9
+ ## When to Apply This Method
10
+
11
+ Apply Premium Restraint when:
12
+ - The product commands a significant price premium based on heritage, craft, or exclusivity.
13
+ - The brand identity is built on what is NOT shown, not what IS shown.
14
+ - The primary emotional outcome is aspiration, desire, and trust in quality.
15
+ - Excess, busyness, and bargain signals actively harm the brand.
16
+
17
+ Do not apply when:
18
+ - The product is mass-market or price-competitive.
19
+ - The user needs to complete a task quickly (use Utility Command Center).
20
+ - The brand uses energy, color, or playfulness as a differentiator.
21
+
22
+ ---
23
+
24
+ ## Layout Structure
25
+
26
+ ### Core Principle: Reduction
27
+ - Every element on the page must pass the question: "Does this need to be here?"
28
+ - Default answer is no. Add only when the answer is yes.
29
+
30
+ ### Hero
31
+ - Full-viewport or near-full-viewport image or video.
32
+ - Product or brand world imagery — no UI chrome, no overlays, no text unless absolutely necessary.
33
+ - If text: one word or one short phrase, white or black, perfectly typeset, positioned with asymmetrical precision.
34
+ - No CTA in the hero, or one ultra-minimal text link ("Discover →").
35
+
36
+ ### Navigation
37
+ - Ultra-thin, horizontal: logo centered OR left. Navigation links right (max 4).
38
+ - Text-only links, 11-13px, letter-spaced, no underlines.
39
+ - No mega-nav. No dropdowns on the homepage hero.
40
+ - Disappears on downward scroll, reappears on upward.
41
+
42
+ ### Content Sections
43
+ - Each section occupies the full viewport width; most content is centered with massive side margins (24-30% each side on desktop).
44
+ - Text-to-content ratio: more whitespace than content by area.
45
+ - One idea per section — never combine two things in one section.
46
+ - Images: full-bleed alternating left/right OR centered portrait. Never a grid of small images.
47
+ - Captions: if used, ultra-small (10-11px), muted, right-aligned or centered.
48
+
49
+ ### Commerce / Product Pages
50
+ - Product image: extremely large, centered, no background.
51
+ - Price: small, not prominent — the brand is above price anxiety.
52
+ - Add to bag: minimal text link or outlined button. Never a filled bright button.
53
+ - Product description: sparse, poetic, not a spec sheet.
54
+ - Material / craftsmanship section: single long-form paragraph or a few precise sentences.
55
+
56
+ ---
57
+
58
+ ## Color Scheme
59
+
60
+ ### Core Rule: Near-Monochrome
61
+
62
+ **Luxury Fashion (Chanel, Bottega Veneta)**
63
+ - Background: `#FFFFFF` or `#FAF8F5` (warm white)
64
+ - Primary text: `#111111` or `#1A1A1A`
65
+ - Secondary text: `#888888` (light gray — used with caution, must pass 4.5:1)
66
+ - Divider / border: `#E5E5E5`
67
+ - Accent: none, or a single heritage color (used once per page maximum)
68
+
69
+ **Luxury Jewelry / Watches (Rolex, Cartier)**
70
+ - Background: `#FAFAF8` (cream-white) or `#0A0A0A` (dark section)
71
+ - Primary: cream `#F5F0E8` on dark, near-black `#1C1C1C` on light
72
+ - Gold accent: `#C8A96E` or `#D4A017` (used only for jewelry imagery, dividers, or single accent element)
73
+ - Deep red: `#8B0000` (Cartier) — for section backgrounds, used maximally once per page
74
+
75
+ **Premium Beverage / Lifestyle (Nespresso, Moët)**
76
+ - Background: `#1C1C1C` or `#FAF5EF`
77
+ - Gold: `#C6A55C`
78
+ - Cream: `#F5ECD7`
79
+ - Text: inverse of background
80
+
81
+ **Finance / Professional Services (Goldman Sachs)**
82
+ - Background: `#FFFFFF`
83
+ - Primary: Navy `#001533` or `#002547`
84
+ - Text: `#1A1A1A`
85
+ - Accent: gold `#C8A96E` only as a single decorative line or icon, never as CTA color
86
+
87
+ ### Color Rules
88
+ - Maximum 2 hues active on a single page. Neutrals (black, white, gray, cream) do not count toward this limit.
89
+ - Never use: bright primary colors (red/blue/green/yellow) as dominant colors.
90
+ - Never use: gradients as backgrounds.
91
+ - A single heritage accent color used once — a rule, not a palette.
92
+ - Gold: decorative/divider use only, not CTA backgrounds.
93
+
94
+ ---
95
+
96
+ ## Typography
97
+
98
+ ### Core Rule: Typography IS the design.
99
+
100
+ ### Scale
101
+ | Role | Size | Weight | Notes |
102
+ |---|---|---|---|
103
+ | Brand/house name | 11-13px | 400-500 | All-caps, tracked +0.15em, nav only |
104
+ | Hero text | 20-48px | 300-400 | Light weight, generous tracking |
105
+ | Section headline | 18-32px | 300-400 | |
106
+ | Body / story copy | 16-18px | 300-400 | Line-height 1.8-2.0, generous |
107
+ | Product name | 18-24px | 400-500 | |
108
+ | Product description | 14-16px | 300 | Wide line-height |
109
+ | Price | 14-16px | 400 | Small, not prominent |
110
+ | Caption / credit | 10-11px | 300-400 | Tracked, muted |
111
+ | CTA / text link | 11-13px | 400-500 | All-caps, tracked +0.12em |
112
+
113
+ ### Font Pairings
114
+ | Brand type | Heading | Body |
115
+ |---|---|---|
116
+ | Classic French luxury | Didot, Bodoni, or custom | Garamond, Cormorant |
117
+ | Contemporary luxury | Helvetica Neue Light, Futura Light | Helvetica Neue, Futura |
118
+ | Heritage jewelry/watches | Optima, Trajan Pro | Palatino, Garamond |
119
+ | Premium beverage/lifestyle | Libre Baskerville Light | Raleway, Lato Light |
120
+ | High-end finance | Mercury Display (editorial) | Mercury Text, or Helvetica Neue |
121
+
122
+ ### Rules
123
+ - Never use more than 2 typefaces.
124
+ - Default to light weights (300-400) — luxury is effortless.
125
+ - Letter-spacing on all-caps labels: `letter-spacing: 0.12em` minimum.
126
+ - Line-height on body text: 1.8-2.0 — luxury copy breathes.
127
+ - Never use system emoji or icon fonts — only SVG icons, and sparingly.
128
+
129
+ ---
130
+
131
+ ## Spacing System
132
+
133
+ ### Core Rule: Maximum whitespace.
134
+
135
+ | Token | Value | Use |
136
+ |---|---|---|
137
+ | `--space-xs` | 6px | Text list gaps |
138
+ | `--space-sm` | 16px | Caption to image |
139
+ | `--space-md` | 32px | Text block padding |
140
+ | `--space-lg` | 64px | Between text elements in a section |
141
+ | `--space-xl` | 96-128px | Between sections |
142
+ | `--space-2xl` | 160-200px | Hero breathing room, full-viewport spacing |
143
+ | `--space-3xl` | 240-300px | Full-page section padding (luxury pages are not short) |
144
+
145
+ - Page max content width: 800-1000px for text sections. Images: full-bleed or inset 10-15% each side.
146
+ - Mobile: scale down 50%, but never sacrifice the sense of emptiness.
147
+
148
+ ---
149
+
150
+ ## Motion and Interaction
151
+
152
+ ### Principles
153
+ - No motion unless it is slower and more intentional than you think is necessary.
154
+ - Scroll transitions: long, slow fades. Duration 800-1200ms. Ease-in-out.
155
+ - No pop, bounce, or scale animations.
156
+ - Image load: fade in from white, 600ms.
157
+
158
+ ### Navigation hover
159
+ - Underline slides in from left, 200ms. No background fill.
160
+
161
+ ### CTA
162
+ - Hover: letter-spacing expands slightly (+0.02em), 200ms. No fill, no scale.
163
+
164
+ ### Product image
165
+ - Hover (desktop): subtle secondary image crossfade, 400ms.
166
+ - No parallax on text — only on background imagery, subtle (0.05-0.1× difference).
167
+
168
+ ### `prefers-reduced-motion`
169
+ - Remove all fade-ins, parallax, and crossfades. All content appears immediately.
170
+
171
+ ---
172
+
173
+ ## Responsive Behavior
174
+
175
+ | Breakpoint | Key changes |
176
+ |---|---|
177
+ | Mobile 375px | Full-bleed images. Side margins 16-24px (not the desktop 24-30%). Hero text: 18-28px. Single-column all. Nav: hamburger with full-screen overlay (imagery background). |
178
+ | Tablet 768px | Side margins 8-12%. Side-by-side sections optional. |
179
+ | Desktop 1024px | Side margins 16-24%. Full typographic luxury. |
180
+ | Wide 1440px+ | Side margins 24-30%. Text column max 800px. Never let content stretch to edges. |
181
+
182
+ - Never fill the screen edge-to-edge with text — the margins carry the luxury signal.
183
+
184
+ ---
185
+
186
+ ## Accessibility Requirements
187
+
188
+ - Luxury gray text (`#888888` on `#FFFFFF`) = 3.5:1 — **fails WCAG AA** for body text. Use `#767676` minimum for secondary text (passes at 4.6:1), or use `#555555` for safety.
189
+ - Image-only navigation: never acceptable. Every nav link must have text (even if visually hidden with `sr-only`).
190
+ - Hero with text: text-to-background contrast must be checked including any scrim or overlay.
191
+ - Hover-only product information: all info visible on hover must also be reachable via keyboard focus.
192
+ - Slow animations: ensure they don't delay time-sensitive content. Content must be accessible before animation completes.
193
+ - Custom cursor: if used, must not be the only hover indicator. Standard interactive affordances required.
194
+ - SVG icons: `aria-hidden="true"` if decorative; `title` and `aria-labelledby` if informational.
195
+ - Product page: price must be a text element, not an image.
196
+
197
+ ---
198
+
199
+ ## UX Principles for This Method
200
+
201
+ 1. **Absence is the message.** Luxury is what you don't include.
202
+ 2. **Trust through restraint.** The brand does not need to prove itself with noise.
203
+ 3. **Typography is the logo.** In the absence of color and decoration, letterforms carry the entire brand.
204
+ 4. **Speed is luxury too.** A slow page is a dissonant luxury experience. Optimize aggressively.
205
+ 5. **Commerce is not the point.** The user must desire before they buy. Commerce is the final, quiet step.
206
+ 6. **Consistency of quiet.** No element breaks the established calm — not a social share button, not a chat widget, not a newsletter popup.
207
+
208
+ ---
209
+
210
+ ## Component Specs
211
+
212
+ ### Navigation (Luxury)
213
+ ```
214
+ Height: 40-48px (minimal)
215
+ Logo: centered or left, 80-120px wide
216
+ Links: 11-13px, all-caps, letter-spacing 0.12em, font-weight 400
217
+ No underline default. Hover: thin underline, transition 200ms
218
+ Background: transparent over hero, white/cream on scroll
219
+ Transition: background 250ms ease
220
+ ```
221
+
222
+ ### Text-Link CTA (Not a button)
223
+ ```
224
+ Display: inline
225
+ Font: 11-13px, all-caps, letter-spacing 0.12em
226
+ Text: "Discover" or "Explore [Collection]" or "Add to bag"
227
+ Hover: letter-spacing +0.02em, 200ms
228
+ No background, no border (minimal mode)
229
+ Or: outlined button with 1px border, no fill, hover: fill with text color, invert text
230
+ ```
231
+
232
+ ### Image Section
233
+ ```
234
+ Full-bleed: width 100vw, height auto or 80vh
235
+ Inset: margin 0 auto, max-width 75-85vw
236
+ Object-fit: cover
237
+ No rounded corners (luxury is sharp or geometric)
238
+ Caption: 10-11px, tracked, right or center aligned, margin-top 12px, color text-muted
239
+ ```
240
+
241
+ ---
242
+
243
+ ## Anti-Patterns to Avoid
244
+
245
+ - Do not use promotional badges, price slashes, or urgency labels.
246
+ - Do not use rounded pill buttons — luxury uses sharp rectangles or text links.
247
+ - Do not use drop shadows on UI elements — they imply web 2.0, not luxury.
248
+ - Do not use emojis or informal copy.
249
+ - Do not use chatbots with intrusive pop-ups — if chat is needed, make it quiet and opt-in.
250
+ - Do not use stock photography — only art-directed or product photography.
251
+ - Do not clutter the footer with social media icons, newsletter sign-up, and multiple widget links.
252
+ - Do not use system fonts — typography is the primary brand expression tool.
253
+ - Do not use gray text that fails WCAG contrast — luxury does not exempt brands from accessibility.
254
+
255
+ ---
256
+
257
+ ## QA Checklist
258
+
259
+ - [ ] Secondary text color passes 4.5:1 contrast (check `#888888` — likely fails, use `#767676` min).
260
+ - [ ] No element in the hero competes visually with the product/brand image.
261
+ - [ ] Every navigation link has accessible text (not icon-only).
262
+ - [ ] Hover-reveal product info also visible on keyboard focus.
263
+ - [ ] Custom cursor (if used) does not break standard interactive affordances.
264
+ - [ ] `prefers-reduced-motion`: all animations removed, content immediately visible.
265
+ - [ ] No promotional, urgency, or discount UI patterns.
266
+ - [ ] No popups, chat widgets, or newsletter banners interrupt the experience.
267
+ - [ ] Mobile: nav accessible and functional without degrading luxury feel.
268
+ - [ ] Page LCP ≤ 2.5s — luxury pages often have large images. Optimize all images.
269
+ - [ ] Price is a text element, not an image.
270
+ - [ ] Typography is consistent — no accidental system font fallback visible.