@jaimevalasek/aioson 1.30.0 → 1.30.2
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/CHANGELOG.md +18 -0
- package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
- package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
- package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
- package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
- package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
- package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
- package/docs/design-previews/cognitive-core-ui.html +281 -463
- package/docs/design-previews/index.html +83 -31
- package/package.json +1 -1
- package/src/constants.js +578 -514
- package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
- package/template/.aioson/docs/play/README.md +74 -0
- package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
- package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
- package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
- package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
- package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
- package/template/.aioson/docs/play/source-map.md +104 -0
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
|
@@ -1,289 +1,289 @@
|
|
|
1
|
-
# Website Layouts — Warm Craft UI
|
|
2
|
-
|
|
3
|
-
Composition guides for landing pages, product pages, and institutional websites. Uses tokens from `design-tokens.md` and components from `components.md`.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## General Website Rules
|
|
8
|
-
|
|
9
|
-
1. **Hero is the first impression.** It must feel crafted, not templated. Never a centered headline + two buttons + stock image.
|
|
10
|
-
2. **Editorial pacing.** Alternate between high-impact sections and breathing room. Never repeat the same card grid four times.
|
|
11
|
-
3. **Serif drives the narrative.** Headlines, pull quotes, and hero text use `var(--font-display)`. This is what makes it feel warm, not the colors.
|
|
12
|
-
4. **Warm backgrounds, not white.** Use `var(--bg-void)` for section alternation, never pure white sections.
|
|
13
|
-
5. **One accent, used sparingly.** Terracotta for CTAs and key highlights only. Never accent borders, accent backgrounds on sections, or accent everything.
|
|
14
|
-
6. **Illustrations over icons.** Where possible, use warm, hand-drawn-style illustrations. Cold geometric SVG icons are for apps, not marketing pages.
|
|
15
|
-
7. **Real copy only.** No Lorem ipsum. Write real headlines, descriptions, and CTAs that sound like a human wrote them.
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Hero Patterns
|
|
20
|
-
|
|
21
|
-
### Pattern A: Split Hero
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
+---------------------------+---------------------------+
|
|
25
|
-
| | |
|
|
26
|
-
| OVERLINE | PRODUCT SHOT or |
|
|
27
|
-
| (text-sm, accent, | ILLUSTRATION |
|
|
28
|
-
| tracking-wide) | (warm tones, soft |
|
|
29
|
-
| | shadow, slight tilt) |
|
|
30
|
-
| HEADLINE | |
|
|
31
|
-
| (font-display, text-5xl, | |
|
|
32
|
-
| weight-bold, heading) | |
|
|
33
|
-
| | |
|
|
34
|
-
| SUBTITLE | |
|
|
35
|
-
| (text-lg, secondary, | |
|
|
36
|
-
| max-width 480px) | |
|
|
37
|
-
| | |
|
|
38
|
-
| [CTA Primary] [CTA Sec] | |
|
|
39
|
-
| | |
|
|
40
|
-
+---------------------------+---------------------------+
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Use when: product has a strong visual to show. Most common warm hero.
|
|
44
|
-
|
|
45
|
-
### Pattern B: Editorial Hero
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
+-----------------------------------------------------------+
|
|
49
|
-
| centered, max-width: 720px |
|
|
50
|
-
| |
|
|
51
|
-
| OVERLINE (accent badge or small label) |
|
|
52
|
-
| |
|
|
53
|
-
| HEADLINE |
|
|
54
|
-
| (font-display, text-5xl, weight-bold, text-align: center)|
|
|
55
|
-
| letter-spacing: var(--tracking-tight) |
|
|
56
|
-
| |
|
|
57
|
-
| SUBTITLE |
|
|
58
|
-
| (text-xl, secondary, text-align: center, max-width 560px)|
|
|
59
|
-
| |
|
|
60
|
-
| [CTA Primary] |
|
|
61
|
-
| |
|
|
62
|
-
| SOCIAL PROOF LINE |
|
|
63
|
-
| (avatar cluster + "Trusted by 2,000+ teams") |
|
|
64
|
-
| |
|
|
65
|
-
+-----------------------------------------------------------+
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Use when: message is the product. No visual needed above the fold.
|
|
69
|
-
|
|
70
|
-
### Pattern C: Immersive Hero
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
+-----------------------------------------------------------+
|
|
74
|
-
| full-width background: warm gradient or warm photography |
|
|
75
|
-
| (subtle warm overlay if image is cold) |
|
|
76
|
-
| |
|
|
77
|
-
| centered content, max-width: 640px |
|
|
78
|
-
| |
|
|
79
|
-
| HEADLINE (white or light text if on dark background) |
|
|
80
|
-
| SUBTITLE |
|
|
81
|
-
| [CTA on warm background] |
|
|
82
|
-
| |
|
|
83
|
-
+-----------------------------------------------------------+
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Use when: brand-heavy, emotional product, premium feel.
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Section Patterns
|
|
91
|
-
|
|
92
|
-
### Feature Grid
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
SECTION HEADER
|
|
96
|
-
overline: var(--text-sm), var(--accent), var(--tracking-wider), uppercase
|
|
97
|
-
title: var(--font-display), var(--text-3xl), var(--weight-bold)
|
|
98
|
-
subtitle: var(--text-lg), var(--text-secondary), max-width 600px
|
|
99
|
-
text-align: center or left
|
|
100
|
-
margin-bottom: var(--space-12)
|
|
101
|
-
|
|
102
|
-
GRID
|
|
103
|
-
display: grid
|
|
104
|
-
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
|
|
105
|
-
gap: var(--space-6)
|
|
106
|
-
uses: Feature Card component
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Rules:
|
|
110
|
-
- Max 6 features in a grid. If more, group into categories.
|
|
111
|
-
- Each feature card should have a warm icon area (not just an icon floating in space).
|
|
112
|
-
|
|
113
|
-
### Alternating Feature Sections
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
SECTION 1 (image left, text right)
|
|
117
|
-
+---------------------------+---------------------------+
|
|
118
|
-
| [Product screenshot | OVERLINE |
|
|
119
|
-
| or illustration, | TITLE (serif, 2xl) |
|
|
120
|
-
| rounded-2xl, | DESCRIPTION |
|
|
121
|
-
| warm shadow] | BULLET POINTS |
|
|
122
|
-
| | [CTA link →] |
|
|
123
|
-
+---------------------------+---------------------------+
|
|
124
|
-
|
|
125
|
-
SECTION 2 (text left, image right)
|
|
126
|
-
+---------------------------+---------------------------+
|
|
127
|
-
| OVERLINE | [Product screenshot |
|
|
128
|
-
| TITLE | different angle] |
|
|
129
|
-
| DESCRIPTION | |
|
|
130
|
-
+---------------------------+---------------------------+
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
Rules:
|
|
134
|
-
- Always alternate sides.
|
|
135
|
-
- Images should be real product screenshots with warm treatment (rounded corners, soft shadow, slight warm tint).
|
|
136
|
-
- Vertical padding between sections: `var(--space-20)` or `var(--space-24)`.
|
|
137
|
-
|
|
138
|
-
### Testimonials
|
|
139
|
-
|
|
140
|
-
```
|
|
141
|
-
Option A — Pull Quote:
|
|
142
|
-
font: var(--font-display), var(--text-2xl), italic
|
|
143
|
-
color: var(--text-heading)
|
|
144
|
-
max-width: 640px
|
|
145
|
-
text-align: center
|
|
146
|
-
warm accent bar on left or oversized opening quote mark
|
|
147
|
-
|
|
148
|
-
attribution:
|
|
149
|
-
avatar (48px) + name + title + company
|
|
150
|
-
font: var(--font-body), var(--text-sm)
|
|
151
|
-
margin-top: var(--space-6)
|
|
152
|
-
|
|
153
|
-
Option B — Card Grid:
|
|
154
|
-
3 columns of testimonial cards
|
|
155
|
-
Each: quote + avatar + name + role
|
|
156
|
-
background: var(--bg-surface)
|
|
157
|
-
border: 1px solid var(--border-subtle)
|
|
158
|
-
border-radius: var(--radius-2xl)
|
|
159
|
-
padding: var(--space-6)
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Rules:
|
|
163
|
-
- Pull quote is preferred for warm aesthetic. Card grid is acceptable for volume.
|
|
164
|
-
- Never more than one testimonial section per page.
|
|
165
|
-
|
|
166
|
-
### Social Proof Strip
|
|
167
|
-
|
|
168
|
-
```
|
|
169
|
-
horizontal row of logos or metrics
|
|
170
|
-
"Trusted by teams at [Logo] [Logo] [Logo] [Logo]"
|
|
171
|
-
logos: grayscale, opacity 0.5, warm-tinted
|
|
172
|
-
hover: opacity 1
|
|
173
|
-
|
|
174
|
-
or metrics:
|
|
175
|
-
"10K+ users | 4.9/5 rating | 50+ countries"
|
|
176
|
-
font: var(--font-body), var(--text-lg), var(--weight-semibold)
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Pricing Section
|
|
180
|
-
|
|
181
|
-
```
|
|
182
|
-
SECTION HEADER (centered)
|
|
183
|
-
title: "Simple, transparent pricing"
|
|
184
|
-
subtitle: "No hidden fees. Cancel anytime."
|
|
185
|
-
|
|
186
|
-
PRICING CARDS (2-3 columns, centered)
|
|
187
|
-
each card:
|
|
188
|
-
background: var(--bg-surface)
|
|
189
|
-
border: 1px solid var(--border-subtle)
|
|
190
|
-
border-radius: var(--radius-2xl)
|
|
191
|
-
padding: var(--space-8)
|
|
192
|
-
|
|
193
|
-
plan name: var(--text-lg), var(--weight-semibold)
|
|
194
|
-
price: var(--font-display), var(--text-4xl), var(--weight-bold)
|
|
195
|
-
per period: var(--text-sm), var(--text-secondary)
|
|
196
|
-
feature list: checkmarks with var(--semantic-green)
|
|
197
|
-
CTA: Primary or Secondary Button (full width)
|
|
198
|
-
|
|
199
|
-
recommended card:
|
|
200
|
-
border: 2px solid var(--accent)
|
|
201
|
-
shadow: var(--shadow-lg)
|
|
202
|
-
"Most Popular" badge above card
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### CTA Section (before footer)
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
background: var(--bg-void)
|
|
209
|
-
border-radius: var(--radius-3xl)
|
|
210
|
-
padding: var(--space-16) var(--space-8)
|
|
211
|
-
text-align: center
|
|
212
|
-
margin: var(--space-16) auto
|
|
213
|
-
max-width: var(--content-lg)
|
|
214
|
-
|
|
215
|
-
title: var(--font-display), var(--text-3xl), var(--weight-bold)
|
|
216
|
-
subtitle: var(--text-lg), var(--text-secondary)
|
|
217
|
-
[CTA Primary — Large variant] + [CTA Secondary]
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## Footer
|
|
223
|
-
|
|
224
|
-
```
|
|
225
|
-
background: var(--bg-void)
|
|
226
|
-
border-top: 1px solid var(--border-subtle)
|
|
227
|
-
padding: var(--space-16) var(--space-8) var(--space-8)
|
|
228
|
-
|
|
229
|
-
LAYOUT (4 columns on desktop, stacked on mobile)
|
|
230
|
-
Column 1: Logo + tagline + social icons
|
|
231
|
-
Columns 2-4: Link groups (Product, Company, Resources)
|
|
232
|
-
|
|
233
|
-
link group title:
|
|
234
|
-
font: var(--font-body), var(--text-sm), var(--weight-semibold)
|
|
235
|
-
color: var(--text-heading)
|
|
236
|
-
margin-bottom: var(--space-4)
|
|
237
|
-
|
|
238
|
-
links:
|
|
239
|
-
font: var(--text-sm), var(--text-secondary)
|
|
240
|
-
hover: var(--text-heading)
|
|
241
|
-
line-height: 2
|
|
242
|
-
|
|
243
|
-
BOTTOM BAR
|
|
244
|
-
border-top: 1px solid var(--border-subtle)
|
|
245
|
-
margin-top: var(--space-8)
|
|
246
|
-
padding-top: var(--space-6)
|
|
247
|
-
display: flex; justify-content: space-between
|
|
248
|
-
copyright: var(--text-xs), var(--text-muted)
|
|
249
|
-
legal links: var(--text-xs), var(--text-secondary)
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## Navigation (Websites)
|
|
255
|
-
|
|
256
|
-
```
|
|
257
|
-
STICKY HEADER
|
|
258
|
-
height: 72px
|
|
259
|
-
background: rgba(253, 252, 250, 0.85) /* bg-base with blur */
|
|
260
|
-
backdrop-filter: blur(12px)
|
|
261
|
-
border-bottom: 1px solid var(--border-subtle)
|
|
262
|
-
position: sticky; top: 0
|
|
263
|
-
z-index: var(--z-sticky)
|
|
264
|
-
|
|
265
|
-
logo (left): max-height 32px
|
|
266
|
-
nav links (center): var(--text-sm), var(--weight-medium), var(--text-secondary)
|
|
267
|
-
hover: var(--text-heading)
|
|
268
|
-
active: var(--text-heading) + subtle underline
|
|
269
|
-
CTA (right): Primary Button (compact variant)
|
|
270
|
-
|
|
271
|
-
MOBILE (< 768px)
|
|
272
|
-
hamburger icon → slide-in drawer from right
|
|
273
|
-
full-height, var(--bg-surface)
|
|
274
|
-
nav items stacked vertically
|
|
275
|
-
CTA at bottom of drawer
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
## Anti-Patterns (Never Do This)
|
|
281
|
-
|
|
282
|
-
1. **Generic hero:** Centered headline, two buttons, abstract gradient background. This is every AI-generated landing page.
|
|
283
|
-
2. **Icon grid features:** 6 features as icon + title + one-line description in a 3x2 grid. Lazy and undifferentiated.
|
|
284
|
-
3. **Blue accent on warm page:** Blue CTAs or links break the warm system. Use terracotta or sage.
|
|
285
|
-
4. **Stock photography without warm treatment:** Raw stock photos feel cold. Apply rounded corners, soft shadow, warm tint overlay if needed.
|
|
286
|
-
5. **Testimonials as afterthought:** Generic quote in a gray box at the bottom. Either make it editorial (serif, large) or skip it.
|
|
287
|
-
6. **Dense footer:** Footer should breathe like the rest of the page. Generous padding, warm background.
|
|
288
|
-
7. **Multiple CTAs competing:** One primary CTA per viewport. Secondary CTAs use Ghost or Secondary button style.
|
|
289
|
-
8. **Repeating the same layout:** If sections 2, 3, and 4 all use the same card grid, the page feels generated. Vary the composition.
|
|
1
|
+
# Website Layouts — Warm Craft UI
|
|
2
|
+
|
|
3
|
+
Composition guides for landing pages, product pages, and institutional websites. Uses tokens from `design-tokens.md` and components from `components.md`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## General Website Rules
|
|
8
|
+
|
|
9
|
+
1. **Hero is the first impression.** It must feel crafted, not templated. Never a centered headline + two buttons + stock image.
|
|
10
|
+
2. **Editorial pacing.** Alternate between high-impact sections and breathing room. Never repeat the same card grid four times.
|
|
11
|
+
3. **Serif drives the narrative.** Headlines, pull quotes, and hero text use `var(--font-display)`. This is what makes it feel warm, not the colors.
|
|
12
|
+
4. **Warm backgrounds, not white.** Use `var(--bg-void)` for section alternation, never pure white sections.
|
|
13
|
+
5. **One accent, used sparingly.** Terracotta for CTAs and key highlights only. Never accent borders, accent backgrounds on sections, or accent everything.
|
|
14
|
+
6. **Illustrations over icons.** Where possible, use warm, hand-drawn-style illustrations. Cold geometric SVG icons are for apps, not marketing pages.
|
|
15
|
+
7. **Real copy only.** No Lorem ipsum. Write real headlines, descriptions, and CTAs that sound like a human wrote them.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Hero Patterns
|
|
20
|
+
|
|
21
|
+
### Pattern A: Split Hero
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
+---------------------------+---------------------------+
|
|
25
|
+
| | |
|
|
26
|
+
| OVERLINE | PRODUCT SHOT or |
|
|
27
|
+
| (text-sm, accent, | ILLUSTRATION |
|
|
28
|
+
| tracking-wide) | (warm tones, soft |
|
|
29
|
+
| | shadow, slight tilt) |
|
|
30
|
+
| HEADLINE | |
|
|
31
|
+
| (font-display, text-5xl, | |
|
|
32
|
+
| weight-bold, heading) | |
|
|
33
|
+
| | |
|
|
34
|
+
| SUBTITLE | |
|
|
35
|
+
| (text-lg, secondary, | |
|
|
36
|
+
| max-width 480px) | |
|
|
37
|
+
| | |
|
|
38
|
+
| [CTA Primary] [CTA Sec] | |
|
|
39
|
+
| | |
|
|
40
|
+
+---------------------------+---------------------------+
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Use when: product has a strong visual to show. Most common warm hero.
|
|
44
|
+
|
|
45
|
+
### Pattern B: Editorial Hero
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
+-----------------------------------------------------------+
|
|
49
|
+
| centered, max-width: 720px |
|
|
50
|
+
| |
|
|
51
|
+
| OVERLINE (accent badge or small label) |
|
|
52
|
+
| |
|
|
53
|
+
| HEADLINE |
|
|
54
|
+
| (font-display, text-5xl, weight-bold, text-align: center)|
|
|
55
|
+
| letter-spacing: var(--tracking-tight) |
|
|
56
|
+
| |
|
|
57
|
+
| SUBTITLE |
|
|
58
|
+
| (text-xl, secondary, text-align: center, max-width 560px)|
|
|
59
|
+
| |
|
|
60
|
+
| [CTA Primary] |
|
|
61
|
+
| |
|
|
62
|
+
| SOCIAL PROOF LINE |
|
|
63
|
+
| (avatar cluster + "Trusted by 2,000+ teams") |
|
|
64
|
+
| |
|
|
65
|
+
+-----------------------------------------------------------+
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Use when: message is the product. No visual needed above the fold.
|
|
69
|
+
|
|
70
|
+
### Pattern C: Immersive Hero
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
+-----------------------------------------------------------+
|
|
74
|
+
| full-width background: warm gradient or warm photography |
|
|
75
|
+
| (subtle warm overlay if image is cold) |
|
|
76
|
+
| |
|
|
77
|
+
| centered content, max-width: 640px |
|
|
78
|
+
| |
|
|
79
|
+
| HEADLINE (white or light text if on dark background) |
|
|
80
|
+
| SUBTITLE |
|
|
81
|
+
| [CTA on warm background] |
|
|
82
|
+
| |
|
|
83
|
+
+-----------------------------------------------------------+
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Use when: brand-heavy, emotional product, premium feel.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Section Patterns
|
|
91
|
+
|
|
92
|
+
### Feature Grid
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
SECTION HEADER
|
|
96
|
+
overline: var(--text-sm), var(--accent), var(--tracking-wider), uppercase
|
|
97
|
+
title: var(--font-display), var(--text-3xl), var(--weight-bold)
|
|
98
|
+
subtitle: var(--text-lg), var(--text-secondary), max-width 600px
|
|
99
|
+
text-align: center or left
|
|
100
|
+
margin-bottom: var(--space-12)
|
|
101
|
+
|
|
102
|
+
GRID
|
|
103
|
+
display: grid
|
|
104
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
|
|
105
|
+
gap: var(--space-6)
|
|
106
|
+
uses: Feature Card component
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Rules:
|
|
110
|
+
- Max 6 features in a grid. If more, group into categories.
|
|
111
|
+
- Each feature card should have a warm icon area (not just an icon floating in space).
|
|
112
|
+
|
|
113
|
+
### Alternating Feature Sections
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
SECTION 1 (image left, text right)
|
|
117
|
+
+---------------------------+---------------------------+
|
|
118
|
+
| [Product screenshot | OVERLINE |
|
|
119
|
+
| or illustration, | TITLE (serif, 2xl) |
|
|
120
|
+
| rounded-2xl, | DESCRIPTION |
|
|
121
|
+
| warm shadow] | BULLET POINTS |
|
|
122
|
+
| | [CTA link →] |
|
|
123
|
+
+---------------------------+---------------------------+
|
|
124
|
+
|
|
125
|
+
SECTION 2 (text left, image right)
|
|
126
|
+
+---------------------------+---------------------------+
|
|
127
|
+
| OVERLINE | [Product screenshot |
|
|
128
|
+
| TITLE | different angle] |
|
|
129
|
+
| DESCRIPTION | |
|
|
130
|
+
+---------------------------+---------------------------+
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Rules:
|
|
134
|
+
- Always alternate sides.
|
|
135
|
+
- Images should be real product screenshots with warm treatment (rounded corners, soft shadow, slight warm tint).
|
|
136
|
+
- Vertical padding between sections: `var(--space-20)` or `var(--space-24)`.
|
|
137
|
+
|
|
138
|
+
### Testimonials
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Option A — Pull Quote:
|
|
142
|
+
font: var(--font-display), var(--text-2xl), italic
|
|
143
|
+
color: var(--text-heading)
|
|
144
|
+
max-width: 640px
|
|
145
|
+
text-align: center
|
|
146
|
+
warm accent bar on left or oversized opening quote mark
|
|
147
|
+
|
|
148
|
+
attribution:
|
|
149
|
+
avatar (48px) + name + title + company
|
|
150
|
+
font: var(--font-body), var(--text-sm)
|
|
151
|
+
margin-top: var(--space-6)
|
|
152
|
+
|
|
153
|
+
Option B — Card Grid:
|
|
154
|
+
3 columns of testimonial cards
|
|
155
|
+
Each: quote + avatar + name + role
|
|
156
|
+
background: var(--bg-surface)
|
|
157
|
+
border: 1px solid var(--border-subtle)
|
|
158
|
+
border-radius: var(--radius-2xl)
|
|
159
|
+
padding: var(--space-6)
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Rules:
|
|
163
|
+
- Pull quote is preferred for warm aesthetic. Card grid is acceptable for volume.
|
|
164
|
+
- Never more than one testimonial section per page.
|
|
165
|
+
|
|
166
|
+
### Social Proof Strip
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
horizontal row of logos or metrics
|
|
170
|
+
"Trusted by teams at [Logo] [Logo] [Logo] [Logo]"
|
|
171
|
+
logos: grayscale, opacity 0.5, warm-tinted
|
|
172
|
+
hover: opacity 1
|
|
173
|
+
|
|
174
|
+
or metrics:
|
|
175
|
+
"10K+ users | 4.9/5 rating | 50+ countries"
|
|
176
|
+
font: var(--font-body), var(--text-lg), var(--weight-semibold)
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Pricing Section
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
SECTION HEADER (centered)
|
|
183
|
+
title: "Simple, transparent pricing"
|
|
184
|
+
subtitle: "No hidden fees. Cancel anytime."
|
|
185
|
+
|
|
186
|
+
PRICING CARDS (2-3 columns, centered)
|
|
187
|
+
each card:
|
|
188
|
+
background: var(--bg-surface)
|
|
189
|
+
border: 1px solid var(--border-subtle)
|
|
190
|
+
border-radius: var(--radius-2xl)
|
|
191
|
+
padding: var(--space-8)
|
|
192
|
+
|
|
193
|
+
plan name: var(--text-lg), var(--weight-semibold)
|
|
194
|
+
price: var(--font-display), var(--text-4xl), var(--weight-bold)
|
|
195
|
+
per period: var(--text-sm), var(--text-secondary)
|
|
196
|
+
feature list: checkmarks with var(--semantic-green)
|
|
197
|
+
CTA: Primary or Secondary Button (full width)
|
|
198
|
+
|
|
199
|
+
recommended card:
|
|
200
|
+
border: 2px solid var(--accent)
|
|
201
|
+
shadow: var(--shadow-lg)
|
|
202
|
+
"Most Popular" badge above card
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### CTA Section (before footer)
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
background: var(--bg-void)
|
|
209
|
+
border-radius: var(--radius-3xl)
|
|
210
|
+
padding: var(--space-16) var(--space-8)
|
|
211
|
+
text-align: center
|
|
212
|
+
margin: var(--space-16) auto
|
|
213
|
+
max-width: var(--content-lg)
|
|
214
|
+
|
|
215
|
+
title: var(--font-display), var(--text-3xl), var(--weight-bold)
|
|
216
|
+
subtitle: var(--text-lg), var(--text-secondary)
|
|
217
|
+
[CTA Primary — Large variant] + [CTA Secondary]
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Footer
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
background: var(--bg-void)
|
|
226
|
+
border-top: 1px solid var(--border-subtle)
|
|
227
|
+
padding: var(--space-16) var(--space-8) var(--space-8)
|
|
228
|
+
|
|
229
|
+
LAYOUT (4 columns on desktop, stacked on mobile)
|
|
230
|
+
Column 1: Logo + tagline + social icons
|
|
231
|
+
Columns 2-4: Link groups (Product, Company, Resources)
|
|
232
|
+
|
|
233
|
+
link group title:
|
|
234
|
+
font: var(--font-body), var(--text-sm), var(--weight-semibold)
|
|
235
|
+
color: var(--text-heading)
|
|
236
|
+
margin-bottom: var(--space-4)
|
|
237
|
+
|
|
238
|
+
links:
|
|
239
|
+
font: var(--text-sm), var(--text-secondary)
|
|
240
|
+
hover: var(--text-heading)
|
|
241
|
+
line-height: 2
|
|
242
|
+
|
|
243
|
+
BOTTOM BAR
|
|
244
|
+
border-top: 1px solid var(--border-subtle)
|
|
245
|
+
margin-top: var(--space-8)
|
|
246
|
+
padding-top: var(--space-6)
|
|
247
|
+
display: flex; justify-content: space-between
|
|
248
|
+
copyright: var(--text-xs), var(--text-muted)
|
|
249
|
+
legal links: var(--text-xs), var(--text-secondary)
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Navigation (Websites)
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
STICKY HEADER
|
|
258
|
+
height: 72px
|
|
259
|
+
background: rgba(253, 252, 250, 0.85) /* bg-base with blur */
|
|
260
|
+
backdrop-filter: blur(12px)
|
|
261
|
+
border-bottom: 1px solid var(--border-subtle)
|
|
262
|
+
position: sticky; top: 0
|
|
263
|
+
z-index: var(--z-sticky)
|
|
264
|
+
|
|
265
|
+
logo (left): max-height 32px
|
|
266
|
+
nav links (center): var(--text-sm), var(--weight-medium), var(--text-secondary)
|
|
267
|
+
hover: var(--text-heading)
|
|
268
|
+
active: var(--text-heading) + subtle underline
|
|
269
|
+
CTA (right): Primary Button (compact variant)
|
|
270
|
+
|
|
271
|
+
MOBILE (< 768px)
|
|
272
|
+
hamburger icon → slide-in drawer from right
|
|
273
|
+
full-height, var(--bg-surface)
|
|
274
|
+
nav items stacked vertically
|
|
275
|
+
CTA at bottom of drawer
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Anti-Patterns (Never Do This)
|
|
281
|
+
|
|
282
|
+
1. **Generic hero:** Centered headline, two buttons, abstract gradient background. This is every AI-generated landing page.
|
|
283
|
+
2. **Icon grid features:** 6 features as icon + title + one-line description in a 3x2 grid. Lazy and undifferentiated.
|
|
284
|
+
3. **Blue accent on warm page:** Blue CTAs or links break the warm system. Use terracotta or sage.
|
|
285
|
+
4. **Stock photography without warm treatment:** Raw stock photos feel cold. Apply rounded corners, soft shadow, warm tint overlay if needed.
|
|
286
|
+
5. **Testimonials as afterthought:** Generic quote in a gray box at the bottom. Either make it editorial (serif, large) or skip it.
|
|
287
|
+
6. **Dense footer:** Footer should breathe like the rest of the page. Generous padding, warm background.
|
|
288
|
+
7. **Multiple CTAs competing:** One primary CTA per viewport. Secondary CTAs use Ghost or Secondary button style.
|
|
289
|
+
8. **Repeating the same layout:** If sections 2, 3, and 4 all use the same card grid, the page feels generated. Vary the composition.
|