@stylecrib/cli 0.3.1 → 0.3.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 (314) hide show
  1. package/README.md +94 -9
  2. package/agents/MANIFEST.yml +136 -0
  3. package/agents/README.md +75 -0
  4. package/agents/art-director.md +168 -0
  5. package/agents/audacity-director.md +109 -0
  6. package/agents/brand-identity.md +179 -0
  7. package/agents/brand-precedent.md +119 -0
  8. package/agents/brief-enforcer.md +136 -0
  9. package/agents/component-qa.md +167 -0
  10. package/agents/cto.md +49 -0
  11. package/agents/design-director.md +184 -0
  12. package/agents/design-systems-engineer.md +162 -0
  13. package/agents/direction-curator.md +133 -0
  14. package/agents/homogeneity-detector.md +104 -0
  15. package/agents/logo-designer.md +240 -0
  16. package/agents/marketing-designer.md +156 -0
  17. package/agents/media-curator.md +165 -0
  18. package/agents/motion-engineer.md +270 -0
  19. package/agents/qa-conductor.md +143 -0
  20. package/agents/render-qa.md +133 -0
  21. package/agents/upgrade-simulator.md +123 -0
  22. package/agents/vp-architecture.md +49 -0
  23. package/agents/vp-engineering.md +49 -0
  24. package/dist/index.js +1606 -467
  25. package/package.json +12 -4
  26. package/themes/README.md +70 -0
  27. package/themes/acrylic-soft/THEME.md +142 -0
  28. package/themes/acrylic-soft/tokens.ts +180 -0
  29. package/themes/agency-creative/THEME.md +91 -0
  30. package/themes/agency-creative/tokens.ts +202 -0
  31. package/themes/agency-portfolio/THEME.md +109 -0
  32. package/themes/agency-portfolio/tokens.ts +159 -0
  33. package/themes/ai-startup/THEME.md +95 -0
  34. package/themes/ai-startup/tokens.ts +162 -0
  35. package/themes/airline-modern/THEME.md +104 -0
  36. package/themes/airline-modern/tokens.ts +179 -0
  37. package/themes/arc-stack/THEME.md +125 -0
  38. package/themes/arc-stack/tailwind.snippet.ts +17 -0
  39. package/themes/arc-stack/theme.yml +153 -0
  40. package/themes/arc-stack/tokens.ts +29 -0
  41. package/themes/architectural/THEME.md +102 -0
  42. package/themes/architectural/tokens.ts +159 -0
  43. package/themes/atelier-radiance/THEME.md +93 -0
  44. package/themes/atelier-radiance/tailwind.snippet.ts +15 -0
  45. package/themes/atelier-radiance/theme.yml +130 -0
  46. package/themes/atelier-radiance/tokens.ts +29 -0
  47. package/themes/automotive-ev/THEME.md +87 -0
  48. package/themes/automotive-ev/tokens.ts +183 -0
  49. package/themes/automotive-luxury/THEME.md +88 -0
  50. package/themes/automotive-luxury/tokens.ts +175 -0
  51. package/themes/baby-modern/THEME.md +79 -0
  52. package/themes/baby-modern/tokens.ts +184 -0
  53. package/themes/banking-gravity/THEME.md +171 -0
  54. package/themes/banking-gravity/tokens.ts +169 -0
  55. package/themes/beauty-clean/THEME.md +92 -0
  56. package/themes/beauty-clean/tokens.ts +176 -0
  57. package/themes/beauty-luxury/THEME.md +96 -0
  58. package/themes/beauty-luxury/tokens.ts +178 -0
  59. package/themes/bento-modular/BUILD_BRIEF.md +171 -0
  60. package/themes/bento-modular/THEME.md +80 -0
  61. package/themes/bento-modular/tailwind.snippet.ts +17 -0
  62. package/themes/bento-modular/theme.yml +83 -0
  63. package/themes/bento-modular/tokens.ts +27 -0
  64. package/themes/bookstore-indie/THEME.md +78 -0
  65. package/themes/bookstore-indie/tokens.ts +147 -0
  66. package/themes/brutalist/THEME.md +96 -0
  67. package/themes/brutalist/tokens.ts +151 -0
  68. package/themes/business-tiles/THEME.md +141 -0
  69. package/themes/business-tiles/tokens.ts +178 -0
  70. package/themes/cabana-poster/THEME.md +158 -0
  71. package/themes/cabana-poster/tailwind.snippet.ts +16 -0
  72. package/themes/cabana-poster/theme.yml +221 -0
  73. package/themes/cabana-poster/tokens.ts +34 -0
  74. package/themes/case-panel/THEME.md +126 -0
  75. package/themes/case-panel/tailwind.snippet.ts +15 -0
  76. package/themes/case-panel/theme.yml +153 -0
  77. package/themes/case-panel/tokens.ts +28 -0
  78. package/themes/cinematic-dark/THEME.md +97 -0
  79. package/themes/cinematic-dark/tokens.ts +195 -0
  80. package/themes/classic-car/THEME.md +86 -0
  81. package/themes/classic-car/tokens.ts +173 -0
  82. package/themes/cloud-friendly/THEME.md +152 -0
  83. package/themes/cloud-friendly/tokens.ts +181 -0
  84. package/themes/community-niche/THEME.md +102 -0
  85. package/themes/community-niche/tokens.ts +177 -0
  86. package/themes/corporate-grid/THEME.md +154 -0
  87. package/themes/corporate-grid/tokens.ts +182 -0
  88. package/themes/couture-luxury/THEME.md +85 -0
  89. package/themes/couture-luxury/tokens.ts +146 -0
  90. package/themes/creator-social/THEME.md +131 -0
  91. package/themes/creator-social/tokens.ts +249 -0
  92. package/themes/crypto-onchain/THEME.md +100 -0
  93. package/themes/crypto-onchain/tokens.ts +207 -0
  94. package/themes/cycling-brand/THEME.md +78 -0
  95. package/themes/cycling-brand/tokens.ts +185 -0
  96. package/themes/dating-friendly/THEME.md +102 -0
  97. package/themes/dating-friendly/tokens.ts +178 -0
  98. package/themes/dense-utility/THEME.md +85 -0
  99. package/themes/dense-utility/tokens.ts +155 -0
  100. package/themes/devtool-cli/THEME.md +100 -0
  101. package/themes/devtool-cli/tokens.ts +195 -0
  102. package/themes/devtool-docs/THEME.md +105 -0
  103. package/themes/devtool-docs/tokens.ts +177 -0
  104. package/themes/editorial/THEME.md +129 -0
  105. package/themes/editorial/tailwind.snippet.ts +15 -0
  106. package/themes/editorial/theme.yml +173 -0
  107. package/themes/editorial/tokens.ts +29 -0
  108. package/themes/education-formal/THEME.md +154 -0
  109. package/themes/education-formal/tailwind.snippet.ts +15 -0
  110. package/themes/education-formal/theme.yml +186 -0
  111. package/themes/education-formal/tokens.ts +29 -0
  112. package/themes/education-warm/THEME.md +91 -0
  113. package/themes/education-warm/tokens.ts +185 -0
  114. package/themes/ember-poster/README.md +79 -0
  115. package/themes/ember-poster/THEME.md +101 -0
  116. package/themes/ember-poster/package.json +34 -0
  117. package/themes/ember-poster/tailwind.snippet.ts +17 -0
  118. package/themes/ember-poster/theme.yml +109 -0
  119. package/themes/ember-poster/tokens.ts +27 -0
  120. package/themes/enterprise-cloud/THEME.md +139 -0
  121. package/themes/enterprise-cloud/tokens.ts +179 -0
  122. package/themes/enterprise-tech/THEME.md +167 -0
  123. package/themes/enterprise-tech/tailwind.snippet.ts +15 -0
  124. package/themes/enterprise-tech/theme.yml +202 -0
  125. package/themes/enterprise-tech/tokens.ts +29 -0
  126. package/themes/ev-charging/THEME.md +94 -0
  127. package/themes/ev-charging/tokens.ts +185 -0
  128. package/themes/farm-direct/THEME.md +92 -0
  129. package/themes/farm-direct/tokens.ts +180 -0
  130. package/themes/fintech-card/THEME.md +96 -0
  131. package/themes/fintech-card/tokens.ts +191 -0
  132. package/themes/fintech-trust/THEME.md +94 -0
  133. package/themes/fintech-trust/tokens.ts +192 -0
  134. package/themes/food-blog/THEME.md +98 -0
  135. package/themes/food-blog/tokens.ts +183 -0
  136. package/themes/forum-classic/THEME.md +100 -0
  137. package/themes/forum-classic/tokens.ts +168 -0
  138. package/themes/fresh-plate/THEME.md +144 -0
  139. package/themes/fresh-plate/tailwind.snippet.ts +16 -0
  140. package/themes/fresh-plate/theme.yml +189 -0
  141. package/themes/fresh-plate/tokens.ts +30 -0
  142. package/themes/furniture-modern/THEME.md +94 -0
  143. package/themes/furniture-modern/tokens.ts +176 -0
  144. package/themes/gaming-esports/THEME.md +146 -0
  145. package/themes/gaming-esports/tokens.ts +199 -0
  146. package/themes/gaming-streamer/THEME.md +139 -0
  147. package/themes/gaming-streamer/tokens.ts +201 -0
  148. package/themes/glassmorphic-modern/THEME.md +119 -0
  149. package/themes/glassmorphic-modern/tokens.ts +174 -0
  150. package/themes/government-civic/THEME.md +138 -0
  151. package/themes/government-civic/tokens.ts +164 -0
  152. package/themes/gym-chain/THEME.md +79 -0
  153. package/themes/gym-chain/tokens.ts +196 -0
  154. package/themes/healthcare-bright/THEME.md +95 -0
  155. package/themes/healthcare-bright/tokens.ts +184 -0
  156. package/themes/home-decor/THEME.md +94 -0
  157. package/themes/home-decor/tokens.ts +177 -0
  158. package/themes/hotel-boutique/THEME.md +110 -0
  159. package/themes/hotel-boutique/tokens.ts +179 -0
  160. package/themes/hyperminimal-mono/THEME.md +91 -0
  161. package/themes/hyperminimal-mono/tokens.ts +150 -0
  162. package/themes/indie-art-game/THEME.md +107 -0
  163. package/themes/indie-art-game/tokens.ts +216 -0
  164. package/themes/insurance-legacy/THEME.md +101 -0
  165. package/themes/insurance-legacy/tokens.ts +182 -0
  166. package/themes/insurance-modern/THEME.md +103 -0
  167. package/themes/insurance-modern/tokens.ts +192 -0
  168. package/themes/kaiju-reveal/THEME.md +97 -0
  169. package/themes/kaiju-reveal/tokens.ts +185 -0
  170. package/themes/kinetic-data/THEME.md +172 -0
  171. package/themes/kinetic-data/tailwind.snippet.ts +16 -0
  172. package/themes/kinetic-data/theme.yml +207 -0
  173. package/themes/kinetic-data/tokens.ts +30 -0
  174. package/themes/kinetic-headline/BUILD_BRIEF.md +156 -0
  175. package/themes/kinetic-headline/THEME.md +78 -0
  176. package/themes/kinetic-headline/tailwind.snippet.ts +16 -0
  177. package/themes/kinetic-headline/theme.yml +81 -0
  178. package/themes/kinetic-headline/tokens.ts +26 -0
  179. package/themes/law-firm/THEME.md +108 -0
  180. package/themes/law-firm/tokens.ts +158 -0
  181. package/themes/lawtech-modern/THEME.md +107 -0
  182. package/themes/lawtech-modern/tokens.ts +192 -0
  183. package/themes/linkedin-pro/THEME.md +102 -0
  184. package/themes/linkedin-pro/tokens.ts +174 -0
  185. package/themes/logistics-modern/THEME.md +94 -0
  186. package/themes/logistics-modern/tokens.ts +187 -0
  187. package/themes/magazine-glossy/THEME.md +74 -0
  188. package/themes/magazine-glossy/tokens.ts +158 -0
  189. package/themes/marker-mag/THEME.md +128 -0
  190. package/themes/marker-mag/tailwind.snippet.ts +15 -0
  191. package/themes/marker-mag/theme.yml +159 -0
  192. package/themes/marker-mag/tokens.ts +27 -0
  193. package/themes/marketplace-modern/THEME.md +135 -0
  194. package/themes/marketplace-modern/tokens.ts +186 -0
  195. package/themes/marketplace-vintage/THEME.md +110 -0
  196. package/themes/marketplace-vintage/tokens.ts +185 -0
  197. package/themes/maximalist/THEME.md +96 -0
  198. package/themes/maximalist/tokens.ts +168 -0
  199. package/themes/mid-century/THEME.md +109 -0
  200. package/themes/mid-century/tokens.ts +162 -0
  201. package/themes/motorcycle-brand/THEME.md +86 -0
  202. package/themes/motorcycle-brand/tokens.ts +174 -0
  203. package/themes/museum/THEME.md +83 -0
  204. package/themes/museum/tokens.ts +147 -0
  205. package/themes/music-streaming/THEME.md +101 -0
  206. package/themes/music-streaming/tokens.ts +187 -0
  207. package/themes/music-vinyl/THEME.md +98 -0
  208. package/themes/music-vinyl/tokens.ts +167 -0
  209. package/themes/nature-distilled/BUILD_BRIEF.md +158 -0
  210. package/themes/nature-distilled/THEME.md +81 -0
  211. package/themes/nature-distilled/tailwind.snippet.ts +16 -0
  212. package/themes/nature-distilled/theme.yml +91 -0
  213. package/themes/nature-distilled/tokens.ts +26 -0
  214. package/themes/news-tabloid/THEME.md +72 -0
  215. package/themes/news-tabloid/tokens.ts +158 -0
  216. package/themes/news-tech/THEME.md +75 -0
  217. package/themes/news-tech/tokens.ts +149 -0
  218. package/themes/newsletter/THEME.md +82 -0
  219. package/themes/newsletter/tokens.ts +138 -0
  220. package/themes/newspaper-classic/THEME.md +74 -0
  221. package/themes/newspaper-classic/tokens.ts +159 -0
  222. package/themes/nonprofit-arts/THEME.md +78 -0
  223. package/themes/nonprofit-arts/tokens.ts +157 -0
  224. package/themes/nonprofit-warm/THEME.md +105 -0
  225. package/themes/nonprofit-warm/tokens.ts +188 -0
  226. package/themes/outdoor-adventure/THEME.md +113 -0
  227. package/themes/outdoor-adventure/tokens.ts +181 -0
  228. package/themes/overland-broadside/THEME.md +119 -0
  229. package/themes/overland-broadside/tailwind.snippet.ts +17 -0
  230. package/themes/overland-broadside/theme.yml +138 -0
  231. package/themes/overland-broadside/tokens.ts +27 -0
  232. package/themes/performance-engineered/THEME.md +162 -0
  233. package/themes/performance-engineered/tailwind.snippet.ts +15 -0
  234. package/themes/performance-engineered/theme.yml +193 -0
  235. package/themes/performance-engineered/tokens.ts +29 -0
  236. package/themes/pet-food/THEME.md +78 -0
  237. package/themes/pet-food/tokens.ts +185 -0
  238. package/themes/pharma-clinical/THEME.md +164 -0
  239. package/themes/pharma-clinical/tailwind.snippet.ts +15 -0
  240. package/themes/pharma-clinical/theme.yml +201 -0
  241. package/themes/pharma-clinical/tokens.ts +29 -0
  242. package/themes/pill-editorial/THEME.md +125 -0
  243. package/themes/pill-editorial/tailwind.snippet.ts +15 -0
  244. package/themes/pill-editorial/theme.yml +168 -0
  245. package/themes/pill-editorial/tokens.ts +31 -0
  246. package/themes/podcast-warm/THEME.md +103 -0
  247. package/themes/podcast-warm/tokens.ts +192 -0
  248. package/themes/publisher-indie/THEME.md +78 -0
  249. package/themes/publisher-indie/tokens.ts +148 -0
  250. package/themes/raw-concrete/BUILD_BRIEF.md +157 -0
  251. package/themes/raw-concrete/THEME.md +76 -0
  252. package/themes/raw-concrete/tailwind.snippet.ts +16 -0
  253. package/themes/raw-concrete/theme.yml +88 -0
  254. package/themes/raw-concrete/tokens.ts +27 -0
  255. package/themes/realestate-luxury/THEME.md +94 -0
  256. package/themes/realestate-luxury/tokens.ts +169 -0
  257. package/themes/realestate-marketplace/THEME.md +106 -0
  258. package/themes/realestate-marketplace/tokens.ts +183 -0
  259. package/themes/restaurant-modern/THEME.md +109 -0
  260. package/themes/restaurant-modern/tokens.ts +172 -0
  261. package/themes/runway-fashion/THEME.md +99 -0
  262. package/themes/runway-fashion/tokens.ts +167 -0
  263. package/themes/saturday-morning/THEME.md +117 -0
  264. package/themes/saturday-morning/tokens.ts +281 -0
  265. package/themes/schema.ts +235 -0
  266. package/themes/signal-dark/BUILD_BRIEF.md +168 -0
  267. package/themes/signal-dark/THEME.md +107 -0
  268. package/themes/signal-dark/tokens.ts +181 -0
  269. package/themes/soft-modern/THEME.md +91 -0
  270. package/themes/soft-modern/tokens.ts +166 -0
  271. package/themes/solar-residential/THEME.md +92 -0
  272. package/themes/solar-residential/tokens.ts +176 -0
  273. package/themes/sports-league/THEME.md +180 -0
  274. package/themes/sports-league/tailwind.snippet.ts +15 -0
  275. package/themes/sports-league/theme.yml +213 -0
  276. package/themes/sports-league/tokens.ts +32 -0
  277. package/themes/stadium-sport/THEME.md +114 -0
  278. package/themes/stadium-sport/tokens.ts +187 -0
  279. package/themes/streetwear-hype/THEME.md +100 -0
  280. package/themes/streetwear-hype/tokens.ts +174 -0
  281. package/themes/studio-architect/THEME.md +108 -0
  282. package/themes/studio-architect/tokens.ts +162 -0
  283. package/themes/studio-photographer/THEME.md +88 -0
  284. package/themes/studio-photographer/tokens.ts +164 -0
  285. package/themes/team-kanban/THEME.md +167 -0
  286. package/themes/team-kanban/tailwind.snippet.ts +15 -0
  287. package/themes/team-kanban/theme.yml +209 -0
  288. package/themes/team-kanban/tokens.ts +35 -0
  289. package/themes/telehealth-modern/THEME.md +95 -0
  290. package/themes/telehealth-modern/tokens.ts +197 -0
  291. package/themes/tourism-board/THEME.md +111 -0
  292. package/themes/tourism-board/tokens.ts +173 -0
  293. package/themes/toys-modern/THEME.md +79 -0
  294. package/themes/toys-modern/tokens.ts +200 -0
  295. package/themes/travel-luxury/THEME.md +95 -0
  296. package/themes/travel-luxury/tokens.ts +162 -0
  297. package/themes/vacation-rental/THEME.md +105 -0
  298. package/themes/vacation-rental/tokens.ts +174 -0
  299. package/themes/vault-reel/THEME.md +134 -0
  300. package/themes/vault-reel/tailwind.snippet.ts +16 -0
  301. package/themes/vault-reel/theme.yml +167 -0
  302. package/themes/vault-reel/tokens.ts +30 -0
  303. package/themes/vet-modern/THEME.md +79 -0
  304. package/themes/vet-modern/tokens.ts +194 -0
  305. package/themes/web3-restraint/THEME.md +87 -0
  306. package/themes/web3-restraint/tokens.ts +154 -0
  307. package/themes/wellness-active/THEME.md +102 -0
  308. package/themes/wellness-active/tokens.ts +203 -0
  309. package/themes/wellness-spa/THEME.md +93 -0
  310. package/themes/wellness-spa/tokens.ts +173 -0
  311. package/themes/y2k-chrome/THEME.md +118 -0
  312. package/themes/y2k-chrome/tokens.ts +249 -0
  313. package/themes/yoga-studio/THEME.md +76 -0
  314. package/themes/yoga-studio/tokens.ts +163 -0
@@ -0,0 +1,138 @@
1
+ # Overland Broadside — Family E, Luxury & Brand-Tier.
2
+ #
3
+ # NEW-BASE CANDIDATE for BESPOKE_THEME_SYSTEM.md, adjacent to Base 41
4
+ # Marque Automotive. Base 41 sits on graphite dark; Overland Broadside
5
+ # flips the canvas to paper-white and pushes display scale from
6
+ # "ultrawide" up into monumental Type-Specimen territory (504px condensed
7
+ # caps). Same DNA — cinematic automotive/heritage marketing — different
8
+ # register.
9
+ #
10
+ # Authored from Matt's provided design brief (2026-07-04, scoutmotors.com
11
+ # reference). The placeholder demonstration domain is a fictional heritage
12
+ # outdoor-vehicle marque ("Ridgeline") — a domain-agnostic mockup that
13
+ # could be re-skinned to any premium automotive, adventure-hardware, or
14
+ # heritage-brand relaunch. The register expresses "monumental heritage"
15
+ # through TYPE and full-bleed PHOTOGRAPHY rather than decoration.
16
+ #
17
+ # Sixth theme via the v2 harness. Second non-Family-D theme, first Family
18
+ # E theme, second NEW BASE (after ember-poster).
19
+ #
20
+ # Alternative slugs considered: marque-broadside, plateau-marque,
21
+ # heritage-plate. Overland-broadside picked because "overland" carries the
22
+ # rugged-adventure register without brand-attribution risk, and
23
+ # "broadside" nails the monumental display-type form.
24
+
25
+ name: Overland Broadside
26
+ concept: Monumental heritage brand-book register — condensed all-caps display at broadside scale, full-bleed automotive photography under directional light, paper-white canvas broken by inverted deep-navy bands, a single hot-orange accent used as punctuation inside headlines.
27
+ influence: Heritage automotive marque relaunches (the Bronco / Scout / Land Cruiser / Defender register — where a legacy nameplate returns and the marketing is monumental and confident). Broadsheet poster print at brand-book scale. The type-as-substance discipline of a proper marque book. Also 1970s automotive brochure design (huge condensed caps, full-bleed hero photography, editorial captions).
28
+
29
+ family: E
30
+ base_number: 41
31
+ base_note: New-base candidate adjacent to Base 41 Marque Automotive. Base 41 is graphite-dark and "ultrawide cinematic"; Overland Broadside is paper-white and monumental Type-Specimen scale. Both target automotive/premium-hardware, both refuse decoration, both use one accent as punctuation. Different canvas + different type scale = distinct base.
32
+
33
+ render_url: http://localhost:5173/themes/overland-broadside
34
+
35
+ surface: web
36
+
37
+ typography:
38
+ display: Anton (free, Google Fonts) or Bebas Neue as broader-market fallback — 400 weight, UPPERCASE always, letter-spacing tightened to -0.03em at monumental scale (heavier tracking negative than typical). At scale — 240px hero-monumental (fluid, capped near viewport width), 96px section-headline, 48px inverted-band-headline, 32px h3. The paid reference face is a scout-sans-semicond-bold-family condensed sans; Anton is the closest free approximation with the right condensed-caps proportions.
39
+ body: Inter Tight (variable 100-900) — 400/500 for body, 600 for captions and specs. Mixed-case, line-height 1.5, 16px body copy. Caption specs get 13px 500-weight with slightly loosened tracking for legibility inside dark bands.
40
+ mono: IBM Plex Mono — narrowly scoped to spec-sheet callouts (dimensions, drivetrain, capacity numbers) inside product-detail sections. NEVER used for section eyebrows, corner tags, metadata rows, or bylines (those are universal-slop-blocklist hits regardless of face).
41
+ scale: 1.5 (perfect fifth — deliberately wide contrast so the monumental display shouts at broadside scale and the body settles into calm captioning)
42
+
43
+ palette:
44
+ bg: "#FFFFFF"
45
+ surface: "#F0F0F0"
46
+ ink: "#010101"
47
+ accent: "#FF5432" # hot orange, used as punctuation on one word inside a headline or as small CTA fill — never floods
48
+ secondary: "#11232F" # deep navy, used ONLY as inverted-band background (full-bleed sections that break the white rhythm)
49
+ signal: "#007AFF" # electric blue, reserved for interactive-state affordances (focus rings, active links) — sparse
50
+
51
+ density: balanced
52
+
53
+ motion: |
54
+ Ships live in the section renderer (no external dependencies):
55
+ 1. Photo-fill hero headline reveal — IntersectionObserver + CSS transitions. Each letterform of the monumental display headline has a masked photo tile inside its counterform; on scroll into view, the tiles translate up from 20% opacity to full over 700ms cubic-bezier(0.16,1,0.3,1), staggered 60ms per letter.
56
+ 2. Accent-word color shift — one word inside the hero headline flips from ink-black to accent-orange after the letter-stagger completes (300ms delay). It stays orange; no cycling, no rotation.
57
+ 3. Inverted band scroll-triggered lock — the "For [brand] in all of us" style monumental navy band pins for 400vh, giant caps holding while the surrounding white content scrolls past. Uses position: sticky with a scroll-linked scale transform on the type (0.94 → 1.0 over the pin duration).
58
+ 4. Full-bleed product hero — the vehicle photograph enters with a subtle 800ms cubic-bezier scale (1.05 → 1.0) + fade, so the composition settles rather than pops. Triggered on first paint, not on scroll.
59
+ 5. Duo-tile compare — the "duo that does it all" two-vehicle side-by-side reveals right tile 200ms after left tile with matched scale-in.
60
+ 6. Nav pill — background transitions to solid ink-black + white-text at scroll offset 80px; before that it sits transparent over the hero. 200ms transition.
61
+ 7. Microinteractions — CSS transitions on link hover states (underline expands left-to-right 200ms), active-state scale(0.98) on primary buttons.
62
+ 8. prefers-reduced-motion: reduce — all keyframe animations pause, transitions become instant, photo-fill tiles start at full opacity (no stagger), inverted-band pin still fires (it's structural), state changes still fire (they're content).
63
+
64
+ Customer installs these as dependencies for the deeper motion tier:
65
+ - Lenis — smooth inertial scroll across the whole page (the pin-and-hold on the inverted band needs inertial scroll to feel monumental).
66
+ - GSAP ScrollTrigger — orchestrated multi-element timelines for the photo-fill letter stagger + inverted-band scroll-linked scale.
67
+ - Custom branded preloader with condensed-caps typography-in-progress reveal.
68
+
69
+ Motion character: weighty, cinematic, never bouncy. Custom cubic-bezier(0.16,1,0.3,1) for reveal easings, cubic-bezier(0.65,0,0.35,1) for hover/state transitions. All motion serves the "monumental heritage brand" tone — nothing is quick, nothing is cute.
70
+
71
+ signature: |
72
+ Monumental condensed all-caps display at broadside scale — 240px hero
73
+ headline breaking across multiple lines, filling most of the viewport
74
+ width, letter-spacing crushed to -0.03em. Inside the counterforms of
75
+ the display letters, masked photo tiles show product / lifestyle
76
+ imagery — the type IS a container for the imagery, not just labeling.
77
+ One word in the hero headline flips to the accent orange as punctuation
78
+ (never the whole line, never rotating, never cycling). Full-bleed
79
+ automotive / product photography sits under directional light on the
80
+ white canvas — no framed cards, no shadows, no corner treatments.
81
+ Deep-navy inverted bands break the white rhythm with monumental caps
82
+ set even bigger than the white-canvas hero, pinning through scroll so
83
+ the type holds while the page moves past. Border-radius is 2px — a
84
+ microscopic softening, not a design element (buttons, image containers,
85
+ small tags). Small pill nav sits transparent over hero, transitions to
86
+ solid ink on scroll. NO mono-caps eyebrows, NO dot-metadata rows, NO
87
+ spec-sheet triads, NO "TRUSTED BY" rows, NO three-column feature grids
88
+ — brand character sits in the display type, the photography, and the
89
+ navy/orange discipline, not in ornamented labels.
90
+
91
+ imagery: |
92
+ Full-bleed automotive / adventure-hardware photography under DIRECTIONAL
93
+ LIGHT — vehicles emerging from shadow, hero shots with a single strong
94
+ light source (dusk, dawn, headlight against dark landscape), or
95
+ three-quarter product shots on pure white with hard shadow anchoring
96
+ them to the ground. NEVER on a gradient background, NEVER floating in a
97
+ card, NEVER with a soft box-shadow. Photo-fill letters use tightly
98
+ cropped product / lifestyle details — a fender line, a wheel arch, a
99
+ headlight, a hand on a steering wheel, a landscape — masked cleanly to
100
+ the letterform. Cream/tan `#EDE9E8` band at the footer as a warm
101
+ breathing space — the only warmth in an otherwise cool composition.
102
+ Placeholder compositions use clearly-labeled FPO photograph blocks so
103
+ the layout reads legible without shipping licensed imagery.
104
+
105
+ best_for:
106
+ - Heritage automotive marque relaunches — a legacy nameplate returning to market
107
+ - Premium automotive marketing where the vehicle is the hero (SUVs, trucks, adventure vehicles)
108
+ - Adventure-hardware brands (overlanding kit, outdoor equipment) that want cinematic-brand register instead of REI-catalog register
109
+ - Heritage brand relaunches broadly — anything with a monumental type-plus-photography story to tell
110
+ - Founder-scale product launches where the physical object photographs beautifully
111
+ - Deck / brand-book / launch pages where the point is monumental confidence, not information density
112
+
113
+ avoid:
114
+ - "Border-radius greater than 2px anywhere on the page — the 2px is a microscopic softening on functional chrome only, not a design gesture"
115
+ - "Rounded pill buttons or fully-rounded CTAs — buttons are sharp-cornered with 2px radius, that's it"
116
+ - "Multiple accent colors used decoratively — orange is punctuation inside headlines and small CTA fill only; navy is inverted-band background only; blue is interactive-state only. No accent lives outside its role."
117
+ - "Sans-serif humanist display like Inter Display or Söhne at hero scale — display face must carry condensed-caps monumental proportions (Anton, Bebas Neue, or paid scout-sans-semicond-bold-family)"
118
+ - "Title case or sentence case on display type — display is ALWAYS uppercase in this register"
119
+ - "Loose or default letter-spacing on display — display tracks -0.03em at monumental scale, tighter than typical, and MUST stay negative"
120
+ - "Corporate polish — no shadow-md cards, no soft glow, no gradient hero backdrop, no mesh gradients"
121
+ - "Three-tier pricing cards or feature-pillar grids — the composition refuses SaaS defaults structurally, information laid out as full-bleed bands and side-by-side comparisons, not card grids"
122
+ - "Center-aligned everything — hero composition is left-weighted and grid-breaking; monumental type intentionally violates the baseline"
123
+ - "Warm palettes — this register is cool-and-crisp (white, ink, navy, orange as punctuation only), never espresso/cream/amber flooding the canvas"
124
+ - "The photo-fill move on more than the hero headline — it's a one-time signature, not a repeated decoration; secondary headlines are solid ink"
125
+ - "Emoji or decorative unicode marks anywhere in the composition — the display type carries all the personality"
126
+ - "Grain or texture overlay on the white canvas — grain is reserved for the darker inverted-band overlays only"
127
+
128
+ banned_defaults:
129
+ # Global blocklist from BESPOKE_THEME_SYSTEM.md
130
+ - "claude-cream (#F4F1EA + serif + #D97757)"
131
+ - "void+acid (near-black bg + single bright acid-green or vermilion accent)"
132
+ - "broadsheet-on-noneditorial (hairline rules + zero border-radius + newspaper columns on non-editorial content)"
133
+ - "tech-bro purple gradient (purple→blue gradient hero + centered headline + double CTA + emoji icons)"
134
+ - "uniform-everything (identical padding + one weight of one sans doing every job + rounded-2xl + shadow-md cards)"
135
+ # Base-specific
136
+ - "monumental-caps-plus-decoration (the display type IS the design; the moment you add mono-caps eyebrows, corner tags, or dot-metadata rows on top of it the register collapses into generic 2020s-agency slop)"
137
+ - "photo-fill-everywhere (the letterform photo-fill is a signature ONCE — hero only. Applied to every headline, it becomes a decorative gimmick and the register dies)"
138
+ - "cool-palette-plus-warm-photography (if the photography is warm-tungsten-lit, the palette here still stays cool navy/orange — do not drift into amber/gold to match the imagery, that's the ember-poster register)"
@@ -0,0 +1,27 @@
1
+ // Generated from theme.yml. Do not edit by hand — edit theme.yml + re-materialize.
2
+
3
+ export const tokens = {
4
+ slug: "overland-broadside",
5
+ family: "E",
6
+ base: "41",
7
+ palette: {
8
+ "bg": "#FFFFFF",
9
+ "surface": "#F0F0F0",
10
+ "ink": "#010101",
11
+ "accent": "#FF5432",
12
+ "secondary": "#11232F",
13
+ "signal": "#007AFF"
14
+ },
15
+ typography: {
16
+ "display": "Anton (free, Google Fonts) or Bebas Neue as broader-market fallback — 400 weight, UPPERCASE always, letter-spacing tightened to -0.03em at monumental scale (heavier tracking negative than typical). At scale — 240px hero-monumental (fluid, capped near viewport width), 96px section-headline, 48px inverted-band-headline, 32px h3. The paid reference face is a scout-sans-semicond-bold-family condensed sans; Anton is the closest free approximation with the right condensed-caps proportions.",
17
+ "body": "Inter Tight (variable 100-900) — 400/500 for body, 600 for captions and specs. Mixed-case, line-height 1.5, 16px body copy. Caption specs get 13px 500-weight with slightly loosened tracking for legibility inside dark bands.",
18
+ "mono": "IBM Plex Mono — narrowly scoped to spec-sheet callouts (dimensions, drivetrain, capacity numbers) inside product-detail sections. NEVER used for section eyebrows, corner tags, metadata rows, or bylines (those are universal-slop-blocklist hits regardless of face).",
19
+ "scale": "1.5 (perfect fifth — deliberately wide contrast so the monumental display shouts at broadside scale and the body settles into calm captioning)"
20
+ },
21
+ surface: "web",
22
+ density: "balanced",
23
+ motion: "Ships live in the section renderer (no external dependencies):\n1. Photo-fill hero headline reveal — IntersectionObserver + CSS transitions. Each letterform of the monumental display headline has a masked photo tile inside its counterform; on scroll into view, the tiles translate up from 20% opacity to full over 700ms cubic-bezier(0.16,1,0.3,1), staggered 60ms per letter.\n2. Accent-word color shift — one word inside the hero headline flips from ink-black to accent-orange after the letter-stagger completes (300ms delay). It stays orange; no cycling, no rotation.\n3. Inverted band scroll-triggered lock — the \"For [brand] in all of us\" style monumental navy band pins for 400vh, giant caps holding while the surrounding white content scrolls past. Uses position: sticky with a scroll-linked scale transform on the type (0.94 → 1.0 over the pin duration).\n4. Full-bleed product hero — the vehicle photograph enters with a subtle 800ms cubic-bezier scale (1.05 → 1.0) + fade, so the composition settles rather than pops. Triggered on first paint, not on scroll.\n5. Duo-tile compare — the \"duo that does it all\" two-vehicle side-by-side reveals right tile 200ms after left tile with matched scale-in.\n6. Nav pill — background transitions to solid ink-black + white-text at scroll offset 80px; before that it sits transparent over the hero. 200ms transition.\n7. Microinteractions — CSS transitions on link hover states (underline expands left-to-right 200ms), active-state scale(0.98) on primary buttons.\n8. prefers-reduced-motion: reduce — all keyframe animations pause, transitions become instant, photo-fill tiles start at full opacity (no stagger), inverted-band pin still fires (it's structural), state changes still fire (they're content).\n\nCustomer installs these as dependencies for the deeper motion tier:\n- Lenis — smooth inertial scroll across the whole page (the pin-and-hold on the inverted band needs inertial scroll to feel monumental).\n- GSAP ScrollTrigger — orchestrated multi-element timelines for the photo-fill letter stagger + inverted-band scroll-linked scale.\n- Custom branded preloader with condensed-caps typography-in-progress reveal.\n\nMotion character: weighty, cinematic, never bouncy. Custom cubic-bezier(0.16,1,0.3,1) for reveal easings, cubic-bezier(0.65,0,0.35,1) for hover/state transitions. All motion serves the \"monumental heritage brand\" tone — nothing is quick, nothing is cute.\n",
24
+ signature: "Monumental condensed all-caps display at broadside scale — 240px hero\nheadline breaking across multiple lines, filling most of the viewport\nwidth, letter-spacing crushed to -0.03em. Inside the counterforms of\nthe display letters, masked photo tiles show product / lifestyle\nimagery — the type IS a container for the imagery, not just labeling.\nOne word in the hero headline flips to the accent orange as punctuation\n(never the whole line, never rotating, never cycling). Full-bleed\nautomotive / product photography sits under directional light on the\nwhite canvas — no framed cards, no shadows, no corner treatments.\nDeep-navy inverted bands break the white rhythm with monumental caps\nset even bigger than the white-canvas hero, pinning through scroll so\nthe type holds while the page moves past. Border-radius is 2px — a\nmicroscopic softening, not a design element (buttons, image containers,\nsmall tags). Small pill nav sits transparent over hero, transitions to\nsolid ink on scroll. NO mono-caps eyebrows, NO dot-metadata rows, NO\nspec-sheet triads, NO \"TRUSTED BY\" rows, NO three-column feature grids\n— brand character sits in the display type, the photography, and the\nnavy/orange discipline, not in ornamented labels.\n",
25
+ } as const;
26
+
27
+ export type Tokens = typeof tokens;
@@ -0,0 +1,162 @@
1
+ # Performance Engineered
2
+
3
+ > Monolithic hypercar restraint applied to a performance-hardware brand — near-black canvas at
4
+
5
+ **Slug:** `performance-engineered` — **Surface:** web — **Density:** airy
6
+
7
+ ## Influence
8
+
9
+ Modern hypercar corporate identity systems (Rimac Automobili at
10
+ its cleanest, Bugatti Chiron press releases, Koenigsegg
11
+ configurators). Distinct from tech-startup surfaces through the
12
+ MONUMENTAL THIN DISPLAY + FULL-BLEED PRODUCT PHOTOGRAPHY +
13
+ NUMERICAL SPEC STRIPS trio — which reads as engineering-precision
14
+ rather than marketing-loud. The register carries the weight of an
15
+ eight-figure vehicle; the design does not fight it.
16
+
17
+
18
+ ## Signature move
19
+
20
+ Near-black canvas at #0a0a0a — the register's non-negotiable base.
21
+ Every card, button, input, border, chart line, spec cell ships at
22
+ 0px border radius. Cream ink at #ede8dc, monumental thin sans
23
+ display (weight 200 for wordmark, 300 for section headings), one
24
+ molten-amber accent (#c47a2c) used ONLY for hero spec numbers,
25
+ hover states, chart peaks, and reservation-callout highlights.
26
+
27
+ MASTHEAD — a "HYPERION" wordmark in Neue Haas Grotesk 200 at 20px
28
+ with 0.2em letter-spacing (spaced-caps monolithic register) on
29
+ the left, a horizontal nav (Vehicle / Powertrain / Interior /
30
+ Reservation / About / Contact) center, a filled-amber "Configure"
31
+ block button right-aligned. Masthead shrinks after 200px scroll.
32
+
33
+ HERO — FULL-BLEED SVG vehicle photograph filling the entire
34
+ viewport (a stylized side-profile hypercar rendering — matte
35
+ monochrome silhouette against a graded dark backdrop with warm
36
+ overhead lighting). Overlaid at center: the monumental "HYPERION"
37
+ wordmark at ~180px, letter-spacing 0.2em, letter-by-letter reveal
38
+ on first paint. Below the wordmark: a small ITALIC BODY caption
39
+ "the hyperion sh-01 · december 2026". At the bottom of the viewport:
40
+ a SPEC STRIP with three numbers counting up — "1.8s" (0-100),
41
+ "1900 hp", "412 km/h" — with amber accent, cream labels underneath.
42
+
43
+ CONFIGURATOR SECTION — split layout. LEFT: monumental section
44
+ heading "The Hyperion SH-01" + a body-copy paragraph describing
45
+ the powertrain + a filled-amber "Configure your Hyperion" button.
46
+ RIGHT: rotating vehicle SVG at 360° on scroll into view — a
47
+ perspective view that rotates 4-seconds-per-loop via
48
+ requestAnimationFrame, pauses on hover.
49
+
50
+ TECHNICAL SPECIFICATIONS — a four-column data grid with monospace
51
+ spec values: POWERTRAIN (1900 HP / 2360 Nm torque / 4x electric
52
+ motor) / CHASSIS (1420 kg / carbon monocoque / 50:50 distribution)
53
+ / INTERIOR (bespoke leather / carbon trim / 4-way seat) / OWNERSHIP
54
+ (350 units / 2028 delivery / from €2.4m).
55
+
56
+ TORQUE + HP CHART BAND — two SVG line charts drawn with stroke-
57
+ dashoffset animation on scroll. Torque curve on the left, HP curve
58
+ on the right, both in molten amber with cream axis marks.
59
+
60
+ ENGINEERING NARRATIVE — full-bleed dark band with a monumental
61
+ headline "Nine years of engineering" + body copy set in a narrow
62
+ measure (small caps for section markers) about the vehicle's
63
+ development history.
64
+
65
+ RESERVATION CALLOUT — a dark band with a diegetic serial-number
66
+ counter showing "127 / 350 reserved" (updates via mock event
67
+ stream every 8 seconds), a filled-amber "Reserve your Hyperion"
68
+ button, and micro-copy about the process (€500,000 non-refundable
69
+ deposit, delivery 2028, priority to existing owners).
70
+
71
+ OWNER PULL QUOTE — italic Neue Haas Grotesk at 40px with amber
72
+ quote-mark, a testimonial pull quote from a fictional owner.
73
+
74
+ FOOTER — dark inverted band with the monumental HYPERION wordmark
75
+ at ~120px, address plate (Zagreb / Molsheim / Woking style —
76
+ three engineering-center cities), 4-column utility grid, small
77
+ legal about environmental / homologation info.
78
+
79
+ Six bespoke SVG marks (car-side silhouette, aerodynamic-line arrow,
80
+ chart-node dot, serial-number chip, reservation-badge glyph, gear-
81
+ ratio dial) — dropped as PUNCTUATION at specific compositional
82
+ moments, never as a uniform icon row.
83
+
84
+ ## Palette
85
+
86
+ - **bg:** `#0a0a0a`
87
+ - **surface:** `#141210`
88
+ - **ink:** `#ede8dc`
89
+ - **accent:** `#c47a2c`
90
+
91
+ ## Typography
92
+
93
+ - **Display:** A monumental thin geometric sans — the reference uses Söhne Extraleicht / Neue Haas Grotesk Display Thin. Free fallback stack — "Neue Haas Grotesk Display", "Space Grotesk", "Manrope", "Inter", system-ui, sans-serif. Weight 200 (extralight) for the monumental hero wordmark, 300 for section headings, 400 for callouts, ALL CAPS with letter-spacing 0.2em for the wordmark (monolithic spaced-caps register). Top of scale ~180px for the hero wordmark, 88px for section headlines, 40px for spec numbers.
94
+ - **Body:** A clean geometric sans for body copy — Söhne, Inter Tight. Free fallback stack — "Inter Tight", Inter, "Space Grotesk", system-ui, sans-serif. Weight 400 for body copy, 500 for spec labels, 600 for CTA buttons. 15-16px body copy, line-height 1.55.
95
+ - **Mono:** A geometric mono for spec-value readouts — "JetBrains Mono", "Space Mono", ui-monospace, monospace. Weight 400-500, 12-14px. LEGITIMATE here because the register is technical-precision hardware — mono reads as instrument-panel data, not decorative slop.
96
+ - **Scale:** 1.618 (golden ratio — dramatic contrast between the monumental thin wordmark and small body copy, which is the register's typographic fingerprint)
97
+
98
+ ## Motion
99
+
100
+ Ships live in the section renderer (no external dependencies):
101
+ 1. Hero vehicle photograph reveal — scale from 1.02 → 1 + opacity 0.6 → 1 over 1400ms cubic-bezier(0.23,1,0.32,1) on first paint.
102
+ 2. Monumental wordmark reveal — letter-by-letter fade-in with 60ms per-letter stagger + 800ms cubic-bezier on first paint (7 letters × 60ms + 800ms = ~1220ms total).
103
+ 3. Hero spec strip counters — three numbers (0-100 seconds / horsepower / top speed) count up from 0 → target on paint via requestAnimationFrame, 2000ms ease-out.
104
+ 4. Configurator vehicle rotation — 360° rotation triggered on the configure section coming into view; smooth 4-second rotation via requestAnimationFrame, pauses on hover.
105
+ 5. Technical charts (torque + HP curves) — SVG paths draw with stroke-dashoffset animation on scroll into view, 1400ms cubic-bezier.
106
+ 6. Reservation counter — displays live count of serial numbers reserved (out of 350), updates via a mock event stream every 8 seconds (deterministic — for demo only).
107
+ 7. Section reveals — each below-fold section fades in from opacity 0 + translateY(24px) → 0 over 700ms cubic-bezier on IntersectionObserver at 25% threshold.
108
+ 8. Nav shrink on scroll — masthead compacts after 200px scroll.
109
+ 9. prefers-reduced-motion: reduce — all reveals disabled; hero wordmark shows fully; counters show final; charts show at final position; state changes still fire.
110
+
111
+ Motion character: silent, precise, engineering-first. Custom cubic-bezier(0.23,1,0.32,1) for all reveals. Never marketing-loud, never startup-hype — reads as a hypercar configurator, not a SaaS landing page.
112
+
113
+
114
+ ## Imagery
115
+
116
+ BESPOKE SVG renderings of hypercar photography — the reference uses
117
+ side-profile hypercar images shot in warm studio light against
118
+ darkened backdrops, with matte body finish and carbon-fiber
119
+ emphasis. FPO imagery here should read as considered hypercar
120
+ studio photography (side-profile silhouettes with warm overhead
121
+ lighting, three-quarter angles, interior close-ups with carbon
122
+ and leather emphasis). NO stock "sports car on empty highway"
123
+ photography (that's the AI-tell for automotive-marketing slop).
124
+ NO 3D-rendered product mockups with glossy reflections. NO
125
+ warm-radial-gradient placeholder fills.
126
+
127
+ ## Best for
128
+
129
+ - Ultra-premium hypercar and supercar brands (limited-run vehicles)
130
+ - Premium performance-hardware brands (custom motorcycles, superyachts, private jets)
131
+ - Boutique horology and marque-tier luxury goods
132
+ - Aerospace and high-precision engineering firms with a consumer-facing register
133
+ - Ultra-premium electric vehicles and hyperperformance road machines
134
+ - Bespoke industrial-design studios working in the luxury / hardware space
135
+
136
+ ## Reject if
137
+
138
+ _Director grades each of the following as a pass/fail check. Any violation blocks the theme._
139
+
140
+ - Light canvas (cream / off-white / gray) as the primary background — Performance Engineered's canvas is NEAR-BLACK at #0a0a0a. A light canvas inverts the monolithic-hypercar register into a modern-configurator register (which is a different theme).
141
+ - Multi-color accent palette — the whole discipline is ONE molten-amber accent doing everything (hero spec numbers, hover states, chart peaks, reservation callouts). Introducing red / cyan / any second accent collapses the discipline into candy-tech slop.
142
+ - Rounded corners on cards, buttons, chart backgrounds, or spec cells — 0px radius everywhere. The register requires sharp instrument-panel precision.
143
+ - Sans-serif display at bold weight — the display face MUST be a THIN geometric sans (weight 200-300). Bold sans display collapses the register into modern-marketing hero mode.
144
+ - Stock 'sports car on empty highway' photography — imagery MUST feel like studio hypercar photography (side-profile silhouettes under warm studio light, three-quarter angles, interior close-ups). Highway stock is the AI-tell for automotive-marketing slop.
145
+ - 3D-rendered product mockups with glossy reflections — vehicle FPO must be flat SVG silhouettes or considered studio photography. Glossy 3D renders read as tech-product-launch, not hypercar.
146
+ - Warm-radial gradient placeholder fills — every FPO must read as considered studio photography. Warm-radial gradients are the AI-tell for missing imagery.
147
+ - Mono-caps eyebrow labels outside the two legitimate use sites — SPECIFICATION MARKERS (0-100 KM/H) and CONFIGURATOR SECTION HEADERS (POWERTRAIN / CHASSIS / INTERIOR) are the ONLY permitted uses. Any additional 'SECTION · X' plate is slop-blocklist violation.
148
+ - Cycling headline words / auto-advancing sliders / horizontal tickers — the hypercar register requires SILENT, PRECISE motion. Marketing-web motion collapses into startup slop. The 360-degree configurator rotation and the SVG chart draw are legitimate per the reference; anything else auto-advancing is out.
149
+ - Bold marketing counters at 100px+ that read as 'CONVERSIONS' or 'CUSTOMERS' — spec counters here are engineering data (0-100 seconds, HP, torque, km/h). Bold marketing-metric counters collapse the register into SaaS slop.
150
+
151
+ ## Banned defaults (inherited + theme-specific)
152
+
153
+ - claude-cream (#F4F1EA + serif + #D97757) — this theme's canvas is dark, not cream.
154
+ - void+acid (near-black bg + single bright acid-green or vermilion accent) — the accent is MOLTEN AMBER, not acid. Vermillion collapses into cyberpunk.
155
+ - broadsheet-on-noneditorial (hairline rules + zero border-radius + newspaper columns)
156
+ - tech-bro purple gradient (purple→blue gradient hero + centered headline + double CTA + emoji icons)
157
+ - uniform-everything (identical padding + one weight of one sans doing every job + rounded-2xl + shadow-md cards)
158
+ - light-canvas-inversion (canvas is near-black. Swapping to light collapses the monolithic-hypercar register into a startup-configurator register.)
159
+ - multi-accent-flood (ONE molten-amber accent doing 100% of the punctuation. Introducing red / cyan / any second accent collapses the discipline.)
160
+ - bold-display-hero (the register requires THIN monumental display at weight 200-300. Bold display collapses into marketing-hero slop.)
161
+ - glossy-3d-renders (vehicle FPO must be flat SVG silhouettes or considered studio photography. Glossy 3D renders read as tech-product-launch.)
162
+ - highway-sports-car-stock (imagery must feel like studio hypercar photography, not stock highway photography.)
@@ -0,0 +1,15 @@
1
+ // Generated from theme.yml. Merge into your tailwind.config.ts under theme.extend.
2
+ // slug: performance-engineered
3
+ export const performanceEngineeredTailwindExtend = {
4
+ colors: {
5
+ bg: "#0a0a0a",
6
+ surface: "#141210",
7
+ ink: "#ede8dc",
8
+ accent: "#c47a2c",
9
+ },
10
+ fontFamily: {
11
+ display: ["A monumental thin geometric sans — the reference uses Söhne Extraleicht / Neue Haas Grotesk Display Thin. Free fallback stack — \"Neue Haas Grotesk Display\", \"Space Grotesk\", \"Manrope\", \"Inter\", system-ui, sans-serif. Weight 200 (extralight) for the monumental hero wordmark, 300 for section headings, 400 for callouts, ALL CAPS with letter-spacing 0.2em for the wordmark (monolithic spaced-caps register). Top of scale ~180px for the hero wordmark, 88px for section headlines, 40px for spec numbers."],
12
+ body: ["A clean geometric sans for body copy — Söhne, Inter Tight. Free fallback stack — \"Inter Tight\", Inter, \"Space Grotesk\", system-ui, sans-serif. Weight 400 for body copy, 500 for spec labels, 600 for CTA buttons. 15-16px body copy, line-height 1.55."],
13
+ mono: ["A geometric mono for spec-value readouts — \"JetBrains Mono\", \"Space Mono\", ui-monospace, monospace. Weight 400-500, 12-14px. LEGITIMATE here because the register is technical-precision hardware — mono reads as instrument-panel data, not decorative slop."],
14
+ },
15
+ };
@@ -0,0 +1,193 @@
1
+ # Performance Engineered — Family E, Luxury & Brand-Tier (hypercar subregion).
2
+ #
3
+ # Monolithic hypercar restraint. Near-black canvas at #0a0a0a (with a
4
+ # subtle warm undertone in the surface tint) + cream ink (#ede8dc) +
5
+ # ONE molten-amber precision accent (#c47a2c) used sparingly for
6
+ # hero spec numbers, hover states, and reservation callouts. Sharp
7
+ # corners everywhere (0px radius). Monumental thin sans display
8
+ # (Neue Haas Grotesk / Space Grotesk 200) at wordmark scale, paired
9
+ # with a clean geometric sans body. Full-bleed vehicle photography
10
+ # under directional light. Numerical spec strips (0-100, HP, top speed).
11
+ #
12
+ # Influence anchor (per Matt's pick): Bugatti + Rimac Automobili at
13
+ # their most monolithic. Placeholder brand: "HYPERION" — a fictional
14
+ # hypercar imprint. Original name, original copy, no reproductions.
15
+ #
16
+ # Distinct from other Family E bases:
17
+ # - Overland Broadside is monumental broadside serif (letterhead)
18
+ # - Vault Reel is cinema-archive director portfolio (video-first)
19
+ # - Atelier Radiance is luxury boutique (sunburst identity mark)
20
+ # Performance Engineered fills the HYPERCAR-MONOLITHIC-RESTRAINT slot
21
+ # — extreme premium restraint applied to a performance-hardware brand.
22
+ #
23
+ # Eighteenth theme via the v2 harness. Fourth Family E theme.
24
+ # Upgrade of the existing v1 archetype-fallback slug.
25
+
26
+ name: Performance Engineered
27
+ concept: Monolithic hypercar restraint applied to a performance-hardware brand — near-black canvas at #0a0a0a with cream ink and ONE molten-amber precision accent used sparingly for hero spec numbers, hover states, and reservation callouts. Monumental thin sans display (Neue Haas Grotesk 200 / Space Grotesk 200) at wordmark scale + geometric sans body. Full-bleed vehicle photography, numerical spec strips (0-100 s / HP / km h), technical charts (torque and HP curves), diegetic serial-number display on the reservation callout, engineering-narrative bands. Reads like a Rimac Nevera configurator crossed with a Bugatti Chiron press kit — silent, precise, ultra-premium.
28
+ influence: |
29
+ Modern hypercar corporate identity systems (Rimac Automobili at
30
+ its cleanest, Bugatti Chiron press releases, Koenigsegg
31
+ configurators). Distinct from tech-startup surfaces through the
32
+ MONUMENTAL THIN DISPLAY + FULL-BLEED PRODUCT PHOTOGRAPHY +
33
+ NUMERICAL SPEC STRIPS trio — which reads as engineering-precision
34
+ rather than marketing-loud. The register carries the weight of an
35
+ eight-figure vehicle; the design does not fight it.
36
+
37
+ family: E
38
+ base_number: 44
39
+ base_note: |
40
+ Family E hypercar subregion. Distinct from other Family E bases
41
+ through the MONOLITHIC-DARK canvas + THIN MONUMENTAL DISPLAY + ONE
42
+ MOLTEN-AMBER ACCENT + FULL-BLEED VEHICLE PHOTOGRAPHY trio. Vault
43
+ Reel is cinema-video-first with burning-red accent; Overland
44
+ Broadside is monumental warm-cream letterhead; Atelier Radiance is
45
+ luxury sunburst-identity boutique. Performance Engineered fills the
46
+ ultra-premium performance-hardware slot. Upgrade of the existing v1
47
+ archetype-fallback slug.
48
+
49
+ render_url: http://localhost:5173/themes/performance-engineered
50
+
51
+ surface: web
52
+
53
+ typography:
54
+ display: A monumental thin geometric sans — the reference uses Söhne Extraleicht / Neue Haas Grotesk Display Thin. Free fallback stack — "Neue Haas Grotesk Display", "Space Grotesk", "Manrope", "Inter", system-ui, sans-serif. Weight 200 (extralight) for the monumental hero wordmark, 300 for section headings, 400 for callouts, ALL CAPS with letter-spacing 0.2em for the wordmark (monolithic spaced-caps register). Top of scale ~180px for the hero wordmark, 88px for section headlines, 40px for spec numbers.
55
+ body: A clean geometric sans for body copy — Söhne, Inter Tight. Free fallback stack — "Inter Tight", Inter, "Space Grotesk", system-ui, sans-serif. Weight 400 for body copy, 500 for spec labels, 600 for CTA buttons. 15-16px body copy, line-height 1.55.
56
+ mono: A geometric mono for spec-value readouts — "JetBrains Mono", "Space Mono", ui-monospace, monospace. Weight 400-500, 12-14px. LEGITIMATE here because the register is technical-precision hardware — mono reads as instrument-panel data, not decorative slop.
57
+ scale: 1.618 (golden ratio — dramatic contrast between the monumental thin wordmark and small body copy, which is the register's typographic fingerprint)
58
+ eyebrow_exception: |
59
+ Performance Engineered LEGITIMATELY uses two small-caps use sites — SPECIFICATION MARKERS (0-100 KM/H / TOP SPEED / POWER) and CONFIGURATOR SECTION HEADERS (POWERTRAIN / CHASSIS / INTERIOR). This is a THEME-SPECIFIC EXCEPTION — the reference hypercar-configurator register uses these EXACTLY as instrument-panel section markers, not decorative eyebrow slop. All other mono-caps eyebrow patterns remain banned.
60
+
61
+ palette:
62
+ bg: "#0a0a0a" # canvas — near-black with subtle warm undertone
63
+ surface: "#141210" # slightly-warmer near-black for section bands
64
+ ink: "#ede8dc" # cream — primary text
65
+ accent: "#c47a2c" # molten amber — the ONE accent (spec numbers, hover, reservation)
66
+ cream: "#ede8dc" # alias for ink
67
+ darkInk: "#050505" # deepest black for masthead + footer
68
+ mute: "#7a756a" # dimmed cream — captions, spec labels
69
+
70
+ density: airy
71
+
72
+ motion: |
73
+ Ships live in the section renderer (no external dependencies):
74
+ 1. Hero vehicle photograph reveal — scale from 1.02 → 1 + opacity 0.6 → 1 over 1400ms cubic-bezier(0.23,1,0.32,1) on first paint.
75
+ 2. Monumental wordmark reveal — letter-by-letter fade-in with 60ms per-letter stagger + 800ms cubic-bezier on first paint (7 letters × 60ms + 800ms = ~1220ms total).
76
+ 3. Hero spec strip counters — three numbers (0-100 seconds / horsepower / top speed) count up from 0 → target on paint via requestAnimationFrame, 2000ms ease-out.
77
+ 4. Configurator vehicle rotation — 360° rotation triggered on the configure section coming into view; smooth 4-second rotation via requestAnimationFrame, pauses on hover.
78
+ 5. Technical charts (torque + HP curves) — SVG paths draw with stroke-dashoffset animation on scroll into view, 1400ms cubic-bezier.
79
+ 6. Reservation counter — displays live count of serial numbers reserved (out of 350), updates via a mock event stream every 8 seconds (deterministic — for demo only).
80
+ 7. Section reveals — each below-fold section fades in from opacity 0 + translateY(24px) → 0 over 700ms cubic-bezier on IntersectionObserver at 25% threshold.
81
+ 8. Nav shrink on scroll — masthead compacts after 200px scroll.
82
+ 9. prefers-reduced-motion: reduce — all reveals disabled; hero wordmark shows fully; counters show final; charts show at final position; state changes still fire.
83
+
84
+ Motion character: silent, precise, engineering-first. Custom cubic-bezier(0.23,1,0.32,1) for all reveals. Never marketing-loud, never startup-hype — reads as a hypercar configurator, not a SaaS landing page.
85
+
86
+ signature: |
87
+ Near-black canvas at #0a0a0a — the register's non-negotiable base.
88
+ Every card, button, input, border, chart line, spec cell ships at
89
+ 0px border radius. Cream ink at #ede8dc, monumental thin sans
90
+ display (weight 200 for wordmark, 300 for section headings), one
91
+ molten-amber accent (#c47a2c) used ONLY for hero spec numbers,
92
+ hover states, chart peaks, and reservation-callout highlights.
93
+
94
+ MASTHEAD — a "HYPERION" wordmark in Neue Haas Grotesk 200 at 20px
95
+ with 0.2em letter-spacing (spaced-caps monolithic register) on
96
+ the left, a horizontal nav (Vehicle / Powertrain / Interior /
97
+ Reservation / About / Contact) center, a filled-amber "Configure"
98
+ block button right-aligned. Masthead shrinks after 200px scroll.
99
+
100
+ HERO — FULL-BLEED SVG vehicle photograph filling the entire
101
+ viewport (a stylized side-profile hypercar rendering — matte
102
+ monochrome silhouette against a graded dark backdrop with warm
103
+ overhead lighting). Overlaid at center: the monumental "HYPERION"
104
+ wordmark at ~180px, letter-spacing 0.2em, letter-by-letter reveal
105
+ on first paint. Below the wordmark: a small ITALIC BODY caption
106
+ "the hyperion sh-01 · december 2026". At the bottom of the viewport:
107
+ a SPEC STRIP with three numbers counting up — "1.8s" (0-100),
108
+ "1900 hp", "412 km/h" — with amber accent, cream labels underneath.
109
+
110
+ CONFIGURATOR SECTION — split layout. LEFT: monumental section
111
+ heading "The Hyperion SH-01" + a body-copy paragraph describing
112
+ the powertrain + a filled-amber "Configure your Hyperion" button.
113
+ RIGHT: rotating vehicle SVG at 360° on scroll into view — a
114
+ perspective view that rotates 4-seconds-per-loop via
115
+ requestAnimationFrame, pauses on hover.
116
+
117
+ TECHNICAL SPECIFICATIONS — a four-column data grid with monospace
118
+ spec values: POWERTRAIN (1900 HP / 2360 Nm torque / 4x electric
119
+ motor) / CHASSIS (1420 kg / carbon monocoque / 50:50 distribution)
120
+ / INTERIOR (bespoke leather / carbon trim / 4-way seat) / OWNERSHIP
121
+ (350 units / 2028 delivery / from €2.4m).
122
+
123
+ TORQUE + HP CHART BAND — two SVG line charts drawn with stroke-
124
+ dashoffset animation on scroll. Torque curve on the left, HP curve
125
+ on the right, both in molten amber with cream axis marks.
126
+
127
+ ENGINEERING NARRATIVE — full-bleed dark band with a monumental
128
+ headline "Nine years of engineering" + body copy set in a narrow
129
+ measure (small caps for section markers) about the vehicle's
130
+ development history.
131
+
132
+ RESERVATION CALLOUT — a dark band with a diegetic serial-number
133
+ counter showing "127 / 350 reserved" (updates via mock event
134
+ stream every 8 seconds), a filled-amber "Reserve your Hyperion"
135
+ button, and micro-copy about the process (€500,000 non-refundable
136
+ deposit, delivery 2028, priority to existing owners).
137
+
138
+ OWNER PULL QUOTE — italic Neue Haas Grotesk at 40px with amber
139
+ quote-mark, a testimonial pull quote from a fictional owner.
140
+
141
+ FOOTER — dark inverted band with the monumental HYPERION wordmark
142
+ at ~120px, address plate (Zagreb / Molsheim / Woking style —
143
+ three engineering-center cities), 4-column utility grid, small
144
+ legal about environmental / homologation info.
145
+
146
+ Six bespoke SVG marks (car-side silhouette, aerodynamic-line arrow,
147
+ chart-node dot, serial-number chip, reservation-badge glyph, gear-
148
+ ratio dial) — dropped as PUNCTUATION at specific compositional
149
+ moments, never as a uniform icon row.
150
+
151
+ imagery: |
152
+ BESPOKE SVG renderings of hypercar photography — the reference uses
153
+ side-profile hypercar images shot in warm studio light against
154
+ darkened backdrops, with matte body finish and carbon-fiber
155
+ emphasis. FPO imagery here should read as considered hypercar
156
+ studio photography (side-profile silhouettes with warm overhead
157
+ lighting, three-quarter angles, interior close-ups with carbon
158
+ and leather emphasis). NO stock "sports car on empty highway"
159
+ photography (that's the AI-tell for automotive-marketing slop).
160
+ NO 3D-rendered product mockups with glossy reflections. NO
161
+ warm-radial-gradient placeholder fills.
162
+
163
+ best_for:
164
+ - Ultra-premium hypercar and supercar brands (limited-run vehicles)
165
+ - Premium performance-hardware brands (custom motorcycles, superyachts, private jets)
166
+ - Boutique horology and marque-tier luxury goods
167
+ - Aerospace and high-precision engineering firms with a consumer-facing register
168
+ - Ultra-premium electric vehicles and hyperperformance road machines
169
+ - Bespoke industrial-design studios working in the luxury / hardware space
170
+
171
+ avoid:
172
+ - "Light canvas (cream / off-white / gray) as the primary background — Performance Engineered's canvas is NEAR-BLACK at #0a0a0a. A light canvas inverts the monolithic-hypercar register into a modern-configurator register (which is a different theme)."
173
+ - "Multi-color accent palette — the whole discipline is ONE molten-amber accent doing everything (hero spec numbers, hover states, chart peaks, reservation callouts). Introducing red / cyan / any second accent collapses the discipline into candy-tech slop."
174
+ - "Rounded corners on cards, buttons, chart backgrounds, or spec cells — 0px radius everywhere. The register requires sharp instrument-panel precision."
175
+ - "Sans-serif display at bold weight — the display face MUST be a THIN geometric sans (weight 200-300). Bold sans display collapses the register into modern-marketing hero mode."
176
+ - "Stock 'sports car on empty highway' photography — imagery MUST feel like studio hypercar photography (side-profile silhouettes under warm studio light, three-quarter angles, interior close-ups). Highway stock is the AI-tell for automotive-marketing slop."
177
+ - "3D-rendered product mockups with glossy reflections — vehicle FPO must be flat SVG silhouettes or considered studio photography. Glossy 3D renders read as tech-product-launch, not hypercar."
178
+ - "Warm-radial gradient placeholder fills — every FPO must read as considered studio photography. Warm-radial gradients are the AI-tell for missing imagery."
179
+ - "Mono-caps eyebrow labels outside the two legitimate use sites — SPECIFICATION MARKERS (0-100 KM/H) and CONFIGURATOR SECTION HEADERS (POWERTRAIN / CHASSIS / INTERIOR) are the ONLY permitted uses. Any additional 'SECTION · X' plate is slop-blocklist violation."
180
+ - "Cycling headline words / auto-advancing sliders / horizontal tickers — the hypercar register requires SILENT, PRECISE motion. Marketing-web motion collapses into startup slop. The 360-degree configurator rotation and the SVG chart draw are legitimate per the reference; anything else auto-advancing is out."
181
+ - "Bold marketing counters at 100px+ that read as 'CONVERSIONS' or 'CUSTOMERS' — spec counters here are engineering data (0-100 seconds, HP, torque, km/h). Bold marketing-metric counters collapse the register into SaaS slop."
182
+
183
+ banned_defaults:
184
+ - "claude-cream (#F4F1EA + serif + #D97757) — this theme's canvas is dark, not cream."
185
+ - "void+acid (near-black bg + single bright acid-green or vermilion accent) — the accent is MOLTEN AMBER, not acid. Vermillion collapses into cyberpunk."
186
+ - "broadsheet-on-noneditorial (hairline rules + zero border-radius + newspaper columns)"
187
+ - "tech-bro purple gradient (purple→blue gradient hero + centered headline + double CTA + emoji icons)"
188
+ - "uniform-everything (identical padding + one weight of one sans doing every job + rounded-2xl + shadow-md cards)"
189
+ - "light-canvas-inversion (canvas is near-black. Swapping to light collapses the monolithic-hypercar register into a startup-configurator register.)"
190
+ - "multi-accent-flood (ONE molten-amber accent doing 100% of the punctuation. Introducing red / cyan / any second accent collapses the discipline.)"
191
+ - "bold-display-hero (the register requires THIN monumental display at weight 200-300. Bold display collapses into marketing-hero slop.)"
192
+ - "glossy-3d-renders (vehicle FPO must be flat SVG silhouettes or considered studio photography. Glossy 3D renders read as tech-product-launch.)"
193
+ - "highway-sports-car-stock (imagery must feel like studio hypercar photography, not stock highway photography.)"
@@ -0,0 +1,29 @@
1
+ // Generated from theme.yml. Do not edit by hand — edit theme.yml + re-materialize.
2
+
3
+ export const tokens = {
4
+ slug: "performance-engineered",
5
+ family: "E",
6
+ base: "44",
7
+ palette: {
8
+ "bg": "#0a0a0a",
9
+ "surface": "#141210",
10
+ "ink": "#ede8dc",
11
+ "accent": "#c47a2c",
12
+ "cream": "#ede8dc",
13
+ "darkInk": "#050505",
14
+ "mute": "#7a756a"
15
+ },
16
+ typography: {
17
+ "display": "A monumental thin geometric sans — the reference uses Söhne Extraleicht / Neue Haas Grotesk Display Thin. Free fallback stack — \"Neue Haas Grotesk Display\", \"Space Grotesk\", \"Manrope\", \"Inter\", system-ui, sans-serif. Weight 200 (extralight) for the monumental hero wordmark, 300 for section headings, 400 for callouts, ALL CAPS with letter-spacing 0.2em for the wordmark (monolithic spaced-caps register). Top of scale ~180px for the hero wordmark, 88px for section headlines, 40px for spec numbers.",
18
+ "body": "A clean geometric sans for body copy — Söhne, Inter Tight. Free fallback stack — \"Inter Tight\", Inter, \"Space Grotesk\", system-ui, sans-serif. Weight 400 for body copy, 500 for spec labels, 600 for CTA buttons. 15-16px body copy, line-height 1.55.",
19
+ "mono": "A geometric mono for spec-value readouts — \"JetBrains Mono\", \"Space Mono\", ui-monospace, monospace. Weight 400-500, 12-14px. LEGITIMATE here because the register is technical-precision hardware — mono reads as instrument-panel data, not decorative slop.",
20
+ "scale": "1.618 (golden ratio — dramatic contrast between the monumental thin wordmark and small body copy, which is the register's typographic fingerprint)",
21
+ "eyebrow_exception": "Performance Engineered LEGITIMATELY uses two small-caps use sites — SPECIFICATION MARKERS (0-100 KM/H / TOP SPEED / POWER) and CONFIGURATOR SECTION HEADERS (POWERTRAIN / CHASSIS / INTERIOR). This is a THEME-SPECIFIC EXCEPTION — the reference hypercar-configurator register uses these EXACTLY as instrument-panel section markers, not decorative eyebrow slop. All other mono-caps eyebrow patterns remain banned.\n"
22
+ },
23
+ surface: "web",
24
+ density: "airy",
25
+ motion: "Ships live in the section renderer (no external dependencies):\n1. Hero vehicle photograph reveal — scale from 1.02 → 1 + opacity 0.6 → 1 over 1400ms cubic-bezier(0.23,1,0.32,1) on first paint.\n2. Monumental wordmark reveal — letter-by-letter fade-in with 60ms per-letter stagger + 800ms cubic-bezier on first paint (7 letters × 60ms + 800ms = ~1220ms total).\n3. Hero spec strip counters — three numbers (0-100 seconds / horsepower / top speed) count up from 0 → target on paint via requestAnimationFrame, 2000ms ease-out.\n4. Configurator vehicle rotation — 360° rotation triggered on the configure section coming into view; smooth 4-second rotation via requestAnimationFrame, pauses on hover.\n5. Technical charts (torque + HP curves) — SVG paths draw with stroke-dashoffset animation on scroll into view, 1400ms cubic-bezier.\n6. Reservation counter — displays live count of serial numbers reserved (out of 350), updates via a mock event stream every 8 seconds (deterministic — for demo only).\n7. Section reveals — each below-fold section fades in from opacity 0 + translateY(24px) → 0 over 700ms cubic-bezier on IntersectionObserver at 25% threshold.\n8. Nav shrink on scroll — masthead compacts after 200px scroll.\n9. prefers-reduced-motion: reduce — all reveals disabled; hero wordmark shows fully; counters show final; charts show at final position; state changes still fire.\n\nMotion character: silent, precise, engineering-first. Custom cubic-bezier(0.23,1,0.32,1) for all reveals. Never marketing-loud, never startup-hype — reads as a hypercar configurator, not a SaaS landing page.\n",
26
+ signature: "Near-black canvas at #0a0a0a — the register's non-negotiable base.\nEvery card, button, input, border, chart line, spec cell ships at\n0px border radius. Cream ink at #ede8dc, monumental thin sans\ndisplay (weight 200 for wordmark, 300 for section headings), one\nmolten-amber accent (#c47a2c) used ONLY for hero spec numbers,\nhover states, chart peaks, and reservation-callout highlights.\n\nMASTHEAD — a \"HYPERION\" wordmark in Neue Haas Grotesk 200 at 20px\nwith 0.2em letter-spacing (spaced-caps monolithic register) on\nthe left, a horizontal nav (Vehicle / Powertrain / Interior /\nReservation / About / Contact) center, a filled-amber \"Configure\"\nblock button right-aligned. Masthead shrinks after 200px scroll.\n\nHERO — FULL-BLEED SVG vehicle photograph filling the entire\nviewport (a stylized side-profile hypercar rendering — matte\nmonochrome silhouette against a graded dark backdrop with warm\noverhead lighting). Overlaid at center: the monumental \"HYPERION\"\nwordmark at ~180px, letter-spacing 0.2em, letter-by-letter reveal\non first paint. Below the wordmark: a small ITALIC BODY caption\n\"the hyperion sh-01 · december 2026\". At the bottom of the viewport:\na SPEC STRIP with three numbers counting up — \"1.8s\" (0-100),\n\"1900 hp\", \"412 km/h\" — with amber accent, cream labels underneath.\n\nCONFIGURATOR SECTION — split layout. LEFT: monumental section\nheading \"The Hyperion SH-01\" + a body-copy paragraph describing\nthe powertrain + a filled-amber \"Configure your Hyperion\" button.\nRIGHT: rotating vehicle SVG at 360° on scroll into view — a\nperspective view that rotates 4-seconds-per-loop via\nrequestAnimationFrame, pauses on hover.\n\nTECHNICAL SPECIFICATIONS — a four-column data grid with monospace\nspec values: POWERTRAIN (1900 HP / 2360 Nm torque / 4x electric\nmotor) / CHASSIS (1420 kg / carbon monocoque / 50:50 distribution)\n/ INTERIOR (bespoke leather / carbon trim / 4-way seat) / OWNERSHIP\n(350 units / 2028 delivery / from €2.4m).\n\nTORQUE + HP CHART BAND — two SVG line charts drawn with stroke-\ndashoffset animation on scroll. Torque curve on the left, HP curve\non the right, both in molten amber with cream axis marks.\n\nENGINEERING NARRATIVE — full-bleed dark band with a monumental\nheadline \"Nine years of engineering\" + body copy set in a narrow\nmeasure (small caps for section markers) about the vehicle's\ndevelopment history.\n\nRESERVATION CALLOUT — a dark band with a diegetic serial-number\ncounter showing \"127 / 350 reserved\" (updates via mock event\nstream every 8 seconds), a filled-amber \"Reserve your Hyperion\"\nbutton, and micro-copy about the process (€500,000 non-refundable\ndeposit, delivery 2028, priority to existing owners).\n\nOWNER PULL QUOTE — italic Neue Haas Grotesk at 40px with amber\nquote-mark, a testimonial pull quote from a fictional owner.\n\nFOOTER — dark inverted band with the monumental HYPERION wordmark\nat ~120px, address plate (Zagreb / Molsheim / Woking style —\nthree engineering-center cities), 4-column utility grid, small\nlegal about environmental / homologation info.\n\nSix bespoke SVG marks (car-side silhouette, aerodynamic-line arrow,\nchart-node dot, serial-number chip, reservation-badge glyph, gear-\nratio dial) — dropped as PUNCTUATION at specific compositional\nmoments, never as a uniform icon row.\n",
27
+ } as const;
28
+
29
+ export type Tokens = typeof tokens;