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.
- package/README.md +160 -209
- package/SKILL.md +89 -47
- package/docs/package-publishing.md +5 -3
- package/index.cjs +3 -1
- package/index.d.ts +1 -1
- package/index.mjs +4 -1
- package/package.json +4 -3
- package/references/brand-method-card-based-discovery.md +285 -0
- package/references/brand-method-conversion-simplicity.md +276 -0
- package/references/brand-method-ecosystem-bundling.md +263 -0
- package/references/brand-method-editorial-brand-world.md +265 -0
- package/references/brand-method-enterprise-trust-hub.md +298 -0
- package/references/brand-method-playful-familiarity.md +284 -0
- package/references/brand-method-premium-restraint.md +270 -0
- package/references/brand-method-product-cinema.md +258 -0
- package/references/brand-method-technical-authority.md +290 -0
- package/references/brand-method-utility-command-center.md +278 -0
- package/references/color-psychology-branding.md +286 -0
- package/references/color-scale-system.md +347 -0
- package/references/competitive-landscape.md +32 -6
- package/references/design-discovery-protocol.md +171 -0
- package/references/design-system-schema.md +407 -0
- package/references/industry-reasoning-rules.md +504 -0
- package/references/landing-page-patterns.md +327 -0
- package/references/output-quality-gates.md +246 -0
- package/references/tech-stack-guidelines.md +636 -0
- package/references/ui-styles-catalog.md +552 -0
- package/references/visual-directions.md +362 -0
- package/tests/install-smoke.test.mjs +93 -12
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# Brand Method: Conversion Simplicity
|
|
2
|
+
|
|
3
|
+
Use this skill when building for subscription products, fintech signups, mobile app downloads, SaaS trials, waitlists, or any context where the entire page exists to convert one type of visitor to one action.
|
|
4
|
+
|
|
5
|
+
Reference brands: Netflix, PayPal, Uber, Google (signup), Instagram (signup), LinkedIn (signup), Dropbox, Stripe, Linear.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## When to Apply This Method
|
|
10
|
+
|
|
11
|
+
Apply Conversion Simplicity when:
|
|
12
|
+
- There is one primary user action: sign up, start trial, download, subscribe, join waitlist.
|
|
13
|
+
- The user is a new visitor evaluating whether to commit.
|
|
14
|
+
- Reducing friction is more valuable than providing exhaustive information.
|
|
15
|
+
- The funnel is: land → understand → trust → act.
|
|
16
|
+
|
|
17
|
+
Do not apply when:
|
|
18
|
+
- Users need to browse or discover first (use Card-Based Discovery).
|
|
19
|
+
- Multiple stakeholders are evaluating a complex product (use Enterprise Trust Hub).
|
|
20
|
+
- The product experience is the selling point (use Product Cinema or Editorial Brand World).
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Layout Structure
|
|
25
|
+
|
|
26
|
+
### Above the Fold (the only thing that matters)
|
|
27
|
+
- **One promise**: the most compelling, specific outcome the user gets. Not a feature list.
|
|
28
|
+
- **One primary CTA**: email signup, "Start Free Trial", "Get the App", "Join Waitlist". Nothing else.
|
|
29
|
+
- **Visual proof**: product screenshot, phone mockup, short testimonial, or simple illustration.
|
|
30
|
+
- **Objection handler**: one line of trust copy beneath the CTA ("No credit card required", "Free forever plan", "Cancel anytime").
|
|
31
|
+
|
|
32
|
+
### Page Flow (in order)
|
|
33
|
+
1. **Hero** — promise + CTA + objection handler.
|
|
34
|
+
2. **Social proof** — trusted by N users/companies, logo strip, star rating aggregate.
|
|
35
|
+
3. **Core benefit blocks** — 3 benefits max. Each: icon, one-line headline, one supporting sentence.
|
|
36
|
+
4. **Product proof** — screenshot, animation, or short demo video showing the product working.
|
|
37
|
+
5. **Testimonials** — 3 specific quotes with name, title, company, photo.
|
|
38
|
+
6. **FAQ** — 5-7 questions answering the top objections (pricing, commitment, compatibility).
|
|
39
|
+
7. **Final CTA** — repeat the hero CTA with the same promise, no new information.
|
|
40
|
+
|
|
41
|
+
### Navigation
|
|
42
|
+
- Minimal: logo left, 2-3 links max (Features, Pricing, Login), primary CTA right.
|
|
43
|
+
- Do not provide a full mega-nav — it gives users escape routes.
|
|
44
|
+
- No sticky nav unless it includes the CTA.
|
|
45
|
+
|
|
46
|
+
### Footer
|
|
47
|
+
- Minimal. Legal links, privacy, terms, social icons. No sitemap.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Color Scheme
|
|
52
|
+
|
|
53
|
+
### Primary Palette Patterns
|
|
54
|
+
|
|
55
|
+
**SaaS / Startup (Stripe, Linear, Vercel)**
|
|
56
|
+
- Background: `#FFFFFF` or dark `#0A0A0A` / `#111111`
|
|
57
|
+
- Primary: brand color (`#635BFF` Stripe purple, `#5E6AD2` Linear, `#000000` Vercel)
|
|
58
|
+
- Surface: `#F4F4F5` (light) or `#1C1C1E` (dark)
|
|
59
|
+
- Text: `#0F0F0F` (light) or `#FAFAFA` (dark)
|
|
60
|
+
- Secondary text: `#71717A`
|
|
61
|
+
- CTA: brand primary, white text — maximum contrast
|
|
62
|
+
- CTA hover: darken 10%
|
|
63
|
+
- Accent: gradient (`#635BFF → #0074D9`) for premium SaaS feel
|
|
64
|
+
|
|
65
|
+
**Fintech / Payments (PayPal, Stripe)**
|
|
66
|
+
- Background: `#FFFFFF`
|
|
67
|
+
- Primary: `#0070BA` (PayPal blue) or `#635BFF`
|
|
68
|
+
- Trust accent: `#00457C` (darker blue, for security copy)
|
|
69
|
+
- CTA: primary blue, white text
|
|
70
|
+
- Success: `#007B5E`
|
|
71
|
+
|
|
72
|
+
**Consumer App (Netflix, Uber, Instagram)**
|
|
73
|
+
- Netflix: Background `#000000`, accent `#E50914` (red), text white
|
|
74
|
+
- Uber: Background `#000000` or `#FFFFFF`, monochrome, CTA black-on-white or white-on-black
|
|
75
|
+
- Instagram: gradient CTA on white background, or gradient hero
|
|
76
|
+
|
|
77
|
+
**Minimal / Developer (Vercel, GitHub, Linear)**
|
|
78
|
+
- Background: `#000000` or `#FAFAFA`
|
|
79
|
+
- Text: inverse of background
|
|
80
|
+
- Accent: 1 brand color or white
|
|
81
|
+
- No gradients unless minimal and purposeful
|
|
82
|
+
|
|
83
|
+
### Rules
|
|
84
|
+
- CTA button must be the highest-contrast interactive element on the page.
|
|
85
|
+
- Social proof logos: grayscale — they support, not compete.
|
|
86
|
+
- Testimonial sections: slightly different background (`#F9FAFB`) to create visual rhythm.
|
|
87
|
+
- Never use two competing CTAs in the hero (no "Sign Up" + "Learn More" — pick one).
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Typography
|
|
92
|
+
|
|
93
|
+
### Scale
|
|
94
|
+
| Role | Size | Weight | Notes |
|
|
95
|
+
|---|---|---|---|
|
|
96
|
+
| Hero headline | 40-72px | 700-900 | Bold, specific promise |
|
|
97
|
+
| Hero subheadline | 18-22px | 400 | Supporting detail, max 2 lines |
|
|
98
|
+
| Section headline | 28-36px | 600-700 | |
|
|
99
|
+
| Benefit headline | 18-20px | 600 | |
|
|
100
|
+
| Benefit body | 15-16px | 400 | 1 sentence |
|
|
101
|
+
| Testimonial quote | 18-22px | 400-500 | Italic optional |
|
|
102
|
+
| Testimonial attribution | 14px | 500 | Name, title, company |
|
|
103
|
+
| FAQ question | 16-18px | 600 | |
|
|
104
|
+
| FAQ answer | 15-16px | 400 | |
|
|
105
|
+
| CTA | 15-18px | 600 | |
|
|
106
|
+
| Trust copy (under CTA) | 12-14px | 400 | Muted color |
|
|
107
|
+
|
|
108
|
+
### Font Pairings
|
|
109
|
+
| Context | Font |
|
|
110
|
+
|---|---|
|
|
111
|
+
| SaaS / startup | Inter, Plus Jakarta Sans, or Geist |
|
|
112
|
+
| Fintech | Helvetica Neue, DM Sans, or Lato |
|
|
113
|
+
| Consumer app | Circular, Nunito, or Poppins |
|
|
114
|
+
| Developer tool | Geist, JetBrains Mono (for code), Inter |
|
|
115
|
+
|
|
116
|
+
### Rules
|
|
117
|
+
- Hero headline: the most important thing on the page. It must be large and specific.
|
|
118
|
+
- Avoid vague headlines ("The future of work") — use outcomes ("Ship 3× faster with automated deploys").
|
|
119
|
+
- Trust copy under CTA: 12-14px, muted color — supportive, not competing.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Spacing System
|
|
124
|
+
|
|
125
|
+
| Token | Value | Use |
|
|
126
|
+
|---|---|---|
|
|
127
|
+
| `--space-xs` | 4px | Trust copy gap from CTA |
|
|
128
|
+
| `--space-sm` | 8px | Icon to text, badge padding |
|
|
129
|
+
| `--space-md` | 16-20px | Component padding |
|
|
130
|
+
| `--space-lg` | 32-40px | Between sections within same topic |
|
|
131
|
+
| `--space-xl` | 64-80px | Between major page sections |
|
|
132
|
+
| `--space-2xl` | 96-128px | Hero padding, final CTA section |
|
|
133
|
+
|
|
134
|
+
- Hero: generous padding top and bottom (80-128px) — breathing room signals confidence.
|
|
135
|
+
- Benefit blocks: equal spacing, grid alignment — visual consistency conveys professionalism.
|
|
136
|
+
- FAQ: no extra spacing — tight, scannable, no wasted room.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Motion and Interaction
|
|
141
|
+
|
|
142
|
+
### Hero CTA
|
|
143
|
+
- Button: no over-engineered animation. Hover: darken 8-10%, scale `1.02`, transition 150ms.
|
|
144
|
+
- On submit: show loading spinner inside button, disable button, replace text with "…".
|
|
145
|
+
- On success: replace CTA area with success message ("Check your email!" or redirect).
|
|
146
|
+
- On error: show inline error below CTA, shake animation on button (3-frame, 200ms).
|
|
147
|
+
|
|
148
|
+
### Product Preview
|
|
149
|
+
- Short looping video (10-15s, muted, no controls) OR animated GIF OR screenshot with subtle entrance animation.
|
|
150
|
+
- `prefers-reduced-motion`: replace with static screenshot.
|
|
151
|
+
- Load above fold immediately — this is conversion-critical content.
|
|
152
|
+
|
|
153
|
+
### FAQ Accordion
|
|
154
|
+
- Height transition: `max-height` 0 → auto equivalent, 200ms ease.
|
|
155
|
+
- Icon rotates 90° or 45° when open.
|
|
156
|
+
- Only one open at a time (optional — single-expand pattern).
|
|
157
|
+
|
|
158
|
+
### Scroll Animations
|
|
159
|
+
- Keep minimal: fade-in of benefit blocks, testimonials. Duration 300-500ms.
|
|
160
|
+
- Never use scroll animations on the CTA — users may be scrolling to reach it.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Responsive Behavior
|
|
165
|
+
|
|
166
|
+
| Breakpoint | Key changes |
|
|
167
|
+
|---|---|
|
|
168
|
+
| Mobile 375px | Hero: headline 28-36px. CTA: full-width button. Benefit blocks: single column. Testimonials: horizontal scroll or single-column. Nav: logo + CTA only (no extra links). |
|
|
169
|
+
| Tablet 768px | Hero: headline 36-48px. 2-column benefits. |
|
|
170
|
+
| Desktop 1024px | Full layout. Side-by-side hero text + product image/video. |
|
|
171
|
+
| Wide 1440px+ | Max-width 1100-1200px centered. Hero may use split layout at 1440px+. |
|
|
172
|
+
|
|
173
|
+
- Mobile CTA: full-width button, at least 48px height, pinned to viewport if possible.
|
|
174
|
+
- Mobile: no horizontal scroll except testimonials carousel.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Accessibility Requirements
|
|
179
|
+
|
|
180
|
+
- CTA button: descriptive label — not just "Sign Up" but "Start your free trial" or match the specific offer.
|
|
181
|
+
- Email input: always a `<label>`. `type="email"`, `autocomplete="email"`, `inputmode="email"`.
|
|
182
|
+
- Trust copy under CTA: `role="note"` or just visible text — no hidden aria required.
|
|
183
|
+
- Product video: `<video>` with `aria-label`, `loop`, `muted`, no `autoplay` without `playsinline`; poster image required; `prefers-reduced-motion` disables autoplay.
|
|
184
|
+
- Testimonial images: `alt="[Person Name], [Title] at [Company]"`.
|
|
185
|
+
- FAQ accordion: `<button aria-expanded="true/false" aria-controls="faq-answer-id">`. Answer `<div id="faq-answer-id">`.
|
|
186
|
+
- Social proof logos: `alt="[Company Name]"`.
|
|
187
|
+
- All text: 4.5:1 contrast minimum. CTA text on brand button must pass.
|
|
188
|
+
- Focus: CTA is the first logical focus target after the hero heading.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## UX Principles for This Method
|
|
193
|
+
|
|
194
|
+
1. **One job, one CTA.** Every element on the page exists to support the single conversion event.
|
|
195
|
+
2. **Answer objections before they form.** "No credit card" under the CTA is worth more than a features section.
|
|
196
|
+
3. **Specificity converts.** "Save 5 hours/week on reporting" beats "Save time." Name the number, name the outcome.
|
|
197
|
+
4. **Social proof is not decoration.** Real names, real companies, specific outcomes in quotes.
|
|
198
|
+
5. **Remove escape routes.** Minimal nav means fewer ways to leave the page without converting.
|
|
199
|
+
6. **Repeat the CTA.** Users need to see it multiple times before committing — top, middle, and bottom of page.
|
|
200
|
+
7. **Speed is a conversion feature.** A 1-second delay reduces conversions. Image optimization, no-blocking scripts, instant form feedback.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Component Specs
|
|
205
|
+
|
|
206
|
+
### Hero CTA Button
|
|
207
|
+
```
|
|
208
|
+
Background: brand primary (max contrast)
|
|
209
|
+
Text: white or high-contrast inverse
|
|
210
|
+
Padding: 14-16px 32-40px
|
|
211
|
+
Border-radius: 6px (modern) | 24px (friendly) | 2px (serious/fintech)
|
|
212
|
+
Font: 16-18px, weight 600
|
|
213
|
+
Min-height: 48-52px
|
|
214
|
+
Width: auto (desktop) | 100% (mobile)
|
|
215
|
+
Transition: background 150ms, transform 120ms
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Trust Copy (under CTA)
|
|
219
|
+
```
|
|
220
|
+
Font: 12-13px
|
|
221
|
+
Color: var(--text-muted)
|
|
222
|
+
Margin-top: 10-12px
|
|
223
|
+
Icon: optional checkmark or lock icon (14px)
|
|
224
|
+
Example: "✓ No credit card required · ✓ Cancel anytime"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Testimonial Card
|
|
228
|
+
```
|
|
229
|
+
Background: white (on light) or var(--surface) (on dark)
|
|
230
|
+
Border: 1px solid var(--border)
|
|
231
|
+
Border-radius: 12px
|
|
232
|
+
Padding: 24-28px
|
|
233
|
+
Quote: 17-20px, weight 400, font-style italic optional
|
|
234
|
+
Attribution: 14px, weight 500, flex row with avatar
|
|
235
|
+
Avatar: 36-40px, border-radius 50%
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### FAQ Item
|
|
239
|
+
```
|
|
240
|
+
Border-bottom: 1px solid var(--border)
|
|
241
|
+
Trigger button: full width, text-left, 17-18px, weight 600, padding 16px 0
|
|
242
|
+
Chevron icon: right-aligned, 16px, rotates 180° on open, transition 200ms
|
|
243
|
+
Answer: 15-16px, text-secondary, padding 0 0 16px, line-height 1.6
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Anti-Patterns to Avoid
|
|
249
|
+
|
|
250
|
+
- Do not add a full navigation with 8+ links — it gives users too many ways to leave.
|
|
251
|
+
- Do not use vague CTAs like "Learn More" as the primary action — users need to know what happens next.
|
|
252
|
+
- Do not put pricing objections in a way that makes pricing seem scary — be honest and frame value first.
|
|
253
|
+
- Do not require more than an email (and optionally a name) for the first signup step.
|
|
254
|
+
- Do not use dark patterns: pre-checked marketing consent, hidden trial-to-paid, confusing cancellation.
|
|
255
|
+
- Do not show 10 testimonials — 3 specific, credible testimonials outperform 10 generic ones.
|
|
256
|
+
- Do not use countdown timers unless the offer genuinely expires.
|
|
257
|
+
- Do not make the page long before you've earned the scroll — the best Conversion Simplicity pages are short.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## QA Checklist
|
|
262
|
+
|
|
263
|
+
- [ ] Hero headline is specific and outcome-focused — not generic.
|
|
264
|
+
- [ ] CTA is the visually dominant interactive element.
|
|
265
|
+
- [ ] Trust copy (no credit card / cancel anytime) visible below CTA.
|
|
266
|
+
- [ ] Email input has `<label>` and correct input type.
|
|
267
|
+
- [ ] CTA button has descriptive accessible label.
|
|
268
|
+
- [ ] Form error message shown inline, associated with input via `aria-describedby`.
|
|
269
|
+
- [ ] Product video: muted, poster, `prefers-reduced-motion` fallback.
|
|
270
|
+
- [ ] Social proof logos grayscale.
|
|
271
|
+
- [ ] FAQ accordion has `aria-expanded` and `aria-controls`.
|
|
272
|
+
- [ ] Final CTA section repeats the hero CTA.
|
|
273
|
+
- [ ] Mobile: CTA full-width, at least 48px height.
|
|
274
|
+
- [ ] No more than 3 links in nav.
|
|
275
|
+
- [ ] Page LCP ≤ 2.5s — hero content must be server-rendered or critically preloaded.
|
|
276
|
+
- [ ] No dark patterns: no pre-checked marketing consent, no hidden costs, no fake urgency.
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
# Brand Method: Ecosystem Bundling
|
|
2
|
+
|
|
3
|
+
Use this skill when building for multi-product platforms, product suites, or brands where the value is in the combination of products, not a single product. The goal is to cross-sell, upsell, and create lock-in through integrated value.
|
|
4
|
+
|
|
5
|
+
Reference brands: Microsoft 365, Adobe Creative Cloud, Apple (hardware + software + services), Google (Search + Maps + Workspace + Cloud), Sony (PlayStation + Electronics + Entertainment), Xbox (Game Pass + Console + Cloud).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## When to Apply This Method
|
|
10
|
+
|
|
11
|
+
Apply Ecosystem Bundling when:
|
|
12
|
+
- The brand has 3+ products that work better together than separately.
|
|
13
|
+
- The primary value proposition is integration, continuity, or bundled savings.
|
|
14
|
+
- The user arrives to find "the right plan" or "what's included."
|
|
15
|
+
- The goal is to move a user from one product to the full suite.
|
|
16
|
+
|
|
17
|
+
Do not apply when:
|
|
18
|
+
- The brand has a single flagship product (use Product Cinema).
|
|
19
|
+
- The user wants to accomplish one specific task (use Utility Command Center or Conversion Simplicity).
|
|
20
|
+
- The brand is enterprise-only (use Enterprise Trust Hub).
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Layout Structure
|
|
25
|
+
|
|
26
|
+
### Hero
|
|
27
|
+
- Not a single product — the ecosystem or suite value is the headline.
|
|
28
|
+
- Example: "One subscription. Everything creative." (Adobe) or "More with Microsoft 365."
|
|
29
|
+
- Hero visual: collage of product interfaces, device ecosystem, or abstract "connected" illustration.
|
|
30
|
+
- Primary CTA: "See all plans", "Get the bundle", or "Start free trial" (most inclusive plan).
|
|
31
|
+
|
|
32
|
+
### Product Overview Section
|
|
33
|
+
- Grid or horizontal scroll of product cards: each card = one product in the ecosystem.
|
|
34
|
+
- Card: product icon, product name, 1-line description, "Learn more" link.
|
|
35
|
+
- Group products by category if 6+: "Creative Tools", "Video + Audio", "Web + Cloud."
|
|
36
|
+
|
|
37
|
+
### Bundle / Plan Comparison
|
|
38
|
+
- Pricing table: 2-4 columns (Individual, Team, Business, Enterprise).
|
|
39
|
+
- Each column: plan name, price, primary CTA, included products (checked or listed).
|
|
40
|
+
- Highlight recommended plan: border, "Most Popular" badge, slightly elevated.
|
|
41
|
+
- Toggle: Monthly / Annual (with savings callout for annual).
|
|
42
|
+
- Scrollable on mobile: sticky column headers.
|
|
43
|
+
|
|
44
|
+
### Integration Showcase
|
|
45
|
+
- Diagram or animation showing how products connect.
|
|
46
|
+
- Example: "Edit in Photoshop → Preview in XD → Export to After Effects."
|
|
47
|
+
- Step-based or flowchart layout.
|
|
48
|
+
|
|
49
|
+
### Individual Product Deep-Dives
|
|
50
|
+
- Accordion or tabbed section: each tab = one product, with key features and screenshot.
|
|
51
|
+
- Or: separate product pages linked from the overview cards.
|
|
52
|
+
|
|
53
|
+
### CTA Section
|
|
54
|
+
- "Start with [Product A]" + "Or explore the full suite."
|
|
55
|
+
- Include a plan recommendation quiz if 4+ plans (CTA: "Help me choose").
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Color Scheme
|
|
60
|
+
|
|
61
|
+
### Palette Patterns
|
|
62
|
+
|
|
63
|
+
**Creative Suite (Adobe)**
|
|
64
|
+
- Background: `#1B1B1B` dark or `#FFFFFF`
|
|
65
|
+
- Primary: `#FF0000` (Adobe red) with product-specific colors as accents
|
|
66
|
+
- Surface: `#292929` (dark) or `#F8F8F8` (light)
|
|
67
|
+
- Text: `#FFFFFF` (dark) or `#1A1A1A` (light)
|
|
68
|
+
- Product colors: each product has signature accent (Photoshop blue, Illustrator orange, Premiere purple)
|
|
69
|
+
- CTA: product primary on dark, or brand red on light
|
|
70
|
+
|
|
71
|
+
**Tech Suite (Microsoft)**
|
|
72
|
+
- Background: `#FFFFFF`
|
|
73
|
+
- Primary: `#0078D4` (M365 blue)
|
|
74
|
+
- Product palette: each Microsoft product uses brand colors (Teams purple, Excel green, Word blue, etc.)
|
|
75
|
+
- Surface: `#F4F6F9`
|
|
76
|
+
- Text: `#1A1A1A`
|
|
77
|
+
- Pricing highlight: `#0078D4` (primary plan)
|
|
78
|
+
|
|
79
|
+
**Gaming Ecosystem (Xbox)**
|
|
80
|
+
- Background: `#000000`
|
|
81
|
+
- Primary: `#107C10` (Xbox green)
|
|
82
|
+
- Surface: `#1A1A1A`
|
|
83
|
+
- Text: `#FFFFFF`
|
|
84
|
+
- Accent: green, used for "included" checkmarks, active state, pricing CTA
|
|
85
|
+
|
|
86
|
+
**Consumer Ecosystem (Apple)**
|
|
87
|
+
- Background: `#FFFFFF` (light) or `#000000` (dark sections)
|
|
88
|
+
- Text: `#1D1D1F` / `#F5F5F7`
|
|
89
|
+
- Product accents: per-product marketing colors (used sparingly)
|
|
90
|
+
- CTA: `#0071E3` (Apple blue)
|
|
91
|
+
|
|
92
|
+
### Rules
|
|
93
|
+
- Each product in the ecosystem may have its own accent color — use in product cards/icons only.
|
|
94
|
+
- The suite-level brand color dominates — product accents are subordinate.
|
|
95
|
+
- Pricing table: highlight column must have clear visual separation (border, elevation, background) — not just a color change.
|
|
96
|
+
- Never use 6+ colors on the same screen — product accents appear only in dedicated product sections.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Typography
|
|
101
|
+
|
|
102
|
+
### Scale
|
|
103
|
+
| Role | Size | Weight | Notes |
|
|
104
|
+
|---|---|---|---|
|
|
105
|
+
| Suite headline | 40-64px | 600-700 | Ecosystem promise |
|
|
106
|
+
| Product name (card) | 16-18px | 600 | |
|
|
107
|
+
| Product description | 14-15px | 400 | 1-2 lines |
|
|
108
|
+
| Plan name | 20-24px | 700 | |
|
|
109
|
+
| Price | 32-48px | 700 | Tabular numerals |
|
|
110
|
+
| Price period | 14-16px | 400 | "/month" or "/year" |
|
|
111
|
+
| Feature list | 14-15px | 400 | Checkmark + text |
|
|
112
|
+
| CTA | 14-16px | 600 | |
|
|
113
|
+
| Savings badge | 11-12px | 700 | All-caps: "SAVE 40%" |
|
|
114
|
+
|
|
115
|
+
### Font Pairings
|
|
116
|
+
| Context | Font |
|
|
117
|
+
|---|---|
|
|
118
|
+
| Tech / enterprise suite | Segoe UI, Inter, or system font |
|
|
119
|
+
| Creative suite | Adobe Clean, or Inter |
|
|
120
|
+
| Gaming | custom brand font or Rajdhani, Barlow Condensed |
|
|
121
|
+
| Consumer tech | SF Pro (system) or Inter |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Spacing System
|
|
126
|
+
|
|
127
|
+
| Token | Value | Use |
|
|
128
|
+
|---|---|---|
|
|
129
|
+
| `--space-xs` | 4px | Checkmark list gaps |
|
|
130
|
+
| `--space-sm` | 8px | Product icon margins |
|
|
131
|
+
| `--space-md` | 16px | Card padding |
|
|
132
|
+
| `--space-lg` | 24-32px | Between product cards |
|
|
133
|
+
| `--space-xl` | 48-64px | Between page sections |
|
|
134
|
+
| `--space-2xl` | 80-96px | Hero, pricing sections |
|
|
135
|
+
|
|
136
|
+
- Pricing table: column padding 24-32px. Row: 12-16px vertical padding per row.
|
|
137
|
+
- Product card grid: 16-24px gutter. Cards equal height via CSS grid `align-items: stretch`.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Motion and Interaction
|
|
142
|
+
|
|
143
|
+
### Pricing Toggle (Monthly/Annual)
|
|
144
|
+
- Toggle: smooth slide, 200ms ease. Active state clearly indicated.
|
|
145
|
+
- Price change: number crossfade or count animation (300ms) — never a jarring instant swap.
|
|
146
|
+
- Savings badge: appears on Annual toggle with fade-in.
|
|
147
|
+
|
|
148
|
+
### Plan Comparison Table
|
|
149
|
+
- "Included" checkmark: SVG check, brand color. "Not included": dash or X, muted color.
|
|
150
|
+
- Hover row: subtle highlight `rgba(0,0,0,0.04)`.
|
|
151
|
+
- Sticky column headers on vertical scroll.
|
|
152
|
+
|
|
153
|
+
### Product Cards
|
|
154
|
+
- Hover: lift shadow, 150ms.
|
|
155
|
+
- Click: navigate to product detail section or page.
|
|
156
|
+
|
|
157
|
+
### Integration Diagram
|
|
158
|
+
- Step-by-step animation on scroll: each connection draws itself (SVG stroke animation, 400ms per step).
|
|
159
|
+
- `prefers-reduced-motion`: show all steps immediately with no animation.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Responsive Behavior
|
|
164
|
+
|
|
165
|
+
| Breakpoint | Key changes |
|
|
166
|
+
|---|---|
|
|
167
|
+
| Mobile 375px | Product cards: 2×2 grid or single column. Pricing table: horizontal scroll, sticky plan names. Plan toggle: full-width. |
|
|
168
|
+
| Tablet 768px | Product cards: 3-column. Pricing: 2-3 columns visible. |
|
|
169
|
+
| Desktop 1024px | Full pricing table. Side-by-side product cards. |
|
|
170
|
+
| Wide 1440px+ | Max-width 1200px. Pricing table centered. |
|
|
171
|
+
|
|
172
|
+
- Mobile pricing table: allow horizontal scroll — show 1.5 columns to hint at more.
|
|
173
|
+
- Mobile: sticky "Get [Plan Name]" CTA at bottom of pricing page.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Accessibility Requirements
|
|
178
|
+
|
|
179
|
+
- Pricing table: use `<table>` with `<th scope="col">` for plan names, `<th scope="row">` for feature names.
|
|
180
|
+
- "Included" checkmark: `aria-label="Included"` not just a visual check icon.
|
|
181
|
+
- "Not included": `aria-label="Not included"`.
|
|
182
|
+
- Plan toggle (monthly/annual): `<button role="switch" aria-checked="true/false">` or `<input type="radio">` with `<fieldset>` and `<legend>`.
|
|
183
|
+
- Highlighted plan: `aria-describedby` linking to "Most Popular" label.
|
|
184
|
+
- Product cards: each card is a link with a descriptive accessible name including product name.
|
|
185
|
+
- Savings badge: always a text element, not background-only.
|
|
186
|
+
- Price: screen reader announces full price ("12 dollars per month, billed annually").
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## UX Principles for This Method
|
|
191
|
+
|
|
192
|
+
1. **Sell the why before the what.** "One place for everything creative" converts before the product list does.
|
|
193
|
+
2. **Comparison tables are trust builders.** Transparent feature-by-feature comparison signals confidence.
|
|
194
|
+
3. **Recommend a plan.** Users are overwhelmed by 4+ plans. Highlight one as "Best for most people."
|
|
195
|
+
4. **Individual entry points.** Let users enter through a single product and discover the suite value.
|
|
196
|
+
5. **Bundle savings must be explicit.** Show the per-product cost vs. bundle cost. The math must be obvious.
|
|
197
|
+
6. **Never force the full suite.** Some users only need one product — serve them well and upsell contextually.
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Component Specs
|
|
202
|
+
|
|
203
|
+
### Pricing Column (Recommended)
|
|
204
|
+
```
|
|
205
|
+
Border: 2px solid var(--primary)
|
|
206
|
+
Border-radius: 12px
|
|
207
|
+
Background: white (light) or var(--surface-raised) (dark)
|
|
208
|
+
Box-shadow: 0 8px 32px rgba(0,0,0,0.12)
|
|
209
|
+
Badge: "Most Popular" — absolute top-center, background var(--primary), 11px all-caps
|
|
210
|
+
Price: 40-48px, weight 700
|
|
211
|
+
Period: 14px, weight 400, text-secondary
|
|
212
|
+
CTA: filled primary button, full-width
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Product Card (Ecosystem Overview)
|
|
216
|
+
```
|
|
217
|
+
Background: var(--surface)
|
|
218
|
+
Border: 1px solid var(--border)
|
|
219
|
+
Border-radius: 12px
|
|
220
|
+
Padding: 24px
|
|
221
|
+
Icon: 40-48px, product accent color
|
|
222
|
+
Product name: 17-18px, weight 600, margin-top 12px
|
|
223
|
+
Description: 14px, text-secondary, 2-line clamp
|
|
224
|
+
"Learn more" link: 13-14px, brand color, arrow icon
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Plan Toggle
|
|
228
|
+
```
|
|
229
|
+
Container: pill shape, background var(--surface)
|
|
230
|
+
Active side: filled pill, brand color, white text, 200ms transition
|
|
231
|
+
Labels: "Monthly" / "Annually SAVE 40%"
|
|
232
|
+
Savings badge: inline, accent background, bold, 10-11px all-caps
|
|
233
|
+
Height: 36-40px, border-radius 20px
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Anti-Patterns to Avoid
|
|
239
|
+
|
|
240
|
+
- Do not show all plans without a recommendation — choice overload kills conversion.
|
|
241
|
+
- Do not hide savings — if annual is cheaper, show the math prominently.
|
|
242
|
+
- Do not use features list jargon that non-technical buyers won't understand.
|
|
243
|
+
- Do not require users to navigate 4 levels deep to find what's in a plan.
|
|
244
|
+
- Do not use different interaction patterns for the same action across product cards.
|
|
245
|
+
- Do not present the pricing table on mobile without horizontal scroll — broken tables are unusable.
|
|
246
|
+
- Do not use 6+ product accent colors simultaneously — visual chaos.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## QA Checklist
|
|
251
|
+
|
|
252
|
+
- [ ] Pricing table uses semantic `<table>` with scoped headers.
|
|
253
|
+
- [ ] Checkmarks have `aria-label="Included"`.
|
|
254
|
+
- [ ] Plan toggle accessible as `role="switch"` or radio group.
|
|
255
|
+
- [ ] Recommended plan visually distinct and labeled.
|
|
256
|
+
- [ ] Monthly/Annual toggle updates price display without page reload.
|
|
257
|
+
- [ ] Savings amount shown on annual toggle.
|
|
258
|
+
- [ ] Mobile pricing: horizontal scroll with 1.5 column hint.
|
|
259
|
+
- [ ] Product cards link to individual product sections/pages.
|
|
260
|
+
- [ ] Integration diagram has text fallback for screen readers.
|
|
261
|
+
- [ ] `prefers-reduced-motion`: integration diagram shows all steps immediately.
|
|
262
|
+
- [ ] All product icons/images have `alt` text.
|
|
263
|
+
- [ ] Price announced correctly to screen readers.
|