get-shit-pretty 0.7.0 → 0.7.3

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 (112) hide show
  1. package/README.md +301 -124
  2. package/bin/install.js +1 -1
  3. package/gsp/agents/gsp-accessibility-auditor.md +1 -60
  4. package/gsp/agents/gsp-brand-auditor.md +1 -61
  5. package/gsp/agents/gsp-brand-creative-director.md +10 -0
  6. package/gsp/agents/gsp-brand-engineer.md +1 -122
  7. package/gsp/agents/gsp-brand-researcher.md +11 -0
  8. package/gsp/agents/gsp-brand-strategist.md +1 -65
  9. package/gsp/agents/gsp-project-builder.md +17 -0
  10. package/gsp/agents/gsp-project-critic.md +11 -0
  11. package/gsp/agents/gsp-project-designer.md +11 -0
  12. package/gsp/agents/gsp-project-researcher.md +1 -74
  13. package/gsp/agents/gsp-project-reviewer.md +12 -0
  14. package/gsp/hooks/hooks.json +32 -14
  15. package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
  16. package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
  17. package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
  18. package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
  19. package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
  20. package/gsp/skills/gsp-art/SKILL.md +13 -10
  21. package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
  22. package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
  23. package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
  24. package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
  25. package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
  26. package/gsp/skills/gsp-brand-identity/SKILL.md +19 -18
  27. package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
  28. package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
  29. package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
  30. package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
  31. package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
  32. package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
  33. package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
  34. package/gsp/skills/gsp-color/SKILL.md +0 -1
  35. package/gsp/skills/gsp-design-system/SKILL.md +0 -1
  36. package/gsp/skills/gsp-doctor/SKILL.md +0 -1
  37. package/gsp/skills/gsp-help/SKILL.md +10 -7
  38. package/gsp/skills/gsp-icons/SKILL.md +0 -1
  39. package/gsp/skills/gsp-logo/SKILL.md +0 -1
  40. package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
  41. package/gsp/skills/gsp-pretty/SKILL.md +25 -24
  42. package/gsp/skills/gsp-progress/SKILL.md +0 -1
  43. package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
  44. package/gsp/skills/gsp-project-build/SKILL.md +216 -74
  45. package/gsp/skills/gsp-project-build/bento-grid.md +114 -0
  46. package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +14 -16
  47. package/gsp/skills/gsp-project-critique/SKILL.md +21 -17
  48. package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
  49. package/gsp/skills/gsp-project-design/SKILL.md +9 -6
  50. package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
  51. package/gsp/skills/gsp-project-research/SKILL.md +4 -2
  52. package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
  53. package/gsp/skills/gsp-project-review/SKILL.md +8 -5
  54. package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
  55. package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
  56. package/gsp/skills/gsp-start/SKILL.md +59 -210
  57. package/gsp/skills/gsp-style/SKILL.md +1 -2
  58. package/gsp/skills/gsp-style/styles/INDEX.yml +7 -1
  59. package/gsp/skills/gsp-style/styles/academia.md +751 -787
  60. package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
  61. package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
  62. package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
  63. package/gsp/skills/gsp-style/styles/botanical.md +141 -177
  64. package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
  65. package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
  66. package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
  67. package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
  68. package/gsp/skills/gsp-style/styles/fluent.md +0 -31
  69. package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
  70. package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
  71. package/gsp/skills/gsp-style/styles/industrial.md +406 -438
  72. package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
  73. package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
  74. package/gsp/skills/gsp-style/styles/luxury.md +402 -438
  75. package/gsp/skills/gsp-style/styles/material.md +555 -591
  76. package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
  77. package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
  78. package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
  79. package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
  80. package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
  81. package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
  82. package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
  83. package/gsp/skills/gsp-style/styles/nothing.md +445 -0
  84. package/gsp/skills/gsp-style/styles/nothing.yml +146 -0
  85. package/gsp/skills/gsp-style/styles/organic.md +177 -213
  86. package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
  87. package/gsp/skills/gsp-style/styles/professional.md +503 -539
  88. package/gsp/skills/gsp-style/styles/retro.md +664 -700
  89. package/gsp/skills/gsp-style/styles/saas.md +490 -526
  90. package/gsp/skills/gsp-style/styles/sketch.md +189 -225
  91. package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
  92. package/gsp/skills/gsp-style/styles/terminal.md +99 -135
  93. package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
  94. package/gsp/skills/gsp-style/styles/web3.md +337 -373
  95. package/gsp/skills/gsp-typography/SKILL.md +0 -1
  96. package/gsp/skills/gsp-update/SKILL.md +0 -1
  97. package/gsp/skills/gsp-visuals/SKILL.md +0 -1
  98. package/gsp/templates/branding/config.json +3 -2
  99. package/gsp/templates/exports-index.md +0 -7
  100. package/gsp/templates/phases/build.md +13 -4
  101. package/gsp/templates/projects/config.json +3 -2
  102. package/gsp/templates/projects/roadmap.md +0 -7
  103. package/gsp/templates/projects/state.md +0 -4
  104. package/package.json +1 -1
  105. package/scripts/lint-check.sh +1 -1
  106. package/gsp/agents/gsp-ascii-artist.md +0 -66
  107. package/gsp/agents/gsp-brand-syncer.md +0 -126
  108. package/gsp/agents/gsp-campaign-director.md +0 -79
  109. package/gsp/agents/gsp-scoper.md +0 -85
  110. package/gsp/skills/gsp-launch/SKILL.md +0 -97
  111. package/gsp/skills/gsp-start/questioning.md +0 -87
  112. package/gsp/templates/phases/launch.md +0 -55
@@ -1,177 +1,141 @@
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: Botanical / Organic Serif
39
-
40
- ## 1. Design Philosophy
41
-
42
- This style is a **digital ode to nature**—it breathes, flows, and grounds itself in organic beauty. It is **soft, sophisticated, and deeply intentional**, rejecting the rigid, hyper-digital sharpness of modern tech aesthetics in favor of **warmth, tactility, and natural imperfection**.
43
-
44
- ### Core Essence
45
-
46
- The Botanical Organic style embodies the calming presence of a botanical garden, the earthy warmth of a ceramics studio, and the refined elegance of editorial design. It whispers rather than shouts. Every element feels **hand-touched, sun-warmed, and naturally crafted**.
47
-
48
- ### Fundamental Principles
49
-
50
- * **Vibe**: Peaceful, curated, artisanal, high-end wellness, sustainable luxury, botanical elegance
51
- * **Visual DNA**:
52
- * **Organic Softness**: Hard angles are purposefully rare. Every corner is rounded, every shape flows like water-smoothed stones or unfurling leaves. The 200px arch radius on images creates iconic architectural moments.
53
- * **Typographic Elegance**: Typography is the protagonist—Playfair Display's high-contrast strokes command attention while maintaining grace. Italics add a handwritten, personal touch. Headlines breathe with generous scale (text-5xl to text-8xl).
54
- * **Earthbound Palette**: Every color derives from nature—forest floors, clay pottery, sage gardens, terracotta tiles. No artificial brights. Muted, sophisticated, grounded.
55
- * **Tactile Texture**: The subtle paper grain overlay is non-negotiable—it transforms cold digital pixels into warm, touchable surfaces. This is the secret ingredient that prevents flatness.
56
- * **Breathing Space**: Whitespace is sacred. Sections have generous vertical padding (py-32), cards float with ample gaps (gap-8, gap-16), and every element has room to exist without crowding.
57
- * **Intentional Movement**: Animations are slow, graceful, and fluid—like plants swaying in breeze. Duration-500 to duration-700 with ease-out curves. Nothing snaps or jerks.
58
- * **Staggered Rhythm**: Breaking the grid creates natural, organic flow. Every second feature card translates vertically. Images rotate subtly. The design breathes asymmetry within structure.
59
-
60
- ## 2. Design Token System
61
-
62
- ### Colors (Light Mode - Earthy & Muted)
63
-
64
- * **Background**: `#F9F8F4` (Warm Alabaster / Rice Paper) - Not stark white.
65
- * **Foreground**: `#2D3A31` (Deep Forest Green) - The primary text color. Softer than black.
66
- * **Primary/Accent**: `#8C9A84` (Sage Green) - For buttons, highlights, icons.
67
- * **Secondary/Muted**: `#DCCFC2` (Soft Clay / Mushroom) - For backgrounds of cards, secondary buttons.
68
- * **Border**: `#E6E2DA` (Stone) - Very subtle, low contrast.
69
- * **Interactive**: `#C27B66` (Terracotta) - Hover states or "call to action" pops.
70
-
71
- ### Typography
72
-
73
- * **Headings**: **"Playfair Display"** (Google Font). It is a transitional serif with high contrast strokes, feeling both classic and modern.
74
- * Weight: 600/700 for headlines.
75
- * Style: Italicize key words for emphasis.
76
- * **Body**: **"Source Sans 3"** (Google Font). A clean, legible humanist sans-serif that pairs beautifully with Playfair.
77
- * Weight: 400/500.
78
- * **Scaling**: Large. Headlines should feel airy and grand.
79
-
80
- ### Radius & Shapes
81
-
82
- * **Radius**: Highly rounded.
83
- * Standard Card: `rounded-3xl` (24px).
84
- * Buttons: `rounded-full` (Pill shape).
85
- * Images: Often `rounded-t-full` (Arch) or `rounded-[40px]`.
86
- * **Border**: Thin, delicate. `1px` solid.
87
-
88
- ### Shadows & Effects
89
-
90
- * **Elevation**: Very soft, diffused shadows. No harsh dark drops.
91
- * Default: `0 4px 6px -1px rgba(45, 58, 49, 0.05)`
92
- * Medium: `0 10px 15px -3px rgba(45, 58, 49, 0.05)`
93
- * Large: `0 20px 40px -10px rgba(45, 58, 49, 0.05)`
94
- * Extra Large: `0 25px 50px -12px rgba(45, 58, 49, 0.15)`
95
- * **Paper Grain Texture** (CRITICAL): A subtle SVG noise overlay is **mandatory** on the main background. This is applied as a fixed, full-screen overlay with `opacity-[0.015]` using an SVG fractal noise filter. This texture is the defining element that transforms the design from flat digital to warm, tactile, paper-like. Without it, the design loses its soul.
96
- ```jsx
97
- <div
98
- className="pointer-events-none fixed inset-0 z-50 opacity-[0.015]"
99
- style={{
100
- backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`,
101
- backgroundRepeat: "repeat",
102
- }}
103
- />
104
- ```
105
- * **Blur Effects**: Use backdrop-blur-sm on overlays (like the hero quote card) to create depth and layering.
106
-
107
- ## 3. Component Stylings
108
-
109
- ### Buttons
110
-
111
- * **Primary**: Pill-shaped (`rounded-full`). Background is **Deep Forest Green** (`#2D3A31`) with White text. On hover, it lightens slightly or shifts to Terracotta.
112
- * **Secondary**: Transparent background with a **Sage Green** border (`1px`). Text is Sage Green.
113
- * **Typography**: Uppercase, wide tracking (`tracking-widest`), small font size (text-sm).
114
-
115
- ### Cards (Features, Pricing)
116
-
117
- * **Background**: White (`#FFFFFF`) or Soft Clay (`#F2F0EB`).
118
- * **Border**: None or very subtle Stone (`#E6E2DA`).
119
- * **Shape**: `rounded-3xl`.
120
- * **Hover**: Slight lift (`-translate-y-1`) and a bloom of soft shadow.
121
-
122
- ### Inputs
123
-
124
- * **Style**: Underlined only (Border-bottom) or pill-shaped with a very light background (`#F2F0EB`).
125
- * **Focus**: No harsh blue rings. A soft Sage Green border transition.
126
-
127
- ## 4. Non-Generic "Bold" Choices
128
-
129
- * **Arch Imagery**: Use CSS `clip-path` or `border-radius` to turn standard rectangular images into **Arches** (classic Roman arch shape) or **Organic Blobs**.
130
- * **Overlapping Typography**: Allow big serif headlines to slightly overlap images or background shapes.
131
- * **Decorative Lines**: Use fine, 1px SVG lines that curve or meander to connect sections, mimicking vines or roots.
132
- * **Italic Emphasis**: Frequently use the *Italic* variant of Playfair Display for single words within a bold headline.
133
-
134
- ## 5. Layout Strategy & Spacing
135
-
136
- * **Container**: `max-w-7xl`. We want airiness.
137
- * **Whitespace**: Generous. `gap-12` or `gap-16` between grid items. `py-24` or `py-32` between sections.
138
- * **Grid**: Break the grid. Use `translate-y-12` on every second card in a row to create a "staggered" natural look.
139
-
140
- ## 6. Icons (Lucide React)
141
-
142
- * **Style**: Thin stroke (`stroke-width={1.5}`).
143
- * **Color**: Deep Forest Green or Sage.
144
- * **Integration**: Don't put them in heavy boxes. Let them float, or place them in soft, pale circles.
145
-
146
- ## 7. Animation & Micro-Interactions
147
-
148
- * **Feel**: Slow, graceful, fluid. Everything moves like it's suspended in honey or swaying in a gentle breeze. "Eased out" significantly.
149
- * **Durations**:
150
- * Fast interactions: `duration-300` (button hovers, link colors)
151
- * Standard: `duration-500` (card lifts, transforms)
152
- * Slow, dramatic: `duration-700` to `duration-1000` (image scales, hero image hover)
153
- * **Hover Behaviors**:
154
- * Cards: `-translate-y-1` or `-translate-y-2` with shadow intensification
155
- * Images: `scale-105` with `duration-700` for smooth, luxurious feel
156
- * Buttons: `bg-opacity-90` subtle darkening with `duration-300`
157
- * Blog cards: Lift entire card while scaling image, arrow translates right (`translate-x-1`)
158
- * **Focus States**: Sage green ring (`ring-[#8C9A84]`) with 2px width and offset for accessibility
159
- * **Accordion**: Smooth height transitions with `max-h-0` to `max-h-48` and opacity fade
160
- * **Mobile Menu**: Slide in from top with backdrop
161
- * **Scroll**: Elements should gently fade up and float into place (`opacity-0` to `opacity-100`, `translate-y-4` to `translate-y-0`)
162
-
163
- ## 8. Responsive Strategy
164
-
165
- * **Mobile-First Approach**: The design gracefully adapts while maintaining its organic, sophisticated character.
166
- * **Navigation**: Desktop shows horizontal nav with Sign In button. Mobile displays hamburger menu that opens a full-screen overlay with vertical nav links.
167
- * **Hero Image**: Uses `aspect-[3/4]` on mobile, transitions to `aspect-square` with fixed height on md+ breakpoints. This prevents excessive height on small screens.
168
- * **Grid Breakpoints**:
169
- * Features: `grid-cols-1` → `md:grid-cols-3`
170
- * Stats: `grid-cols-2` → `md:grid-cols-4`
171
- * Blog/Testimonials: `grid-cols-1` → `md:grid-cols-3`
172
- * Pricing: `grid-cols-1` → `lg:grid-cols-3`
173
- * **Typography Scaling**: Headlines reduce from `text-8xl` to `text-5xl` on mobile. Body text remains `text-lg` but line-height adjusts.
174
- * **Spacing Adjustments**: `py-32` becomes `py-16` on mobile, `gap-16` becomes `gap-12`, padding reduces from `p-8` to `p-4` where needed.
175
- * **Touch Targets**: All buttons maintain minimum 44px height (`h-12`, `h-14`) for comfortable mobile tapping.
176
- * **Staggered Cards**: The `translate-y-12` offset on alternating cards only applies at `md:` breakpoint and above to prevent awkward stacking on mobile.
177
- `</design-system>`
1
+ <design-system>
2
+ # Design Style: Botanical / Organic Serif
3
+
4
+ ## 1. Design Philosophy
5
+
6
+ This style is a **digital ode to nature**—it breathes, flows, and grounds itself in organic beauty. It is **soft, sophisticated, and deeply intentional**, rejecting the rigid, hyper-digital sharpness of modern tech aesthetics in favor of **warmth, tactility, and natural imperfection**.
7
+
8
+ ### Core Essence
9
+
10
+ The Botanical Organic style embodies the calming presence of a botanical garden, the earthy warmth of a ceramics studio, and the refined elegance of editorial design. It whispers rather than shouts. Every element feels **hand-touched, sun-warmed, and naturally crafted**.
11
+
12
+ ### Fundamental Principles
13
+
14
+ * **Vibe**: Peaceful, curated, artisanal, high-end wellness, sustainable luxury, botanical elegance
15
+ * **Visual DNA**:
16
+ * **Organic Softness**: Hard angles are purposefully rare. Every corner is rounded, every shape flows like water-smoothed stones or unfurling leaves. The 200px arch radius on images creates iconic architectural moments.
17
+ * **Typographic Elegance**: Typography is the protagonist—Playfair Display's high-contrast strokes command attention while maintaining grace. Italics add a handwritten, personal touch. Headlines breathe with generous scale (text-5xl to text-8xl).
18
+ * **Earthbound Palette**: Every color derives from nature—forest floors, clay pottery, sage gardens, terracotta tiles. No artificial brights. Muted, sophisticated, grounded.
19
+ * **Tactile Texture**: The subtle paper grain overlay is non-negotiable—it transforms cold digital pixels into warm, touchable surfaces. This is the secret ingredient that prevents flatness.
20
+ * **Breathing Space**: Whitespace is sacred. Sections have generous vertical padding (py-32), cards float with ample gaps (gap-8, gap-16), and every element has room to exist without crowding.
21
+ * **Intentional Movement**: Animations are slow, graceful, and fluid—like plants swaying in breeze. Duration-500 to duration-700 with ease-out curves. Nothing snaps or jerks.
22
+ * **Staggered Rhythm**: Breaking the grid creates natural, organic flow. Every second feature card translates vertically. Images rotate subtly. The design breathes asymmetry within structure.
23
+
24
+ ## 2. Design Token System
25
+
26
+ ### Colors (Light Mode - Earthy & Muted)
27
+
28
+ * **Background**: `#F9F8F4` (Warm Alabaster / Rice Paper) - Not stark white.
29
+ * **Foreground**: `#2D3A31` (Deep Forest Green) - The primary text color. Softer than black.
30
+ * **Primary/Accent**: `#8C9A84` (Sage Green) - For buttons, highlights, icons.
31
+ * **Secondary/Muted**: `#DCCFC2` (Soft Clay / Mushroom) - For backgrounds of cards, secondary buttons.
32
+ * **Border**: `#E6E2DA` (Stone) - Very subtle, low contrast.
33
+ * **Interactive**: `#C27B66` (Terracotta) - Hover states or "call to action" pops.
34
+
35
+ ### Typography
36
+
37
+ * **Headings**: **"Playfair Display"** (Google Font). It is a transitional serif with high contrast strokes, feeling both classic and modern.
38
+ * Weight: 600/700 for headlines.
39
+ * Style: Italicize key words for emphasis.
40
+ * **Body**: **"Source Sans 3"** (Google Font). A clean, legible humanist sans-serif that pairs beautifully with Playfair.
41
+ * Weight: 400/500.
42
+ * **Scaling**: Large. Headlines should feel airy and grand.
43
+
44
+ ### Radius & Shapes
45
+
46
+ * **Radius**: Highly rounded.
47
+ * Standard Card: `rounded-3xl` (24px).
48
+ * Buttons: `rounded-full` (Pill shape).
49
+ * Images: Often `rounded-t-full` (Arch) or `rounded-[40px]`.
50
+ * **Border**: Thin, delicate. `1px` solid.
51
+
52
+ ### Shadows & Effects
53
+
54
+ * **Elevation**: Very soft, diffused shadows. No harsh dark drops.
55
+ * Default: `0 4px 6px -1px rgba(45, 58, 49, 0.05)`
56
+ * Medium: `0 10px 15px -3px rgba(45, 58, 49, 0.05)`
57
+ * Large: `0 20px 40px -10px rgba(45, 58, 49, 0.05)`
58
+ * Extra Large: `0 25px 50px -12px rgba(45, 58, 49, 0.15)`
59
+ * **Paper Grain Texture** (CRITICAL): A subtle SVG noise overlay is **mandatory** on the main background. This is applied as a fixed, full-screen overlay with `opacity-[0.015]` using an SVG fractal noise filter. This texture is the defining element that transforms the design from flat digital to warm, tactile, paper-like. Without it, the design loses its soul.
60
+ ```jsx
61
+ <div
62
+ className="pointer-events-none fixed inset-0 z-50 opacity-[0.015]"
63
+ style={{
64
+ backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`,
65
+ backgroundRepeat: "repeat",
66
+ }}
67
+ />
68
+ ```
69
+ * **Blur Effects**: Use backdrop-blur-sm on overlays (like the hero quote card) to create depth and layering.
70
+
71
+ ## 3. Component Stylings
72
+
73
+ ### Buttons
74
+
75
+ * **Primary**: Pill-shaped (`rounded-full`). Background is **Deep Forest Green** (`#2D3A31`) with White text. On hover, it lightens slightly or shifts to Terracotta.
76
+ * **Secondary**: Transparent background with a **Sage Green** border (`1px`). Text is Sage Green.
77
+ * **Typography**: Uppercase, wide tracking (`tracking-widest`), small font size (text-sm).
78
+
79
+ ### Cards (Features, Pricing)
80
+
81
+ * **Background**: White (`#FFFFFF`) or Soft Clay (`#F2F0EB`).
82
+ * **Border**: None or very subtle Stone (`#E6E2DA`).
83
+ * **Shape**: `rounded-3xl`.
84
+ * **Hover**: Slight lift (`-translate-y-1`) and a bloom of soft shadow.
85
+
86
+ ### Inputs
87
+
88
+ * **Style**: Underlined only (Border-bottom) or pill-shaped with a very light background (`#F2F0EB`).
89
+ * **Focus**: No harsh blue rings. A soft Sage Green border transition.
90
+
91
+ ## 4. Non-Generic "Bold" Choices
92
+
93
+ * **Arch Imagery**: Use CSS `clip-path` or `border-radius` to turn standard rectangular images into **Arches** (classic Roman arch shape) or **Organic Blobs**.
94
+ * **Overlapping Typography**: Allow big serif headlines to slightly overlap images or background shapes.
95
+ * **Decorative Lines**: Use fine, 1px SVG lines that curve or meander to connect sections, mimicking vines or roots.
96
+ * **Italic Emphasis**: Frequently use the *Italic* variant of Playfair Display for single words within a bold headline.
97
+
98
+ ## 5. Layout Strategy & Spacing
99
+
100
+ * **Container**: `max-w-7xl`. We want airiness.
101
+ * **Whitespace**: Generous. `gap-12` or `gap-16` between grid items. `py-24` or `py-32` between sections.
102
+ * **Grid**: Break the grid. Use `translate-y-12` on every second card in a row to create a "staggered" natural look.
103
+
104
+ ## 6. Icons (Lucide React)
105
+
106
+ * **Style**: Thin stroke (`stroke-width={1.5}`).
107
+ * **Color**: Deep Forest Green or Sage.
108
+ * **Integration**: Don't put them in heavy boxes. Let them float, or place them in soft, pale circles.
109
+
110
+ ## 7. Animation & Micro-Interactions
111
+
112
+ * **Feel**: Slow, graceful, fluid. Everything moves like it's suspended in honey or swaying in a gentle breeze. "Eased out" significantly.
113
+ * **Durations**:
114
+ * Fast interactions: `duration-300` (button hovers, link colors)
115
+ * Standard: `duration-500` (card lifts, transforms)
116
+ * Slow, dramatic: `duration-700` to `duration-1000` (image scales, hero image hover)
117
+ * **Hover Behaviors**:
118
+ * Cards: `-translate-y-1` or `-translate-y-2` with shadow intensification
119
+ * Images: `scale-105` with `duration-700` for smooth, luxurious feel
120
+ * Buttons: `bg-opacity-90` subtle darkening with `duration-300`
121
+ * Blog cards: Lift entire card while scaling image, arrow translates right (`translate-x-1`)
122
+ * **Focus States**: Sage green ring (`ring-[#8C9A84]`) with 2px width and offset for accessibility
123
+ * **Accordion**: Smooth height transitions with `max-h-0` to `max-h-48` and opacity fade
124
+ * **Mobile Menu**: Slide in from top with backdrop
125
+ * **Scroll**: Elements should gently fade up and float into place (`opacity-0` to `opacity-100`, `translate-y-4` to `translate-y-0`)
126
+
127
+ ## 8. Responsive Strategy
128
+
129
+ * **Mobile-First Approach**: The design gracefully adapts while maintaining its organic, sophisticated character.
130
+ * **Navigation**: Desktop shows horizontal nav with Sign In button. Mobile displays hamburger menu that opens a full-screen overlay with vertical nav links.
131
+ * **Hero Image**: Uses `aspect-[3/4]` on mobile, transitions to `aspect-square` with fixed height on md+ breakpoints. This prevents excessive height on small screens.
132
+ * **Grid Breakpoints**:
133
+ * Features: `grid-cols-1` → `md:grid-cols-3`
134
+ * Stats: `grid-cols-2` `md:grid-cols-4`
135
+ * Blog/Testimonials: `grid-cols-1` → `md:grid-cols-3`
136
+ * Pricing: `grid-cols-1` `lg:grid-cols-3`
137
+ * **Typography Scaling**: Headlines reduce from `text-8xl` to `text-5xl` on mobile. Body text remains `text-lg` but line-height adjusts.
138
+ * **Spacing Adjustments**: `py-32` becomes `py-16` on mobile, `gap-16` becomes `gap-12`, padding reduces from `p-8` to `p-4` where needed.
139
+ * **Touch Targets**: All buttons maintain minimum 44px height (`h-12`, `h-14`) for comfortable mobile tapping.
140
+ * **Staggered Cards**: The `translate-y-12` offset on alternating cards only applies at `md:` breakpoint and above to prevent awkward stacking on mobile.
141
+ `</design-system>`