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,448 @@
1
+ ---
2
+ version: alpha
3
+ name: Superhumon Inspired
4
+ description: An inspired interpretation of Superhumon's design language — a fast-email productivity brand split between an editorial dark hero (deep indigo navy with violet-sky atmospheric backdrop and a portrait subject) and a quiet white content body with off-warm-grey ink. The system uses a single proprietary variable display sans, heavy weight 460–540 with tight tracking, and a deep-teal closing CTA band that breaks the indigo/white rhythm with a warm dark interlude. Buttons are tight rounded rectangles, pricing is sober and dense, and the brand reads more like a high-end newsletter than a SaaS app.
5
+
6
+ colors:
7
+ primary: "#1b1938"
8
+ primary-deep: "#0e0c1f"
9
+ on-primary: "#ffffff"
10
+ ink: "#292827"
11
+ ink-mute: "#73706d"
12
+ ink-faint: "#9a9794"
13
+ canvas: "#ffffff"
14
+ canvas-soft: "#fafaf8"
15
+ surface-violet-soft: "#c9b4fa"
16
+ surface-teal-deep: "#0e3030"
17
+ surface-teal-mid: "#155555"
18
+ hairline: "#e8e4dd"
19
+ hairline-dark: "#3f3a52"
20
+ on-dark-mute: "#bcbac9"
21
+ on-dark-faint: "#5a5772"
22
+
23
+ typography:
24
+ display-xxl:
25
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
26
+ fontSize: 64px
27
+ fontWeight: 540
28
+ lineHeight: 0.96
29
+ letterSpacing: 0
30
+ display-xl:
31
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
32
+ fontSize: 48px
33
+ fontWeight: 460
34
+ lineHeight: 0.96
35
+ letterSpacing: -1.32px
36
+ display-lg:
37
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
38
+ fontSize: 28px
39
+ fontWeight: 540
40
+ lineHeight: 1.14
41
+ letterSpacing: -0.63px
42
+ display-md:
43
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
44
+ fontSize: 22px
45
+ fontWeight: 460
46
+ lineHeight: 1.1
47
+ letterSpacing: -0.315px
48
+ heading-lg:
49
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
50
+ fontSize: 20px
51
+ fontWeight: 460
52
+ lineHeight: 1.2
53
+ letterSpacing: -0.4px
54
+ body-lg:
55
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
56
+ fontSize: 18px
57
+ fontWeight: 540
58
+ lineHeight: 1.5
59
+ letterSpacing: -0.135px
60
+ body-md:
61
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
62
+ fontSize: 16px
63
+ fontWeight: 460
64
+ lineHeight: 1.5
65
+ letterSpacing: 0
66
+ body-strong:
67
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
68
+ fontSize: 18.72px
69
+ fontWeight: 700
70
+ lineHeight: 1.5
71
+ letterSpacing: 0
72
+ button-md:
73
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
74
+ fontSize: 16px
75
+ fontWeight: 700
76
+ lineHeight: 1.0
77
+ letterSpacing: 0
78
+ button-cap:
79
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
80
+ fontSize: 14px
81
+ fontWeight: 600
82
+ lineHeight: 1.0
83
+ letterSpacing: 0
84
+ caption:
85
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
86
+ fontSize: 14px
87
+ fontWeight: 460
88
+ lineHeight: 1.4
89
+ letterSpacing: 0
90
+ micro:
91
+ fontFamily: "'Super Sans VF', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
92
+ fontSize: 12px
93
+ fontWeight: 540
94
+ lineHeight: 1.4
95
+ letterSpacing: 0
96
+
97
+ rounded:
98
+ xs: 4px
99
+ sm: 6px
100
+ md: 8px
101
+ lg: 12px
102
+ xl: 16px
103
+ full: 9999px
104
+
105
+ spacing:
106
+ xxs: 2px
107
+ xs: 4px
108
+ sm: 8px
109
+ md: 12px
110
+ lg: 16px
111
+ xl: 24px
112
+ xxl: 32px
113
+ huge: 64px
114
+
115
+ components:
116
+ button-primary-dark:
117
+ backgroundColor: "{colors.primary}"
118
+ textColor: "{colors.on-primary}"
119
+ typography: "{typography.button-md}"
120
+ rounded: "{rounded.md}"
121
+ padding: 12px 20px
122
+ button-primary-dark-pressed:
123
+ backgroundColor: "{colors.primary-deep}"
124
+ textColor: "{colors.on-primary}"
125
+ typography: "{typography.button-md}"
126
+ rounded: "{rounded.md}"
127
+ padding: 12px 20px
128
+ button-on-dark-pill:
129
+ backgroundColor: "{colors.surface-violet-soft}"
130
+ textColor: "{colors.primary}"
131
+ typography: "{typography.button-md}"
132
+ rounded: "{rounded.full}"
133
+ padding: 12px 20px
134
+ button-secondary-outline:
135
+ backgroundColor: "{colors.canvas}"
136
+ textColor: "{colors.ink}"
137
+ typography: "{typography.button-md}"
138
+ rounded: "{rounded.md}"
139
+ padding: 12px 20px
140
+ button-on-teal:
141
+ backgroundColor: "{colors.canvas}"
142
+ textColor: "{colors.surface-teal-deep}"
143
+ typography: "{typography.button-md}"
144
+ rounded: "{rounded.md}"
145
+ padding: 12px 20px
146
+ text-input:
147
+ backgroundColor: "{colors.canvas}"
148
+ textColor: "{colors.ink}"
149
+ typography: "{typography.body-md}"
150
+ rounded: "{rounded.sm}"
151
+ padding: 10px 12px
152
+ card-feature-light:
153
+ backgroundColor: "{colors.canvas}"
154
+ textColor: "{colors.ink}"
155
+ typography: "{typography.body-md}"
156
+ rounded: "{rounded.lg}"
157
+ padding: 32px
158
+ card-pricing:
159
+ backgroundColor: "{colors.canvas}"
160
+ textColor: "{colors.ink}"
161
+ typography: "{typography.body-md}"
162
+ rounded: "{rounded.lg}"
163
+ padding: 32px
164
+ card-pricing-featured:
165
+ backgroundColor: "{colors.primary}"
166
+ textColor: "{colors.on-primary}"
167
+ typography: "{typography.body-md}"
168
+ rounded: "{rounded.lg}"
169
+ padding: 32px
170
+ card-teal-band:
171
+ backgroundColor: "{colors.surface-teal-deep}"
172
+ textColor: "{colors.on-primary}"
173
+ typography: "{typography.body-lg}"
174
+ rounded: "{rounded.lg}"
175
+ padding: 64px
176
+ card-feature-row:
177
+ backgroundColor: "{colors.canvas-soft}"
178
+ textColor: "{colors.ink}"
179
+ typography: "{typography.body-md}"
180
+ rounded: "{rounded.md}"
181
+ padding: 24px
182
+ pill-tab-light:
183
+ backgroundColor: "{colors.canvas}"
184
+ textColor: "{colors.ink}"
185
+ typography: "{typography.button-cap}"
186
+ rounded: "{rounded.full}"
187
+ padding: 8px 16px
188
+ nav-bar-dark:
189
+ backgroundColor: "{colors.primary}"
190
+ textColor: "{colors.on-primary}"
191
+ typography: "{typography.body-md}"
192
+ rounded: "{rounded.xs}"
193
+ padding: 16px 24px
194
+ nav-bar-light:
195
+ backgroundColor: "{colors.canvas}"
196
+ textColor: "{colors.ink}"
197
+ typography: "{typography.body-md}"
198
+ rounded: "{rounded.xs}"
199
+ padding: 16px 24px
200
+ link-on-light:
201
+ backgroundColor: "{colors.canvas}"
202
+ textColor: "{colors.ink}"
203
+ typography: "{typography.body-md}"
204
+ rounded: "{rounded.xs}"
205
+ padding: 0px
206
+ footer-light:
207
+ backgroundColor: "{colors.canvas}"
208
+ textColor: "{colors.ink-mute}"
209
+ typography: "{typography.caption}"
210
+ rounded: "{rounded.xs}"
211
+ padding: 64px 24px
212
+ ---
213
+
214
+ ## Overview
215
+
216
+ Superhumon's marketing pages open in an editorial dark register: a deep indigo navy `{colors.primary}` (`#1b1938`) canvas overlaid with a soft violet-and-sky atmospheric backdrop and a half-bleed portrait subject (often a person looking off-frame, photographed at twilight). Headlines render in `{typography.display-xxl}` (Super Sans VF at 64px / weight 540) with negative tracking, set in white over the indigo. A single rounded-rectangle CTA button anchors each band — never two, never three.
217
+
218
+ The body of every page flips to white. `{colors.canvas}` (`#ffffff`) takes over below the hero, with body type in `{colors.ink}` (`#292827` — a slightly warm dark grey, never pure black) and feature rows alternating between white and `{colors.canvas-soft}` (a barely-tinted off-white). Pricing tiers sit on this white surface; the featured tier inverts to the indigo navy, completing the brand's binary polarity.
219
+
220
+ Every page closes with a **deep-teal CTA band** (`{colors.surface-teal-deep}` — `#0e3030`). The teal is a single chromatic interlude: rich, almost-black green-blue, that breaks up what would otherwise be an indigo/white-only page. The teal band always contains the closing CTA in `{typography.display-lg}` paired with a single white-pill button.
221
+
222
+ Typography runs **Super Sans VF** — a proprietary variable display sans — at unusual mid-weights (460, 540, 600). The variable axes let the brand pick precise sub-default weights that read as warmer and more human than typical 400/500/700 SaaS scales. Display sizes use negative letter-spacing of -1.32px to -0.315px depending on size; line-heights are unusually tight (0.96 on 48px display).
223
+
224
+ **Key Characteristics:**
225
+ - Three-canvas system: indigo navy (`{colors.primary}`) for hero, white (`{colors.canvas}`) for body, deep teal (`{colors.surface-teal-deep}`) for closing CTA.
226
+ - Half-bleed portrait subject in the hero with violet-sky atmospheric backdrop — the brand uses a person looking off-frame as a recurring visual.
227
+ - Single CTA per band; the marketing pages never crowd actions.
228
+ - Super Sans VF at sub-default weights (460, 540, 600) — the brand's typographic warmth signature.
229
+ - Tight line-heights (0.96) on display sizes — vertical compression as editorial density.
230
+ - Off-warm-grey body ink (`#292827`) — never pure black; the brand's quiet warmth.
231
+ - Pill-shaped on-hero CTA in pale violet (`{colors.surface-violet-soft}`); rounded-rectangle CTAs everywhere else.
232
+
233
+ ## Colors
234
+
235
+ > **Source pages:** home (`/`), `/products/go-ai-assistant`, `/contact-sales`, `/plans`.
236
+
237
+ ### Brand & Accent
238
+ - **Primary Indigo Navy** (`{colors.primary}` — `#1b1938`): The brand's primary surface and CTA color. Hero canvas, filled rounded-rectangle button, featured pricing tier.
239
+ - **Indigo Deep** (`{colors.primary-deep}` — `#0e0c1f`): Pressed-state lift / deeper navy used in hero gradient stops.
240
+ - **Surface Violet Soft** (`{colors.surface-violet-soft}` — `#c9b4fa`): The hero pill-button fill — pale violet over the indigo canvas. Also appears in atmospheric backdrops.
241
+ - **Surface Teal Deep** (`{colors.surface-teal-deep}` — `#0e3030`): The signature closing-CTA band color. Rich green-blue, almost black.
242
+ - **Surface Teal Mid** (`{colors.surface-teal-mid}` — `#155555`): Slightly lifted teal for nested chrome inside the band.
243
+
244
+ ### Surface
245
+ - **Canvas** (`{colors.canvas}` — `#ffffff`): Default body background.
246
+ - **Canvas Soft** (`{colors.canvas-soft}` — `#fafaf8`): Barely-warm off-white for alternating feature-row bands.
247
+ - **Hairline** (`{colors.hairline}` — `#e8e4dd`): 1px borders, slightly warm grey.
248
+ - **Hairline Dark** (`{colors.hairline-dark}` — `#3f3a52`): 1px borders on dark surfaces.
249
+
250
+ ### Text
251
+ - **Ink** (`{colors.ink}` — `#292827`): Default body text. Warm dark grey, never pure black.
252
+ - **Ink Mute** (`{colors.ink-mute}` — `#73706d`): Secondary text, captions.
253
+ - **Ink Faint** (`{colors.ink-faint}` — `#9a9794`): Tertiary / disabled text.
254
+ - **On Primary** (`{colors.on-primary}` — `#ffffff`): Text on dark navy / teal surfaces.
255
+ - **On Dark Mute** (`{colors.on-dark-mute}` — translucent white): Secondary text on dark.
256
+ - **On Dark Faint** (`{colors.on-dark-faint}` — translucent white): Tertiary text on dark.
257
+
258
+ ## Typography
259
+
260
+ ### Font Family
261
+
262
+ The display and UI tier is **Super Sans VF** — a proprietary variable sans (variable axes for weight, with the brand using sub-default 460 / 540 / 600 weights). Fallback chain is the system font stack.
263
+
264
+ For substitution use **Inter Variable** (open-source) at weight 460 / 540 / 600 — Inter's variable axes match Super Sans VF's behavior closely. Avoid fixed-weight Inter at 400 / 500 / 600 — the brand specifically picks the in-between weights.
265
+
266
+ ### Hierarchy
267
+
268
+ | Token | Size | Weight | Line Height | Letter Spacing | Use |
269
+ |---|---|---|---|---|---|
270
+ | `{typography.display-xxl}` | 64px | 540 | 0.96 | 0 | Hero headline |
271
+ | `{typography.display-xl}` | 48px | 460 | 0.96 | -1.32px | Section opener on light surfaces |
272
+ | `{typography.display-lg}` | 28px | 540 | 1.14 | -0.63px | Sub-section / feature title |
273
+ | `{typography.display-md}` | 22px | 460 | 1.1 | -0.315px | Card title |
274
+ | `{typography.heading-lg}` | 20px | 460 | 1.2 | -0.4px | Compact card title |
275
+ | `{typography.body-lg}` | 18px | 540 | 1.5 | -0.135px | Marketing body lead |
276
+ | `{typography.body-md}` | 16px | 460 | 1.5 | 0 | Default UI body |
277
+ | `{typography.body-strong}` | 18.72px | 700 | 1.5 | 0 | Emphasized body |
278
+ | `{typography.button-md}` | 16px | 700 | 1.0 | 0 | Rounded-rectangle button label |
279
+ | `{typography.button-cap}` | 14px | 600 | 1.0 | 0 | Compact button label |
280
+ | `{typography.caption}` | 14px | 460 | 1.4 | 0 | Helper, footnote |
281
+ | `{typography.micro}` | 12px | 540 | 1.4 | 0 | Pill label, fine print |
282
+
283
+ ### Principles
284
+ - **Sub-default weights.** The brand picks 460 / 540 / 600 instead of 400 / 500 / 700 — a quiet warmth in the typography that distinguishes it from default SaaS systems.
285
+ - **Tight display leading.** 0.96 on 48–64px display — the type stacks unusually compact.
286
+ - **Negative tracking on display sizes.** -1.32px at 48px scaling proportionally — tightens the variable letterforms into editorial density.
287
+
288
+ ### Note on Font Substitutes
289
+ **Inter Variable** (open-source via Google Fonts) is the recommended substitute. Set `font-variation-settings: "wght" 540` for display, 460 for body — Inter's variable axes match. Avoid fixed-weight Inter; the in-between weights are the brand's signature.
290
+
291
+ ## Layout
292
+
293
+ ### Spacing System
294
+ - **Base unit**: 8px (with 2 / 4 / 12 sub-tokens for fine work).
295
+ - **Tokens**: `{spacing.xxs}` 2px · `{spacing.xs}` 4px · `{spacing.sm}` 8px · `{spacing.md}` 12px · `{spacing.lg}` 16px · `{spacing.xl}` 24px · `{spacing.xxl}` 32px · `{spacing.huge}` 64px.
296
+ - **Section padding**: 64–96px on most sections; closing teal band uses 96–128px for editorial weight.
297
+ - **Card internal padding**: 32px on pricing cards; 24px on alternating feature rows.
298
+
299
+ ### Grid & Container
300
+ - Hero spans full viewport width with the violet-sky backdrop edge-to-edge; content centers in a ~960px column.
301
+ - Body content centers in ~960–1100px.
302
+ - Pricing collapses 3-up → 2-up → 1-up at 1024 / 768 breakpoints.
303
+
304
+ ### Whitespace Philosophy
305
+ The brand uses generous editorial whitespace on both polarities — dark hero and white body. Section gaps tend toward 96px; the teal closing band gets up to 128px of vertical air. The whitespace itself is part of the brand's "considered, slow-tempo" feel.
306
+
307
+ ## Elevation & Depth
308
+
309
+ | Level | Treatment | Use |
310
+ |---|---|---|
311
+ | 0 | Flat | Default surface |
312
+ | 1 | `box-shadow: 0 1px 3px rgba(0,0,0,0.08)` | Subtle card lift |
313
+ | 2 | `box-shadow: 0 8px 24px rgba(0,0,0,0.12)` | Floating panels, modals |
314
+ | 3 | Atmospheric backdrop (violet-sky over indigo) | The hero's depth medium |
315
+
316
+ ### Decorative Depth
317
+ The hero's depth is the **violet-sky atmospheric backdrop** — a soft indigo-to-violet-to-sky-blue radial wash that sits behind the portrait subject. Implemented as a CSS radial gradient or large background image. Below the hero, depth is minimal — the white canvas is flat.
318
+
319
+ ## Shapes
320
+
321
+ ### Border Radius Scale
322
+
323
+ | Token | Value | Use |
324
+ |---|---|---|
325
+ | `{rounded.xs}` | 4px | Hairline tags |
326
+ | `{rounded.sm}` | 6px | Form inputs |
327
+ | `{rounded.md}` | 8px | Buttons (the brand's signature button shape — rounded rectangle, never pill) |
328
+ | `{rounded.lg}` | 12px | Pricing cards, feature cards |
329
+ | `{rounded.xl}` | 16px | Modal dialogs, large feature cards |
330
+ | `{rounded.full}` | 9999px | Pill tabs in feature row, hero CTA |
331
+
332
+ ### Photography Geometry
333
+ The hero uses **half-bleed portrait subjects** — a person photographed at twilight, looking off-frame, occupying the right half of the hero. The portrait extends edge-to-edge vertically and stops mid-canvas horizontally; type sits on the left side. Other photography is rare; product UI mockups handle most other illustrative needs.
334
+
335
+ ## Components
336
+
337
+ ### Buttons
338
+
339
+ **`button-primary-dark`** — the dominant rounded-rectangle CTA on white surfaces.
340
+ - Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button-md}`, padding `{spacing.md} {spacing.xl}` (12px 20px), rounded `{rounded.md}` 8px.
341
+ - Pressed state `button-primary-dark-pressed` shifts to `{colors.primary-deep}`.
342
+
343
+ **`button-on-dark-pill`** — the hero CTA in pale violet pill shape.
344
+ - Background `{colors.surface-violet-soft}`, text `{colors.primary}`, same typography, padding 12px 20px, rounded `{rounded.full}`. The pill shape only appears on the hero — body CTAs use the rounded rectangle.
345
+
346
+ **`button-secondary-outline`** — outline alternative on white.
347
+ - Background `{colors.canvas}`, text `{colors.ink}`, 1px solid `{colors.hairline-dark}` border, same shape as `button-primary-dark`.
348
+
349
+ **`button-on-teal`** — CTA inside the closing teal band.
350
+ - Background `{colors.canvas}`, text `{colors.surface-teal-deep}`, rounded-rectangle, same typography.
351
+
352
+ ### Cards & Containers
353
+
354
+ **`card-feature-light`** — feature card on white.
355
+ - Background `{colors.canvas}`, padding `{spacing.xxl}`, rounded `{rounded.lg}`, 1px `{colors.hairline}` border.
356
+
357
+ **`card-pricing`** — standard pricing tier card.
358
+ - Background `{colors.canvas}`, padding `{spacing.xxl}`, rounded `{rounded.lg}`, 1px `{colors.hairline}` border.
359
+
360
+ **`card-pricing-featured`** — inverted indigo featured tier.
361
+ - Background `{colors.primary}`, text `{colors.on-primary}`, otherwise identical to `card-pricing`.
362
+
363
+ **`card-teal-band`** — the closing CTA band on every page.
364
+ - Background `{colors.surface-teal-deep}`, text `{colors.on-primary}`, padding `{spacing.huge}` 64px, rounded `{rounded.lg}` 12px (often radius-less in practice when full-bleed). Holds a single closing headline in `{typography.display-lg}` and a `button-on-teal`.
365
+
366
+ **`card-feature-row`** — alternating feature-row card on the body.
367
+ - Background `{colors.canvas-soft}`, text `{colors.ink}`, padding `{spacing.xl}` 24px, rounded `{rounded.md}` 8px. Used in pairs/triplets to explain features below the hero.
368
+
369
+ ### Inputs & Forms
370
+
371
+ **`text-input`** — standard form input.
372
+ - Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.body-md}`, padding `{spacing.sm}+ {spacing.md}` (10px 12px), rounded `{rounded.sm}` 6px, 1px `{colors.hairline}` border.
373
+
374
+ ### Navigation
375
+
376
+ **`nav-bar-dark`** — top nav over the indigo hero.
377
+ - Background `{colors.primary}`, text `{colors.on-primary}`, padding `{spacing.lg} {spacing.xl}`. Logo on the left, nav center, "Get Started" `button-on-dark-pill` on the right.
378
+
379
+ **`nav-bar-light`** — top nav on body / pricing pages.
380
+ - Background `{colors.canvas}`, text `{colors.ink}`, otherwise same structure with `button-primary-dark` on the right.
381
+
382
+ ### Pills, Tags, and Chips
383
+
384
+ **`pill-tab-light`** — feature-row tab selector.
385
+ - Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.button-cap}`, padding `{spacing.sm} {spacing.lg}`, rounded `{rounded.full}`. Used in the feature category picker (Mail / Channels / Code / AI / Calendar etc.) below the hero.
386
+
387
+ ### Signature Components
388
+
389
+ **Half-Bleed Portrait Hero** — a person photographed at twilight, occupying the right half of the indigo hero with violet-sky atmospheric backdrop behind. Type and CTA sit on the left side. The portrait is the brand's recurring visual signature.
390
+
391
+ **Closing Teal Band** — every page closes with a `card-teal-band` containing a `{typography.display-lg}` closing headline and a single `button-on-teal`. The teal is the page's resolving chord.
392
+
393
+ **`link-on-light`** — inline links on body.
394
+ - Text `{colors.ink}` rendered in `{typography.body-md}` with persistent underline.
395
+
396
+ **`footer-light`** — site-wide footer.
397
+ - Background `{colors.canvas}`, text `{colors.ink-mute}`, type `{typography.caption}`, padding `{spacing.huge} {spacing.xl}` (64px 24px). Holds 4 columns of link groups, social icons, and a small legal/copyright row.
398
+
399
+ ## Do's and Don'ts
400
+
401
+ ### Do
402
+ - Pair every hero with the violet-sky atmospheric backdrop and a half-bleed portrait subject when possible.
403
+ - Render display tiers at sub-default weights (460 / 540) — the warmth is the typographic signature.
404
+ - Use rounded-rectangle CTAs at 8px radius everywhere except the hero (where pill-shaped is the rule).
405
+ - Close every marketing page with a deep-teal CTA band.
406
+ - Use warm dark grey `{colors.ink}` for body text — never pure black.
407
+ - Apply tight 0.96 line-height on display sizes; the editorial compression is the brand.
408
+
409
+ ### Don't
410
+ - Don't use pill-shaped buttons in the body of the page; the pill is hero-only.
411
+ - Don't bump display weight above 540 unless using `body-strong` (700) for emphasized inline body.
412
+ - Don't render body text in pure black — the warm grey `#292827` is part of the brand.
413
+ - Don't omit the closing teal band — every marketing page closes with it.
414
+ - Don't introduce additional accent colors beyond indigo, violet-soft, teal, and the off-warm-greys.
415
+
416
+ ## Responsive Behavior
417
+
418
+ ### Breakpoints
419
+
420
+ | Name | Width | Key Changes |
421
+ |---|---|---|
422
+ | Wide | ≥ 1440px | Half-bleed portrait at full scale; teal band 128px tall |
423
+ | Desktop | 1024–1440px | Default content max-width; pricing 3-up |
424
+ | Tablet | 768–1023px | Pricing 2-up; portrait crops tighter |
425
+ | Mobile | < 768px | Pricing 1-up; hamburger nav; display drops 64 → 36px |
426
+
427
+ ### Touch Targets
428
+ - Buttons hit ≥ 44×44px on mobile via 12px vertical padding × 16px line-height. WCAG AAA.
429
+ - Form fields stay at the 44px minimum height.
430
+
431
+ ### Collapsing Strategy
432
+ - Display tiers stair-step 64 → 48 → 36 → 28 → 22px.
433
+ - Half-bleed portrait crops to head-and-shoulders on mobile; atmospheric backdrop simplifies.
434
+ - Pricing tiers stair-step 3-up → 2-up → 1-up.
435
+ - Top nav collapses to hamburger below 768px.
436
+ - Closing teal band reduces vertical padding from 128 → 64px on mobile.
437
+
438
+ ### Image Behavior
439
+ Hero portrait uses `srcset` with desktop / mobile crops — desktop favors the full half-bleed composition; mobile crops to head-and-shoulders.
440
+
441
+ ## Iteration Guide
442
+
443
+ 1. Focus on ONE component at a time.
444
+ 2. Reference component names and tokens directly.
445
+ 3. Run `npx @google/design.md lint DESIGN.md` after edits.
446
+ 4. Default body to `{typography.body-md}`; reserve `{typography.body-lg}` for marketing leads.
447
+ 5. Keep the three-canvas rhythm (indigo / white / teal) — adding a fourth canvas color breaks the system.
448
+ 6. The closing teal band is non-negotiable — every marketing page resolves there.
@@ -0,0 +1,5 @@
1
+ # Superhuman Inspired Design System
2
+
3
+ Design system details have been moved to: https://getdesign.md/superhuman/design-md
4
+
5
+ You can also view previews, dark mode examples, and download options on getdesign.md.