get-shit-pretty 0.7.0 → 0.7.1

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 (106) hide show
  1. package/README.md +13 -28
  2. package/gsp/agents/gsp-accessibility-auditor.md +1 -60
  3. package/gsp/agents/gsp-brand-auditor.md +1 -61
  4. package/gsp/agents/gsp-brand-creative-director.md +10 -0
  5. package/gsp/agents/gsp-brand-engineer.md +1 -122
  6. package/gsp/agents/gsp-brand-researcher.md +11 -0
  7. package/gsp/agents/gsp-brand-strategist.md +1 -65
  8. package/gsp/agents/gsp-project-builder.md +17 -0
  9. package/gsp/agents/gsp-project-critic.md +11 -0
  10. package/gsp/agents/gsp-project-designer.md +11 -0
  11. package/gsp/agents/gsp-project-researcher.md +1 -74
  12. package/gsp/agents/gsp-project-reviewer.md +12 -0
  13. package/gsp/hooks/hooks.json +10 -28
  14. package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
  15. package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
  16. package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
  17. package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
  18. package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
  19. package/gsp/skills/gsp-art/SKILL.md +13 -10
  20. package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
  21. package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
  22. package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
  23. package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
  24. package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
  25. package/gsp/skills/gsp-brand-identity/SKILL.md +12 -11
  26. package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
  27. package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
  28. package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
  29. package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
  30. package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
  31. package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
  32. package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
  33. package/gsp/skills/gsp-color/SKILL.md +0 -1
  34. package/gsp/skills/gsp-design-system/SKILL.md +0 -1
  35. package/gsp/skills/gsp-doctor/SKILL.md +0 -1
  36. package/gsp/skills/gsp-help/SKILL.md +0 -2
  37. package/gsp/skills/gsp-icons/SKILL.md +0 -1
  38. package/gsp/skills/gsp-logo/SKILL.md +0 -1
  39. package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
  40. package/gsp/skills/gsp-pretty/SKILL.md +25 -24
  41. package/gsp/skills/gsp-progress/SKILL.md +0 -1
  42. package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
  43. package/gsp/skills/gsp-project-build/SKILL.md +18 -14
  44. package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +0 -16
  45. package/gsp/skills/gsp-project-critique/SKILL.md +13 -13
  46. package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
  47. package/gsp/skills/gsp-project-design/SKILL.md +9 -6
  48. package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
  49. package/gsp/skills/gsp-project-research/SKILL.md +4 -2
  50. package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
  51. package/gsp/skills/gsp-project-review/SKILL.md +8 -5
  52. package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
  53. package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
  54. package/gsp/skills/gsp-start/SKILL.md +59 -210
  55. package/gsp/skills/gsp-style/SKILL.md +1 -2
  56. package/gsp/skills/gsp-style/styles/academia.md +751 -787
  57. package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
  58. package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
  59. package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
  60. package/gsp/skills/gsp-style/styles/botanical.md +141 -177
  61. package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
  62. package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
  63. package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
  64. package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
  65. package/gsp/skills/gsp-style/styles/fluent.md +0 -31
  66. package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
  67. package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
  68. package/gsp/skills/gsp-style/styles/industrial.md +406 -438
  69. package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
  70. package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
  71. package/gsp/skills/gsp-style/styles/luxury.md +402 -438
  72. package/gsp/skills/gsp-style/styles/material.md +555 -591
  73. package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
  74. package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
  75. package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
  76. package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
  77. package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
  78. package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
  79. package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
  80. package/gsp/skills/gsp-style/styles/organic.md +177 -213
  81. package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
  82. package/gsp/skills/gsp-style/styles/professional.md +503 -539
  83. package/gsp/skills/gsp-style/styles/retro.md +664 -700
  84. package/gsp/skills/gsp-style/styles/saas.md +490 -526
  85. package/gsp/skills/gsp-style/styles/sketch.md +189 -225
  86. package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
  87. package/gsp/skills/gsp-style/styles/terminal.md +99 -135
  88. package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
  89. package/gsp/skills/gsp-style/styles/web3.md +337 -373
  90. package/gsp/skills/gsp-typography/SKILL.md +0 -1
  91. package/gsp/skills/gsp-update/SKILL.md +0 -1
  92. package/gsp/skills/gsp-visuals/SKILL.md +0 -1
  93. package/gsp/templates/branding/config.json +1 -1
  94. package/gsp/templates/exports-index.md +0 -7
  95. package/gsp/templates/projects/config.json +1 -1
  96. package/gsp/templates/projects/roadmap.md +0 -7
  97. package/gsp/templates/projects/state.md +0 -4
  98. package/package.json +1 -1
  99. package/scripts/lint-check.sh +1 -1
  100. package/gsp/agents/gsp-ascii-artist.md +0 -66
  101. package/gsp/agents/gsp-brand-syncer.md +0 -126
  102. package/gsp/agents/gsp-campaign-director.md +0 -79
  103. package/gsp/agents/gsp-scoper.md +0 -85
  104. package/gsp/skills/gsp-launch/SKILL.md +0 -97
  105. package/gsp/skills/gsp-start/questioning.md +0 -87
  106. package/gsp/templates/phases/launch.md +0 -55
@@ -1,225 +1,189 @@
1
- <role>
2
- You are an expert frontend engineer, UI/UX designer, visual design specialist, and typography expert. Your goal is to help the user integrate a design system into an existing codebase in a way that is visually consistent, maintainable, and idiomatic to their tech stack.
3
-
4
- Before proposing or writing any code, first build a clear mental model of the current system:
5
-
6
- - Identify the tech stack (e.g. React, Next.js, Vue, Tailwind, shadcn/ui, etc.).
7
- - Understand the existing design tokens (colors, spacing, typography, radii, shadows), global styles, and utility patterns.
8
- - Review the current component architecture (atoms/molecules/organisms, layout primitives, etc.) and naming conventions.
9
- - Note any constraints (legacy CSS, design library in use, performance or bundle-size considerations).
10
-
11
- Ask the user focused questions to understand the user's goals. Do they want:
12
-
13
- - a specific component or page redesigned in the new style,
14
- - existing components refactored to the new system, or
15
- - new pages/features built entirely in the new style?
16
-
17
- Once you understand the context and scope, do the following:
18
-
19
- - Propose a concise implementation plan that follows best practices, prioritizing:
20
- - centralizing design tokens,
21
- - reusability and composability of components,
22
- - minimizing duplication and one-off styles,
23
- - long-term maintainability and clear naming.
24
- - When writing code, match the user’s existing patterns (folder structure, naming, styling approach, and component patterns).
25
- - Explain your reasoning briefly as you go, so the user understands *why* you’re making certain architectural or design choices.
26
-
27
- Always aim to:
28
-
29
- - Preserve or improve accessibility.
30
- - Maintain visual consistency with the provided design system.
31
- - Leave the codebase in a cleaner, more coherent state than you found it.
32
- - Ensure layouts are responsive and usable across devices.
33
- - Make deliberate, creative design choices (layout, motion, interaction details, and typography) that express the design system’s personality instead of producing a generic or boilerplate UI.
34
-
35
- </role>
36
-
37
- <design-system>
38
- # Design Style: Bauhaus
39
-
40
- ## 1. Design Philosophy
41
-
42
- The Bauhaus style embodies the revolutionary principle "form follows function" while celebrating pure geometric beauty and primary color theory. This is **constructivist modernism**—every element is deliberately composed from circles, squares, and triangles. The aesthetic should evoke 1920s Bauhaus posters: bold, asymmetric, architectural, and unapologetically graphic.
43
-
44
- **Vibe**: Constructivist, Geometric, Modernist, Artistic-yet-Functional, Bold, Architectural
45
-
46
- **Core Concept**: The interface is not merely a layout—it is a **geometric composition**. Every section is constructed rather than designed. Think of the page as a Bauhaus poster brought to life: shapes overlap, borders are thick and deliberate, colors are pure primaries (Red #D02020, Blue #1040C0, Yellow #F0C020), and everything is grounded by stark black (#121212) and clean white.
47
-
48
- **Key Characteristics**:
49
-
50
- - **Geometric Purity**: All decorative elements derive from circles, squares, and triangles
51
- - **Hard Shadows**: 4px and 8px offset shadows (never soft/blurred) create depth through layering
52
- - **Color Blocking**: Entire sections use solid primary colors as backgrounds
53
- - **Thick Borders**: 2px and 4px black borders define every major element
54
- - **Asymmetric Balance**: Grids are used but intentionally broken with overlapping elements
55
- - **Constructivist Typography**: Massive uppercase headlines (text-6xl to text-8xl) with tight tracking
56
- - **Functional Honesty**: No gradients, no subtle effects—everything is direct and declarative
57
-
58
- ## 2. Design Token System (The DNA)
59
-
60
- ### Colors (Single Palette - Light Mode)
61
-
62
- The palette is strictly limited to the Bauhaus primaries, plus stark black and white.
63
-
64
- - `background`: `#F0F0F0` (Off-white canvas)
65
- - `foreground`: `#121212` (Stark Black)
66
- - `primary-red`: `#D02020` (Bauhaus Red)
67
- - `primary-blue`: `#1040C0` (Bauhaus Blue)
68
- - `primary-yellow`: `#F0C020` (Bauhaus Yellow)
69
- - `border`: `#121212` (Thick, distinct borders)
70
- - `muted`: `#E0E0E0`
71
-
72
- ### Typography
73
-
74
- - **Font Family**: **'Outfit'** (geometric sans-serif from Google Fonts). This typeface's circular letterforms and clean geometry perfectly embody Bauhaus principles.
75
- - **Font Import**: `Outfit:wght@400;500;700;900`
76
- - **Scaling**: Extreme contrast between display and body text
77
- - Display: text-4xl (mobile) text-6xl (tablet) text-8xl (desktop)
78
- - Subheadings: text-2xl text-3xl text-4xl
79
- - Body: text-base text-lg
80
- - **Weights**:
81
- - Headlines: font-black (900) with uppercase and tracking-tighter
82
- - Subheadings: font-bold (700) with uppercase
83
- - Body: font-medium (500) for readability
84
- - Labels: font-bold (700) with uppercase and tracking-widest
85
- - **Line Height**: Tight for headlines (leading-[0.9]), relaxed for body (leading-relaxed)
86
-
87
- ### Radius & Border
88
-
89
- - **Radius**: Binary extremes—either `rounded-none` (0px) for squares/rectangles or `rounded-full` (9999px) for circles. No in-between rounded corners.
90
- - **Border Widths**:
91
- - Mobile: `border-2` (2px)
92
- - Desktop: `border-4` (4px)
93
- - Navigation/Major divisions: `border-b-4` (4px bottom border)
94
- - **Border Color**: Always `#121212` (black) for maximum contrast
95
-
96
- ### Shadows/Effects
97
-
98
- - **Hard Offset Shadows** (inspired by Bauhaus layering):
99
- - Small: `shadow-[3px_3px_0px_0px_black]` or `shadow-[4px_4px_0px_0px_black]`
100
- - Medium: `shadow-[6px_6px_0px_0px_black]`
101
- - Large: `shadow-[8px_8px_0px_0px_black]`
102
- - **Button Press Effect**: `active:translate-x-[2px] active:translate-y-[2px] active:shadow-none` (simulates physical button press)
103
- - **Card Hover**: `hover:-translate-y-1` or `hover:-translate-y-2` (subtle lift)
104
- - **Patterns**: Use CSS background patterns for texture
105
- - Dot grid: `radial-gradient(#fff 2px, transparent 2px)` with `background-size: 20px 20px`
106
- - Opacity overlays: Large geometric shapes at 10-20% opacity for background decoration
107
-
108
- ## 3. Component Stylings
109
-
110
- ### Buttons
111
-
112
- - **Variants**:
113
- - **Primary** (Red): `bg-[#D02020] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]`
114
- - **Secondary** (Blue): `bg-[#1040C0] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]`
115
- - **Yellow**: `bg-[#F0C020] text-black border-2 border-black shadow-[4px_4px_0px_0px_black]`
116
- - **Outline**: `bg-white text-black border-2 border-black shadow-[4px_4px_0px_0px_black]`
117
- - **Ghost**: `border-none text-black hover:bg-gray-200`
118
- - **Shapes**: Either `rounded-none` (square) or `rounded-full` (pill). Use shape variants deliberately.
119
- - **States**:
120
- - Hover: Slight opacity change (`hover:bg-[color]/90`)
121
- - Active: Button "presses down" (`active:translate-x-[2px] active:translate-y-[2px] active:shadow-none`)
122
- - Focus: 2px offset ring
123
- - **Typography**: Uppercase, font-bold, tracking-wider
124
-
125
- ### Cards
126
-
127
- - **Base Style**: White background, `border-4 border-black`, `shadow-[8px_8px_0px_0px_black]`
128
- - **Decoration**: Small geometric shape in top-right corner (8px x 8px):
129
- - Circle: `rounded-full bg-[primary-color]`
130
- - Square: `rounded-none bg-[primary-color]`
131
- - Triangle: CSS clip-path `polygon(50% 0%, 0% 100%, 100% 100%)`
132
- - **Hover**: `hover:-translate-y-1` (subtle lift effect)
133
- - **Content Hierarchy**: Large bold titles, medium body text, generous padding
134
-
135
- ### Accordion (FAQ)
136
-
137
- - **Closed State**: White background, `border-4 border-black`, `shadow-[4px_4px_0px_0px_black]`
138
- - **Open State**: Red background (`bg-[#D02020]`), white text for header
139
- - **Expanded Content**: Light yellow background (`bg-[#FFF9C4]`), black text, `border-t-4 border-black`
140
- - **Icon**: ChevronDown with `rotate-180` when open
141
-
142
- ## 4. Layout & Spacing
143
-
144
- - **Container Width**: `max-w-7xl` for main content sections (creates poster-like breadth)
145
- - **Section Padding**:
146
- - Mobile: `py-12 px-4`
147
- - Tablet: `py-16 px-6`
148
- - Desktop: `py-24 px-8`
149
- - **Grid Systems**:
150
- - Stats: 1-column (mobile) → 2-column (tablet) → 4-column (desktop) with `divide-y` and `divide-x` borders
151
- - Features: 1-column 2-column 3-column with 8px gaps
152
- - Pricing: 1-column → 3-column (center elevated on desktop)
153
- - **Spacing Scale**: Consistent use of 4px, 8px, 12px, 16px, 24px
154
- - **Section Dividers**: Every section has `border-b-4 border-black` creating strong horizontal rhythm
155
-
156
- ## 5. Non-Genericness (Bold Choices)
157
-
158
- **This design MUST NOT look like generic Tailwind or Bootstrap. The following are mandatory:**
159
-
160
- - **Color Blocking**: Entire sections use solid primary colors as backgrounds:
161
-
162
- - Hero right panel: Blue (`bg-[#1040C0]`)
163
- - Stats section: Yellow (`bg-[#F0C020]`)
164
- - Blog section: Blue (`bg-[#1040C0]`)
165
- - Benefits section: Red (`bg-[#D02020]`)
166
- - Final CTA: Yellow (`bg-[#F0C020]`)
167
- - Footer: Near-black (`bg-[#121212]`)
168
- - **Geometric Logo**: Navigation features three geometric shapes (circle, square, triangle) in primary colors forming the brand identity
169
- - **Geometric Compositions**: Use abstract compositions of overlapping shapes:
170
-
171
- - Hero right panel: Overlapping circle, rotated square, and centered square with triangle
172
- - Product Detail: Abstract geometric "face" constructed from circles, squares, and diagonal line
173
- - Final CTA: Large decorative shapes (circle and rotated square) at 50% opacity in corners
174
- - **Rotated Elements**: Deliberate 45° rotation on:
175
-
176
- - Every 3rd shape in repeating patterns
177
- - Step numbers in "How It Works" (counter-rotate inner content)
178
- - Decorative background shapes
179
- - **Image Treatments**:
180
-
181
- - Blog images: Alternate between `rounded-full` and `rounded-none`, grayscale filter with `hover:grayscale-0`
182
- - Testimonial avatars: Circular crop with `rounded-full` and grayscale filter
183
- - **Unique Decorations**: Small geometric shapes (8px-16px) as corner decorations on cards, using the three primary colors in rotation
184
-
185
- ## 6. Icons & Imagery
186
-
187
- - **Icon Library**: `lucide-react` (Circle, Square, Triangle, Check, Quote, ArrowRight, ChevronDown)
188
- - **Icon Style**:
189
- - Stroke width: 2px (default) or 3px (emphasis)
190
- - Size: h-6 w-6 to h-8 w-8
191
- - Color: Match section accent color or white on colored backgrounds
192
- - **Icon Integration**: Icons placed inside bordered geometric containers:
193
- - Features: Icon in white bordered box with shadow
194
- - Benefits: Check icon in yellow circular badge
195
- - Stats: Numbers in geometric shapes (circle/square/rotated square)
196
- - **Image Treatment**: All images use grayscale filter by default, color on hover
197
-
198
- ## 7. Responsive Strategy
199
-
200
- - **Mobile-First Approach**: Start with single-column layouts, expand to grids on larger screens
201
- - **Breakpoints**:
202
- - Mobile: < 640px (sm)
203
- - Tablet: 640px - 1024px (sm to lg)
204
- - Desktop: > 1024px (lg+)
205
- - **Typography Scaling**: All text uses responsive classes (text-4xl sm:text-6xl lg:text-8xl)
206
- - **Border/Shadow Scaling**: Reduce border and shadow sizes on mobile (border-2 → border-4, shadow-[3px] → shadow-[8px])
207
- - **Navigation**: Hamburger menu button on mobile (< 768px), full nav on desktop
208
- - **Grid Adaptations**:
209
- - Stats: 1 col → 2 col (sm) → 4 col (lg)
210
- - Features: 1 col → 2 col (md) → 3 col (lg)
211
- - How It Works: 1 col → 2 col (sm) → 4 col (md), hide connecting line on mobile
212
-
213
- ## 8. Animation & Micro-Interactions
214
-
215
- - **Feel**: Mechanical, snappy, geometric (no soft organic movement)
216
- - **Transition Duration**: `duration-200` or `duration-300` (fast and decisive)
217
- - **Easing**: `ease-out` (mechanical feel)
218
- - **Interactions**:
219
- - Button press: Translate and remove shadow (`active:translate-x-[2px] active:translate-y-[2px] active:shadow-none`)
220
- - Card hover: Lift upward (`hover:-translate-y-1` or `hover:-translate-y-2`)
221
- - Accordion: ChevronDown rotation (`rotate-180`) and content reveal with max-height transition
222
- - Icon hover: Scale up on grouped shapes (`group-hover:scale-110`)
223
- - Link hover: Color change to accent color
224
- - **Background Patterns**: Static (no animation on patterns)
225
- `</design-system>`
1
+ <design-system>
2
+ # Design Style: Bauhaus
3
+
4
+ ## 1. Design Philosophy
5
+
6
+ The Bauhaus style embodies the revolutionary principle "form follows function" while celebrating pure geometric beauty and primary color theory. This is **constructivist modernism**—every element is deliberately composed from circles, squares, and triangles. The aesthetic should evoke 1920s Bauhaus posters: bold, asymmetric, architectural, and unapologetically graphic.
7
+
8
+ **Vibe**: Constructivist, Geometric, Modernist, Artistic-yet-Functional, Bold, Architectural
9
+
10
+ **Core Concept**: The interface is not merely a layout—it is a **geometric composition**. Every section is constructed rather than designed. Think of the page as a Bauhaus poster brought to life: shapes overlap, borders are thick and deliberate, colors are pure primaries (Red #D02020, Blue #1040C0, Yellow #F0C020), and everything is grounded by stark black (#121212) and clean white.
11
+
12
+ **Key Characteristics**:
13
+
14
+ - **Geometric Purity**: All decorative elements derive from circles, squares, and triangles
15
+ - **Hard Shadows**: 4px and 8px offset shadows (never soft/blurred) create depth through layering
16
+ - **Color Blocking**: Entire sections use solid primary colors as backgrounds
17
+ - **Thick Borders**: 2px and 4px black borders define every major element
18
+ - **Asymmetric Balance**: Grids are used but intentionally broken with overlapping elements
19
+ - **Constructivist Typography**: Massive uppercase headlines (text-6xl to text-8xl) with tight tracking
20
+ - **Functional Honesty**: No gradients, no subtle effects—everything is direct and declarative
21
+
22
+ ## 2. Design Token System (The DNA)
23
+
24
+ ### Colors (Single Palette - Light Mode)
25
+
26
+ The palette is strictly limited to the Bauhaus primaries, plus stark black and white.
27
+
28
+ - `background`: `#F0F0F0` (Off-white canvas)
29
+ - `foreground`: `#121212` (Stark Black)
30
+ - `primary-red`: `#D02020` (Bauhaus Red)
31
+ - `primary-blue`: `#1040C0` (Bauhaus Blue)
32
+ - `primary-yellow`: `#F0C020` (Bauhaus Yellow)
33
+ - `border`: `#121212` (Thick, distinct borders)
34
+ - `muted`: `#E0E0E0`
35
+
36
+ ### Typography
37
+
38
+ - **Font Family**: **'Outfit'** (geometric sans-serif from Google Fonts). This typeface's circular letterforms and clean geometry perfectly embody Bauhaus principles.
39
+ - **Font Import**: `Outfit:wght@400;500;700;900`
40
+ - **Scaling**: Extreme contrast between display and body text
41
+ - Display: text-4xl (mobile) → text-6xl (tablet) → text-8xl (desktop)
42
+ - Subheadings: text-2xl text-3xl text-4xl
43
+ - Body: text-base → text-lg
44
+ - **Weights**:
45
+ - Headlines: font-black (900) with uppercase and tracking-tighter
46
+ - Subheadings: font-bold (700) with uppercase
47
+ - Body: font-medium (500) for readability
48
+ - Labels: font-bold (700) with uppercase and tracking-widest
49
+ - **Line Height**: Tight for headlines (leading-[0.9]), relaxed for body (leading-relaxed)
50
+
51
+ ### Radius & Border
52
+
53
+ - **Radius**: Binary extremes—either `rounded-none` (0px) for squares/rectangles or `rounded-full` (9999px) for circles. No in-between rounded corners.
54
+ - **Border Widths**:
55
+ - Mobile: `border-2` (2px)
56
+ - Desktop: `border-4` (4px)
57
+ - Navigation/Major divisions: `border-b-4` (4px bottom border)
58
+ - **Border Color**: Always `#121212` (black) for maximum contrast
59
+
60
+ ### Shadows/Effects
61
+
62
+ - **Hard Offset Shadows** (inspired by Bauhaus layering):
63
+ - Small: `shadow-[3px_3px_0px_0px_black]` or `shadow-[4px_4px_0px_0px_black]`
64
+ - Medium: `shadow-[6px_6px_0px_0px_black]`
65
+ - Large: `shadow-[8px_8px_0px_0px_black]`
66
+ - **Button Press Effect**: `active:translate-x-[2px] active:translate-y-[2px] active:shadow-none` (simulates physical button press)
67
+ - **Card Hover**: `hover:-translate-y-1` or `hover:-translate-y-2` (subtle lift)
68
+ - **Patterns**: Use CSS background patterns for texture
69
+ - Dot grid: `radial-gradient(#fff 2px, transparent 2px)` with `background-size: 20px 20px`
70
+ - Opacity overlays: Large geometric shapes at 10-20% opacity for background decoration
71
+
72
+ ## 3. Component Stylings
73
+
74
+ ### Buttons
75
+
76
+ - **Variants**:
77
+ - **Primary** (Red): `bg-[#D02020] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]`
78
+ - **Secondary** (Blue): `bg-[#1040C0] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]`
79
+ - **Yellow**: `bg-[#F0C020] text-black border-2 border-black shadow-[4px_4px_0px_0px_black]`
80
+ - **Outline**: `bg-white text-black border-2 border-black shadow-[4px_4px_0px_0px_black]`
81
+ - **Ghost**: `border-none text-black hover:bg-gray-200`
82
+ - **Shapes**: Either `rounded-none` (square) or `rounded-full` (pill). Use shape variants deliberately.
83
+ - **States**:
84
+ - Hover: Slight opacity change (`hover:bg-[color]/90`)
85
+ - Active: Button "presses down" (`active:translate-x-[2px] active:translate-y-[2px] active:shadow-none`)
86
+ - Focus: 2px offset ring
87
+ - **Typography**: Uppercase, font-bold, tracking-wider
88
+
89
+ ### Cards
90
+
91
+ - **Base Style**: White background, `border-4 border-black`, `shadow-[8px_8px_0px_0px_black]`
92
+ - **Decoration**: Small geometric shape in top-right corner (8px x 8px):
93
+ - Circle: `rounded-full bg-[primary-color]`
94
+ - Square: `rounded-none bg-[primary-color]`
95
+ - Triangle: CSS clip-path `polygon(50% 0%, 0% 100%, 100% 100%)`
96
+ - **Hover**: `hover:-translate-y-1` (subtle lift effect)
97
+ - **Content Hierarchy**: Large bold titles, medium body text, generous padding
98
+
99
+ ### Accordion (FAQ)
100
+
101
+ - **Closed State**: White background, `border-4 border-black`, `shadow-[4px_4px_0px_0px_black]`
102
+ - **Open State**: Red background (`bg-[#D02020]`), white text for header
103
+ - **Expanded Content**: Light yellow background (`bg-[#FFF9C4]`), black text, `border-t-4 border-black`
104
+ - **Icon**: ChevronDown with `rotate-180` when open
105
+
106
+ ## 4. Layout & Spacing
107
+
108
+ - **Container Width**: `max-w-7xl` for main content sections (creates poster-like breadth)
109
+ - **Section Padding**:
110
+ - Mobile: `py-12 px-4`
111
+ - Tablet: `py-16 px-6`
112
+ - Desktop: `py-24 px-8`
113
+ - **Grid Systems**:
114
+ - Stats: 1-column (mobile) 2-column (tablet) → 4-column (desktop) with `divide-y` and `divide-x` borders
115
+ - Features: 1-column 2-column → 3-column with 8px gaps
116
+ - Pricing: 1-column 3-column (center elevated on desktop)
117
+ - **Spacing Scale**: Consistent use of 4px, 8px, 12px, 16px, 24px
118
+ - **Section Dividers**: Every section has `border-b-4 border-black` creating strong horizontal rhythm
119
+
120
+ ## 5. Non-Genericness (Bold Choices)
121
+
122
+ **This design MUST NOT look like generic Tailwind or Bootstrap. The following are mandatory:**
123
+
124
+ - **Color Blocking**: Entire sections use solid primary colors as backgrounds:
125
+
126
+ - Hero right panel: Blue (`bg-[#1040C0]`)
127
+ - Stats section: Yellow (`bg-[#F0C020]`)
128
+ - Blog section: Blue (`bg-[#1040C0]`)
129
+ - Benefits section: Red (`bg-[#D02020]`)
130
+ - Final CTA: Yellow (`bg-[#F0C020]`)
131
+ - Footer: Near-black (`bg-[#121212]`)
132
+ - **Geometric Logo**: Navigation features three geometric shapes (circle, square, triangle) in primary colors forming the brand identity
133
+ - **Geometric Compositions**: Use abstract compositions of overlapping shapes:
134
+
135
+ - Hero right panel: Overlapping circle, rotated square, and centered square with triangle
136
+ - Product Detail: Abstract geometric "face" constructed from circles, squares, and diagonal line
137
+ - Final CTA: Large decorative shapes (circle and rotated square) at 50% opacity in corners
138
+ - **Rotated Elements**: Deliberate 45° rotation on:
139
+
140
+ - Every 3rd shape in repeating patterns
141
+ - Step numbers in "How It Works" (counter-rotate inner content)
142
+ - Decorative background shapes
143
+ - **Image Treatments**:
144
+
145
+ - Blog images: Alternate between `rounded-full` and `rounded-none`, grayscale filter with `hover:grayscale-0`
146
+ - Testimonial avatars: Circular crop with `rounded-full` and grayscale filter
147
+ - **Unique Decorations**: Small geometric shapes (8px-16px) as corner decorations on cards, using the three primary colors in rotation
148
+
149
+ ## 6. Icons & Imagery
150
+
151
+ - **Icon Library**: `lucide-react` (Circle, Square, Triangle, Check, Quote, ArrowRight, ChevronDown)
152
+ - **Icon Style**:
153
+ - Stroke width: 2px (default) or 3px (emphasis)
154
+ - Size: h-6 w-6 to h-8 w-8
155
+ - Color: Match section accent color or white on colored backgrounds
156
+ - **Icon Integration**: Icons placed inside bordered geometric containers:
157
+ - Features: Icon in white bordered box with shadow
158
+ - Benefits: Check icon in yellow circular badge
159
+ - Stats: Numbers in geometric shapes (circle/square/rotated square)
160
+ - **Image Treatment**: All images use grayscale filter by default, color on hover
161
+
162
+ ## 7. Responsive Strategy
163
+
164
+ - **Mobile-First Approach**: Start with single-column layouts, expand to grids on larger screens
165
+ - **Breakpoints**:
166
+ - Mobile: < 640px (sm)
167
+ - Tablet: 640px - 1024px (sm to lg)
168
+ - Desktop: > 1024px (lg+)
169
+ - **Typography Scaling**: All text uses responsive classes (text-4xl sm:text-6xl lg:text-8xl)
170
+ - **Border/Shadow Scaling**: Reduce border and shadow sizes on mobile (border-2 → border-4, shadow-[3px] → shadow-[8px])
171
+ - **Navigation**: Hamburger menu button on mobile (< 768px), full nav on desktop
172
+ - **Grid Adaptations**:
173
+ - Stats: 1 col 2 col (sm) 4 col (lg)
174
+ - Features: 1 col 2 col (md) → 3 col (lg)
175
+ - How It Works: 1 col → 2 col (sm) → 4 col (md), hide connecting line on mobile
176
+
177
+ ## 8. Animation & Micro-Interactions
178
+
179
+ - **Feel**: Mechanical, snappy, geometric (no soft organic movement)
180
+ - **Transition Duration**: `duration-200` or `duration-300` (fast and decisive)
181
+ - **Easing**: `ease-out` (mechanical feel)
182
+ - **Interactions**:
183
+ - Button press: Translate and remove shadow (`active:translate-x-[2px] active:translate-y-[2px] active:shadow-none`)
184
+ - Card hover: Lift upward (`hover:-translate-y-1` or `hover:-translate-y-2`)
185
+ - Accordion: ChevronDown rotation (`rotate-180`) and content reveal with max-height transition
186
+ - Icon hover: Scale up on grouped shapes (`group-hover:scale-110`)
187
+ - Link hover: Color change to accent color
188
+ - **Background Patterns**: Static (no animation on patterns)
189
+ `</design-system>`