getrelay 0.1.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.
Files changed (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -0
  3. package/bin/relay.js +362 -0
  4. package/design-md/airbnb/DESIGN.md +545 -0
  5. package/design-md/airbnb/README.md +5 -0
  6. package/design-md/airtable/DESIGN.md +554 -0
  7. package/design-md/airtable/README.md +5 -0
  8. package/design-md/apple/DESIGN.md +562 -0
  9. package/design-md/apple/README.md +5 -0
  10. package/design-md/binance/DESIGN.md +634 -0
  11. package/design-md/binance/README.md +5 -0
  12. package/design-md/bmw/DESIGN.md +544 -0
  13. package/design-md/bmw/README.md +5 -0
  14. package/design-md/bmw-m/DESIGN.md +503 -0
  15. package/design-md/bmw-m/README.md +5 -0
  16. package/design-md/bugatti/DESIGN.md +454 -0
  17. package/design-md/bugatti/README.md +5 -0
  18. package/design-md/cal/DESIGN.md +542 -0
  19. package/design-md/cal/README.md +5 -0
  20. package/design-md/claude/DESIGN.md +589 -0
  21. package/design-md/claude/README.md +5 -0
  22. package/design-md/clay/DESIGN.md +541 -0
  23. package/design-md/clay/README.md +5 -0
  24. package/design-md/clickhouse/DESIGN.md +544 -0
  25. package/design-md/clickhouse/README.md +5 -0
  26. package/design-md/cohere/DESIGN.md +451 -0
  27. package/design-md/cohere/README.md +5 -0
  28. package/design-md/coinbase/DESIGN.md +570 -0
  29. package/design-md/coinbase/README.md +5 -0
  30. package/design-md/composio/DESIGN.md +506 -0
  31. package/design-md/composio/README.md +5 -0
  32. package/design-md/cursor/DESIGN.md +537 -0
  33. package/design-md/cursor/README.md +5 -0
  34. package/design-md/elevenlabs/DESIGN.md +504 -0
  35. package/design-md/elevenlabs/README.md +5 -0
  36. package/design-md/expo/DESIGN.md +526 -0
  37. package/design-md/expo/README.md +5 -0
  38. package/design-md/ferrari/DESIGN.md +531 -0
  39. package/design-md/ferrari/README.md +5 -0
  40. package/design-md/figma/DESIGN.md +578 -0
  41. package/design-md/figma/README.md +5 -0
  42. package/design-md/framer/DESIGN.md +544 -0
  43. package/design-md/framer/README.md +5 -0
  44. package/design-md/hashicorp/DESIGN.md +575 -0
  45. package/design-md/hashicorp/README.md +5 -0
  46. package/design-md/ibm/DESIGN.md +550 -0
  47. package/design-md/ibm/README.md +5 -0
  48. package/design-md/intercom/DESIGN.md +546 -0
  49. package/design-md/intercom/README.md +5 -0
  50. package/design-md/kraken/DESIGN.md +125 -0
  51. package/design-md/kraken/README.md +5 -0
  52. package/design-md/lamborghini/DESIGN.md +288 -0
  53. package/design-md/lamborghini/README.md +5 -0
  54. package/design-md/linear.app/DESIGN.md +548 -0
  55. package/design-md/linear.app/README.md +5 -0
  56. package/design-md/lovable/DESIGN.md +298 -0
  57. package/design-md/lovable/README.md +5 -0
  58. package/design-md/mastercard/DESIGN.md +365 -0
  59. package/design-md/mastercard/README.md +5 -0
  60. package/design-md/meta/DESIGN.md +683 -0
  61. package/design-md/meta/README.md +5 -0
  62. package/design-md/minimax/DESIGN.md +746 -0
  63. package/design-md/minimax/README.md +5 -0
  64. package/design-md/mintlify/DESIGN.md +852 -0
  65. package/design-md/mintlify/README.md +5 -0
  66. package/design-md/miro/DESIGN.md +825 -0
  67. package/design-md/miro/README.md +5 -0
  68. package/design-md/mistral.ai/DESIGN.md +773 -0
  69. package/design-md/mistral.ai/README.md +5 -0
  70. package/design-md/mongodb/DESIGN.md +767 -0
  71. package/design-md/mongodb/README.md +5 -0
  72. package/design-md/nike/DESIGN.md +575 -0
  73. package/design-md/nike/README.md +5 -0
  74. package/design-md/notion/DESIGN.md +821 -0
  75. package/design-md/notion/README.md +5 -0
  76. package/design-md/nvidia/DESIGN.md +640 -0
  77. package/design-md/nvidia/README.md +5 -0
  78. package/design-md/ollama/DESIGN.md +539 -0
  79. package/design-md/ollama/README.md +5 -0
  80. package/design-md/opencode.ai/DESIGN.md +521 -0
  81. package/design-md/opencode.ai/README.md +5 -0
  82. package/design-md/pinterest/DESIGN.md +597 -0
  83. package/design-md/pinterest/README.md +5 -0
  84. package/design-md/playstation/DESIGN.md +661 -0
  85. package/design-md/playstation/README.md +5 -0
  86. package/design-md/posthog/DESIGN.md +690 -0
  87. package/design-md/posthog/README.md +5 -0
  88. package/design-md/raycast/DESIGN.md +669 -0
  89. package/design-md/raycast/README.md +5 -0
  90. package/design-md/renault/DESIGN.md +589 -0
  91. package/design-md/renault/README.md +5 -0
  92. package/design-md/replicate/DESIGN.md +616 -0
  93. package/design-md/replicate/README.md +5 -0
  94. package/design-md/resend/DESIGN.md +585 -0
  95. package/design-md/resend/README.md +5 -0
  96. package/design-md/revolut/DESIGN.md +636 -0
  97. package/design-md/revolut/README.md +5 -0
  98. package/design-md/runwayml/DESIGN.md +244 -0
  99. package/design-md/runwayml/README.md +5 -0
  100. package/design-md/sanity/DESIGN.md +357 -0
  101. package/design-md/sanity/README.md +5 -0
  102. package/design-md/sentry/DESIGN.md +551 -0
  103. package/design-md/sentry/README.md +5 -0
  104. package/design-md/shopify/DESIGN.md +516 -0
  105. package/design-md/shopify/README.md +5 -0
  106. package/design-md/slack/DESIGN.md +482 -0
  107. package/design-md/spacex/DESIGN.md +363 -0
  108. package/design-md/spacex/README.md +5 -0
  109. package/design-md/spotify/DESIGN.md +246 -0
  110. package/design-md/spotify/README.md +5 -0
  111. package/design-md/starbucks/DESIGN.md +580 -0
  112. package/design-md/starbucks/README.md +5 -0
  113. package/design-md/stripe/DESIGN.md +487 -0
  114. package/design-md/stripe/README.md +5 -0
  115. package/design-md/supabase/DESIGN.md +462 -0
  116. package/design-md/supabase/README.md +5 -0
  117. package/design-md/superhuman/DESIGN.md +448 -0
  118. package/design-md/superhuman/README.md +5 -0
  119. package/design-md/tesla/DESIGN.md +286 -0
  120. package/design-md/tesla/README.md +5 -0
  121. package/design-md/theverge/DESIGN.md +339 -0
  122. package/design-md/theverge/README.md +5 -0
  123. package/design-md/together.ai/DESIGN.md +633 -0
  124. package/design-md/together.ai/README.md +5 -0
  125. package/design-md/uber/DESIGN.md +636 -0
  126. package/design-md/uber/README.md +5 -0
  127. package/design-md/vercel/DESIGN.md +736 -0
  128. package/design-md/vercel/README.md +5 -0
  129. package/design-md/vodafone/DESIGN.md +538 -0
  130. package/design-md/vodafone/README.md +5 -0
  131. package/design-md/voltagent/DESIGN.md +521 -0
  132. package/design-md/voltagent/README.md +5 -0
  133. package/design-md/warp/DESIGN.md +526 -0
  134. package/design-md/warp/README.md +5 -0
  135. package/design-md/webflow/DESIGN.md +588 -0
  136. package/design-md/webflow/README.md +5 -0
  137. package/design-md/wired/DESIGN.md +497 -0
  138. package/design-md/wired/README.md +5 -0
  139. package/design-md/wise/DESIGN.md +544 -0
  140. package/design-md/wise/README.md +5 -0
  141. package/design-md/x.ai/DESIGN.md +465 -0
  142. package/design-md/x.ai/README.md +5 -0
  143. package/design-md/zapier/DESIGN.md +537 -0
  144. package/design-md/zapier/README.md +5 -0
  145. package/package.json +31 -0
@@ -0,0 +1,821 @@
1
+ ---
2
+ version: alpha
3
+ name: Notion
4
+ description: Notion presents itself as the all-in-one workspace through a confident, illustration-rich brand voice — anchored by a deep navy hero band ({colors.brand-navy}) decorated with brand-colored sticky-note dots and mesh wire illustrations, a signature purple pill primary CTA ({colors.primary}), and a rich palette of pastel-tinted feature cards that echo the colorful database properties of the live product. The system uses a Notion-Sans (Inter-based) typeface across every UI surface, anchors a 4-tier pricing comparison (Free / Plus / Business / Enterprise), and presents the live workspace UI mockup directly inside the hero band. Coverage spans homepage, Enterprise, Product AI, Product Agents, Startups, and Pricing surfaces.
5
+
6
+ colors:
7
+ primary: "#5645d4"
8
+ primary-pressed: "#4534b3"
9
+ primary-deep: "#3a2a99"
10
+ on-primary: "#ffffff"
11
+ brand-navy: "#0a1530"
12
+ brand-navy-deep: "#070f24"
13
+ brand-navy-mid: "#1a2a52"
14
+ link-blue: "#0075de"
15
+ link-blue-pressed: "#005bab"
16
+ brand-orange: "#dd5b00"
17
+ brand-orange-deep: "#793400"
18
+ brand-pink: "#ff64c8"
19
+ brand-pink-deep: "#a02e6d"
20
+ brand-purple: "#7b3ff2"
21
+ brand-purple-300: "#d6b6f6"
22
+ brand-purple-800: "#391c57"
23
+ brand-teal: "#2a9d99"
24
+ brand-green: "#1aae39"
25
+ brand-yellow: "#f5d75e"
26
+ brand-brown: "#523410"
27
+ card-tint-peach: "#ffe8d4"
28
+ card-tint-rose: "#fde0ec"
29
+ card-tint-mint: "#d9f3e1"
30
+ card-tint-lavender: "#e6e0f5"
31
+ card-tint-sky: "#dcecfa"
32
+ card-tint-yellow: "#fef7d6"
33
+ card-tint-yellow-bold: "#f9e79f"
34
+ card-tint-cream: "#f8f5e8"
35
+ card-tint-gray: "#f0eeec"
36
+ canvas: "#ffffff"
37
+ surface: "#f6f5f4"
38
+ surface-soft: "#fafaf9"
39
+ hairline: "#e5e3df"
40
+ hairline-soft: "#ede9e4"
41
+ hairline-strong: "#c8c4be"
42
+ ink-deep: "#000000"
43
+ ink: "#1a1a1a"
44
+ charcoal: "#37352f"
45
+ slate: "#5d5b54"
46
+ steel: "#787671"
47
+ stone: "#a4a097"
48
+ muted: "#bbb8b1"
49
+ on-dark: "#ffffff"
50
+ on-dark-muted: "#a4a097"
51
+ semantic-success: "#1aae39"
52
+ semantic-warning: "#dd5b00"
53
+ semantic-error: "#e03131"
54
+
55
+ typography:
56
+ hero-display:
57
+ fontFamily: Notion Sans
58
+ fontSize: 80px
59
+ fontWeight: 600
60
+ lineHeight: 1.05
61
+ letterSpacing: -2px
62
+ display-lg:
63
+ fontFamily: Notion Sans
64
+ fontSize: 56px
65
+ fontWeight: 600
66
+ lineHeight: 1.10
67
+ letterSpacing: -1px
68
+ heading-1:
69
+ fontFamily: Notion Sans
70
+ fontSize: 48px
71
+ fontWeight: 600
72
+ lineHeight: 1.15
73
+ letterSpacing: -0.5px
74
+ heading-2:
75
+ fontFamily: Notion Sans
76
+ fontSize: 36px
77
+ fontWeight: 600
78
+ lineHeight: 1.20
79
+ letterSpacing: -0.5px
80
+ heading-3:
81
+ fontFamily: Notion Sans
82
+ fontSize: 28px
83
+ fontWeight: 600
84
+ lineHeight: 1.25
85
+ heading-4:
86
+ fontFamily: Notion Sans
87
+ fontSize: 22px
88
+ fontWeight: 600
89
+ lineHeight: 1.30
90
+ heading-5:
91
+ fontFamily: Notion Sans
92
+ fontSize: 18px
93
+ fontWeight: 600
94
+ lineHeight: 1.40
95
+ subtitle:
96
+ fontFamily: Notion Sans
97
+ fontSize: 18px
98
+ fontWeight: 400
99
+ lineHeight: 1.50
100
+ body-md:
101
+ fontFamily: Notion Sans
102
+ fontSize: 16px
103
+ fontWeight: 400
104
+ lineHeight: 1.55
105
+ body-md-medium:
106
+ fontFamily: Notion Sans
107
+ fontSize: 16px
108
+ fontWeight: 500
109
+ lineHeight: 1.55
110
+ body-sm:
111
+ fontFamily: Notion Sans
112
+ fontSize: 14px
113
+ fontWeight: 400
114
+ lineHeight: 1.50
115
+ body-sm-medium:
116
+ fontFamily: Notion Sans
117
+ fontSize: 14px
118
+ fontWeight: 500
119
+ lineHeight: 1.50
120
+ caption:
121
+ fontFamily: Notion Sans
122
+ fontSize: 13px
123
+ fontWeight: 400
124
+ lineHeight: 1.40
125
+ caption-bold:
126
+ fontFamily: Notion Sans
127
+ fontSize: 13px
128
+ fontWeight: 600
129
+ lineHeight: 1.40
130
+ micro:
131
+ fontFamily: Notion Sans
132
+ fontSize: 12px
133
+ fontWeight: 500
134
+ lineHeight: 1.40
135
+ micro-uppercase:
136
+ fontFamily: Notion Sans
137
+ fontSize: 11px
138
+ fontWeight: 600
139
+ lineHeight: 1.40
140
+ letterSpacing: 1px
141
+ button-md:
142
+ fontFamily: Notion Sans
143
+ fontSize: 14px
144
+ fontWeight: 500
145
+ lineHeight: 1.30
146
+
147
+ rounded:
148
+ xs: 4px
149
+ sm: 6px
150
+ md: 8px
151
+ lg: 12px
152
+ xl: 16px
153
+ xxl: 20px
154
+ xxxl: 24px
155
+ full: 9999px
156
+
157
+ spacing:
158
+ xxs: 4px
159
+ xs: 8px
160
+ sm: 12px
161
+ md: 16px
162
+ lg: 20px
163
+ xl: 24px
164
+ xxl: 32px
165
+ xxxl: 40px
166
+ section-sm: 48px
167
+ section: 64px
168
+ section-lg: 96px
169
+ hero: 120px
170
+
171
+ components:
172
+ button-primary:
173
+ backgroundColor: "{colors.primary}"
174
+ textColor: "{colors.on-primary}"
175
+ typography: "{typography.button-md}"
176
+ rounded: "{rounded.md}"
177
+ padding: "10px 18px"
178
+ button-primary-pressed:
179
+ backgroundColor: "{colors.primary-pressed}"
180
+ textColor: "{colors.on-primary}"
181
+ button-primary-disabled:
182
+ backgroundColor: "{colors.hairline}"
183
+ textColor: "{colors.muted}"
184
+ button-dark:
185
+ backgroundColor: "{colors.ink-deep}"
186
+ textColor: "{colors.on-dark}"
187
+ typography: "{typography.button-md}"
188
+ rounded: "{rounded.md}"
189
+ padding: "10px 18px"
190
+ button-secondary:
191
+ backgroundColor: "transparent"
192
+ textColor: "{colors.ink}"
193
+ typography: "{typography.button-md}"
194
+ rounded: "{rounded.md}"
195
+ padding: "10px 18px"
196
+ border: "1px solid {colors.hairline-strong}"
197
+ button-on-dark:
198
+ backgroundColor: "{colors.on-dark}"
199
+ textColor: "{colors.ink}"
200
+ typography: "{typography.button-md}"
201
+ rounded: "{rounded.md}"
202
+ padding: "10px 18px"
203
+ button-secondary-on-dark:
204
+ backgroundColor: "transparent"
205
+ textColor: "{colors.on-dark}"
206
+ typography: "{typography.button-md}"
207
+ rounded: "{rounded.md}"
208
+ padding: "10px 18px"
209
+ border: "1px solid {colors.on-dark-muted}"
210
+ button-ghost:
211
+ backgroundColor: "transparent"
212
+ textColor: "{colors.ink}"
213
+ typography: "{typography.button-md}"
214
+ rounded: "{rounded.sm}"
215
+ padding: "8px 12px"
216
+ button-link:
217
+ backgroundColor: "transparent"
218
+ textColor: "{colors.link-blue}"
219
+ typography: "{typography.body-sm-medium}"
220
+ padding: "0"
221
+ card-base:
222
+ backgroundColor: "{colors.canvas}"
223
+ rounded: "{rounded.lg}"
224
+ padding: "{spacing.xl}"
225
+ border: "1px solid {colors.hairline}"
226
+ card-feature:
227
+ backgroundColor: "{colors.canvas}"
228
+ rounded: "{rounded.lg}"
229
+ padding: "{spacing.xxl}"
230
+ border: "1px solid {colors.hairline}"
231
+ card-feature-yellow-bold:
232
+ backgroundColor: "{colors.card-tint-yellow-bold}"
233
+ textColor: "{colors.charcoal}"
234
+ rounded: "{rounded.lg}"
235
+ padding: "{spacing.xxl}"
236
+ card-feature-peach:
237
+ backgroundColor: "{colors.card-tint-peach}"
238
+ textColor: "{colors.charcoal}"
239
+ rounded: "{rounded.lg}"
240
+ padding: "{spacing.xxl}"
241
+ card-feature-rose:
242
+ backgroundColor: "{colors.card-tint-rose}"
243
+ textColor: "{colors.charcoal}"
244
+ rounded: "{rounded.lg}"
245
+ padding: "{spacing.xxl}"
246
+ card-feature-mint:
247
+ backgroundColor: "{colors.card-tint-mint}"
248
+ textColor: "{colors.charcoal}"
249
+ rounded: "{rounded.lg}"
250
+ padding: "{spacing.xxl}"
251
+ card-feature-sky:
252
+ backgroundColor: "{colors.card-tint-sky}"
253
+ textColor: "{colors.charcoal}"
254
+ rounded: "{rounded.lg}"
255
+ padding: "{spacing.xxl}"
256
+ card-feature-lavender:
257
+ backgroundColor: "{colors.card-tint-lavender}"
258
+ textColor: "{colors.charcoal}"
259
+ rounded: "{rounded.lg}"
260
+ padding: "{spacing.xxl}"
261
+ card-feature-yellow:
262
+ backgroundColor: "{colors.card-tint-yellow}"
263
+ textColor: "{colors.charcoal}"
264
+ rounded: "{rounded.lg}"
265
+ padding: "{spacing.xxl}"
266
+ card-feature-cream:
267
+ backgroundColor: "{colors.card-tint-cream}"
268
+ textColor: "{colors.charcoal}"
269
+ rounded: "{rounded.lg}"
270
+ padding: "{spacing.xxl}"
271
+ card-agent-tile:
272
+ backgroundColor: "{colors.canvas}"
273
+ rounded: "{rounded.lg}"
274
+ padding: "{spacing.xl}"
275
+ border: "1px solid {colors.hairline}"
276
+ card-template:
277
+ backgroundColor: "{colors.canvas}"
278
+ rounded: "{rounded.lg}"
279
+ padding: "{spacing.lg}"
280
+ border: "1px solid {colors.hairline}"
281
+ card-startup-perk:
282
+ backgroundColor: "{colors.canvas}"
283
+ rounded: "{rounded.lg}"
284
+ padding: "{spacing.xl}"
285
+ border: "1px solid {colors.hairline}"
286
+ pricing-card:
287
+ backgroundColor: "{colors.canvas}"
288
+ rounded: "{rounded.lg}"
289
+ padding: "{spacing.xxl}"
290
+ border: "1px solid {colors.hairline}"
291
+ pricing-card-featured:
292
+ backgroundColor: "{colors.surface}"
293
+ rounded: "{rounded.lg}"
294
+ padding: "{spacing.xxl}"
295
+ border: "2px solid {colors.primary}"
296
+ text-input:
297
+ backgroundColor: "{colors.canvas}"
298
+ textColor: "{colors.ink}"
299
+ typography: "{typography.body-md}"
300
+ rounded: "{rounded.md}"
301
+ padding: "{spacing.sm} {spacing.md}"
302
+ border: "1px solid {colors.hairline-strong}"
303
+ height: 44px
304
+ text-input-focused:
305
+ backgroundColor: "{colors.canvas}"
306
+ textColor: "{colors.ink}"
307
+ border: "2px solid {colors.primary}"
308
+ search-pill:
309
+ backgroundColor: "{colors.surface}"
310
+ textColor: "{colors.steel}"
311
+ typography: "{typography.body-md}"
312
+ rounded: "{rounded.md}"
313
+ padding: "{spacing.sm} {spacing.md}"
314
+ height: 44px
315
+ border: "1px solid {colors.hairline}"
316
+ pill-tab:
317
+ backgroundColor: "transparent"
318
+ textColor: "{colors.steel}"
319
+ typography: "{typography.body-sm-medium}"
320
+ rounded: "{rounded.full}"
321
+ padding: "{spacing.xs} {spacing.md}"
322
+ border: "1px solid {colors.hairline}"
323
+ pill-tab-active:
324
+ backgroundColor: "{colors.ink-deep}"
325
+ textColor: "{colors.on-dark}"
326
+ rounded: "{rounded.full}"
327
+ border: "1px solid {colors.ink-deep}"
328
+ segmented-tab:
329
+ backgroundColor: "transparent"
330
+ textColor: "{colors.steel}"
331
+ typography: "{typography.body-sm-medium}"
332
+ padding: "{spacing.sm} {spacing.md}"
333
+ border: "0 0 2px transparent solid"
334
+ segmented-tab-active:
335
+ backgroundColor: "transparent"
336
+ textColor: "{colors.ink}"
337
+ typography: "{typography.body-sm-medium}"
338
+ border: "0 0 2px {colors.ink} solid"
339
+ badge-purple:
340
+ backgroundColor: "{colors.primary}"
341
+ textColor: "{colors.on-primary}"
342
+ typography: "{typography.caption-bold}"
343
+ rounded: "{rounded.full}"
344
+ padding: "4px 10px"
345
+ badge-pink:
346
+ backgroundColor: "{colors.brand-pink}"
347
+ textColor: "{colors.on-primary}"
348
+ typography: "{typography.caption-bold}"
349
+ rounded: "{rounded.full}"
350
+ padding: "4px 10px"
351
+ badge-orange:
352
+ backgroundColor: "{colors.brand-orange}"
353
+ textColor: "{colors.on-primary}"
354
+ typography: "{typography.caption-bold}"
355
+ rounded: "{rounded.full}"
356
+ padding: "4px 10px"
357
+ badge-tag-purple:
358
+ backgroundColor: "{colors.card-tint-lavender}"
359
+ textColor: "{colors.brand-purple-800}"
360
+ typography: "{typography.caption-bold}"
361
+ rounded: "{rounded.sm}"
362
+ padding: "2px 8px"
363
+ badge-tag-orange:
364
+ backgroundColor: "{colors.card-tint-peach}"
365
+ textColor: "{colors.brand-orange-deep}"
366
+ typography: "{typography.caption-bold}"
367
+ rounded: "{rounded.sm}"
368
+ padding: "2px 8px"
369
+ badge-tag-green:
370
+ backgroundColor: "{colors.card-tint-mint}"
371
+ textColor: "{colors.brand-green}"
372
+ typography: "{typography.caption-bold}"
373
+ rounded: "{rounded.sm}"
374
+ padding: "2px 8px"
375
+ badge-popular:
376
+ backgroundColor: "{colors.primary}"
377
+ textColor: "{colors.on-primary}"
378
+ typography: "{typography.caption-bold}"
379
+ rounded: "{rounded.full}"
380
+ padding: "4px 10px"
381
+ promo-banner:
382
+ backgroundColor: "{colors.surface}"
383
+ textColor: "{colors.ink}"
384
+ typography: "{typography.body-sm-medium}"
385
+ padding: "{spacing.sm} {spacing.md}"
386
+ hero-band-dark:
387
+ backgroundColor: "{colors.brand-navy}"
388
+ textColor: "{colors.on-dark}"
389
+ rounded: "0"
390
+ padding: "{spacing.hero}"
391
+ workspace-mockup-card:
392
+ backgroundColor: "{colors.canvas}"
393
+ rounded: "{rounded.lg}"
394
+ padding: "0"
395
+ border: "1px solid {colors.hairline}"
396
+ shadow: "rgba(15, 15, 15, 0.2) 0px 24px 48px -8px"
397
+ cta-banner-light:
398
+ backgroundColor: "{colors.surface}"
399
+ textColor: "{colors.ink}"
400
+ rounded: "{rounded.lg}"
401
+ padding: "{spacing.section}"
402
+ comparison-table:
403
+ backgroundColor: "{colors.canvas}"
404
+ textColor: "{colors.ink}"
405
+ typography: "{typography.body-sm}"
406
+ rounded: "{rounded.md}"
407
+ border: "1px solid {colors.hairline}"
408
+ comparison-row:
409
+ backgroundColor: "{colors.canvas}"
410
+ textColor: "{colors.ink}"
411
+ padding: "{spacing.md} {spacing.lg}"
412
+ border: "0 0 1px {colors.hairline-soft} solid"
413
+ testimonial-card:
414
+ backgroundColor: "{colors.canvas}"
415
+ rounded: "{rounded.lg}"
416
+ padding: "{spacing.xxl}"
417
+ border: "1px solid {colors.hairline}"
418
+ logo-wall-item:
419
+ backgroundColor: "transparent"
420
+ textColor: "{colors.steel}"
421
+ typography: "{typography.body-md-medium}"
422
+ padding: "{spacing.lg}"
423
+ faq-accordion-item:
424
+ backgroundColor: "{colors.canvas}"
425
+ rounded: "{rounded.md}"
426
+ padding: "{spacing.xl}"
427
+ border: "0 0 1px {colors.hairline} solid"
428
+ stat-row:
429
+ backgroundColor: "{colors.surface}"
430
+ textColor: "{colors.ink}"
431
+ rounded: "{rounded.lg}"
432
+ padding: "{spacing.section-sm}"
433
+ footer-region:
434
+ backgroundColor: "{colors.canvas}"
435
+ textColor: "{colors.charcoal}"
436
+ typography: "{typography.body-sm}"
437
+ padding: "{spacing.section} {spacing.xxl}"
438
+ border: "1px solid {colors.hairline}"
439
+ footer-link:
440
+ backgroundColor: "transparent"
441
+ textColor: "{colors.steel}"
442
+ typography: "{typography.body-sm}"
443
+ padding: "{spacing.xxs} 0"
444
+ ---
445
+
446
+ ## Overview
447
+
448
+ Notion presents itself as the all-in-one workspace through a confident, illustration-rich brand voice. The homepage opens with **"Meet the night shift."** rendered centered over a deep navy hero band ({colors.brand-navy}), decorated with brand-colored sticky-note dots and mesh wire illustrations scattered around the headline. The signature **purple pill primary CTA** ({colors.primary}) "Get Notion free" sits at the visual center, paired with an outlined "Request a demo" secondary. Below the buttons, a real Notion workspace UI mockup card (the "Ramp HQ" kanban board) breaks out of the hero band with a deep diffuse drop shadow.
449
+
450
+ Below the hero, the page cycles through a distinctive sequence of feature sections: a dense sticky-note "Keep work moving 24/7" panel with red/blue/green/purple/teal status icons; a **bold yellow** ({colors.card-tint-yellow-bold}) "Ask your on-demand assistants" banner card flanked by orange/rose/mint pastel feature tiles showing assistant UI mockups; and a "Bring all your work together" 3-column grid with brand-colored mockups (sky-blue tutorial card, light Notion calendar, brown/rust testimonial slate). The pricing page renders 4 tiers (Free / Plus / Business / Enterprise) horizontally with one tier featured (purple-bordered) and a dense feature comparison table running below.
451
+
452
+ The system uses a Notion-Sans typeface (Inter-based) across every UI surface — humanist-geometric character that pairs naturally with the colorful illustrations. Buttons are `{rounded.md}` (8px) rectangles, NOT pills — distinguishing Notion's sober rectangular geometry from competitors that use pills universally. Cards use `{rounded.lg}` (12px) consistently.
453
+
454
+ **Key Characteristics:**
455
+ - Deep navy hero band ({colors.brand-navy}) with scattered sticky-note dots + mesh wire decorative illustrations
456
+ - **Signature purple pill** ({colors.primary}) primary CTA — Notion's recognizable "Get Notion free" button color
457
+ - Real Notion workspace UI mockup card embedded in the hero with deep drop shadow
458
+ - Bold yellow feature banner ({colors.card-tint-yellow-bold}) for high-emphasis content sections
459
+ - Pastel feature card palette (peach, rose, mint, lavender, sky, yellow) echoing the live product database properties
460
+ - Notion-Sans (Inter-based) across every UI surface
461
+ - 8px-rounded buttons (NOT pills), 12px-rounded cards — sober editorial geometry
462
+ - 4-tier pricing comparison with dense feature table
463
+ - Centered hero layout (different from the left-aligned norm of most B2B SaaS)
464
+
465
+ ## Colors
466
+
467
+ > Source pages: notion.com/ (homepage), /enterprise, /product/ai, /product/agents, /startups, /pricing. Token coverage was identical across all six pages.
468
+
469
+ ### Brand & Primary
470
+ - **Notion Purple** ({colors.primary}): Signature primary CTA color — the unmistakable "Get Notion free" pill button. Reserved for the dominant CTA only.
471
+ - **Purple Pressed** ({colors.primary-pressed}): Pressed-state variant
472
+ - **Purple Deep** ({colors.primary-deep}): Deeper variant for emphasis
473
+ - **Brand Navy** ({colors.brand-navy}): Hero band background — deep navy
474
+ - **Brand Navy Deep** ({colors.brand-navy-deep}): Deeper navy for promo banner
475
+ - **Brand Navy Mid** ({colors.brand-navy-mid}): Mid-spectrum navy
476
+ - **Link Blue** ({colors.link-blue}): Inline text link blue (NOT primary CTA)
477
+ - **Link Blue Pressed** ({colors.link-blue-pressed}): Pressed-state link blue
478
+
479
+ ### Brand Color Spectrum (echoes live product database properties)
480
+ - **Brand Pink** ({colors.brand-pink}): Pink accent
481
+ - **Brand Pink Deep** ({colors.brand-pink-deep}): Deeper pink
482
+ - **Brand Orange** ({colors.brand-orange}): Orange accent
483
+ - **Brand Orange Deep** ({colors.brand-orange-deep}): Deeper orange-rust
484
+ - **Brand Purple** ({colors.brand-purple}): Purple accent variant
485
+ - **Brand Purple 300** ({colors.brand-purple-300}): Light purple
486
+ - **Brand Purple 800** ({colors.brand-purple-800}): Deep purple for tag text
487
+ - **Brand Teal** ({colors.brand-teal}): Teal accent
488
+ - **Brand Green** ({colors.brand-green}): Bright green
489
+ - **Brand Yellow** ({colors.brand-yellow}): Soft yellow
490
+ - **Brand Brown** ({colors.brand-brown}): Brand brown for "earthy" tints
491
+
492
+ ### Card Tints (Pastel Feature Card Backgrounds)
493
+ - **Tint Peach** ({colors.card-tint-peach}): Pale peach
494
+ - **Tint Rose** ({colors.card-tint-rose}): Pale rose-pink
495
+ - **Tint Mint** ({colors.card-tint-mint}): Pale mint-green
496
+ - **Tint Lavender** ({colors.card-tint-lavender}): Pale lavender
497
+ - **Tint Sky** ({colors.card-tint-sky}): Pale sky-blue
498
+ - **Tint Yellow** ({colors.card-tint-yellow}): Pale yellow
499
+ - **Tint Yellow Bold** ({colors.card-tint-yellow-bold}): Bold yellow for high-emphasis feature banners ("Ask your on-demand assistants")
500
+ - **Tint Cream** ({colors.card-tint-cream}): Cream tint
501
+ - **Tint Gray** ({colors.card-tint-gray}): Neutral surface
502
+
503
+ ### Surface
504
+ - **Canvas White** ({colors.canvas}): Page background and primary card surface
505
+ - **Surface** ({colors.surface}): Subtle section backgrounds, search-pill rest, featured pricing tier
506
+ - **Surface Soft** ({colors.surface-soft}): Quieter section divisions
507
+ - **Hairline** ({colors.hairline}): 1px borders and primary dividers
508
+ - **Hairline Soft** ({colors.hairline-soft}): Quieter dividers
509
+ - **Hairline Strong** ({colors.hairline-strong}): Stronger 1px border for inputs
510
+
511
+ ### Text
512
+ - **Ink Deep** ({colors.ink-deep}): Pure black for emphasis
513
+ - **Ink** ({colors.ink}): Primary headlines and body text
514
+ - **Charcoal** ({colors.charcoal}): Body emphasis (Notion's signature warm-charcoal)
515
+ - **Slate** ({colors.slate}): Secondary text
516
+ - **Steel** ({colors.steel}): Tertiary, footer links
517
+ - **Stone** ({colors.stone}): Muted labels
518
+ - **Muted** ({colors.muted}): Disabled, placeholders
519
+ - **On Dark** ({colors.on-dark}): White text on dark surfaces
520
+ - **On Dark Muted** ({colors.on-dark-muted}): Reduced-opacity white
521
+
522
+ ### Semantic
523
+ - **Success** ({colors.semantic-success}): Confirmation green
524
+ - **Warning** ({colors.semantic-warning}): Mid-priority alerts (orange)
525
+ - **Error** ({colors.semantic-error}): Validation errors (red)
526
+
527
+ ## Typography
528
+
529
+ ### Font Family
530
+ **Notion Sans** (primary): Notion's custom Inter-based variable typeface. Fallbacks: Inter, -apple-system, system-ui, 'Segoe UI', Helvetica, sans-serif. Humanist-geometric character used across every UI surface.
531
+
532
+ ### Hierarchy
533
+
534
+ | Token | Size | Weight | Line Height | Letter Spacing | Use |
535
+ |---|---|---|---|---|---|
536
+ | `{typography.hero-display}` | 80px | 600 | 1.05 | -2px | Hero ("Meet the night shift") |
537
+ | `{typography.display-lg}` | 56px | 600 | 1.10 | -1px | Section openers |
538
+ | `{typography.heading-1}` | 48px | 600 | 1.15 | -0.5px | Page-level headlines ("Try for free") |
539
+ | `{typography.heading-2}` | 36px | 600 | 1.20 | -0.5px | Subsection headlines ("Keep work moving 24/7") |
540
+ | `{typography.heading-3}` | 28px | 600 | 1.25 | 0 | Card titles |
541
+ | `{typography.heading-4}` | 22px | 600 | 1.30 | 0 | Feature tile titles |
542
+ | `{typography.heading-5}` | 18px | 600 | 1.40 | 0 | FAQ questions |
543
+ | `{typography.subtitle}` | 18px | 400 | 1.50 | 0 | Hero subtitle |
544
+ | `{typography.body-md}` | 16px | 400 | 1.55 | 0 | Primary body text |
545
+ | `{typography.body-md-medium}` | 16px | 500 | 1.55 | 0 | Body emphasis |
546
+ | `{typography.body-sm}` | 14px | 400 | 1.50 | 0 | Secondary body |
547
+ | `{typography.body-sm-medium}` | 14px | 500 | 1.50 | 0 | Active sidebar, button labels |
548
+ | `{typography.caption-bold}` | 13px | 600 | 1.40 | 0 | Badge labels |
549
+ | `{typography.button-md}` | 14px | 500 | 1.30 | 0 | Button labels |
550
+
551
+ ### Principles
552
+ - Tight hero leading (1.05) on 80px display
553
+ - Negative letter-spacing on display sizes (-2px to -0.5px)
554
+ - Generous body leading (1.55) for documentation readability
555
+ - 600 weight for headlines + 500 for buttons; 400 body
556
+
557
+ ## Layout
558
+
559
+ ### Spacing System
560
+ - **Base unit**: 4px (8px primary increment)
561
+ - **Tokens**: `{spacing.xxs}` (4px) through `{spacing.hero}` (120px)
562
+ - **Section rhythm**: Marketing pages use `{spacing.section-lg}` (96px); pricing tightens to `{spacing.section}` (64px)
563
+
564
+ ### Grid & Container
565
+ - 1280px max-width with 32px gutters
566
+ - Pricing: 4-tier card row at desktop with dense comparison table
567
+ - Homepage: centered hero with workspace mockup below buttons; alternating colorful feature card sections
568
+
569
+ ### Whitespace Philosophy
570
+ Marketing surfaces use generous breathing room between feature card bands. Workspace mockup card on hero gets full-width treatment with deep drop shadow.
571
+
572
+ ## Elevation & Depth
573
+
574
+ | Level | Treatment | Use |
575
+ |---|---|---|
576
+ | 0 (flat) | No shadow; `{colors.hairline}` border | Default cards, table rows |
577
+ | 1 (subtle) | `rgba(15, 15, 15, 0.04) 0px 1px 2px 0px` | Hover-elevated tiles |
578
+ | 2 (card) | `rgba(15, 15, 15, 0.08) 0px 4px 12px 0px` | Feature cards |
579
+ | 3 (mockup) | `rgba(15, 15, 15, 0.20) 0px 24px 48px -8px` | Hero workspace mockup card |
580
+ | 4 (modal) | `rgba(15, 15, 15, 0.16) 0px 16px 48px -8px` | Modals, dropdowns |
581
+
582
+ ### Decorative Depth
583
+ - Hero workspace mockup card uses deep diffuse drop shadow (Level 3) — significant elevation against the navy band
584
+ - Pastel feature cards carry their own visual weight via tint backgrounds
585
+ - Sticky-note dot illustrations and mesh wires add atmospheric decoration to navy hero
586
+
587
+ ## Shapes
588
+
589
+ ### Border Radius Scale
590
+
591
+ | Token | Value | Use |
592
+ |---|---|---|
593
+ | `{rounded.xs}` | 4px | Tag chips |
594
+ | `{rounded.sm}` | 6px | Type badges |
595
+ | `{rounded.md}` | 8px | Buttons, inputs, search-pill |
596
+ | `{rounded.lg}` | 12px | Cards, pricing tiers, agent tiles, workspace mockup |
597
+ | `{rounded.xl}` | 16px | Larger feature panels |
598
+ | `{rounded.xxl}` | 20px | Featured product showcases |
599
+ | `{rounded.xxxl}` | 24px | Larger feature cards |
600
+ | `{rounded.full}` | 9999px | Status badges, pill tabs (NOT regular buttons) |
601
+
602
+ Notion's geometry is sober-editorial — `{rounded.md}` (8px) buttons distinguish it from pill-button-everywhere brands.
603
+
604
+ ## Components
605
+
606
+ > Per the no-hover policy, hover states are NOT documented.
607
+
608
+ ### Buttons
609
+
610
+ **`button-primary`** — Signature purple rectangular primary CTA, the dominant action.
611
+ - Background `{colors.primary}`, text `{colors.on-primary}`, typography `{typography.button-md}`, padding `10px 18px`, rounded `{rounded.md}`.
612
+ - Pressed state `button-primary-pressed` deepens to `{colors.primary-pressed}`.
613
+ - Disabled state uses `{colors.hairline}` background.
614
+
615
+ **`button-dark`** — Black rectangular CTA on light backgrounds.
616
+ - Background `{colors.ink-deep}`, text `{colors.on-dark}`, typography `{typography.button-md}`, padding `10px 18px`, rounded `{rounded.md}`.
617
+
618
+ **`button-secondary`** — Outlined rectangular for secondary actions ("Request a demo").
619
+ - Background transparent, text `{colors.ink}`, border `1px solid {colors.hairline-strong}`, typography `{typography.button-md}`, padding `10px 18px`, rounded `{rounded.md}`.
620
+
621
+ **`button-on-dark`** — White button on dark hero bands.
622
+ - Background `{colors.on-dark}`, text `{colors.ink}`, typography `{typography.button-md}`, padding `10px 18px`, rounded `{rounded.md}`.
623
+
624
+ **`button-secondary-on-dark`** — Outlined button on dark.
625
+ - Background transparent, text `{colors.on-dark}`, border `1px solid {colors.on-dark-muted}`, typography `{typography.button-md}`, padding `10px 18px`, rounded `{rounded.md}`.
626
+
627
+ **`button-ghost`** — Quieter ghost button.
628
+ - Background transparent, text `{colors.ink}`, typography `{typography.button-md}`, padding `8px 12px`, rounded `{rounded.sm}`.
629
+
630
+ **`button-link`** — Inline blue text link (NOT primary purple).
631
+ - Background transparent, text `{colors.link-blue}`, typography `{typography.body-sm-medium}`, padding `0`.
632
+
633
+ ### Cards & Containers
634
+
635
+ **`card-base`** — Standard content card.
636
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
637
+
638
+ **`card-feature`** — Feature card with larger padding.
639
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
640
+
641
+ **`card-feature-yellow-bold`** — Bold yellow feature banner for high-emphasis content ("Ask your on-demand assistants").
642
+ - Background `{colors.card-tint-yellow-bold}`, text `{colors.charcoal}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`.
643
+
644
+ **`card-feature-peach`** + **`card-feature-rose`** + **`card-feature-mint`** + **`card-feature-sky`** + **`card-feature-lavender`** + **`card-feature-yellow`** + **`card-feature-cream`** — Pastel-tinted feature cards.
645
+ - Each variant uses its corresponding `card-tint-*` color as background, text `{colors.charcoal}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`.
646
+
647
+ **`card-agent-tile`** — Agent assistant tile.
648
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
649
+
650
+ **`card-template`** — Template thumbnail card.
651
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.lg}`, border `1px solid {colors.hairline}`.
652
+
653
+ **`card-startup-perk`** — Startup-program perk grid item.
654
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
655
+
656
+ **`pricing-card`** — Standard pricing tier card.
657
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
658
+
659
+ **`pricing-card-featured`** — Featured pricing tier (Plus or Business — purple-bordered).
660
+ - Background `{colors.surface}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `2px solid {colors.primary}`.
661
+
662
+ ### Inputs & Forms
663
+
664
+ **`text-input`** — Standard text field.
665
+ - Background `{colors.canvas}`, text `{colors.ink}`, border `1px solid {colors.hairline-strong}`, rounded `{rounded.md}`, padding `{spacing.sm} {spacing.md}`, height 44px.
666
+
667
+ **`text-input-focused`** — Activated state.
668
+ - Border switches to `2px solid {colors.primary}` (purple).
669
+
670
+ **`search-pill`** — Search bar.
671
+ - Background `{colors.surface}`, text `{colors.steel}`, typography `{typography.body-md}`, rounded `{rounded.md}`, height 44px, border `1px solid {colors.hairline}`.
672
+
673
+ ### Tabs
674
+
675
+ **`pill-tab`** + **`pill-tab-active`** — Pill-style tab nav for top-level switching.
676
+ - Inactive: text `{colors.steel}`, border `1px solid {colors.hairline}`, padding `{spacing.xs} {spacing.md}`, rounded `{rounded.full}`.
677
+ - Active: background `{colors.ink-deep}`, text `{colors.on-dark}`.
678
+
679
+ **`segmented-tab`** + **`segmented-tab-active`** — Underline-style tab navigation.
680
+ - Inactive: text `{colors.steel}`, no border. Active: text `{colors.ink}`, 2px bottom border in `{colors.ink}`.
681
+
682
+ ### Badges & Status
683
+
684
+ **`badge-purple`** — Purple status badge (matches primary CTA).
685
+ - Background `{colors.primary}`, text `{colors.on-primary}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
686
+
687
+ **`badge-pink`** — Pink accent badge.
688
+ - Background `{colors.brand-pink}`, text `{colors.on-primary}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
689
+
690
+ **`badge-orange`** — Orange accent badge.
691
+ - Background `{colors.brand-orange}`, text `{colors.on-primary}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
692
+
693
+ **`badge-tag-purple`** — Soft-purple feature tag chip.
694
+ - Background `{colors.card-tint-lavender}`, text `{colors.brand-purple-800}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
695
+
696
+ **`badge-tag-orange`** — Soft-orange feature tag.
697
+ - Background `{colors.card-tint-peach}`, text `{colors.brand-orange-deep}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
698
+
699
+ **`badge-tag-green`** — Soft-mint feature tag.
700
+ - Background `{colors.card-tint-mint}`, text `{colors.brand-green}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
701
+
702
+ **`badge-popular`** — "Most Popular" tier indicator.
703
+ - Background `{colors.primary}`, text `{colors.on-primary}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
704
+
705
+ **`promo-banner`** — Light surface promo strip ABOVE the top nav.
706
+ - Background `{colors.surface}`, text `{colors.ink}`, typography `{typography.body-sm-medium}`, padding `{spacing.sm} {spacing.md}`. ("Developers: Get a first look at our new Developer Platform on May 13.")
707
+
708
+ ### Tables
709
+
710
+ **`comparison-table`** — Pricing feature comparison table.
711
+ - Background `{colors.canvas}`, text `{colors.ink}`, typography `{typography.body-sm}`, rounded `{rounded.md}`, border `1px solid {colors.hairline}`.
712
+
713
+ **`comparison-row`** — Individual feature row.
714
+ - Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.md} {spacing.lg}`, bottom border `1px solid {colors.hairline-soft}`.
715
+
716
+ ### Documentation Components
717
+
718
+ **`workspace-mockup-card`** — Embedded Notion workspace UI mockup on hero band ("Ramp HQ" kanban board).
719
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, border `1px solid {colors.hairline}`, deep shadow `rgba(15, 15, 15, 0.20) 0px 24px 48px -8px`. Carries actual Notion product UI mock.
720
+
721
+ **`testimonial-card`** — Customer testimonial card.
722
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
723
+
724
+ **`logo-wall-item`** — Customer logo wordmark cell.
725
+ - Background transparent, text `{colors.steel}`, typography `{typography.body-md-medium}`, padding `{spacing.lg}`.
726
+
727
+ **`faq-accordion-item`** — FAQ panel.
728
+ - Background `{colors.canvas}`, rounded `{rounded.md}`, padding `{spacing.xl}`, bottom border `1px solid {colors.hairline}`.
729
+
730
+ **`stat-row`** — Stats strip with bar chart visualization ("More productivity. Fewer tools.").
731
+ - Background `{colors.surface}`, text `{colors.ink}`, rounded `{rounded.lg}`, padding `{spacing.section-sm}`.
732
+
733
+ **`cta-banner-light`** — Light surface CTA banner.
734
+ - Background `{colors.surface}`, text `{colors.ink}`, rounded `{rounded.lg}`, padding `{spacing.section}`.
735
+
736
+ ### Navigation
737
+
738
+ **Top Navigation (Marketing)** — Sticky white bar.
739
+ - Background `{colors.canvas}`, height ~64px, bottom border `1px solid {colors.hairline}`.
740
+ - Left: Notion "N" logo + "Product / AI / Solutions / Resources / Enterprise / Pricing / Request a demo" links.
741
+ - Right: "Get Notion free" purple button + "Log in" link.
742
+
743
+ ### Signature Components
744
+
745
+ **`hero-band-dark`** — Deep navy hero band with embedded workspace mockup and decorative dots/wires.
746
+ - Background `{colors.brand-navy}`, text `{colors.on-dark}`, padding `{spacing.hero}`.
747
+ - Layout: centered headline `{typography.hero-display}`, subtitle, button row (`button-primary` purple + `button-secondary-on-dark`), `workspace-mockup-card` below.
748
+ - Atmospheric decoration: scattered colorful sticky-note dots and mesh wire illustrations around the hero content (NOT a literal pattern fill — handled per-page via SVG/illustration).
749
+
750
+ **`footer-region`** — Multi-column light footer.
751
+ - Background `{colors.canvas}`, padding `{spacing.section} {spacing.xxl}`, top border `1px solid {colors.hairline}`.
752
+ - 6-column link grid (Product / Download / Resources / Notion for / Company / Legal).
753
+
754
+ **`footer-link`** — Individual footer link.
755
+ - Background transparent, text `{colors.steel}`, typography `{typography.body-sm}`, padding `{spacing.xxs} 0`.
756
+
757
+ ## Do's and Don'ts
758
+
759
+ ### Do
760
+ - Use `{colors.primary}` (purple) as the dominant CTA across all surfaces — it's the brand's recognizable signal
761
+ - Pair deep navy hero bands ({colors.brand-navy}) with the purple button + decorative sticky-note dots
762
+ - Use pastel feature card tints (peach, rose, mint, lavender, sky, yellow) generously
763
+ - Use `{colors.card-tint-yellow-bold}` for high-emphasis "Ask the assistant"-style banner cards
764
+ - Apply `{rounded.md}` (8px) to buttons consistently — Notion uses rectangles, not pills
765
+ - Apply `{rounded.lg}` (12px) to all card families
766
+ - Maintain Notion-Sans across every UI surface
767
+ - Use the workspace mockup card on hero bands to show actual product UI
768
+
769
+ ### Don't
770
+ - Don't use the purple for body text or large background surfaces
771
+ - Don't use pill-shaped buttons; Notion's geometry is rectangular-sober
772
+ - Don't mix link-blue ({colors.link-blue}) with primary-purple ({colors.primary}) — they have distinct roles
773
+ - Don't apply heavy shadows on flat documentation cards
774
+ - Don't replace Notion-Sans with a generic Inter
775
+
776
+ ## Responsive Behavior
777
+
778
+ ### Breakpoints
779
+ | Name | Width | Key Changes |
780
+ |---|---|---|
781
+ | Mobile (small) | < 480px | Single column. Hero 36px. Pricing 1-up. |
782
+ | Mobile (large) | 480 – 767px | Feature cards 2-up. Hero 48px. |
783
+ | Tablet | 768 – 1023px | 2-column feature grids. Hero 56px. |
784
+ | Desktop | 1024 – 1279px | 4-tier pricing card row. Hero 72px. |
785
+ | Wide Desktop | ≥ 1280px | Full 80px hero presentation. |
786
+
787
+ ### Touch Targets
788
+ - Buttons render at 40–44px effective height
789
+ - Form inputs render at 44px height
790
+ - Pill tabs ~32px → 44px on mobile
791
+
792
+ ### Collapsing Strategy
793
+ - **Promo banner** stays full-width; truncates at < 480px
794
+ - **Top nav** below 1024px collapses to hamburger
795
+ - **Hero band**: workspace mockup card moves below text/buttons on mobile
796
+ - **Pricing tiers**: 4-column → 2-column tablet → 1-column mobile
797
+ - **Feature cards**: 3-up desktop → 2-up tablet → 1-up mobile
798
+ - **Hero typography**: 80px → 56px → 48px → 36px
799
+ - **Footer**: 6-column desktop → 3-column tablet → accordion mobile
800
+
801
+ ### Image Behavior
802
+ - Workspace mockup card maintains aspect ratio
803
+ - Pastel illustrations inside feature cards scale proportionally
804
+ - Customer logo wall: wordmarks at consistent 60–80px height
805
+
806
+ ## Iteration Guide
807
+
808
+ 1. Focus on ONE component at a time
809
+ 2. Reference component names and tokens directly
810
+ 3. Run `npx @google/design.md lint DESIGN.md` after edits
811
+ 4. Add new variants as separate `components:` entries
812
+ 5. Default to `{typography.body-md}` for body
813
+ 6. Keep `{colors.primary}` (purple) as the primary CTA — distinct from `{colors.link-blue}` for inline links
814
+ 7. Use `{rounded.md}` for buttons (rectangles), `{rounded.lg}` for cards, `{rounded.full}` for pill tabs/badges only
815
+
816
+ ## Known Gaps
817
+
818
+ - Specific dark-mode token values not surfaced beyond hero bands
819
+ - Animation/transition timings not extracted; recommend 150–200ms ease
820
+ - Form validation success state not explicitly captured
821
+ - Pastel-tint mapping (which feature uses which tint) is observation-based — the actual brand library may have more entries