oh-my-design-cli 1.8.2 → 1.8.7

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 (83) hide show
  1. package/README.ja.md +5 -5
  2. package/README.ko.md +7 -7
  3. package/README.md +7 -7
  4. package/README.zh-TW.md +5 -5
  5. package/agents/omd-master.md +1 -1
  6. package/data/reference-fingerprints.json +1696 -17
  7. package/package.json +3 -1
  8. package/skills/omd-feel/SKILL.md +152 -0
  9. package/skills/omd-feel/provenance.md +233 -0
  10. package/skills/omd-feel/reference.md +254 -0
  11. package/skills/omd-harness/SKILL.md +1 -1
  12. package/skills/omd-init/SKILL.md +1 -1
  13. package/skills/omd-reference-capture/SKILL.md +1 -1
  14. package/web/references/591/DESIGN.md +460 -0
  15. package/web/references/airbridge/DESIGN.md +451 -0
  16. package/web/references/asana/DESIGN.md +485 -0
  17. package/web/references/asos/DESIGN.md +475 -0
  18. package/web/references/bahamut/DESIGN.md +416 -0
  19. package/web/references/bbc/DESIGN.md +439 -0
  20. package/web/references/bigin/DESIGN.md +454 -0
  21. package/web/references/buzzvil/DESIGN.md +457 -0
  22. package/web/references/cafe24/DESIGN.md +472 -0
  23. package/web/references/chunghwa/DESIGN.md +419 -0
  24. package/web/references/codeit/DESIGN.md +470 -0
  25. package/web/references/databricks/DESIGN.md +467 -0
  26. package/web/references/datarize/DESIGN.md +451 -0
  27. package/web/references/deliveroo/DESIGN.md +458 -0
  28. package/web/references/doordash/DESIGN.md +429 -0
  29. package/web/references/easywallet/DESIGN.md +449 -0
  30. package/web/references/elice/DESIGN.md +445 -0
  31. package/web/references/esunbank/DESIGN.md +445 -0
  32. package/web/references/farfetch/DESIGN.md +436 -0
  33. package/web/references/fubon/DESIGN.md +438 -0
  34. package/web/references/furiosaai/DESIGN.md +450 -0
  35. package/web/references/goorm/DESIGN.md +470 -0
  36. package/web/references/govuk/DESIGN.md +450 -0
  37. package/web/references/greencar/DESIGN.md +420 -0
  38. package/web/references/hackle/DESIGN.md +472 -0
  39. package/web/references/hana/DESIGN.md +439 -0
  40. package/web/references/hubspot/DESIGN.md +485 -0
  41. package/web/references/hwahae/DESIGN.md +453 -0
  42. package/web/references/hyundai/DESIGN.md +468 -0
  43. package/web/references/icook/DESIGN.md +432 -0
  44. package/web/references/instacart/DESIGN.md +439 -0
  45. package/web/references/ipassmoney/DESIGN.md +407 -0
  46. package/web/references/kakaopage/DESIGN.md +439 -0
  47. package/web/references/kbpay/DESIGN.md +442 -0
  48. package/web/references/kcd/DESIGN.md +432 -0
  49. package/web/references/kia/DESIGN.md +411 -0
  50. package/web/references/kyobobook/DESIGN.md +445 -0
  51. package/web/references/lablup/DESIGN.md +474 -0
  52. package/web/references/lemonbase/DESIGN.md +452 -0
  53. package/web/references/liner/DESIGN.md +465 -0
  54. package/web/references/makinarocks/DESIGN.md +442 -0
  55. package/web/references/monzo/DESIGN.md +461 -0
  56. package/web/references/moreh/DESIGN.md +437 -0
  57. package/web/references/naverpay/DESIGN.md +478 -0
  58. package/web/references/neosapience/DESIGN.md +441 -0
  59. package/web/references/nota/DESIGN.md +451 -0
  60. package/web/references/octopusenergy/DESIGN.md +436 -0
  61. package/web/references/openpoint/DESIGN.md +431 -0
  62. package/web/references/paypal/DESIGN.md +459 -0
  63. package/web/references/portone/DESIGN.md +446 -0
  64. package/web/references/queenit/DESIGN.md +432 -0
  65. package/web/references/rebellions/DESIGN.md +449 -0
  66. package/web/references/reddit/DESIGN.md +537 -0
  67. package/web/references/returnzero/DESIGN.md +460 -0
  68. package/web/references/samsung/DESIGN.md +465 -0
  69. package/web/references/saramin/DESIGN.md +465 -0
  70. package/web/references/shiftee/DESIGN.md +468 -0
  71. package/web/references/shinhanbank/DESIGN.md +429 -0
  72. package/web/references/skyscanner/DESIGN.md +563 -0
  73. package/web/references/snapchat/DESIGN.md +460 -0
  74. package/web/references/solapi/DESIGN.md +483 -0
  75. package/web/references/squarespace/DESIGN.md +454 -0
  76. package/web/references/ssg/DESIGN.md +439 -0
  77. package/web/references/starling/DESIGN.md +404 -0
  78. package/web/references/supertone/DESIGN.md +413 -0
  79. package/web/references/taiwanmobile/DESIGN.md +445 -0
  80. package/web/references/trainline/DESIGN.md +454 -0
  81. package/web/references/vuno/DESIGN.md +413 -0
  82. package/web/references/weverse/DESIGN.md +437 -0
  83. package/web/references/zoom/DESIGN.md +457 -0
@@ -0,0 +1,485 @@
1
+ ---
2
+ id: hubspot
3
+ name: HubSpot
4
+ country: US
5
+ category: marketing
6
+ homepage: "https://www.hubspot.com"
7
+ primary_color: "#ff4800"
8
+ logo:
9
+ type: simpleicons
10
+ slug: hubspot
11
+ verified: "2026-06-22"
12
+ omd: "0.1"
13
+ tokens:
14
+ source: reconciled
15
+ extracted: "2026-06-22"
16
+ note: "primary = live CTA orange (#ff4800 = rgb(255,72,0)); canvas cream (#fcfcfa) page bg; ink (#1f1f1f) text. Deep teal (#042729) dark sections. Custom HubSpot Sans + HubSpot Serif brand fonts."
17
+ colors:
18
+ primary: "#ff4800"
19
+ primary-tint: "#fcded2"
20
+ canvas: "#fcfcfa"
21
+ warm-parchment: "#f8f5ee"
22
+ ink: "#1f1f1f"
23
+ deep-teal: "#042729"
24
+ graphite: "#60605f"
25
+ mist: "#cacac8"
26
+ on-primary: "#ffffff"
27
+ cadet-navy: "#15295a"
28
+ typography:
29
+ family: { sans: "HubSpot Sans", serif: "HubSpot Serif", fallback-sans: "Inter", fallback-serif: "Source Serif 4" }
30
+ display-hero: { size: 80, weight: 500, lineHeight: 1.19, use: "Hero display — HubSpot Serif Page Header Human" }
31
+ heading-xl: { size: 48, weight: 500, lineHeight: 1.10, use: "Large section headlines — HubSpot Serif" }
32
+ heading-lg: { size: 40, weight: 500, lineHeight: 1.15, use: "Section headings — HubSpot Serif" }
33
+ heading: { size: 24, weight: 500, lineHeight: 1.42, use: "Card headings — HubSpot Sans" }
34
+ heading-sm: { size: 22, weight: 500, lineHeight: 1.45, use: "Sub-section heads — HubSpot Sans" }
35
+ subheading: { size: 18, weight: 400, lineHeight: 1.67, use: "Feature descriptions" }
36
+ body: { size: 16, weight: 400, lineHeight: 1.56, use: "Standard reading text" }
37
+ body-sm: { size: 14, weight: 400, lineHeight: 1.57, use: "Secondary UI text, labels" }
38
+ caption: { size: 12, weight: 500, lineHeight: 1.60, use: "Small labels, eyebrows" }
39
+ button: { size: 16, weight: 500, lineHeight: 1.00, use: "Primary button label" }
40
+ button-sm: { size: 14, weight: 500, lineHeight: 1.00, use: "Small button label" }
41
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
42
+ rounded: { sm: 4, md: 8, lg: 16, full: 9999 }
43
+ shadow:
44
+ none: "none"
45
+ hairline: "0 0 0 1px rgba(31,31,31,0.11)"
46
+ components:
47
+ button-primary: { type: button, bg: "#ff4800", fg: "#ffffff", radius: "8px", padding: "16px 40px", font: "18px / 500 HubSpot Sans", border: "2px solid rgba(0,0,0,0)", states: "hover darken", use: "Primary CTA — Get a demo / Get started" }
48
+ button-outlined: { type: button, bg: "#ffffff", fg: "#ff4800", radius: "8px", padding: "16px 40px", font: "18px / 500 HubSpot Sans", border: "2px solid #ff4800", use: "Secondary CTA — Get started free" }
49
+ button-dark: { type: button, bg: "#1f1f1f", fg: "#ffffff", radius: "8px", padding: "8px 16px", font: "14px / 500 HubSpot Sans", use: "Dark surface CTA — Learn more" }
50
+ button-sm: { type: button, bg: "#ff4800", fg: "#ffffff", radius: "8px", padding: "8px 16px", font: "14px / 500 HubSpot Sans", use: "Compact primary button" }
51
+ input-default: { type: input, bg: "#ffffff", border: "1px solid #cacac8", radius: "4px", fg: "#1f1f1f", font: "16px HubSpot Sans", use: "Standard text/email input" }
52
+ card-product: { type: card, bg: "#fcfcfa", fg: "#1f1f1f", radius: "16px", border: "2px solid rgba(0,0,0,0.11)", padding: "24px", use: "Product hub overview card" }
53
+ card-feature: { type: card, bg: "#ffffff", fg: "#1f1f1f", radius: "16px", border: "1px solid #1f1f1f", padding: "24px 32px", use: "Feature content card with hairline border" }
54
+ badge-default: { type: badge, bg: "#fcded2", fg: "#ff4800", radius: "4px", padding: "4px 8px", font: "12px / 500 HubSpot Sans", use: "Warm peach accent pill / tag" }
55
+ tab-filter: { type: tab, bg: "#f8f5ee", fg: "#1f1f1f", radius: "16px", font: "14px / 500 HubSpot Sans", active: "text #1f1f1f bg #f8f5ee", use: "Filter tab (By Use Case / By Team Size)" }
56
+ components_harvested: true
57
+ ds:
58
+ name: Canvas
59
+ url: https://canvas.hubspot.com
60
+ type: system
61
+ description: HubSpot's internal design system powering all product surfaces — 5 principles (Clear, Human, Inbound, Integrated, Collaborative)
62
+ ---
63
+
64
+ # Design System Inspiration of HubSpot
65
+
66
+ ## 1. Visual Theme & Atmosphere
67
+
68
+ HubSpot's homepage is a warm, modern marketing platform — approachable and energetic without sacrificing professionalism. The page opens on a canvas cream background (`#fcfcfa`), a softly warmed white that reads organic and friendly rather than clinical. The primary brand accent is an assertive Sprout Orange (`#ff4800`), reserved almost exclusively for CTAs and key functional icons, making every call-to-action unmistakably clear. Deep ink (`#1f1f1f`) anchors headings and body text — almost-black with a touch of warmth that prevents harshness. Dark teal sections (`#042729`) appear as immersive brand moments, providing dramatic contrast without defaulting to pure black.
69
+
70
+ HubSpot's typographic system is built on two proprietary fonts: **HubSpot Sans** (weight 300–500) for all UI and body copy, and **HubSpot Serif** (weight 500) for display and section headlines. At hero sizes, a third variant — HubSpot Serif Page Header Human — appears at 80px, projecting warmth and confidence simultaneously. This serif/sans split is unusual for a SaaS brand but reflects HubSpot's positioning: part technology company, part inbound-marketing thought leader. The result is a system that feels editorial and trustworthy rather than purely technical.
71
+
72
+ Elevation is minimal and intentional. Rather than multi-layer shadows, HubSpot uses hairline borders (`rgba(0,0,0,0.11)`) and alternating background tints — canvas cream versus warm parchment (`#f8f5ee`) — to segment content. When CTAs appear on dark teal sections, they switch to outlined variants with cream borders, maintaining the orange-is-primary-action rule without breaking accessibility.
73
+
74
+ **Key Characteristics:**
75
+ - Sprout Orange (`#ff4800`) as the single CTA and action color — never decorative
76
+ - Canvas cream (`#fcfcfa`) page background — warm, organic, not clinical white
77
+ - HubSpot Sans + HubSpot Serif proprietary type system — editorial SaaS hybrid
78
+ - 8px border-radius on all interactive elements (buttons, inputs, nav items)
79
+ - 16px radius on cards and content containers
80
+ - Nearly shadow-free: separation via hairline borders and tint alternation
81
+ - Deep teal (`#042729`) for dark brand-immersive sections
82
+ - Warm parchment (`#f8f5ee`) as alternating section tint
83
+
84
+ ## 2. Color Palette & Roles
85
+
86
+ ### Primary & Brand
87
+ - **Sprout Orange** (`#ff4800`): The single action color. Primary CTA backgrounds, active states, brand icons, functional accents. Reserved — never for decorative backgrounds.
88
+ - **Peach Tint** (`#fcded2`): Soft warm accent surface. Used for badges, soft highlights, and the subtle hero gradient area.
89
+
90
+ ### Canvas & Surfaces
91
+ - **Canvas Cream** (`#fcfcfa`): Primary page background and default card surface. Warm, slightly off-white.
92
+ - **Warm Parchment** (`#f8f5ee`): Alternating section background. Creates visual rhythm without borders or shadows.
93
+ - **Pure White** (`#ffffff`): Secondary card surface for outlined cards; button background for outlined CTA variant.
94
+
95
+ ### Text & Ink
96
+ - **Ink** (`#1f1f1f`): Primary text and heading color. All body copy, headings, and interactive labels on light backgrounds.
97
+ - **Graphite** (`#60605f`): Muted secondary text. Descriptions, captions, metadata.
98
+ - **Mist** (`#cacac8`): Disabled states, inactive markers, input borders.
99
+
100
+ ### Dark & Depth
101
+ - **Deep Teal** (`#042729`): Dark brand sections. Footer, immersive product features, high-contrast brand moments.
102
+ - **Cadet Navy** (`#15295a`): Deep blue-navy for occasional dark accents and enterprise-tier section backgrounds.
103
+
104
+ ### On-Surface
105
+ - **On-Primary** (`#ffffff`): Text on orange primary CTA buttons.
106
+
107
+ ## 3. Typography Rules
108
+
109
+ ### Font Family
110
+ - **Primary Display**: `HubSpot Serif` — 40–80px, weight 500 only. Section headlines and hero moments.
111
+ - **Primary UI/Body**: `HubSpot Sans` — 12–24px, weights 300/400/500. All navigation, buttons, labels, body copy.
112
+ - **Fallbacks**: `Source Serif 4` for HubSpot Serif; `Inter` for HubSpot Sans.
113
+
114
+ ### Hierarchy
115
+
116
+ | Role | Font | Size | Weight | Line Height | Use |
117
+ |------|------|------|--------|-------------|-----|
118
+ | Display Hero | HubSpot Serif | 80px | 500 | 1.19 | Hero section headline |
119
+ | Heading XL | HubSpot Serif | 48px | 500 | 1.10 | Large section titles |
120
+ | Heading LG | HubSpot Serif | 40px | 500 | 1.15 | Section headings |
121
+ | Heading | HubSpot Sans | 24px | 500 | 1.42 | Card headings, sub-sections |
122
+ | Heading SM | HubSpot Sans | 22px | 500 | 1.45 | Smaller section heads |
123
+ | Subheading | HubSpot Sans | 18px | 400 | 1.67 | Feature descriptions, intro text |
124
+ | Body | HubSpot Sans | 16px | 400 | 1.56 | Standard reading text |
125
+ | Body SM | HubSpot Sans | 14px | 400 | 1.57 | Secondary UI, labels, nav items |
126
+ | Caption | HubSpot Sans | 12px | 500 | 1.60 | Eyebrows, small labels |
127
+ | Button LG | HubSpot Sans | 18px | 500 | 1.00 | Large CTA button labels |
128
+ | Button | HubSpot Sans | 16px | 500 | 1.00 | Standard button labels |
129
+ | Button SM | HubSpot Sans | 14px | 500 | 1.00 | Compact button labels |
130
+
131
+ ### Principles
132
+ - **Serif for display, sans for UI**: HubSpot Serif owns every headline above 32px. HubSpot Sans owns every interactive, label, and body element. The split signals trustworthy authority (serif) and functional clarity (sans).
133
+ - **Weight 500 as the signature**: Heading, button, and caption elements all land at 500 — a medium weight that reads confident without shouting.
134
+ - **Weight 400 for reading**: Body, subheading, and nav use 400 to stay legible and approachable.
135
+ - **Line-height relaxes at body sizes**: 1.56–1.67 at body scale gives the marketing copy room to breathe; display sizes tighten to 1.10–1.19.
136
+
137
+ ## 4. Component Stylings
138
+
139
+ ### Buttons
140
+
141
+ **Primary CTA (Large)**
142
+ - Background: `#ff4800`
143
+ - Text: `#ffffff`
144
+ - Radius: 8px
145
+ - Padding: 16px 40px
146
+ - Font: 18px HubSpot Sans weight 500
147
+ - Border: 2px solid transparent
148
+ - Use: Primary page-level CTA ("Get a demo", "Get a demo of HubSpot's premium software")
149
+
150
+ **Primary CTA (Medium)**
151
+ - Background: `#ff4800`
152
+ - Text: `#ffffff`
153
+ - Radius: 8px
154
+ - Padding: 12px 24px
155
+ - Font: 16px HubSpot Sans weight 500
156
+ - Use: Section-level primary CTA
157
+
158
+ **Primary CTA (Small)**
159
+ - Background: `#ff4800`
160
+ - Text: `#ffffff`
161
+ - Radius: 8px
162
+ - Padding: 8px 16px
163
+ - Font: 14px HubSpot Sans weight 500
164
+ - Use: Inline small CTA
165
+
166
+ **Secondary Outlined (Large)**
167
+ - Background: `#ffffff`
168
+ - Text: `#ff4800`
169
+ - Radius: 8px
170
+ - Padding: 16px 40px
171
+ - Font: 18px HubSpot Sans weight 500
172
+ - Border: 2px solid `#ff4800`
173
+ - Use: Secondary CTA paired with primary ("Get started free")
174
+
175
+ **Secondary Outlined (Medium)**
176
+ - Background: `#ffffff`
177
+ - Text: `#ff4800`
178
+ - Radius: 8px
179
+ - Padding: 12px 24px
180
+ - Font: 16px HubSpot Sans weight 500
181
+ - Border: 2px solid `#ff4800`
182
+ - Use: Section-level secondary action
183
+
184
+ **Dark Surface CTA**
185
+ - Background: `#1f1f1f`
186
+ - Text: `#ffffff`
187
+ - Radius: 8px
188
+ - Padding: 8px 16px
189
+ - Font: 14px HubSpot Sans weight 500
190
+ - Use: CTA on light canvas — "Learn more about Revenue Hub"
191
+
192
+ **Dark Section Outlined**
193
+ - Background: rgba(0,0,0,0.11)
194
+ - Text: `#f8f5ee`
195
+ - Radius: 8px
196
+ - Padding: 12px 24px
197
+ - Font: 16px HubSpot Sans weight 500
198
+ - Border: 2px solid `#f8f5ee`
199
+ - Use: Secondary CTA when page is on deep teal dark section
200
+
201
+ ### Inputs & Forms
202
+
203
+ **Default Input**
204
+ - Background: `#ffffff`
205
+ - Border: 1px solid `#cacac8`
206
+ - Radius: 4px
207
+ - Text: `#1f1f1f`
208
+ - Font: 16px HubSpot Sans weight 300
209
+ - Padding: 3.2px 8px
210
+ - Use: Email/text fields in nav search and landing forms
211
+
212
+ ### Cards & Containers
213
+
214
+ **Product Card**
215
+ - Background: `#fcfcfa`
216
+ - Text: `#1f1f1f`
217
+ - Radius: 8px
218
+ - Border: 2px solid rgba(0,0,0,0.11)
219
+ - Padding: 12px 24px
220
+ - Use: Product suite overview tabs in header dropdown
221
+
222
+ **Feature Card**
223
+ - Background: `#ffffff`
224
+ - Text: `#1f1f1f`
225
+ - Radius: 16px
226
+ - Border: 1px solid `#1f1f1f`
227
+ - Padding: 24px 32px
228
+ - Use: Feature content card with hairline border (no shadow)
229
+
230
+ ### Badges
231
+
232
+ **Peach Tag**
233
+ - Background: `#fcded2`
234
+ - Text: `#ff4800`
235
+ - Radius: 4px
236
+ - Padding: 4px 8px
237
+ - Font: 12px HubSpot Sans weight 500
238
+ - Use: Warm peach accent labels, category tags
239
+
240
+ ### Tabs
241
+
242
+ **Filter Tab (Active)**
243
+ - Background: `#f8f5ee`
244
+ - Text: `#1f1f1f`
245
+ - Radius: 16px
246
+ - Padding: 8px
247
+ - Font: 14px HubSpot Sans weight 500
248
+ - Use: Active filter tab ("By Use Case", "By Team Size", "Why HubSpot?")
249
+
250
+ **Filter Tab (Inactive)**
251
+ - Background: `#ffffff`
252
+ - Text: `#1f1f1f`
253
+ - Radius: 16px
254
+ - Padding: 8px
255
+ - Font: 14px HubSpot Sans weight 400
256
+ - Use: Inactive filter tab option
257
+
258
+ ---
259
+
260
+ **Verified:** 2026-06-22
261
+ **Tier 1 sources:** https://www.hubspot.com/ (live DOM, homepage, computed styles); https://www.hubspot.com/pricing (secondary surface, pricing page); https://canvas.hubspot.com (Canvas Design System)
262
+ **Tier 2 sources:** styles.refero.design/style/3e100552-a8ad-4179-b89a-6aa5113b92e1 (HubSpot refero entry — confirmed #ff4800 primary, 8px button radius, 16px card radius); getdesign.md/hubspot — 404, not listed
263
+ **Conflicts unresolved:** none (Tier 1 live orange #ff4800 = rgb(255,72,0) matches refero Sprout Orange exactly)
264
+
265
+ ## 5. Layout Principles
266
+
267
+ ### Spacing System
268
+ - Base unit: 4px
269
+ - Scale: 4px, 8px, 12px, 16px, 24px, 32px, 40px, 48px, 56px, 64px, 80px
270
+ - Notable: Section gaps land at 64–80px; card padding at 24–32px; element gaps at 16–24px
271
+
272
+ ### Grid & Container
273
+ - Max content width: 1200px
274
+ - Hero: dual-column on desktop — left text block with serif headline + CTA pair, right product screenshot
275
+ - Feature sections: alternating 2-column and 3-column grid layouts
276
+ - Full-width dark sections (`#042729`) with cream/white text for brand immersion
277
+ - Product hub cards in a multi-tab dropdown grid (3–4 columns)
278
+
279
+ ### Whitespace Philosophy
280
+ - **Tint alternation over shadow**: canvas cream (`#fcfcfa`) and warm parchment (`#f8f5ee`) alternating sections create visual rhythm without dividers or elevation.
281
+ - **Hairline restraint**: card borders are 1–2px at low opacity (`rgba(0,0,0,0.11)`) rather than solid lines.
282
+ - **Breathing sections**: 64–80px vertical rhythm between sections gives the marketing surface a generous, editorial cadence.
283
+
284
+ ### Border Radius Scale
285
+ - Micro (4px): badges, input fields
286
+ - Standard (8px): buttons, navigation pills, form elements
287
+ - Relaxed (16px): cards, content containers, filter tabs
288
+ - Full (9999px): avatar circles (if used)
289
+
290
+ ## 6. Depth & Elevation
291
+
292
+ | Level | Treatment | Use |
293
+ |-------|-----------|-----|
294
+ | Flat (Level 0) | No shadow | Page background, headings, text |
295
+ | Tint (Level 1) | `#f8f5ee` warm parchment background | Section alternation |
296
+ | Hairline (Level 2) | `rgba(0,0,0,0.11)` border or `1px solid #1f1f1f` | Card outlines, product tabs |
297
+ | Dark (Level 3) | `#042729` full-width section | Immersive brand-dark moments |
298
+
299
+ **Shadow Philosophy**: HubSpot's live DOM shows `box-shadow: none` across the hero, nav, buttons, and most cards. Separation is achieved entirely through background tinting and thin hairline borders. This is a deliberate modern-flat approach: warm-toned surfaces already have visual warmth, and shadows would add visual noise inconsistent with the clean editorial aesthetic. When depth emphasis is needed, the system reaches for the ink border (`#1f1f1f`) or the orange brand color — never a shadow stack.
300
+
301
+ ## 7. Do's and Don'ts
302
+
303
+ ### Do
304
+ - Use Sprout Orange (`#ff4800`) exclusively for CTAs and active-state icons — it is the system's action signal
305
+ - Use HubSpot Serif (weight 500) for all section headlines above 32px
306
+ - Use HubSpot Sans for all body text, labels, buttons, and navigation
307
+ - Apply 8px radius to all buttons and interactive elements
308
+ - Apply 16px radius to cards and content containers
309
+ - Separate sections with canvas cream / warm parchment alternation — not with shadows
310
+ - Pair every primary orange CTA with a secondary outlined variant
311
+ - Use `#1f1f1f` ink as the text color instead of pure black
312
+
313
+ ### Don't
314
+ - Use Sprout Orange for decorative backgrounds or illustration fills — reserve it for action
315
+ - Apply large drop shadows to cards — use hairline borders instead
316
+ - Mix HubSpot Serif into body or UI copy — it belongs only at display sizes
317
+ - Use more than two CTAs side-by-side without clear hierarchy (primary orange + secondary outlined)
318
+ - Apply a radius larger than 16px to cards — HubSpot cards are not pill-shaped
319
+ - Use pure white (`#ffffff`) as the default page background — canvas cream (`#fcfcfa`) is the correct base
320
+ - Use the orange as a section background color — it loses its call-to-action signal value
321
+
322
+ ## 8. Responsive Behavior
323
+
324
+ ### Breakpoints
325
+ | Name | Width | Key Changes |
326
+ |------|-------|-------------|
327
+ | Mobile | <640px | Single column, hero stacks, nav collapses to hamburger |
328
+ | Tablet | 640–1024px | 2-column feature grids, reduced padding |
329
+ | Desktop | 1024–1280px | Full 2–3 column layout, serif hero headline at full scale |
330
+ | Large Desktop | >1280px | Centered content with generous margins, 1200px max-width |
331
+
332
+ ### Touch Targets
333
+ - Primary CTA at 42px height (small) to 68px (large hero) — generous tap targets
334
+ - Navigation tabs at 38px height with 16px radius
335
+ - Input fields at 34px minimum height
336
+ - Filter tabs: 38px height with 16px radius
337
+
338
+ ### Collapsing Strategy
339
+ - Hero: serif 80px display → 48px on tablet → 32px on mobile; CTA buttons stack vertically
340
+ - Navigation: horizontal product mega-menu → collapsed hamburger with slide-out panel
341
+ - Feature cards: 3-column → 2-column → single column
342
+ - Dark brand sections: maintain full-width treatment; reduce internal padding on mobile
343
+
344
+ ## 9. Agent Prompt Guide
345
+
346
+ ### Quick Color Reference
347
+ - Primary CTA: Sprout Orange (`#ff4800`)
348
+ - Background: Canvas Cream (`#fcfcfa`)
349
+ - Alternate section: Warm Parchment (`#f8f5ee`)
350
+ - Primary text: Ink (`#1f1f1f`)
351
+ - Secondary text: Graphite (`#60605f`)
352
+ - Disabled / input border: Mist (`#cacac8`)
353
+ - Dark section: Deep Teal (`#042729`)
354
+ - Accent badge: Peach Tint (`#fcded2`)
355
+
356
+ ### Example Component Prompts
357
+ - "Create a hero on canvas cream (#fcfcfa). Headline in HubSpot Serif 48px weight 500, line-height 1.10, color #1f1f1f. Subtext HubSpot Sans 18px weight 400, color #1f1f1f. Orange primary CTA: #ff4800 bg, white text, 8px radius, 16px 40px padding, 18px/500. Paired outlined CTA: white bg, #ff4800 text and 2px border, same geometry."
358
+ - "Design a feature card: white background, 1px solid #1f1f1f border, 16px radius, no shadow. Heading 24px HubSpot Sans weight 500, color #1f1f1f. Body 16px weight 400, color #60605f. Card padding 24–32px."
359
+ - "Build an alternating-section layout: first section #fcfcfa, second #f8f5ee. HubSpot Serif 40px/500 for section titles. HubSpot Sans 16px/400 for descriptions."
360
+ - "Create a product card tab: #fcfcfa background, 8px radius, 2px rgba(0,0,0,0.11) border. Title 16px HubSpot Sans weight 500, #1f1f1f. Orange #ff4800 icon."
361
+
362
+ ### Iteration Guide
363
+ 1. HubSpot Serif for all headlines above 32px; HubSpot Sans for everything else
364
+ 2. Orange (`#ff4800`) = action only. Every other color is neutral.
365
+ 3. No shadows — use tint alternation and hairline borders for separation
366
+ 4. Button geometry: 8px radius; cards: 16px radius; badges: 4px radius
367
+ 5. Canvas cream is the page background, not pure white
368
+ 6. CTA pairing is always orange primary + white/orange-outlined secondary
369
+ 7. Dark sections use deep teal (`#042729`), not black
370
+
371
+ ---
372
+
373
+ ## 10. Voice & Tone
374
+
375
+ HubSpot's voice is **warm, helpful, and confident** — the inbound-marketing pioneer who genuinely believes that if you help people first, business follows. Where enterprise SaaS defaults to authoritative distance or technical density, HubSpot's copy leans into clarity, optimism, and approachability. Headlines favor concrete capability over abstract superlative ("Grow better" not "Revolutionize your pipeline"). CTAs are action-forward without pressure: "Get a demo" and "Get started free" rather than "Unlock unlimited power." The Inbound methodology — attract, engage, delight — echoes through every surface.
376
+
377
+ | Context | Tone |
378
+ |---|---|
379
+ | Hero headlines | Declarative and warm. "The HubSpot Customer Platform." Confident without superlatives. |
380
+ | Product descriptions | Benefit-first, concrete. "Manage your pipeline" not "Transform your revenue potential." |
381
+ | CTAs | Direct, generous. "Get started free." "Get a demo." No manufactured urgency. |
382
+ | Marketing blog / Academy | Educational, accessible, peer-to-peer. Shares frameworks, not just features. |
383
+ | Error messages | Helpful and specific. States what's wrong and what to do next. |
384
+ | Onboarding | Encouraging, step-oriented. Celebrates small wins on the path to platform mastery. |
385
+ | Pricing | Transparent, tier-explicit. Free tier prominently available. |
386
+
387
+ **Voice samples (verbatim from live homepage):**
388
+ - "The HubSpot Customer Platform" — hero heading (declarative, brand-anchored). *(verified live 2026-06-22)*
389
+ - "Get a demo of HubSpot's premium software" — primary CTA label (action + context). *(verified live 2026-06-22)*
390
+ - "Get started free with HubSpot's free tools" — secondary CTA label (generous, no-pressure). *(verified live 2026-06-22)*
391
+
392
+ **Forbidden register**: aggressive scarcity tactics, jargon-stacked feature lists presented without benefit context, exclamation-heavy hype, "revolutionary" or "game-changing" superlatives, heavy enterprise procurement tone ("request a quote", "contact a specialist" as the first option).
393
+
394
+ ## 11. Brand Narrative
395
+
396
+ HubSpot was founded in **2006** by **Brian Halligan** and **Dharmesh Shah** at MIT, emerging from a shared observation: traditional outbound marketing (cold calls, purchased email lists, intrusive ads) was becoming less effective as buyers gained control of their information consumption. Their answer was the **Inbound methodology** — create content people actually want, attract them to you, engage them with useful tools, and delight them after they become customers. This was not merely a business model; it was a philosophy that HubSpot turned into a product category.
397
+
398
+ The company's flagship product began as a marketing automation and CMS platform, grew into a full CRM suite spanning Marketing Hub, Sales Hub, Service Hub, Content Hub, and Operations Hub, and evolved further into the **HubSpot Customer Platform** — a unified system where customer data, AI tools, and connected workflows sit in a single database rather than a patchwork of integrations. The Canvas design system codifies the visual and interaction language of this unified platform.
399
+
400
+ What makes HubSpot distinctive as a brand is its dual identity: a technology company with the soul of a publishing house. HubSpot Academy has trained millions; the HubSpot Blog is one of the most-read marketing resources on the internet; the annual INBOUND conference draws tens of thousands of practitioners. The brand earns trust not by outspending competitors on advertising but by being genuinely useful before asking for anything — which is exactly what it recommends to customers.
401
+
402
+ ## 12. Principles
403
+
404
+ 1. **Inbound over outbound.** Build tools that attract; don't push. *UI implication:* CTAs are invitations, not demands. Free tiers and free educational resources are first-class citizens of every pricing surface.
405
+ 2. **Clear, not clever.** One of the five Canvas principles: "We design for clarity and focus." *UI implication:* a single orange CTA per pairing; no competing action colors; visual hierarchy that leads the eye to the next right step without ambiguity.
406
+ 3. **Human connection at scale.** Another Canvas principle: "We foster a sense of joy by humanizing the experience in ways that resonate across cultures." *UI implication:* warm type choices (HubSpot Serif, canvas cream), people-centric photography, copy that addresses the user's goal rather than the product's feature.
407
+ 4. **Integrated, not bolted-on.** The unified Customer Platform is the antithesis of the point-solution stack. *UI implication:* design system tokens are shared across Marketing, Sales, Service, and Content surfaces — the orange, the fonts, the radius scale do not differ by hub.
408
+ 5. **Grow better, not just bigger.** HubSpot's mission is to help businesses "grow better" — implying that the manner of growth (sustainable, customer-centric, inbound) matters as much as velocity. *UI implication:* trust-building touchpoints (transparent pricing, free tools, educational resources) are designed with the same fidelity as revenue-driving CTAs.
409
+
410
+ ## 13. Personas
411
+
412
+ *Personas below are fictional archetypes informed by publicly observable HubSpot user segments (SMB marketers, growth-stage sales teams, customer success managers, operations leads), not individual people.*
413
+
414
+ **Priya Nair, 33, Austin.** Marketing manager at a 50-person SaaS startup. Runs HubSpot Marketing Hub for email, SEO, and landing pages. Chose HubSpot over competitors because the free CRM let her start without a budget approval cycle. Uses HubSpot Academy certifications to upskill her team. Measures HubSpot's value by whether it helps her move faster than her head count would otherwise allow.
415
+
416
+ **Marcus Osei, 28, London.** BDR at a Series B fintech. Lives in HubSpot Sales Hub and uses Sequences to manage outbound follow-up without losing the inbound philosophy — every touch is useful, not just a bump. Values the clean pipeline view and the fact that every prospect interaction is logged automatically. Would be frustrated by a redesign that added steps to the daily workflow.
417
+
418
+ **Jess Thornton, 41, Chicago.** VP of Customer Success at a mid-market software company. Uses Service Hub to manage a 12-person support team. Cares about the 360-degree contact view because it means her team can see every marketing and sales interaction before picking up the phone. Chose HubSpot because it eliminated the "who owns this customer?" question.
419
+
420
+ **Tomás Ferrara, 37, Buenos Aires.** Marketing agency owner running HubSpot for 14 SMB clients via the Solutions Partner Program. Appreciates the standardization — one set of tools, one UI, one certification ecosystem. Uses the HubSpot Blog as much as the product documentation.
421
+
422
+ ## 14. States
423
+
424
+ | State | Treatment |
425
+ |---|---|
426
+ | **Empty (no contacts in CRM)** | Canvas cream background. HubSpot Sans 18px weight 400 in ink: "You haven't added any contacts yet." Orange CTA: "Import contacts" or "Create a contact." No heavy illustration — warm and direct. |
427
+ | **Empty (no deals in pipeline)** | Graphite (`#60605f`) at 14px: "No deals in this pipeline." Pipeline tabs remain visible so user can switch stages or add manually. Clear action path. |
428
+ | **Loading (dashboard)** | Skeleton rows on canvas cream at final card dimensions. 16px radius on card skeletons. Subtle shimmer consistent with the flat, warm-toned system. No animated orange — reserve the primary for action. |
429
+ | **Loading (report generating)** | Inline progress indicator below the report title. Previous data stays visible. HubSpot Sans 14px weight 400 "Generating your report..." |
430
+ | **Error (connection failed)** | Inline banner in peach tint (`#fcded2`) with orange left-border accent. Ink text at 14px: specific failure reason + retry link. Never a generic "Something went wrong." |
431
+ | **Error (form validation)** | Field-level. Orange-tint border on the input. HubSpot Sans 12px weight 500 error text below: describes what's missing and how to fix it. |
432
+ | **Error (API / integration)** | Contextual inline message with the integration name and the failed action explicitly stated. Link to troubleshooting documentation. |
433
+ | **Success (form submitted)** | Brief inline confirmation on canvas cream. Ink heading at 24px/500: "You're all set!" Body 16px/400: confirms next step (email on the way, meeting link follows). No toast on form pages — the confirmation replaces the form. |
434
+ | **Success (deal closed)** | Toast at top-right. 3-second auto-dismiss. HubSpot Sans 14px/500: "Deal marked as Closed Won." Optional confetti on first-close milestone. |
435
+ | **Skeleton** | Canvas cream blocks at final element dimensions, 16px radius for cards, 4px for badges, 8px for buttons. Warm-toned shimmer pulse. |
436
+ | **Disabled** | Mist (`#cacac8`) border and 40% opacity on surface. Orange actions fade to peach tint (`#fcded2`) text — preserves brand read while clearly indicating inactivity. |
437
+
438
+ ## 15. Motion & Easing
439
+
440
+ **Durations**:
441
+
442
+ | Token | Value | Use |
443
+ |---|---|---|
444
+ | `motion-instant` | 0ms | Focus rings, selection ticks, toggle commits |
445
+ | `motion-fast` | 120ms | Hover, focus, button press overlay |
446
+ | `motion-standard` | 200ms | Dropdown open, card expand, sheet slide |
447
+ | `motion-slow` | 320ms | Page transitions, hero reveal, modal enter |
448
+
449
+ **Easings**:
450
+
451
+ | Token | Curve | Use |
452
+ |---|---|---|
453
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving elements — dropdowns, modals, sheets |
454
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
455
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
456
+
457
+ **Motion rules**: Motion is purposeful and unobtrusive — consistent with HubSpot's "clear and human" design principles. The mega-navigation dropdown opens at `motion-standard / ease-enter`; filter tabs switch at `motion-fast`; CRM row expansions use `motion-standard`. No spring or bounce — HubSpot is professional SaaS, not a consumer entertainment app. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant; the product remains fully functional and all state changes remain perceptible through color and content rather than motion.
458
+
459
+ **Signature motions**: Pipeline card drag-and-drop uses `motion-fast` positional updates with a subtle card lift (hairline border intensification rather than shadow — consistent with the flat system). The hero section on hubspot.com fades in at `motion-slow / ease-enter` on first paint. Email campaign send animation plays a brief single-loop success illustration then settles into the Closed Won toast.
460
+
461
+ <!--
462
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
463
+
464
+ Tier 1 live inspect (2026-06-22) via playwright getComputedStyle on:
465
+ - https://www.hubspot.com/ (homepage, primary surface)
466
+ - https://www.hubspot.com/pricing (secondary surface)
467
+
468
+ Canvas DS (2026-06-22): https://canvas.hubspot.com — confirmed 5 design principles
469
+ (Clear, Human, Inbound, Integrated, Collaborative) and Canvas system description.
470
+
471
+ Voice samples (§10) are verbatim from the live homepage hero section (2026-06-22).
472
+
473
+ Brand narrative (§11): HubSpot founded 2006 by Brian Halligan and Dharmesh Shah at MIT;
474
+ Inbound methodology as founding concept. These are widely documented public facts;
475
+ specifics from Wikipedia and HubSpot's public About/history pages.
476
+
477
+ Personas (§13) are fictional archetypes informed by publicly observable HubSpot user
478
+ segments (SMB marketers, SDRs, CS managers, agency partners). Names are illustrative;
479
+ they do not refer to real people.
480
+
481
+ Interpretive claims (e.g., "dual identity as a technology company with the soul of a
482
+ publishing house", "inbound philosophy echoes through every surface") are editorial
483
+ readings connecting HubSpot's stated methodology to observed design patterns, not
484
+ directly sourced HubSpot statements.
485
+ -->