@jaimevalasek/aioson 1.30.1 → 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.
Files changed (90) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
  3. package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
  4. package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
  5. package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
  6. package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
  7. package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
  8. package/docs/design-previews/cognitive-core-ui.html +281 -463
  9. package/docs/design-previews/index.html +83 -31
  10. package/package.json +1 -1
  11. package/src/constants.js +567 -511
  12. package/template/.aioson/docs/play/README.md +2 -0
  13. package/template/.aioson/docs/play/agent-usage-guide.md +7 -1
  14. package/template/.aioson/docs/play/app-compatibility-guide.md +6 -1
  15. package/template/.aioson/docs/play/auth-services-and-testing.md +16 -1
  16. package/template/.aioson/docs/play/manifest-and-runtime.md +23 -0
  17. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  18. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  19. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  20. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  21. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  22. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  23. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  24. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  25. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  26. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  27. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  28. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  33. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  34. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  35. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  36. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  37. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  38. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  39. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  40. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  41. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  42. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  43. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  44. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  49. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  50. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  51. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  52. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  57. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  58. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  59. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  60. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  61. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  62. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  63. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  64. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  65. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  66. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  71. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  72. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  73. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  74. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  76. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  77. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  78. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  79. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  80. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  83. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  84. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  85. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  86. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  87. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  88. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  89. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  90. 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.