spirewise 1.7.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -15
- package/bin/cli.js +63 -44
- package/install.sh +8 -8
- package/package.json +2 -4
- package/skills/README.md +0 -1
- package/skills/ai-agent-os-design-system/README.md +105 -0
- package/skills/ai-agent-os-design-system/SKILL.md +195 -0
- package/skills/ai-agent-os-design-system/accessibility-system.md +67 -0
- package/skills/ai-agent-os-design-system/color-system.md +102 -0
- package/skills/ai-agent-os-design-system/component-library.md +147 -0
- package/skills/ai-agent-os-design-system/design-principles.md +79 -0
- package/skills/ai-agent-os-design-system/example-page-structures.md +93 -0
- package/skills/ai-agent-os-design-system/layout-system.md +74 -0
- package/skills/ai-agent-os-design-system/motion-system.md +85 -0
- package/skills/ai-agent-os-design-system/spacing-system.md +87 -0
- package/skills/ai-agent-os-design-system/typography-system.md +91 -0
- package/skills/ai-agent-os-design-system/website-generation-rules.md +192 -0
- package/skills/ai-dark-futuristic-design-system/README.md +91 -0
- package/skills/ai-dark-futuristic-design-system/SKILL.md +179 -0
- package/skills/ai-dark-futuristic-design-system/accessibility-system.md +61 -0
- package/skills/ai-dark-futuristic-design-system/color-system.md +99 -0
- package/skills/ai-dark-futuristic-design-system/component-library.md +140 -0
- package/skills/ai-dark-futuristic-design-system/design-principles.md +66 -0
- package/skills/ai-dark-futuristic-design-system/example-page-structures.md +124 -0
- package/skills/ai-dark-futuristic-design-system/layout-system.md +85 -0
- package/skills/ai-dark-futuristic-design-system/motion-system.md +76 -0
- package/skills/ai-dark-futuristic-design-system/spacing-system.md +73 -0
- package/skills/ai-dark-futuristic-design-system/typography-system.md +89 -0
- package/skills/ai-dark-futuristic-design-system/website-generation-rules.md +220 -0
- package/skills/apple-premium-minimal-design-system/README.md +95 -0
- package/skills/apple-premium-minimal-design-system/SKILL.md +166 -0
- package/skills/apple-premium-minimal-design-system/accessibility-system.md +60 -0
- package/skills/apple-premium-minimal-design-system/color-system.md +100 -0
- package/skills/apple-premium-minimal-design-system/component-library.md +136 -0
- package/skills/apple-premium-minimal-design-system/design-principles.md +65 -0
- package/skills/apple-premium-minimal-design-system/example-page-structures.md +90 -0
- package/skills/apple-premium-minimal-design-system/layout-system.md +89 -0
- package/skills/apple-premium-minimal-design-system/motion-system.md +75 -0
- package/skills/apple-premium-minimal-design-system/spacing-system.md +73 -0
- package/skills/apple-premium-minimal-design-system/typography-system.md +86 -0
- package/skills/apple-premium-minimal-design-system/website-generation-rules.md +207 -0
- package/skills/bento-grid-design-system/README.md +97 -0
- package/skills/bento-grid-design-system/SKILL.md +185 -0
- package/skills/bento-grid-design-system/accessibility-system.md +54 -0
- package/skills/bento-grid-design-system/color-system.md +98 -0
- package/skills/bento-grid-design-system/component-library.md +138 -0
- package/skills/bento-grid-design-system/design-principles.md +72 -0
- package/skills/bento-grid-design-system/example-page-structures.md +91 -0
- package/skills/bento-grid-design-system/layout-system.md +93 -0
- package/skills/bento-grid-design-system/motion-system.md +81 -0
- package/skills/bento-grid-design-system/spacing-system.md +77 -0
- package/skills/bento-grid-design-system/typography-system.md +85 -0
- package/skills/bento-grid-design-system/website-generation-rules.md +193 -0
- package/skills/brutalist-tech-design-system/README.md +100 -0
- package/skills/brutalist-tech-design-system/SKILL.md +185 -0
- package/skills/brutalist-tech-design-system/accessibility-system.md +61 -0
- package/skills/brutalist-tech-design-system/color-system.md +101 -0
- package/skills/brutalist-tech-design-system/component-library.md +117 -0
- package/skills/brutalist-tech-design-system/design-principles.md +73 -0
- package/skills/brutalist-tech-design-system/example-page-structures.md +92 -0
- package/skills/brutalist-tech-design-system/layout-system.md +74 -0
- package/skills/brutalist-tech-design-system/motion-system.md +80 -0
- package/skills/brutalist-tech-design-system/spacing-system.md +86 -0
- package/skills/brutalist-tech-design-system/typography-system.md +94 -0
- package/skills/brutalist-tech-design-system/website-generation-rules.md +195 -0
- package/skills/crunchbase-profile-generator/README.md +64 -0
- package/skills/crunchbase-profile-generator/SKILL.md +189 -0
- package/skills/editorial-luxury-design-system/README.md +98 -0
- package/skills/editorial-luxury-design-system/SKILL.md +187 -0
- package/skills/editorial-luxury-design-system/accessibility-system.md +63 -0
- package/skills/editorial-luxury-design-system/color-system.md +95 -0
- package/skills/editorial-luxury-design-system/component-library.md +131 -0
- package/skills/editorial-luxury-design-system/design-principles.md +77 -0
- package/skills/editorial-luxury-design-system/example-page-structures.md +94 -0
- package/skills/editorial-luxury-design-system/layout-system.md +80 -0
- package/skills/editorial-luxury-design-system/motion-system.md +82 -0
- package/skills/editorial-luxury-design-system/spacing-system.md +77 -0
- package/skills/editorial-luxury-design-system/typography-system.md +107 -0
- package/skills/editorial-luxury-design-system/website-generation-rules.md +194 -0
- package/skills/enterprise-data-viz-design-system/README.md +98 -0
- package/skills/enterprise-data-viz-design-system/SKILL.md +195 -0
- package/skills/enterprise-data-viz-design-system/accessibility-system.md +68 -0
- package/skills/enterprise-data-viz-design-system/color-system.md +112 -0
- package/skills/enterprise-data-viz-design-system/component-library.md +142 -0
- package/skills/enterprise-data-viz-design-system/design-principles.md +75 -0
- package/skills/enterprise-data-viz-design-system/example-page-structures.md +89 -0
- package/skills/enterprise-data-viz-design-system/layout-system.md +75 -0
- package/skills/enterprise-data-viz-design-system/motion-system.md +86 -0
- package/skills/enterprise-data-viz-design-system/spacing-system.md +85 -0
- package/skills/enterprise-data-viz-design-system/typography-system.md +100 -0
- package/skills/enterprise-data-viz-design-system/website-generation-rules.md +196 -0
- package/skills/f6s-copywriting/README.md +16 -6
- package/skills/f6s-copywriting/SKILL.md +162 -46
- package/skills/glassmorphism-design-system/README.md +98 -0
- package/skills/glassmorphism-design-system/SKILL.md +190 -0
- package/skills/glassmorphism-design-system/accessibility-system.md +62 -0
- package/skills/glassmorphism-design-system/color-system.md +128 -0
- package/skills/glassmorphism-design-system/component-library.md +120 -0
- package/skills/glassmorphism-design-system/design-principles.md +77 -0
- package/skills/glassmorphism-design-system/example-page-structures.md +92 -0
- package/skills/glassmorphism-design-system/layout-system.md +81 -0
- package/skills/glassmorphism-design-system/motion-system.md +86 -0
- package/skills/glassmorphism-design-system/spacing-system.md +73 -0
- package/skills/glassmorphism-design-system/typography-system.md +90 -0
- package/skills/glassmorphism-design-system/website-generation-rules.md +195 -0
- package/skills/linkedin-copywriting/README.md +15 -8
- package/skills/linkedin-copywriting/SKILL.md +129 -51
- package/skills/motion-storytelling-design-system/README.md +100 -0
- package/skills/motion-storytelling-design-system/SKILL.md +191 -0
- package/skills/motion-storytelling-design-system/accessibility-system.md +71 -0
- package/skills/motion-storytelling-design-system/color-system.md +101 -0
- package/skills/motion-storytelling-design-system/component-library.md +122 -0
- package/skills/motion-storytelling-design-system/design-principles.md +81 -0
- package/skills/motion-storytelling-design-system/example-page-structures.md +91 -0
- package/skills/motion-storytelling-design-system/layout-system.md +79 -0
- package/skills/motion-storytelling-design-system/motion-system.md +116 -0
- package/skills/motion-storytelling-design-system/spacing-system.md +83 -0
- package/skills/motion-storytelling-design-system/typography-system.md +89 -0
- package/skills/motion-storytelling-design-system/website-generation-rules.md +200 -0
- package/skills/nvidia-inception-idea-booster/README.md +43 -24
- package/skills/nvidia-inception-idea-booster/SKILL.md +260 -116
- package/skills/nvidia-inception-starter/README.md +6 -5
- package/skills/nvidia-inception-starter/SKILL.md +80 -43
- package/skills/nvidia-product-inventor/README.md +44 -40
- package/skills/nvidia-product-inventor/SKILL.md +265 -247
- package/skills/nvidia-startup-idea-founder/README.md +66 -26
- package/skills/nvidia-startup-idea-founder/SKILL.md +245 -189
- package/skills/product-demo-first-design-system/README.md +96 -0
- package/skills/product-demo-first-design-system/SKILL.md +185 -0
- package/skills/product-demo-first-design-system/accessibility-system.md +58 -0
- package/skills/product-demo-first-design-system/color-system.md +109 -0
- package/skills/product-demo-first-design-system/component-library.md +142 -0
- package/skills/product-demo-first-design-system/design-principles.md +66 -0
- package/skills/product-demo-first-design-system/example-page-structures.md +95 -0
- package/skills/product-demo-first-design-system/layout-system.md +76 -0
- package/skills/product-demo-first-design-system/motion-system.md +82 -0
- package/skills/product-demo-first-design-system/spacing-system.md +74 -0
- package/skills/product-demo-first-design-system/typography-system.md +87 -0
- package/skills/product-demo-first-design-system/website-generation-rules.md +194 -0
- package/skills/website-design-skills/01-proof/README.md +0 -47
- package/skills/website-design-skills/01-proof/SKILL.md +0 -303
- package/skills/website-design-skills/02-kajabi/README.md +0 -42
- package/skills/website-design-skills/02-kajabi/SKILL.md +0 -272
- package/skills/website-design-skills/03-lattice/README.md +0 -42
- package/skills/website-design-skills/03-lattice/SKILL.md +0 -271
- package/skills/website-design-skills/04-petal/README.md +0 -42
- package/skills/website-design-skills/04-petal/SKILL.md +0 -271
- package/skills/website-design-skills/05-dropbox-sign/README.md +0 -42
- package/skills/website-design-skills/05-dropbox-sign/SKILL.md +0 -271
- package/skills/website-design-skills/06-distributional/README.md +0 -42
- package/skills/website-design-skills/06-distributional/SKILL.md +0 -271
- package/skills/website-design-skills/07-appcues/README.md +0 -42
- package/skills/website-design-skills/07-appcues/SKILL.md +0 -271
- package/skills/website-design-skills/08-memberstack/README.md +0 -42
- package/skills/website-design-skills/08-memberstack/SKILL.md +0 -271
- package/skills/website-design-skills/09-flank/README.md +0 -42
- package/skills/website-design-skills/09-flank/SKILL.md +0 -275
- package/skills/website-design-skills/10-slidebean/README.md +0 -42
- package/skills/website-design-skills/10-slidebean/SKILL.md +0 -275
- package/skills/website-design-skills/11-formstack/README.md +0 -42
- package/skills/website-design-skills/11-formstack/SKILL.md +0 -275
- package/skills/website-design-skills/12-thalamus/README.md +0 -42
- package/skills/website-design-skills/12-thalamus/SKILL.md +0 -275
- package/skills/website-design-skills/13-grow/README.md +0 -42
- package/skills/website-design-skills/13-grow/SKILL.md +0 -275
- package/skills/website-design-skills/14-gemnote/README.md +0 -42
- package/skills/website-design-skills/14-gemnote/SKILL.md +0 -275
- package/skills/website-design-skills/15-draftbit/README.md +0 -42
- package/skills/website-design-skills/15-draftbit/SKILL.md +0 -275
- package/skills/website-design-skills/16-payman/README.md +0 -42
- package/skills/website-design-skills/16-payman/SKILL.md +0 -273
- package/skills/website-design-skills/17-effortel/README.md +0 -42
- package/skills/website-design-skills/17-effortel/SKILL.md +0 -272
- package/skills/website-design-skills/18-adopt/README.md +0 -42
- package/skills/website-design-skills/18-adopt/SKILL.md +0 -273
- package/skills/website-design-skills/19-kraftful/README.md +0 -42
- package/skills/website-design-skills/19-kraftful/SKILL.md +0 -273
- package/skills/website-design-skills/20-greenhouse/README.md +0 -42
- package/skills/website-design-skills/20-greenhouse/SKILL.md +0 -273
- package/skills/website-design-skills/21-weavy/README.md +0 -42
- package/skills/website-design-skills/21-weavy/SKILL.md +0 -273
- package/skills/website-design-skills/22-safetykit/README.md +0 -42
- package/skills/website-design-skills/22-safetykit/SKILL.md +0 -273
- package/skills/website-design-skills/23-modulify/README.md +0 -42
- package/skills/website-design-skills/23-modulify/SKILL.md +0 -270
- package/skills/website-design-skills/24-realm/README.md +0 -42
- package/skills/website-design-skills/24-realm/SKILL.md +0 -270
- package/skills/website-design-skills/25-modyfi/README.md +0 -42
- package/skills/website-design-skills/25-modyfi/SKILL.md +0 -269
- package/skills/website-design-skills/26-altitude/README.md +0 -42
- package/skills/website-design-skills/26-altitude/SKILL.md +0 -270
- package/skills/website-design-skills/27-way/README.md +0 -42
- package/skills/website-design-skills/27-way/SKILL.md +0 -270
- package/skills/website-design-skills/28-zentail/README.md +0 -42
- package/skills/website-design-skills/28-zentail/SKILL.md +0 -270
- package/skills/website-design-skills/29-zams/README.md +0 -42
- package/skills/website-design-skills/29-zams/SKILL.md +0 -270
- package/skills/website-design-skills/30-user-interviews/README.md +0 -44
- package/skills/website-design-skills/30-user-interviews/SKILL.md +0 -273
- package/skills/website-design-skills/31-bland/README.md +0 -44
- package/skills/website-design-skills/31-bland/SKILL.md +0 -273
- package/skills/website-design-skills/32-nauto/README.md +0 -44
- package/skills/website-design-skills/32-nauto/SKILL.md +0 -273
- package/skills/website-design-skills/33-bill/README.md +0 -44
- package/skills/website-design-skills/33-bill/SKILL.md +0 -273
- package/skills/website-design-skills/34-localyzer/README.md +0 -44
- package/skills/website-design-skills/34-localyzer/SKILL.md +0 -273
- package/skills/website-design-skills/35-jasper/README.md +0 -44
- package/skills/website-design-skills/35-jasper/SKILL.md +0 -273
- package/skills/website-design-skills/README.md +0 -108
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# editorial-luxury-design-system
|
|
2
|
+
|
|
3
|
+
A world-class, **editorial luxury design system** for building refined, magazine-grade
|
|
4
|
+
websites — expressive **serif display type**, an **asymmetric editorial grid**, dramatic
|
|
5
|
+
whitespace, fine hairline rules, a restrained warm-neutral palette, and quiet, elegant
|
|
6
|
+
motion. Distilled from luxury/editorial references (**Aesop, Hermès, Vogue/print editorial,
|
|
7
|
+
Kinfolk, Cartier, The New York Times, Stripe Press, Linear**) and modern AI sites (**OpenAI,
|
|
8
|
+
Anthropic, Perplexity, Cursor**) for structure. It gives coding/design/UI/branding/website-
|
|
9
|
+
generation agents a complete, reusable system so they can ship sites that feel art-directed
|
|
10
|
+
and unmistakably premium.
|
|
11
|
+
|
|
12
|
+
It also ships a **production website-generation framework**: a multipage site (15+ pages,
|
|
13
|
+
10+ sections/page, **no borders/dividers between sections**) in **pure HTML/CSS/vanilla JS**
|
|
14
|
+
(no React/Vue/Tailwind/Bootstrap/jQuery/any library), with **clean Vercel-ready URLs** (no
|
|
15
|
+
`.html`), navigation, and full SEO.
|
|
16
|
+
|
|
17
|
+
> The full design intelligence is **baked into the companion files** (live research
|
|
18
|
+
> optional, to save tokens). Outputs a generated site/system into a `website/` folder.
|
|
19
|
+
> Sibling skills: `ai-dark-futuristic-design-system`, `apple-premium-minimal-design-system`,
|
|
20
|
+
> `product-demo-first-design-system`, `bento-grid-design-system`, `glassmorphism-design-system`.
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx spirewise install -s editorial-luxury-design-system # pick agents + scope
|
|
26
|
+
npx spirewise install -s editorial-luxury-design-system -a claude,cursor -sc workspace
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Remove
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx spirewise remove -s editorial-luxury-design-system # pick agents + scope
|
|
33
|
+
npx spirewise remove -s editorial-luxury-design-system -a claude,cursor -sc both
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
(No Node? `./install.sh -s editorial-luxury-design-system` and `./install.sh remove -s editorial-luxury-design-system`.)
|
|
37
|
+
|
|
38
|
+
## Use
|
|
39
|
+
|
|
40
|
+
After installing, ask your agent:
|
|
41
|
+
|
|
42
|
+
> "Design an editorial, luxury website for our brand"
|
|
43
|
+
> "Make it magazine-grade — serif headlines, asymmetric grid, like Aesop/Kinfolk"
|
|
44
|
+
|
|
45
|
+
It reads the companion files, locks the tokens, art-directs the editorial grid, composes the
|
|
46
|
+
editorial layouts + components (hero, feature essays, pull quotes, plates, index, refined
|
|
47
|
+
pricing), applies quiet motion + accessibility, and emits **pure HTML + CSS + vanilla JS +
|
|
48
|
+
tokens + `vercel.json` + `sitemap.xml`** into a `website/` folder.
|
|
49
|
+
|
|
50
|
+
## What's inside
|
|
51
|
+
|
|
52
|
+
| File | What it gives you |
|
|
53
|
+
|---|---|
|
|
54
|
+
| `SKILL.md` | Orchestrator: editorial-luxury philosophy, mandates, workflow, output, checklist |
|
|
55
|
+
| `design-principles.md` | Art-direction philosophy, editorial devices, do/don'ts |
|
|
56
|
+
| `color-system.md` | Warm-neutral luxury palette + one accent (+ ink-dark) as CSS vars |
|
|
57
|
+
| `typography-system.md` | Serif display + text system, dramatic fluid scale, editorial roles |
|
|
58
|
+
| `spacing-system.md` | 4/8-pt scale, editorial margins, container measures, dramatic rhythm |
|
|
59
|
+
| `layout-system.md` | The **asymmetric editorial grid** + canonical magazine layouts |
|
|
60
|
+
| `component-library.md` | 17 components re-cast as editorial (kicker, pull quote, plates…) |
|
|
61
|
+
| `motion-system.md` | Quiet reveals, line-by-line type, image curtains, micro-interactions |
|
|
62
|
+
| `accessibility-system.md` | Contrast on warm neutrals, cover-text, semantics, focus, reduced motion |
|
|
63
|
+
| `website-generation-rules.md` | Pure-vanilla build: pages, clean URLs + `vercel.json`, nav, SEO |
|
|
64
|
+
| `example-page-structures.md` | Editorial page blueprints per site type |
|
|
65
|
+
|
|
66
|
+
## The look
|
|
67
|
+
|
|
68
|
+
A warm, paper-like canvas (ivory/bone) with deep ink text, an expressive high-contrast
|
|
69
|
+
**serif** for display, a clean sans for UI/body, dramatic whitespace, fine hairline rules,
|
|
70
|
+
small-caps kickers, drop caps and pull quotes, and **one** quiet accent (oxblood/forest/
|
|
71
|
+
navy/gold). Elegant, considered, unmistakably premium. Default warm light; ink-dark included.
|
|
72
|
+
|
|
73
|
+
## Components (17, editorial)
|
|
74
|
+
|
|
75
|
+
Navbar · Editorial Hero · Feature essays/plates · Editorial index (bento) · Pull quotes
|
|
76
|
+
(testimonials) · Logos/Press · Typographic Pricing · Numbered FAQ · Chapter-opener CTA ·
|
|
77
|
+
Editorial Footer · Dashboard plate · Numbered Agent Workflow · Code Preview · Terminal
|
|
78
|
+
Preview · Editorial figures (trust) · Security · Enterprise.
|
|
79
|
+
|
|
80
|
+
## Rules it enforces
|
|
81
|
+
|
|
82
|
+
- **Editorial craft** — serif display headlines; asymmetric editorial grid; dramatic
|
|
83
|
+
whitespace; kickers/decks/pull quotes/captions; understated CTAs (no loud gradients).
|
|
84
|
+
- **Multipage scale (mandatory)** — **15+ pages (≈20)**, **≥10 sections/page (≈12)**, and
|
|
85
|
+
**no borders/dividers between sections** (separation by whitespace + paper tone; hairlines
|
|
86
|
+
only *inside* compositions).
|
|
87
|
+
- **Pure vanilla stack** — HTML5 + CSS3 + vanilla JS only; **no React/Vue/Angular/Svelte/
|
|
88
|
+
Bootstrap/Tailwind/jQuery/any library**; no build step.
|
|
89
|
+
- **Clean Vercel-ready URLs** — extensionless routes (`/pricing`), with `vercel.json`
|
|
90
|
+
(`cleanUrls`), `sitemap.xml`, `robots.txt`; refresh + deep links work.
|
|
91
|
+
- **Full navigation + SEO** — refined desktop dropdown, mobile overlay, breadcrumbs; per-page
|
|
92
|
+
title/description, Open Graph, Twitter card, canonical, JSON-LD (Article for journal).
|
|
93
|
+
- **Centralized tokens**, **accessible by default** (AA on warm neutrals, cover-text scrims,
|
|
94
|
+
figure/blockquote/ol semantics, focus, reduced motion), **mobile-first responsive**
|
|
95
|
+
(graceful grid reflow). **Zero anti-patterns** — no all-sans/no-serif, crowded layouts,
|
|
96
|
+
template look, or frameworks in the shipped site.
|
|
97
|
+
|
|
98
|
+
See `SKILL.md` for the full workflow and the companion files for every token and spec.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: editorial-luxury-design-system
|
|
3
|
+
description: >-
|
|
4
|
+
A world-class, EDITORIAL LUXURY design system for building refined, magazine-grade
|
|
5
|
+
websites — expressive serif display type, asymmetric editorial grids, dramatic
|
|
6
|
+
whitespace, hairline rules, restrained palettes, and quiet, elegant motion. Distilled
|
|
7
|
+
from luxury/editorial references (Aesop, Hermès, Vogue/print editorial, Kinfolk,
|
|
8
|
+
Cartier, The New York Times, Stripe Press, Linear) and modern AI sites (OpenAI,
|
|
9
|
+
Anthropic, Perplexity, Cursor) for structure. It gives coding/design/UI/branding/
|
|
10
|
+
website-generation agents a complete, reusable system: design philosophy, color/
|
|
11
|
+
typography/spacing/grid/layout tokens (with a serif-led type system + editorial grid),
|
|
12
|
+
a 17-component library re-cast as editorial, a motion system, accessibility +
|
|
13
|
+
responsive rules, and a production website-generation framework. The framework builds
|
|
14
|
+
a multipage site (15+ pages, 10+ sections/page, NO borders/dividers between sections)
|
|
15
|
+
in PURE HTML/CSS/vanilla JS (no React/Vue/Tailwind/Bootstrap/jQuery/any library), with
|
|
16
|
+
clean Vercel-ready URLs (no `.html`), navigation, and full SEO. Use when the user asks
|
|
17
|
+
for an "editorial / luxury / magazine website", "high-end elegant design", "serif
|
|
18
|
+
editorial layout", "make it like Aesop/Hermès/Kinfolk", or "a luxury design system /
|
|
19
|
+
tokens". The full system is baked into the companion files (live research optional).
|
|
20
|
+
Outputs a generated site/system into a `website/` folder.
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Editorial Luxury Design System
|
|
24
|
+
|
|
25
|
+
A complete, agent-ready design system for **editorial, luxury, magazine-grade websites** —
|
|
26
|
+
expressive serif headlines, asymmetric editorial grids, dramatic whitespace, fine hairline
|
|
27
|
+
rules, a restrained refined palette, and quiet, elegant motion. The feel of a beautifully
|
|
28
|
+
art-directed print magazine or a luxury maison, translated to the web. Distilled from
|
|
29
|
+
Aesop, Hermès, Vogue/print editorial, Kinfolk, Cartier, The New York Times, Stripe Press,
|
|
30
|
+
and Linear (plus modern AI sites — OpenAI, Anthropic, Perplexity, Cursor — for structure).
|
|
31
|
+
|
|
32
|
+
This skill is the **single source of truth**. The detailed system lives in the companion
|
|
33
|
+
files in this folder — read the ones relevant to the task, then generate.
|
|
34
|
+
|
|
35
|
+
## The core idea — art-directed, editorial, luxurious
|
|
36
|
+
|
|
37
|
+
- **Type is the hero.** A high-contrast **serif display** family carries the page; the
|
|
38
|
+
type scale is dramatic and the headlines are large, elegant, and considered.
|
|
39
|
+
- **Asymmetric editorial grid.** Content is composed on a magazine grid — generous
|
|
40
|
+
margins, off-center compositions, pull quotes, captions, drop caps, and measured columns
|
|
41
|
+
— not centered SaaS rows.
|
|
42
|
+
- **Whitespace is luxury.** Air, restraint, and pace signal quality. Sections breathe.
|
|
43
|
+
- **Refined, restrained palette.** Mostly warm neutrals (ivory/bone/ink) with one quiet
|
|
44
|
+
accent; color is used sparingly and deliberately.
|
|
45
|
+
- **Fine details.** Hairline rules, small-caps labels, eyebrow kickers, numbered sections,
|
|
46
|
+
and impeccable alignment make it feel crafted.
|
|
47
|
+
|
|
48
|
+
## Hard structural requirements (MANDATORY — never skip)
|
|
49
|
+
|
|
50
|
+
These are non-negotiable and override any conflicting guidance elsewhere:
|
|
51
|
+
|
|
52
|
+
1. **Multipage — 15+ pages (≈20).** Always generate a **full multipage website with
|
|
53
|
+
more than 15 distinct pages** (not a single landing page) — a real site map.
|
|
54
|
+
2. **10+ sections per page (≈12).** Every page contains **at least 10 full sections**,
|
|
55
|
+
composed from the layout + component library.
|
|
56
|
+
3. **No borders/dividers between sections.** **Zero border widths, lines, rules, or
|
|
57
|
+
`<hr>` between sections.** Separate sections with **whitespace, the editorial rhythm,
|
|
58
|
+
type scale, and gentle background shifts** — never a section border. (Editorial
|
|
59
|
+
**hairline rules** belong *inside* a composition — under a kicker, between columns, in
|
|
60
|
+
a footer — not as a divider between page sections.)
|
|
61
|
+
4. **Pure HTML + CSS + vanilla JS — no frameworks/libraries.** The generated site uses
|
|
62
|
+
**only HTML5, CSS3, and vanilla JavaScript**. No React/Vue/Angular/Svelte/Next, no
|
|
63
|
+
Bootstrap/Tailwind/any CSS framework, no jQuery/any UI or JS library, no build step.
|
|
64
|
+
(Exporting `tokens.json` for other agents is fine — that's data, not a framework.)
|
|
65
|
+
5. **Clean, Vercel-ready URLs.** All routes are **extensionless** (`/pricing`, not
|
|
66
|
+
`/pricing.html`); ship a `vercel.json` (`cleanUrls: true`) plus `sitemap.xml` /
|
|
67
|
+
`robots.txt` so production refresh and deep links work.
|
|
68
|
+
6. **Full navigation + SEO.** Desktop nav (a refined dropdown/menu) + mobile menu +
|
|
69
|
+
breadcrumbs; per-page SEO (unique title/description, Open Graph, Twitter card,
|
|
70
|
+
canonical, JSON-LD). Every component: responsive, accessible, reusable,
|
|
71
|
+
production-ready, animation-ready.
|
|
72
|
+
|
|
73
|
+
See `website-generation-rules.md` for the required page list, required sections, the
|
|
74
|
+
`vercel.json`, navigation, and SEO specifics. Enforce in code: `.section { border: 0 }`
|
|
75
|
+
and never place `<hr>`/divider elements between sections.
|
|
76
|
+
|
|
77
|
+
## When to use
|
|
78
|
+
|
|
79
|
+
Building or designing any landing page, marketing site, brand site, or product site that
|
|
80
|
+
should feel **editorial, luxurious, and refined** (Aesop/Hermès/Kinfolk/Stripe Press
|
|
81
|
+
energy) — for a premium brand, AI startup, studio, publication, or enterprise — or
|
|
82
|
+
producing **design tokens / a design system** for other agents.
|
|
83
|
+
|
|
84
|
+
## The companion files (read what you need)
|
|
85
|
+
|
|
86
|
+
| File | What it gives you |
|
|
87
|
+
|---|---|
|
|
88
|
+
| `design-principles.md` | The editorial-luxury philosophy, hierarchy laws, do/don'ts |
|
|
89
|
+
| `color-system.md` | Warm-neutral luxury palette + one accent as CSS variables (+ dark) |
|
|
90
|
+
| `typography-system.md` | Serif display + text system, dramatic fluid scale, editorial roles |
|
|
91
|
+
| `spacing-system.md` | 4/8-pt scale, editorial margins, container widths, measured rhythm |
|
|
92
|
+
| `layout-system.md` | The asymmetric **editorial grid** + canonical editorial layouts |
|
|
93
|
+
| `component-library.md` | 17 components re-cast as editorial (kicker, pull quote, captions…) |
|
|
94
|
+
| `motion-system.md` | Quiet reveals, line-by-line type, image curtains, micro-interactions |
|
|
95
|
+
| `accessibility-system.md` | Contrast, focus, motion, semantics, keyboard |
|
|
96
|
+
| `website-generation-rules.md` | Pure-vanilla build: pages, clean URLs + `vercel.json`, nav, SEO |
|
|
97
|
+
| `example-page-structures.md` | Ready editorial page blueprints |
|
|
98
|
+
|
|
99
|
+
All tokens use the same names across files, so they compose into one stylesheet.
|
|
100
|
+
|
|
101
|
+
## Phase 1 — Research is baked in (live analysis OPTIONAL)
|
|
102
|
+
|
|
103
|
+
The design intelligence extracted from the reference sites is **already encoded in the
|
|
104
|
+
companion files** — patterns, palettes, type scales, spacing, the editorial grid,
|
|
105
|
+
components, motion. **Do NOT re-scrape the references for the basics; use the baked-in
|
|
106
|
+
system** (saves tokens). Only browse live when the user wants a *current* look from a
|
|
107
|
+
specific site, a brand-new pattern not covered here, or to verify a font/feature.
|
|
108
|
+
|
|
109
|
+
What the baked-in system already captures (the Phase-1 extraction): design patterns,
|
|
110
|
+
visual hierarchy, typography/spacing/grid/layout systems, color + gradient systems,
|
|
111
|
+
animation/motion, navigation, CTA + hero patterns, trust/enterprise/social-proof
|
|
112
|
+
components, footer/pricing/feature structures, interactive + micro-interactions,
|
|
113
|
+
glassmorphism usage, accessibility, mobile responsiveness, developer-experience patterns,
|
|
114
|
+
and AI-startup conversion patterns — expressed in an editorial, luxurious idiom.
|
|
115
|
+
|
|
116
|
+
## Phase 2 — Generate (the workflow)
|
|
117
|
+
|
|
118
|
+
1. **Clarify intent:** site type (brand / product / SaaS / publication / studio), theme
|
|
119
|
+
(warm-ivory light by default, or ink-dark), one accent, and page set.
|
|
120
|
+
2. **Lock the tokens:** start from `color-system.md` + `typography-system.md` +
|
|
121
|
+
`spacing-system.md`. Emit them once as `:root` CSS variables (and `tokens.json`).
|
|
122
|
+
3. **Art-direct the grid:** compose sections on the editorial grid — asymmetry, generous
|
|
123
|
+
margins, pull quotes, captions, kickers, numbered sections.
|
|
124
|
+
4. **Compose layouts + components:** use the editorial layouts and components (editorial
|
|
125
|
+
hero, feature essays, pull quotes, image+caption, index lists, refined pricing).
|
|
126
|
+
5. **Apply motion + a11y:** quiet reveals + line-by-line headings per `motion-system.md`,
|
|
127
|
+
gated by `prefers-reduced-motion`; meet every rule in `accessibility-system.md`.
|
|
128
|
+
6. **Emit code:** follow `website-generation-rules.md` to produce clean, semantic,
|
|
129
|
+
responsive **pure HTML + CSS + vanilla JS** plus tokens, `vercel.json`, `sitemap.xml`,
|
|
130
|
+
`robots.txt`.
|
|
131
|
+
7. **Self-check** against the anti-patterns and the verification checklist below.
|
|
132
|
+
|
|
133
|
+
## Output
|
|
134
|
+
|
|
135
|
+
Unless the user specifies otherwise, write the generated **multipage site (15+ pages,
|
|
136
|
+
~20)** into a `website/` folder in the project root:
|
|
137
|
+
- `website/index.html` **plus 15+ additional pages** (≥10 sections each, editorial, no
|
|
138
|
+
inter-section borders), linked with **extensionless URLs** (`/pricing`)
|
|
139
|
+
- `website/css/tokens.css` + `website/css/styles.css`
|
|
140
|
+
- `website/js/main.js` (vanilla nav, reveals, type motion — progressively enhanced)
|
|
141
|
+
- `website/vercel.json`, `website/sitemap.xml`, `website/robots.txt`
|
|
142
|
+
- `website/assets/` (editorial imagery, icons, og images)
|
|
143
|
+
- `website/tokens.json` (machine-readable tokens for other agents)
|
|
144
|
+
|
|
145
|
+
When the user only wants the **system** (not a site), emit the tokens + component specs.
|
|
146
|
+
|
|
147
|
+
## Default look (baked-in identity)
|
|
148
|
+
|
|
149
|
+
A warm, paper-like canvas (ivory/bone) with deep ink text, an **expressive high-contrast
|
|
150
|
+
serif** for display, a clean sans for UI/body, dramatic whitespace, fine hairline rules,
|
|
151
|
+
small-caps kickers, the occasional drop cap and pull quote, and one quiet accent (a deep
|
|
152
|
+
oxblood/forest/navy or gold). Elegant, considered, unmistakably premium. (Default warm
|
|
153
|
+
light; an ink-dark theme is included. Siblings: `ai-dark-futuristic-design-system`,
|
|
154
|
+
`apple-premium-minimal-design-system`, `product-demo-first-design-system`,
|
|
155
|
+
`bento-grid-design-system`, `glassmorphism-design-system`.)
|
|
156
|
+
|
|
157
|
+
## Anti-patterns (never ship these)
|
|
158
|
+
|
|
159
|
+
Outdated startup designs · Bootstrap/template look · generic centered SaaS layouts · poor
|
|
160
|
+
typography (the cardinal sin here) · weak visual hierarchy · overloaded gradients ·
|
|
161
|
+
excessive glassmorphism · poor accessibility · inconsistent spacing · **all-sans/no serif
|
|
162
|
+
display · cramped/crowded layouts · borders or dividers between sections · single-page
|
|
163
|
+
sites or thin pages with fewer than 10 sections · any framework/library in the shipped
|
|
164
|
+
site · `.html` in URLs**. The result must feel like Aesop/Hermès/Kinfolk/Stripe Press —
|
|
165
|
+
crafted and editorial, never a template.
|
|
166
|
+
|
|
167
|
+
## Verification checklist (run before finishing)
|
|
168
|
+
|
|
169
|
+
0. **Multipage scale met:** the site has **> 15 pages** (≈20), each page has **≥ 10
|
|
170
|
+
sections** (≈12), and there are **no borders/dividers between sections**.
|
|
171
|
+
0b. **Editorial craft met:** a serif display family carries the page; layouts use the
|
|
172
|
+
asymmetric editorial grid with generous margins; whitespace is dramatic; kickers/pull
|
|
173
|
+
quotes/captions used tastefully.
|
|
174
|
+
0c. **Pure vanilla + clean URLs:** zero frameworks/libraries; routes extensionless with a
|
|
175
|
+
working `vercel.json` (`cleanUrls`), `sitemap.xml`, `robots.txt`.
|
|
176
|
+
0d. **Nav + SEO:** refined desktop nav/menu + mobile menu + breadcrumbs; per-page title/
|
|
177
|
+
description, Open Graph + Twitter card, canonical, JSON-LD.
|
|
178
|
+
1. Tokens emitted once (`:root`/`tokens.css`) and reused — no scattered one-off hex.
|
|
179
|
+
2. Type uses the fluid scale; spacing uses the 4/8-pt scale; layout uses the editorial grid
|
|
180
|
+
+ container widths — all from the companion files.
|
|
181
|
+
3. Every section is a recognized layout; every component matches `component-library.md`.
|
|
182
|
+
4. Body text ≥ 4.5:1 contrast, large text ≥ 3:1; visible focus; motion respects
|
|
183
|
+
`prefers-reduced-motion`; semantic landmarks + alt text present.
|
|
184
|
+
5. Fully responsive (360 → 1440+): the editorial grid reflows gracefully; no horizontal
|
|
185
|
+
scroll; tap targets ≥ 44px.
|
|
186
|
+
6. Trips **zero** anti-patterns; typography is exquisite; whitespace generous; restraint clear.
|
|
187
|
+
7. Output looks like it belongs next to Aesop/Hermès/Kinfolk — editorial, luxurious, refined.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Accessibility System — Editorial Luxury
|
|
2
|
+
|
|
3
|
+
Editorial/luxury design risks a11y when **elegance overrides legibility**: thin light type,
|
|
4
|
+
low-contrast warm neutrals, decorative italics, and image-over-text covers. This system
|
|
5
|
+
bakes WCAG 2.1 AA into the craft so it stays beautiful **and** usable.
|
|
6
|
+
|
|
7
|
+
## Color & contrast
|
|
8
|
+
- **Body text ≥ 4.5:1**, large/UI text **≥ 3:1**, on its real paper tone (ivory/bone/ink
|
|
9
|
+
plate). Verify **muted captions/kickers** (`--text-muted`) still clear AA — warm grays on
|
|
10
|
+
warm paper are a common failure. Use `--text-secondary` for anything substantive.
|
|
11
|
+
- **Cover/hero text over imagery (EH-B):** ensure ≥ 4.5:1 via a scrim/overlay or by placing
|
|
12
|
+
text on a calm region of the image — never rely on the photo alone.
|
|
13
|
+
- **Non-text contrast ≥ 3:1** for hairline rules that carry meaning, controls, focus rings.
|
|
14
|
+
(Decorative hairlines can be lighter, but functional ones must be perceivable.)
|
|
15
|
+
- **Don't encode meaning in color alone**; the recommended pricing tier says "Recommended"
|
|
16
|
+
in text. Links carry an **underline** (the hairline), not color alone.
|
|
17
|
+
- **Don't set long body in thin/italic serif.** Reserve italics for pull quotes/credits;
|
|
18
|
+
keep body at a readable weight and the prose measure 62–75ch.
|
|
19
|
+
|
|
20
|
+
## Focus & keyboard
|
|
21
|
+
- **Always-visible focus:** `:focus-visible { outline:2px solid var(--ring);
|
|
22
|
+
outline-offset:3px }` on every interactive element. Never bare `outline:none`.
|
|
23
|
+
- **Full keyboard operability**; logical tab order matching the (sometimes asymmetric)
|
|
24
|
+
visual order — verify DOM order reads sensibly. No traps (except modal focus-trap, ESC).
|
|
25
|
+
- **Skip link** to `#main` first in DOM. Menus/accordions: ESC + arrow keys where apt.
|
|
26
|
+
|
|
27
|
+
## Semantics & structure
|
|
28
|
+
- One `<h1>` per page; ordered headings (size with CSS; don't skip levels for drama).
|
|
29
|
+
Landmarks: `<header><nav><main id="main"><section><footer>`.
|
|
30
|
+
- Use real structures: `<figure>/<figcaption>` for images+captions, `<blockquote>/<cite>`
|
|
31
|
+
for pull quotes, `<ol>` for numbered indices/sequences, `<dl>` for spec lists where apt.
|
|
32
|
+
- Buttons vs links: `<button>` actions, `<a href>` navigation. Native over ARIA; minimal ARIA.
|
|
33
|
+
|
|
34
|
+
## Media & motion
|
|
35
|
+
- Editorial imagery has meaningful **`alt`**; purely decorative plates/rules are
|
|
36
|
+
`aria-hidden`/`alt=""`. Credits live in `<figcaption>`.
|
|
37
|
+
- Honor `prefers-reduced-motion`: no line-by-line/curtain/page-fade; final state immediately.
|
|
38
|
+
- No flashing > 3×/sec; no autoplaying audio.
|
|
39
|
+
|
|
40
|
+
## Typographic accessibility
|
|
41
|
+
- **Drop caps:** keep the initial part of the readable word (CSS `::first-letter` keeps it
|
|
42
|
+
in the text flow, so screen readers read it correctly) — don't split the letter into
|
|
43
|
+
separate markup.
|
|
44
|
+
- **Small-caps kickers:** use real text + `text-transform`/`font-variant`, not images, so
|
|
45
|
+
they're readable and selectable; keep tracking from harming legibility at small sizes.
|
|
46
|
+
- Avoid all-caps for long strings; kickers only.
|
|
47
|
+
|
|
48
|
+
## Forms
|
|
49
|
+
- Programmatic `<label>` per input (placeholders aren't labels); `<fieldset><legend>` for
|
|
50
|
+
groups; errors in text + `aria-describedby`, focus to first error.
|
|
51
|
+
|
|
52
|
+
## Touch & responsive
|
|
53
|
+
- **Tap targets ≥ 44×44px**; the editorial grid reflows to a single well-spaced column;
|
|
54
|
+
no horizontal scroll at 320px; 200% zoom OK; pinch-zoom not disabled.
|
|
55
|
+
|
|
56
|
+
## Checklist (run before finishing)
|
|
57
|
+
1. Body + captions/kickers meet AA on every paper tone and on dark plates.
|
|
58
|
+
2. Cover/hero-over-image text passes contrast (scrim or calm region).
|
|
59
|
+
3. Visible focus everywhere; keyboard-complete; DOM/reading order sane despite asymmetry; skip link.
|
|
60
|
+
4. Real semantics (figure/blockquote/ol); one H1; ordered headings.
|
|
61
|
+
5. Alt text + credits on imagery; decorative hidden; reduced motion honored.
|
|
62
|
+
6. Body not set in thin/italic serif; prose measure 62–75ch; labelled forms.
|
|
63
|
+
7. 44px targets; reflow to 320px; 200% zoom; zoom not disabled.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Color System — Editorial Luxury
|
|
2
|
+
|
|
3
|
+
A warm, restrained, paper-like palette: ivory/bone canvases, deep ink text, fine neutral
|
|
4
|
+
hairlines, and **one** quiet luxury accent used sparingly. Color is an event, not a
|
|
5
|
+
default. Ships **warm-light by default**; an **ink-dark** theme is included. Sections
|
|
6
|
+
separate via whitespace + subtle paper shifts — **never borders**. Override `--accent-*` to
|
|
7
|
+
rebrand. Contrast: body ≥ 4.5:1, large/secondary ≥ 3:1.
|
|
8
|
+
|
|
9
|
+
## Tokens (`:root`) — warm light (default)
|
|
10
|
+
|
|
11
|
+
```css
|
|
12
|
+
:root {
|
|
13
|
+
/* ---- Paper / canvas (warm neutrals) ---- */
|
|
14
|
+
--paper: #faf8f3; /* default page (warm ivory) */
|
|
15
|
+
--paper-bone: #f4f1ea; /* alternate section panel (bone) */
|
|
16
|
+
--paper-warm: #efeae0; /* deeper warm panel (rare) */
|
|
17
|
+
--paper-ink: #1a1814; /* a "dark plate" section (inverted) */
|
|
18
|
+
|
|
19
|
+
/* ---- Surfaces (cards / inset) ---- */
|
|
20
|
+
--surface: #ffffff; /* crisp white card/inset */
|
|
21
|
+
--surface-bone: #f4f1ea;
|
|
22
|
+
|
|
23
|
+
/* ---- Ink text ramp (warm near-black) ---- */
|
|
24
|
+
--ink: #17150f; /* headlines (deep warm ink) */
|
|
25
|
+
--text-primary: #221f18; /* primary text */
|
|
26
|
+
--text-secondary:#4a463c; /* body */
|
|
27
|
+
--text-muted: #726c5e; /* captions, kickers, meta */
|
|
28
|
+
--text-faint: #9b9484; /* decorative/disabled — non-essential only */
|
|
29
|
+
--text-on-ink: #f3efe6; /* text on a dark plate */
|
|
30
|
+
--text-on-accent:#ffffff;
|
|
31
|
+
|
|
32
|
+
/* ---- Hairlines / rules (fine, warm — inside compositions, NOT between sections) ---- */
|
|
33
|
+
--rule-subtle: rgba(23,21,15,0.10);
|
|
34
|
+
--rule-default: rgba(23,21,15,0.18); /* the editorial hairline */
|
|
35
|
+
--rule-strong: rgba(23,21,15,0.32);
|
|
36
|
+
--ring: #7a5230; /* focus ring (warm, AA) */
|
|
37
|
+
|
|
38
|
+
/* ---- Accent (ONE quiet luxury accent — pick per brand) ---- */
|
|
39
|
+
--accent: #7a2e2e; /* oxblood (default). Alts: forest #234334, navy #1f3a5f, gold #9a7b2e */
|
|
40
|
+
--accent-hover: #8c3838;
|
|
41
|
+
--accent-press: #6a2727;
|
|
42
|
+
--accent-soft: rgba(122,46,46,0.10);
|
|
43
|
+
--gold: #9a7b2e; /* optional metallic accent for rules/marks */
|
|
44
|
+
|
|
45
|
+
/* ---- Semantic (muted, editorial) ---- */
|
|
46
|
+
--success: #3f6b43; --success-soft: rgba(63,107,67,0.12);
|
|
47
|
+
--warning: #9a6a1e; --warning-soft: rgba(154,106,30,0.12);
|
|
48
|
+
--error: #9b2c2c; --error-soft: rgba(155,44,44,0.12);
|
|
49
|
+
--info: #335a73; --info-soft: rgba(51,90,115,0.12);
|
|
50
|
+
|
|
51
|
+
/* ---- Gradients (rare, very subtle — paper sheen only) ---- */
|
|
52
|
+
--grad-paper: linear-gradient(180deg, #faf8f3 0%, #f4f1ea 100%);
|
|
53
|
+
|
|
54
|
+
/* ---- Elevation (soft, restrained — luxury uses shadow sparingly) ---- */
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(23,21,15,0.05);
|
|
56
|
+
--shadow-md: 0 10px 30px rgba(23,21,15,0.08);
|
|
57
|
+
--shadow-lg: 0 28px 64px rgba(23,21,15,0.12);
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
> Note: the default accent is **oxblood**; choose one luxury accent per brand
|
|
62
|
+
> (oxblood / forest / navy / gold) and keep it singular. Avoid multiple bright colors.
|
|
63
|
+
|
|
64
|
+
## Palette roles
|
|
65
|
+
|
|
66
|
+
- **Paper / canvas** (`--paper*`): full-bleed section fills. Alternate `--paper`/
|
|
67
|
+
`--paper-bone` (and rarely a `--paper-ink` dark plate) to separate sections by tone —
|
|
68
|
+
**never a border**. Subtle, warm, paper-like.
|
|
69
|
+
- **Surfaces** (`--surface*`): crisp white insets/cards used sparingly (a quote card, a
|
|
70
|
+
pricing inset). Luxury leans on the paper itself more than on cards.
|
|
71
|
+
- **Ink text** (`--ink`, `--text-*`): ink headlines, dark body, muted captions/kickers.
|
|
72
|
+
Use `--text-on-ink` on dark plates. Never `--text-faint` for real content.
|
|
73
|
+
- **Hairlines** (`--rule-*`): the editorial 1px rule — under kickers, between columns, in
|
|
74
|
+
the footer, around a pull quote. **Not** for dividing page sections.
|
|
75
|
+
- **Accent** (`--accent*`, `--gold`): one quiet accent for a link, a rule, a highlighted
|
|
76
|
+
word, or an understated CTA — used sparingly. `--gold` for refined metallic rules/marks.
|
|
77
|
+
- **Semantic**: muted, editorial status colors — badges/validation only.
|
|
78
|
+
|
|
79
|
+
## Usage rules
|
|
80
|
+
|
|
81
|
+
1. **Neutral-dominant.** ~95% warm neutrals + ink; the accent is a rare, deliberate event.
|
|
82
|
+
2. **Separate sections by paper tone + whitespace, not lines.** Mandatory. Hairlines live
|
|
83
|
+
*inside* compositions only.
|
|
84
|
+
3. **Almost no gradients.** At most a subtle paper sheen; never colorful gradients.
|
|
85
|
+
4. **Shadows are restrained.** Luxury uses light shadow sparingly; prefer flat paper +
|
|
86
|
+
hairlines + space over heavy elevation.
|
|
87
|
+
5. **Check contrast.** Ink on paper is high-contrast; verify muted captions/kickers still
|
|
88
|
+
clear AA; verify text on dark plates uses `--text-on-ink`.
|
|
89
|
+
|
|
90
|
+
## Optional ink-dark theme
|
|
91
|
+
|
|
92
|
+
`[data-theme="dark"]`: `--paper:#16140f; --paper-bone:#1d1a14; --paper-warm:#221e17;
|
|
93
|
+
--surface:#1b1812; --ink:#f4efe4; --text-primary:#ece7da; --text-secondary:#c3bdac;
|
|
94
|
+
--text-muted:#928b78; --rule-default: rgba(243,239,230,0.18); --accent:#c08552 (warm
|
|
95
|
+
gold-bronze);` and re-verify contrast. **Warm light is the default identity.**
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Component Library — Editorial Luxury
|
|
2
|
+
|
|
3
|
+
Specs for the 17 required components re-cast in an **editorial, luxury** idiom — kickers,
|
|
4
|
+
serif headlines, pull quotes, captions, hairline rules, understated CTAs. Each: purpose,
|
|
5
|
+
anatomy, tokens, states, responsive + a11y. Semantic HTML; shared tokens; **no borders
|
|
6
|
+
between sections** (hairline rules belong *inside* compositions only).
|
|
7
|
+
|
|
8
|
+
Shared primitives:
|
|
9
|
+
|
|
10
|
+
```css
|
|
11
|
+
/* Understated luxury buttons — quiet, not loud SaaS gradients */
|
|
12
|
+
.btn { display:inline-flex; align-items:center; gap: var(--space-2);
|
|
13
|
+
font-family: var(--font-sans); font-weight:600; font-size:.9375rem; letter-spacing:.01em;
|
|
14
|
+
padding: var(--space-3) var(--space-6); border-radius: var(--radius-sm);
|
|
15
|
+
border:1px solid transparent; cursor:pointer; transition: background .2s ease, color .2s ease; }
|
|
16
|
+
.btn-primary { background: var(--ink); color: var(--text-on-ink); } /* ink fill */
|
|
17
|
+
.btn-primary:hover { background: var(--accent); }
|
|
18
|
+
.btn-outline { background: transparent; color: var(--ink); border-color: var(--rule-strong); }
|
|
19
|
+
.btn-outline:hover { border-color: var(--ink); }
|
|
20
|
+
.link-underline { color: var(--ink); text-decoration: none; padding-bottom: 2px;
|
|
21
|
+
border-bottom: 1px solid var(--rule-default); } /* the signature editorial link */
|
|
22
|
+
.link-underline:hover { border-color: var(--ink); }
|
|
23
|
+
:where(a,button,input,[tabindex]):focus-visible { outline:2px solid var(--ring);
|
|
24
|
+
outline-offset:3px; }
|
|
25
|
+
```
|
|
26
|
+
**Rule: CTAs are understated** — an ink/outline button or a hairline-underlined link, never
|
|
27
|
+
a loud gradient.
|
|
28
|
+
|
|
29
|
+
## Editorial primitives (used across components)
|
|
30
|
+
- **Kicker** — small-caps, tracked label + hairline under it (see typography `.kicker`).
|
|
31
|
+
- **Deck** — standfirst paragraph under a headline.
|
|
32
|
+
- **Pull quote** — large italic serif breaking the measure, hairline above.
|
|
33
|
+
- **Figure + caption + credit** — `<figure><img><figcaption>` with italic credit.
|
|
34
|
+
- **Hairline rule** — `border-top: 1px solid var(--rule-default)` *inside* a list/footer/quote.
|
|
35
|
+
- **Section number** — "01" set in serif/mono beside a section kicker.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 1. Navbar
|
|
40
|
+
Slim, quiet top bar (transparent over paper, hairline at the bottom edge only). Anatomy:
|
|
41
|
+
serif/wordmark logo (left) · sans nav links (center/right, tracked) · understated CTA
|
|
42
|
+
("Enquire"/"Get started") · mobile hamburger. **Extensionless hrefs** (`/about`). Optional
|
|
43
|
+
refined dropdown (a clean paper panel, hairline-separated columns). Mobile: full-screen
|
|
44
|
+
paper overlay, generous spacing, serif links, ESC/focus-trap. a11y: `<nav>`,
|
|
45
|
+
`aria-current`, `aria-expanded`. On scroll: paper background fades in under the bar.
|
|
46
|
+
|
|
47
|
+
## 2. Hero
|
|
48
|
+
Layout EH-A/EH-B/EH-C. Kicker · large serif **display** H1 (offset on the grid) · deck ·
|
|
49
|
+
understated CTA (`.btn-outline`/`.link-underline`) · large art-directed image (side or
|
|
50
|
+
full-bleed `.bleed`). Dramatic whitespace. One H1, one quiet CTA. Decorative imagery has
|
|
51
|
+
proper `alt`/credit; purely decorative → `aria-hidden`.
|
|
52
|
+
|
|
53
|
+
## 3. Feature Grid → **Feature essays / plates**
|
|
54
|
+
Layout F-A (essay) or F-B (alternating image↔text plates). Each feature: kicker · serif H3
|
|
55
|
+
· body (offset column) · optional figure+caption. Use pull quotes to break long features.
|
|
56
|
+
Prefer space + type over boxed cards.
|
|
57
|
+
|
|
58
|
+
## 4. Bento Grid → **Editorial index / mosaic**
|
|
59
|
+
A restrained asymmetric arrangement of plates (image + caption) and typographic tiles, or
|
|
60
|
+
an **index list** (F-C) of numbered entries with hairline rules between rows. Tasteful, not
|
|
61
|
+
a dense tech bento.
|
|
62
|
+
|
|
63
|
+
## 5. Testimonials → **Pull quotes**
|
|
64
|
+
Large italic serif **pull quotes** with attribution (name, role, small caps) + hairline
|
|
65
|
+
above; or a quiet quote column. `<blockquote>` + `<cite>`. Optional slow fade carousel.
|
|
66
|
+
|
|
67
|
+
## 6. Logos Section
|
|
68
|
+
"As featured in / Trusted by" small-caps kicker + a refined row of logos (monochrome ink,
|
|
69
|
+
`opacity:.7`), generous spacing. `<img alt="Publication/Company">`.
|
|
70
|
+
|
|
71
|
+
## 7. Pricing
|
|
72
|
+
Layout P-A: tiers as **quiet typographic columns** — tier name (small caps), serif amount
|
|
73
|
+
(`tabular`/oldstyle figures), feature list with hairline rules, understated CTA. Highlight
|
|
74
|
+
the recommended tier with a small kicker ("Recommended"), not a loud card. Monthly/annual
|
|
75
|
+
toggle. a11y: real `role="switch"`/radio; `<ul>` lists.
|
|
76
|
+
|
|
77
|
+
## 8. FAQ
|
|
78
|
+
Layout Q-A: a numbered editorial list; serif questions; hairline rule between items;
|
|
79
|
+
accordion answers (height/opacity). a11y: `aria-expanded`/`aria-controls`.
|
|
80
|
+
|
|
81
|
+
## 9. CTA → **Chapter-opener CTA**
|
|
82
|
+
Layout C-A: a `--paper-bone` or `--paper-ink` plate with a large serif line + deck +
|
|
83
|
+
understated CTA, framed by whitespace. `--section-y-lg`, no border.
|
|
84
|
+
|
|
85
|
+
## 10. Footer
|
|
86
|
+
Layout FT-A: serif wordmark + small-caps column labels + links + fine print + locale.
|
|
87
|
+
Hairline at the very top edge only; generous space; oldstyle figures for the year. `<footer>`,
|
|
88
|
+
`<nav>` link lists.
|
|
89
|
+
|
|
90
|
+
## 11. Dashboard Preview → **Editorial plate**
|
|
91
|
+
Product imagery presented as an art-directed **plate** (full-bleed or inset) with a caption
|
|
92
|
+
+ credit, soft shadow, generous frame. Keep product UI text legible (don't tint). Decorative
|
|
93
|
+
→ `aria-hidden`; informative → alt.
|
|
94
|
+
|
|
95
|
+
## 12. Agent Workflow Section
|
|
96
|
+
A numbered editorial sequence ("01 Plan — 02 Retrieve — 03 Act — 04 Verify") set
|
|
97
|
+
typographically with hairline rules + small figures/plates; reveal in sequence. a11y: `<ol>`.
|
|
98
|
+
|
|
99
|
+
## 13. Code Preview
|
|
100
|
+
A restrained mono code block inset on `--surface`/`--paper-ink` with a small caption
|
|
101
|
+
(filename) and copy button; hairline frame. Subtle syntax tint. `<pre><code>`; copy `aria-label`.
|
|
102
|
+
|
|
103
|
+
## 14. Terminal Preview
|
|
104
|
+
A quiet terminal inset (mono, prompt lines) with a caption; optional typewriter (reduced
|
|
105
|
+
motion → final state). Real text, not an image.
|
|
106
|
+
|
|
107
|
+
## 15. Trust Section → **Editorial figures**
|
|
108
|
+
Large serif **numbers** (oldstyle/tabular) with small-caps labels, set as a typographic
|
|
109
|
+
row with hairline rules — like a magazine "by the numbers". Count-up on reveal (final value
|
|
110
|
+
in DOM). Accent on one figure at most.
|
|
111
|
+
|
|
112
|
+
## 16. Security Section
|
|
113
|
+
Compliance marks (SOC 2/ISO/GDPR/HIPAA) set quietly + short assurances as a hairline-ruled
|
|
114
|
+
list + "Read our security note" `.link-underline`. Calm, factual, editorial. Badges have alt.
|
|
115
|
+
|
|
116
|
+
## 17. Enterprise Section
|
|
117
|
+
"For institutions / enterprise" passage: a serif headline + deck + an editorial value list
|
|
118
|
+
(hairline rules) + "Speak with our team" understated CTA. No border.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Component rules
|
|
123
|
+
- **Editorial first:** kicker → serif headline → deck → body; prefer type + whitespace +
|
|
124
|
+
hairlines over boxed cards; CTAs understated.
|
|
125
|
+
- Compose from shared `.btn`/`.link-underline`/tokens + the editorial primitives — no loud
|
|
126
|
+
bespoke effects.
|
|
127
|
+
- Every interactive element has hover **and** `:focus-visible`; components reflow to a
|
|
128
|
+
single, well-spaced column by `md`/`sm`.
|
|
129
|
+
- Images are `<figure>` with `<figcaption>` + credit; decorative visuals `aria-hidden`.
|
|
130
|
+
- Hairline rules belong **inside** compositions (lists, quotes, footer) — **never between
|
|
131
|
+
page sections**. Restraint: one accent moment per section at most.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Design Principles — Editorial Luxury
|
|
2
|
+
|
|
3
|
+
The philosophy distilled from luxury/editorial references (Aesop, Hermès, Vogue/print
|
|
4
|
+
editorial, Kinfolk, Cartier, The New York Times, Stripe Press, Linear). The goal: a website
|
|
5
|
+
that reads like a beautifully art-directed magazine or a luxury maison — typographic,
|
|
6
|
+
spacious, restrained, and unmistakably crafted.
|
|
7
|
+
|
|
8
|
+
## The one-sentence philosophy
|
|
9
|
+
|
|
10
|
+
**Art direction over decoration.** Let expressive type, an asymmetric grid, and dramatic
|
|
11
|
+
whitespace do the work — every page is composed like a magazine spread, with restraint as
|
|
12
|
+
the ultimate luxury.
|
|
13
|
+
|
|
14
|
+
## Core principles
|
|
15
|
+
|
|
16
|
+
1. **Typography is the design.** A high-contrast **serif display** carries the page;
|
|
17
|
+
headlines are large, elegant, and considered. Most "visual interest" is type, scale,
|
|
18
|
+
and rhythm — not graphics or effects.
|
|
19
|
+
2. **Compose on an editorial grid.** Asymmetry, generous outer margins, measured text
|
|
20
|
+
columns, off-center images, pull quotes, captions, and kickers — not centered SaaS rows.
|
|
21
|
+
3. **Whitespace is luxury.** Air and pace signal quality. Give headlines and images room;
|
|
22
|
+
never crowd. Restraint reads as expensive.
|
|
23
|
+
4. **Restrained, refined palette.** Mostly warm neutrals (ivory/bone/ink) + **one** quiet
|
|
24
|
+
accent used sparingly and deliberately. Color is an event, not a default.
|
|
25
|
+
5. **Fine details everywhere.** Hairline rules, small-caps labels, eyebrow kickers,
|
|
26
|
+
numbered sections, drop caps, precise alignment, and tasteful figure captions.
|
|
27
|
+
6. **Pace the reader.** Vary section density and image scale to create a rhythm —
|
|
28
|
+
spacious hero → dense index → full-bleed image → quiet quote — like flipping a magazine.
|
|
29
|
+
7. **Quiet, elegant motion.** Gentle reveals, line-by-line heading entrances, slow image
|
|
30
|
+
"curtain" reveals. Nothing flashy. Honor `prefers-reduced-motion`.
|
|
31
|
+
8. **Editorial imagery.** Large, art-directed photography/illustration with captions and
|
|
32
|
+
credits; treat images as plates in a magazine, not stock filler.
|
|
33
|
+
9. **Voice matters.** Copy is considered and literary — kickers, decks, and captions are
|
|
34
|
+
part of the design. Write like an editor, not a growth team.
|
|
35
|
+
10. **Consistency over novelty.** Reuse the type roles, grid, and components; a coherent
|
|
36
|
+
editorial system beats decorative one-offs.
|
|
37
|
+
|
|
38
|
+
## Visual-hierarchy laws
|
|
39
|
+
|
|
40
|
+
- **One H1 per page**, the largest, most beautiful serif moment on screen.
|
|
41
|
+
- **Kicker → headline → deck → body.** Each section opens with a small-caps **kicker**
|
|
42
|
+
(eyebrow), then a serif headline, an optional deck (standfirst), then body.
|
|
43
|
+
- **Contrast ladder:** ink headline, dark-gray body, muted captions — all AA. Serif for
|
|
44
|
+
display/headlines + pull quotes; sans for UI/body (or a refined serif body for long reads).
|
|
45
|
+
- **Scale + position = hierarchy.** Big serif headline anchors; supporting text is small
|
|
46
|
+
and quiet. Use the asymmetric grid to lead the eye.
|
|
47
|
+
- **One primary CTA per viewport** — understated (a hairline-underlined link or a quiet
|
|
48
|
+
filled button), never a loud SaaS gradient button.
|
|
49
|
+
- **Group with whitespace + the grid + hairlines**, not boxes/borders between sections.
|
|
50
|
+
- **Accent sparingly** — a single link, a rule, or one highlighted word per section.
|
|
51
|
+
|
|
52
|
+
## Editorial devices (use tastefully)
|
|
53
|
+
|
|
54
|
+
- **Kicker / eyebrow:** small-caps, letter-spaced label above a headline.
|
|
55
|
+
- **Deck / standfirst:** a larger intro paragraph under the headline.
|
|
56
|
+
- **Drop cap:** an oversized initial on a key opening paragraph (one per page max).
|
|
57
|
+
- **Pull quote:** a large serif quotation breaking the column, with a hairline.
|
|
58
|
+
- **Caption + credit:** small text under images (figure/figcaption), italic credit.
|
|
59
|
+
- **Numbered sections / index:** "01 — Philosophy", a table-of-contents index list.
|
|
60
|
+
- **Hairline rule:** a 1px ink/neutral line under kickers, between columns, in the footer.
|
|
61
|
+
|
|
62
|
+
## Reference cues (what each does well)
|
|
63
|
+
|
|
64
|
+
- **Aesop:** restraint, warm neutrals, serif elegance, generous space, fine detail.
|
|
65
|
+
- **Hermès / Cartier:** luxury pacing, art-directed imagery, quiet motion.
|
|
66
|
+
- **Kinfolk / Vogue / NYT:** magazine grid, kickers, decks, pull quotes, captions.
|
|
67
|
+
- **Stripe Press / Linear:** refined typographic craft applied to tech content.
|
|
68
|
+
|
|
69
|
+
## Do / Don't
|
|
70
|
+
|
|
71
|
+
**Do:** lead with serif display · compose asymmetrically on a real grid · dramatic
|
|
72
|
+
whitespace · kickers/decks/pull quotes/captions · hairline rules inside compositions · one
|
|
73
|
+
quiet accent · art-directed imagery with credits · gentle type/image motion.
|
|
74
|
+
|
|
75
|
+
**Don't:** all-sans no-serif display · centered SaaS rows · crowded layouts · loud gradient
|
|
76
|
+
buttons · borders between sections · many accents · heavy effects/glass · stock filler
|
|
77
|
+
images · motion that distracts · weak/default typography (the cardinal sin).
|