@tryvitris/website-harness 0.0.0-stage → 0.1.0-beta.5

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 (1303) hide show
  1. package/CONTRIBUTING.md +7 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE +17 -0
  4. package/README.md +139 -2
  5. package/agent/EVALUATION.md +23 -0
  6. package/agent/PROMPT.md +13 -0
  7. package/agent/STATE.json +109 -0
  8. package/agent/WORKFLOW.md +108 -0
  9. package/agent/evals/preview.md +5 -0
  10. package/agent/graph.yaml +752 -0
  11. package/agent/guardrails.md +10 -0
  12. package/agent/refs/accessibility.md +9 -0
  13. package/agent/refs/art-direction.md +15 -0
  14. package/agent/refs/brand.md +3 -0
  15. package/agent/refs/browser.md +15 -0
  16. package/agent/refs/business.md +9 -0
  17. package/agent/refs/components.md +42 -0
  18. package/agent/refs/compose.md +10 -0
  19. package/agent/refs/contracts.md +32 -0
  20. package/agent/refs/copy.md +14 -0
  21. package/agent/refs/counterpoint.md +3 -0
  22. package/agent/refs/critic.md +29 -0
  23. package/agent/refs/design-calibration.md +31 -0
  24. package/agent/refs/design-feedback.md +13 -0
  25. package/agent/refs/design-quality.md +33 -0
  26. package/agent/refs/design-synthesis.md +9 -0
  27. package/agent/refs/direction.md +29 -0
  28. package/agent/refs/feedback-fulfillment.md +7 -0
  29. package/agent/refs/geo.md +7 -0
  30. package/agent/refs/harvest.md +7 -0
  31. package/agent/refs/icons.md +102 -0
  32. package/agent/refs/images.md +3 -0
  33. package/agent/refs/implement.md +24 -0
  34. package/agent/refs/industry-reference-shortlist.md +64 -0
  35. package/agent/refs/inspiration.md +17 -0
  36. package/agent/refs/interpret.md +3 -0
  37. package/agent/refs/jev.md +166 -0
  38. package/agent/refs/launch.md +11 -0
  39. package/agent/refs/layout.md +7 -0
  40. package/agent/refs/media.md +35 -0
  41. package/agent/refs/motif.md +3 -0
  42. package/agent/refs/motion-count.md +13 -0
  43. package/agent/refs/motion-image.md +12 -0
  44. package/agent/refs/motion-numeric.md +14 -0
  45. package/agent/refs/motion-page.md +23 -0
  46. package/agent/refs/motion-process.md +12 -0
  47. package/agent/refs/motion-sequence.md +7 -0
  48. package/agent/refs/motion-text.md +12 -0
  49. package/agent/refs/motion.md +11 -0
  50. package/agent/refs/narrative.md +9 -0
  51. package/agent/refs/performance.md +36 -0
  52. package/agent/refs/preview.md +3 -0
  53. package/agent/refs/production-quality.md +33 -0
  54. package/agent/refs/psychology.md +3 -0
  55. package/agent/refs/refine.md +14 -0
  56. package/agent/refs/research.md +7 -0
  57. package/agent/refs/sections.md +6 -0
  58. package/agent/refs/seo.md +9 -0
  59. package/agent/refs/storyboard.md +27 -0
  60. package/agent/refs/template-adaptation.md +42 -0
  61. package/agent/refs/template-from-url.md +91 -0
  62. package/agent/refs/template-library.md +32 -0
  63. package/agent/refs/template-motion.md +44 -0
  64. package/agent/refs/theme-selection.md +13 -0
  65. package/agent/refs/ui-ux.md +7 -0
  66. package/agent/refs/usability.md +5 -0
  67. package/agent/refs/variant-directions.md +20 -0
  68. package/agent/refs/write.md +6 -0
  69. package/agent/request.json +11 -0
  70. package/agent/workflow.json +4 -0
  71. package/bin/api/agent/artifacts.js +38 -0
  72. package/bin/api/agent/evaluate.js +55 -0
  73. package/bin/api/agent/grade.js +51 -0
  74. package/bin/api/agent/graph.js +16 -0
  75. package/bin/api/cli/api.js +104 -0
  76. package/bin/api/cli.js +48 -0
  77. package/bin/api/contracts.js +22 -0
  78. package/bin/api/engine.js +53 -0
  79. package/bin/api/hosting.js +40 -0
  80. package/bin/api/icons.js +57 -0
  81. package/bin/api/index.js +20 -0
  82. package/bin/api/references.js +45 -0
  83. package/bin/api/render.js +61 -0
  84. package/bin/api/schema.js +68 -0
  85. package/bin/api/theme.js +9 -0
  86. package/bin/api/types.js +8 -0
  87. package/bin/chunks/chunk-2NW7KSPA.js +17 -0
  88. package/bin/chunks/chunk-34H54KEY.js +45 -0
  89. package/bin/chunks/chunk-3CTBXY5K.js +22313 -0
  90. package/bin/chunks/chunk-42IXFXUD.js +1141 -0
  91. package/bin/chunks/chunk-4DM5TTLG.js +219 -0
  92. package/bin/chunks/chunk-4GZCAWWK.js +327 -0
  93. package/bin/chunks/chunk-54JC5L35.js +493 -0
  94. package/bin/chunks/chunk-5OOPJNGN.js +511 -0
  95. package/bin/chunks/chunk-6A3VWYMF.js +28 -0
  96. package/bin/chunks/chunk-6H3T46F5.js +25 -0
  97. package/bin/chunks/chunk-7FS67SRF.js +12 -0
  98. package/bin/chunks/chunk-7VLBEAFW.js +56 -0
  99. package/bin/chunks/chunk-ANMJRJQ5.js +31 -0
  100. package/bin/chunks/chunk-AUO5I56E.js +118774 -0
  101. package/bin/chunks/chunk-B5I45LFD.js +619 -0
  102. package/bin/chunks/chunk-BBV7PMFC.js +185 -0
  103. package/bin/chunks/chunk-BIEDSEL2.js +8 -0
  104. package/bin/chunks/chunk-CBEJZO4L.js +67 -0
  105. package/bin/chunks/chunk-DRJQ4OOU.js +514 -0
  106. package/bin/chunks/chunk-DSS2U2OM.js +115 -0
  107. package/bin/chunks/chunk-E5Y46VBX.js +678 -0
  108. package/bin/chunks/chunk-FOXUQXTV.js +278 -0
  109. package/bin/chunks/chunk-FYN4T4SV.js +4900 -0
  110. package/bin/chunks/chunk-G7MNMULR.js +192 -0
  111. package/bin/chunks/chunk-GVNIL34R.js +78 -0
  112. package/bin/chunks/chunk-GZDLXYZV.js +3425 -0
  113. package/bin/chunks/chunk-HNORQ74T.js +40 -0
  114. package/bin/chunks/chunk-IKNMBGGD.js +217 -0
  115. package/bin/chunks/chunk-JCRGE6AL.js +14 -0
  116. package/bin/chunks/chunk-LKN75JGA.js +63 -0
  117. package/bin/chunks/chunk-M2ETYSVJ.js +176 -0
  118. package/bin/chunks/chunk-M4LNHYYR.js +177 -0
  119. package/bin/chunks/chunk-PRLL7B63.js +113 -0
  120. package/bin/chunks/chunk-R7YELY3C.js +923 -0
  121. package/bin/chunks/chunk-T6PE4KN4.js +277 -0
  122. package/bin/chunks/chunk-T7DGRVTP.js +458 -0
  123. package/bin/chunks/chunk-TY33XMHW.js +239 -0
  124. package/bin/chunks/chunk-VH7PM7KJ.js +179 -0
  125. package/bin/chunks/chunk-WEFDVXFX.js +65 -0
  126. package/bin/chunks/chunk-XGTHGWPW.js +90 -0
  127. package/bin/chunks/chunk-XL2DRAYI.js +39 -0
  128. package/bin/chunks/chunk-YCVGD2CG.js +2751 -0
  129. package/bin/chunks/chunk-YQYHROLZ.js +1023 -0
  130. package/bin/chunks/chunk-YYPYYOEV.js +34 -0
  131. package/bin/chunks/chunk-Z2UNY47A.js +2418 -0
  132. package/bin/chunks/design-context-store-IAT2P2OC.js +39 -0
  133. package/bin/chunks/packets-VBMY4SQJ.js +53 -0
  134. package/bin/chunks/policy-2I37JUU3.js +18 -0
  135. package/bin/chunks/preparation-S4MG3RPL.js +93 -0
  136. package/bin/chunks/questions-HKELBDFL.js +120 -0
  137. package/bin/chunks/state-GDL6CCJI.js +20 -0
  138. package/bin/chunks/template-gallery-ET76ERZQ.js +140 -0
  139. package/bin/cloudflare/backend.js +24421 -0
  140. package/bin/cloudflare/blake3.wasm +0 -0
  141. package/bin/cloudflare/forms-test.js +429 -0
  142. package/bin/cloudflare/templates.js +100 -0
  143. package/bin/types/scripts/lib/r2.d.ts +7 -0
  144. package/bin/types/scripts/onboard/browser.d.ts +9 -0
  145. package/bin/types/scripts/onboard/crawl.d.ts +35 -0
  146. package/bin/types/scripts/onboard/images.d.ts +19 -0
  147. package/bin/types/scripts/onboard/prompt.d.ts +10 -0
  148. package/bin/types/scripts/onboard/run.d.ts +47 -0
  149. package/bin/types/src/agent/adaptation-checkpoint.d.ts +70 -0
  150. package/bin/types/src/agent/added-media.d.ts +31 -0
  151. package/bin/types/src/agent/api-contracts.d.ts +2 -0
  152. package/bin/types/src/agent/art-direction-policy.d.ts +9 -0
  153. package/bin/types/src/agent/art-direction.d.ts +253 -0
  154. package/bin/types/src/agent/artifacts.d.ts +602 -0
  155. package/bin/types/src/agent/browser-motion-journey.d.ts +59 -0
  156. package/bin/types/src/agent/browser-motion.d.ts +40 -0
  157. package/bin/types/src/agent/browser-timeout.d.ts +4 -0
  158. package/bin/types/src/agent/composition-authoring.d.ts +12 -0
  159. package/bin/types/src/agent/composition-context.d.ts +63 -0
  160. package/bin/types/src/agent/composition-contract.d.ts +4 -0
  161. package/bin/types/src/agent/composition-decisions.d.ts +43 -0
  162. package/bin/types/src/agent/composition-preflight.d.ts +16 -0
  163. package/bin/types/src/agent/creative-change-context.d.ts +21 -0
  164. package/bin/types/src/agent/creative-context.d.ts +56 -0
  165. package/bin/types/src/agent/creative-contract.d.ts +123 -0
  166. package/bin/types/src/agent/creative-efficiency.d.ts +18 -0
  167. package/bin/types/src/agent/creative-evidence.d.ts +57 -0
  168. package/bin/types/src/agent/creative-objective.d.ts +33 -0
  169. package/bin/types/src/agent/creative-profile.d.ts +81 -0
  170. package/bin/types/src/agent/creative-prompts.d.ts +7 -0
  171. package/bin/types/src/agent/creative-render-bindings.d.ts +13 -0
  172. package/bin/types/src/agent/creative-revision.d.ts +33 -0
  173. package/bin/types/src/agent/creative-skills.d.ts +25 -0
  174. package/bin/types/src/agent/cursor-hook.d.ts +182 -0
  175. package/bin/types/src/agent/design-bundle.d.ts +24 -0
  176. package/bin/types/src/agent/design-calibration.d.ts +43 -0
  177. package/bin/types/src/agent/design-cli.d.ts +5 -0
  178. package/bin/types/src/agent/design-comparison.d.ts +63 -0
  179. package/bin/types/src/agent/design-context-packet.d.ts +82 -0
  180. package/bin/types/src/agent/design-context-store.d.ts +14 -0
  181. package/bin/types/src/agent/design-context.d.ts +85 -0
  182. package/bin/types/src/agent/design-contracts.d.ts +35 -0
  183. package/bin/types/src/agent/design-copy.d.ts +29 -0
  184. package/bin/types/src/agent/design-feedback.d.ts +91 -0
  185. package/bin/types/src/agent/design-knowledge.d.ts +124 -0
  186. package/bin/types/src/agent/design-quality.d.ts +143 -0
  187. package/bin/types/src/agent/design-review-server.d.ts +13 -0
  188. package/bin/types/src/agent/design-run.d.ts +174 -0
  189. package/bin/types/src/agent/design-synthesis.d.ts +76 -0
  190. package/bin/types/src/agent/design-usage.d.ts +38 -0
  191. package/bin/types/src/agent/editorial.d.ts +11 -0
  192. package/bin/types/src/agent/evaluate.d.ts +28 -0
  193. package/bin/types/src/agent/grade.d.ts +16 -0
  194. package/bin/types/src/agent/graph.d.ts +82 -0
  195. package/bin/types/src/agent/industry/document.d.ts +10 -0
  196. package/bin/types/src/agent/industry/interactions.d.ts +2 -0
  197. package/bin/types/src/agent/industry/markup.d.ts +14 -0
  198. package/bin/types/src/agent/industry/registry.d.ts +2 -0
  199. package/bin/types/src/agent/industry/render-style.d.ts +3 -0
  200. package/bin/types/src/agent/industry/ridgeline/browse.d.ts +2 -0
  201. package/bin/types/src/agent/industry/ridgeline/diagrams.d.ts +9 -0
  202. package/bin/types/src/agent/industry/ridgeline/facts.d.ts +61 -0
  203. package/bin/types/src/agent/industry/ridgeline/pages/company.d.ts +5 -0
  204. package/bin/types/src/agent/industry/ridgeline/pages/home.d.ts +1 -0
  205. package/bin/types/src/agent/industry/ridgeline/pages/journal.d.ts +24 -0
  206. package/bin/types/src/agent/industry/ridgeline/pages/services.d.ts +6 -0
  207. package/bin/types/src/agent/industry/ridgeline/photo.d.ts +18 -0
  208. package/bin/types/src/agent/industry/ridgeline/script.d.ts +1 -0
  209. package/bin/types/src/agent/industry/ridgeline/site.d.ts +2 -0
  210. package/bin/types/src/agent/industry/ridgeline/style.d.ts +1 -0
  211. package/bin/types/src/agent/industry/ridgeline/theme.d.ts +4 -0
  212. package/bin/types/src/agent/industry/seven/barber-club.d.ts +2 -0
  213. package/bin/types/src/agent/industry/seven/barber-corner.d.ts +2 -0
  214. package/bin/types/src/agent/industry/seven/barber-form.d.ts +2 -0
  215. package/bin/types/src/agent/industry/seven/browse.d.ts +4 -0
  216. package/bin/types/src/agent/industry/seven/construction-built.d.ts +2 -0
  217. package/bin/types/src/agent/industry/seven/construction-craft.d.ts +2 -0
  218. package/bin/types/src/agent/industry/seven/construction-siteworks.d.ts +3 -0
  219. package/bin/types/src/agent/industry/seven/electrical-circuit.d.ts +2 -0
  220. package/bin/types/src/agent/industry/seven/electrical-light.d.ts +3 -0
  221. package/bin/types/src/agent/industry/seven/electrical-power.d.ts +3 -0
  222. package/bin/types/src/agent/industry/seven/hvac-climate.d.ts +3 -0
  223. package/bin/types/src/agent/industry/seven/hvac-dispatch.d.ts +2 -0
  224. package/bin/types/src/agent/industry/seven/hvac-seasonal.d.ts +2 -0
  225. package/bin/types/src/agent/industry/seven/interactions.d.ts +2 -0
  226. package/bin/types/src/agent/industry/seven/landscape-atlas.d.ts +4 -0
  227. package/bin/types/src/agent/industry/seven/landscape-courtyard.d.ts +3 -0
  228. package/bin/types/src/agent/industry/seven/landscape-seasons.d.ts +3 -0
  229. package/bin/types/src/agent/industry/seven/legal-casework.d.ts +2 -0
  230. package/bin/types/src/agent/industry/seven/legal-counsel.d.ts +2 -0
  231. package/bin/types/src/agent/industry/seven/legal-table.d.ts +2 -0
  232. package/bin/types/src/agent/industry/seven/medical-continuum.d.ts +2 -0
  233. package/bin/types/src/agent/industry/seven/medical-movement.d.ts +2 -0
  234. package/bin/types/src/agent/industry/seven/medical-neighborhood.d.ts +2 -0
  235. package/bin/types/src/agent/industry/seven/primitives.d.ts +31 -0
  236. package/bin/types/src/agent/industry/seven/registry.d.ts +4 -0
  237. package/bin/types/src/agent/industry/seven/theme.d.ts +3 -0
  238. package/bin/types/src/agent/industry/sites/common-ground.d.ts +2 -0
  239. package/bin/types/src/agent/industry/sites/coordination.d.ts +2 -0
  240. package/bin/types/src/agent/industry/sites/everyday.d.ts +2 -0
  241. package/bin/types/src/agent/industry/sites/independent.d.ts +2 -0
  242. package/bin/types/src/agent/industry/sites/mainstage.d.ts +2 -0
  243. package/bin/types/src/agent/industry/sites/neighborhood.d.ts +2 -0
  244. package/bin/types/src/agent/industry/sites/next-chapter.d.ts +2 -0
  245. package/bin/types/src/agent/industry/sites/practice-notes.d.ts +2 -0
  246. package/bin/types/src/agent/industry/sites/property-desk.d.ts +2 -0
  247. package/bin/types/src/agent/industry/sites/residence.d.ts +2 -0
  248. package/bin/types/src/agent/industry/sites/risk-office.d.ts +2 -0
  249. package/bin/types/src/agent/industry/sites/workshop.d.ts +2 -0
  250. package/bin/types/src/agent/industry/types.d.ts +48 -0
  251. package/bin/types/src/agent/invocation-budget.d.ts +32 -0
  252. package/bin/types/src/agent/jev/agent-usage.d.ts +165 -0
  253. package/bin/types/src/agent/jev/batching.d.ts +101 -0
  254. package/bin/types/src/agent/jev/block-catalog.d.ts +95 -0
  255. package/bin/types/src/agent/jev/bounds.d.ts +30 -0
  256. package/bin/types/src/agent/jev/budget.d.ts +76 -0
  257. package/bin/types/src/agent/jev/business-draft.d.ts +103 -0
  258. package/bin/types/src/agent/jev/calibration.d.ts +131 -0
  259. package/bin/types/src/agent/jev/client.d.ts +52 -0
  260. package/bin/types/src/agent/jev/component-select.d.ts +102 -0
  261. package/bin/types/src/agent/jev/config.d.ts +52 -0
  262. package/bin/types/src/agent/jev/consistency.d.ts +105 -0
  263. package/bin/types/src/agent/jev/content-checks.d.ts +121 -0
  264. package/bin/types/src/agent/jev/creative.d.ts +81 -0
  265. package/bin/types/src/agent/jev/critic-report.d.ts +132 -0
  266. package/bin/types/src/agent/jev/extraction.d.ts +84 -0
  267. package/bin/types/src/agent/jev/goals.d.ts +43 -0
  268. package/bin/types/src/agent/jev/html-tree.d.ts +28 -0
  269. package/bin/types/src/agent/jev/indexing.d.ts +51 -0
  270. package/bin/types/src/agent/jev/ledger.d.ts +154 -0
  271. package/bin/types/src/agent/jev/media.d.ts +62 -0
  272. package/bin/types/src/agent/jev/observations.d.ts +26 -0
  273. package/bin/types/src/agent/jev/ownership.d.ts +74 -0
  274. package/bin/types/src/agent/jev/packets.d.ts +124 -0
  275. package/bin/types/src/agent/jev/policy.d.ts +83 -0
  276. package/bin/types/src/agent/jev/questions.d.ts +244 -0
  277. package/bin/types/src/agent/jev/ranking.d.ts +129 -0
  278. package/bin/types/src/agent/jev/repair.d.ts +73 -0
  279. package/bin/types/src/agent/jev/review.d.ts +37 -0
  280. package/bin/types/src/agent/jev/security.d.ts +28 -0
  281. package/bin/types/src/agent/jev/semantic-lifecycle.d.ts +19 -0
  282. package/bin/types/src/agent/jev/semantic-tasks.d.ts +89 -0
  283. package/bin/types/src/agent/jev/service-registry.d.ts +98 -0
  284. package/bin/types/src/agent/jev/state.d.ts +104 -0
  285. package/bin/types/src/agent/jev/types.d.ts +190 -0
  286. package/bin/types/src/agent/jev/visible-assertions.d.ts +84 -0
  287. package/bin/types/src/agent/kernel-commands.d.ts +2 -0
  288. package/bin/types/src/agent/kit-runtime.d.ts +12 -0
  289. package/bin/types/src/agent/legacy-definitions/theme-art.d.ts +5 -0
  290. package/bin/types/src/agent/legacy-definitions/theme-commissions.d.ts +1 -0
  291. package/bin/types/src/agent/legacy-definitions/theme-compositions-extremes.d.ts +7 -0
  292. package/bin/types/src/agent/legacy-definitions/theme-compositions-graphic.d.ts +2 -0
  293. package/bin/types/src/agent/legacy-definitions/theme-compositions-reading.d.ts +2 -0
  294. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-extremes.d.ts +2 -0
  295. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-people.d.ts +2 -0
  296. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-programme.d.ts +3 -0
  297. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-project.d.ts +2 -0
  298. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-season.d.ts +2 -0
  299. package/bin/types/src/agent/legacy-definitions/theme-compositions-tactile.d.ts +2 -0
  300. package/bin/types/src/agent/legacy-definitions/theme-compositions.d.ts +2 -0
  301. package/bin/types/src/agent/legacy-definitions/theme-legacy-specimens.d.ts +8 -0
  302. package/bin/types/src/agent/legacy-definitions/theme-library-legacy.d.ts +20 -0
  303. package/bin/types/src/agent/legacy-definitions/theme-library-release2.d.ts +3 -0
  304. package/bin/types/src/agent/legacy-definitions/theme-service-art.d.ts +7 -0
  305. package/bin/types/src/agent/legacy-definitions/theme-service-commissions.d.ts +1 -0
  306. package/bin/types/src/agent/legacy-definitions/theme-specimen-base.d.ts +1 -0
  307. package/bin/types/src/agent/legacy-definitions/theme-specimens.d.ts +2 -0
  308. package/bin/types/src/agent/legacy-definitions/theme-suite-data.d.ts +25 -0
  309. package/bin/types/src/agent/legacy-definitions/theme-suite-style.d.ts +1 -0
  310. package/bin/types/src/agent/legacy-definitions/theme-suites-checkpoint.d.ts +14 -0
  311. package/bin/types/src/agent/legacy-definitions/theme-suites-graphic.d.ts +2 -0
  312. package/bin/types/src/agent/legacy-definitions/theme-suites-information.d.ts +2 -0
  313. package/bin/types/src/agent/legacy-definitions/theme-suites-local.d.ts +2 -0
  314. package/bin/types/src/agent/legacy-definitions/theme-suites-material.d.ts +2 -0
  315. package/bin/types/src/agent/legacy-definitions/theme-suites-practice.d.ts +2 -0
  316. package/bin/types/src/agent/legacy-definitions/theme-suites-spatial.d.ts +2 -0
  317. package/bin/types/src/agent/legacy-definitions/theme-suites.d.ts +3 -0
  318. package/bin/types/src/agent/lifecycle.d.ts +136 -0
  319. package/bin/types/src/agent/lighthouse-browser.d.ts +5 -0
  320. package/bin/types/src/agent/media-format.d.ts +5 -0
  321. package/bin/types/src/agent/migration-links.d.ts +4 -0
  322. package/bin/types/src/agent/motion-composition.d.ts +22 -0
  323. package/bin/types/src/agent/motion-knowledge.d.ts +3 -0
  324. package/bin/types/src/agent/motion-plan.d.ts +6 -0
  325. package/bin/types/src/agent/performance.d.ts +52 -0
  326. package/bin/types/src/agent/playwright-runtime.d.ts +8 -0
  327. package/bin/types/src/agent/preparation.d.ts +193 -0
  328. package/bin/types/src/agent/preview.d.ts +1 -0
  329. package/bin/types/src/agent/production-quality.d.ts +72 -0
  330. package/bin/types/src/agent/reference-contract.d.ts +3 -0
  331. package/bin/types/src/agent/reference-fit.d.ts +50 -0
  332. package/bin/types/src/agent/reference-library.d.ts +313 -0
  333. package/bin/types/src/agent/reference-studies.d.ts +110 -0
  334. package/bin/types/src/agent/refine.d.ts +348 -0
  335. package/bin/types/src/agent/result-manifest.d.ts +38 -0
  336. package/bin/types/src/agent/runner.d.ts +10 -0
  337. package/bin/types/src/agent/site-inputs.d.ts +26 -0
  338. package/bin/types/src/agent/source-manifest.d.ts +9 -0
  339. package/bin/types/src/agent/state-transition.d.ts +16 -0
  340. package/bin/types/src/agent/storyboard-media.d.ts +11 -0
  341. package/bin/types/src/agent/study-render.d.ts +27 -0
  342. package/bin/types/src/agent/template-adaptation.d.ts +69 -0
  343. package/bin/types/src/agent/template-motion.d.ts +59 -0
  344. package/bin/types/src/agent/theme-art-direction.d.ts +2 -0
  345. package/bin/types/src/agent/theme-art.d.ts +1 -0
  346. package/bin/types/src/agent/theme-assets.d.ts +36 -0
  347. package/bin/types/src/agent/theme-browse.d.ts +67 -0
  348. package/bin/types/src/agent/theme-cloud-resources.d.ts +7 -0
  349. package/bin/types/src/agent/theme-cloud.d.ts +41 -0
  350. package/bin/types/src/agent/theme-commissions.d.ts +1 -0
  351. package/bin/types/src/agent/theme-compositions-extremes.d.ts +1 -0
  352. package/bin/types/src/agent/theme-compositions.d.ts +1 -0
  353. package/bin/types/src/agent/theme-identity.d.ts +23 -0
  354. package/bin/types/src/agent/theme-layout-roles.d.ts +7 -0
  355. package/bin/types/src/agent/theme-legacy-specimens.d.ts +1 -0
  356. package/bin/types/src/agent/theme-library-legacy.d.ts +1 -0
  357. package/bin/types/src/agent/theme-library-release2.d.ts +1 -0
  358. package/bin/types/src/agent/theme-library.d.ts +60 -0
  359. package/bin/types/src/agent/theme-page-manifest.d.ts +26 -0
  360. package/bin/types/src/agent/theme-picker-model.d.ts +51 -0
  361. package/bin/types/src/agent/theme-picker-runtime.d.ts +1 -0
  362. package/bin/types/src/agent/theme-picker-selection-runtime.d.ts +1 -0
  363. package/bin/types/src/agent/theme-picker-shell.d.ts +7 -0
  364. package/bin/types/src/agent/theme-picker-styles.d.ts +1 -0
  365. package/bin/types/src/agent/theme-picker.d.ts +20 -0
  366. package/bin/types/src/agent/theme-preview.d.ts +26 -0
  367. package/bin/types/src/agent/theme-release2/assets.d.ts +22 -0
  368. package/bin/types/src/agent/theme-release2/specimens.d.ts +2 -0
  369. package/bin/types/src/agent/theme-release2/theme-art.d.ts +5 -0
  370. package/bin/types/src/agent/theme-release2/theme-compositions-extremes.d.ts +7 -0
  371. package/bin/types/src/agent/theme-release2/theme-compositions-graphic.d.ts +2 -0
  372. package/bin/types/src/agent/theme-release2/theme-compositions-reading.d.ts +2 -0
  373. package/bin/types/src/agent/theme-release2/theme-compositions-tactile.d.ts +2 -0
  374. package/bin/types/src/agent/theme-release2/theme-compositions.d.ts +3 -0
  375. package/bin/types/src/agent/theme-release2/theme-specimen-base.d.ts +1 -0
  376. package/bin/types/src/agent/theme-release3/theme-art-direction.d.ts +2 -0
  377. package/bin/types/src/agent/theme-release3/theme-art.d.ts +5 -0
  378. package/bin/types/src/agent/theme-release3/theme-assets.d.ts +121 -0
  379. package/bin/types/src/agent/theme-release3/theme-compositions-extremes.d.ts +7 -0
  380. package/bin/types/src/agent/theme-release3/theme-compositions-graphic.d.ts +2 -0
  381. package/bin/types/src/agent/theme-release3/theme-compositions-reading.d.ts +2 -0
  382. package/bin/types/src/agent/theme-release3/theme-compositions-service-extremes.d.ts +2 -0
  383. package/bin/types/src/agent/theme-release3/theme-compositions-service-people.d.ts +2 -0
  384. package/bin/types/src/agent/theme-release3/theme-compositions-service-programme.d.ts +2 -0
  385. package/bin/types/src/agent/theme-release3/theme-compositions-service-project.d.ts +2 -0
  386. package/bin/types/src/agent/theme-release3/theme-compositions-service-season.d.ts +2 -0
  387. package/bin/types/src/agent/theme-release3/theme-compositions-tactile.d.ts +2 -0
  388. package/bin/types/src/agent/theme-release3/theme-compositions.d.ts +2 -0
  389. package/bin/types/src/agent/theme-release3/theme-identity.d.ts +23 -0
  390. package/bin/types/src/agent/theme-release3/theme-library.d.ts +4 -0
  391. package/bin/types/src/agent/theme-release3/theme-service-art.d.ts +7 -0
  392. package/bin/types/src/agent/theme-release3/theme-specimen-base.d.ts +1 -0
  393. package/bin/types/src/agent/theme-release3/theme-specimens.d.ts +2 -0
  394. package/bin/types/src/agent/theme-selection.d.ts +75 -0
  395. package/bin/types/src/agent/theme-service-art.d.ts +1 -0
  396. package/bin/types/src/agent/theme-specimen-base.d.ts +1 -0
  397. package/bin/types/src/agent/theme-specimens.d.ts +1 -0
  398. package/bin/types/src/agent/theme-suite-data.d.ts +1 -0
  399. package/bin/types/src/agent/theme-suite-identity.d.ts +42 -0
  400. package/bin/types/src/agent/theme-suite-primitives.d.ts +14 -0
  401. package/bin/types/src/agent/theme-suite-renderer.d.ts +8 -0
  402. package/bin/types/src/agent/theme-suite-style.d.ts +1 -0
  403. package/bin/types/src/agent/theme-suites.d.ts +1 -0
  404. package/bin/types/src/agent/theme-thumbnails.d.ts +8 -0
  405. package/bin/types/src/agent/trace.d.ts +337 -0
  406. package/bin/types/src/agent/workflow-config.d.ts +25 -0
  407. package/bin/types/src/agent/workflow.d.ts +104 -0
  408. package/bin/types/src/blocks/library-profile.d.ts +9 -0
  409. package/bin/types/src/blocks/metadata.d.ts +65 -0
  410. package/bin/types/src/build/index.d.ts +29 -0
  411. package/bin/types/src/build/responsive-media.d.ts +19 -0
  412. package/bin/types/src/build/serve.d.ts +4 -0
  413. package/bin/types/src/build/static-output.d.ts +2 -0
  414. package/bin/types/src/build/verified.d.ts +1 -0
  415. package/bin/types/src/cli/api.d.ts +17 -0
  416. package/bin/types/src/cli/deploy.d.ts +21 -0
  417. package/bin/types/src/cli/doctor.d.ts +16 -0
  418. package/bin/types/src/cli/events.d.ts +16 -0
  419. package/bin/types/src/cli/feedback.d.ts +21 -0
  420. package/bin/types/src/cli/forms.d.ts +16 -0
  421. package/bin/types/src/cli/index.d.ts +1 -0
  422. package/bin/types/src/cli/lifecycle.d.ts +18 -0
  423. package/bin/types/src/cli/preserve.d.ts +8 -0
  424. package/bin/types/src/cli/preview.d.ts +14 -0
  425. package/bin/types/src/cli/refine.d.ts +41 -0
  426. package/bin/types/src/cli/root.d.ts +3 -0
  427. package/bin/types/src/cli/run.d.ts +30 -0
  428. package/bin/types/src/cli/share.d.ts +17 -0
  429. package/bin/types/src/cli/site-create.d.ts +24 -0
  430. package/bin/types/src/cli/site-migrate.d.ts +11 -0
  431. package/bin/types/src/cli/status.d.ts +8 -0
  432. package/bin/types/src/cli/types.d.ts +34 -0
  433. package/bin/types/src/cli/upgrade.d.ts +11 -0
  434. package/bin/types/src/cli/verify.d.ts +17 -0
  435. package/bin/types/src/cli/workflow-argv.d.ts +2 -0
  436. package/bin/types/src/compile/flatten.d.ts +23 -0
  437. package/bin/types/src/compile/frontmatter.d.ts +10 -0
  438. package/bin/types/src/compile/icons.d.ts +2 -0
  439. package/bin/types/src/compile/paths.d.ts +4 -0
  440. package/bin/types/src/compile/primitives.d.ts +2 -0
  441. package/bin/types/src/compile/scroll-motion.d.ts +14 -0
  442. package/bin/types/src/compile/site.d.ts +40 -0
  443. package/bin/types/src/editing/identity.d.ts +7 -0
  444. package/bin/types/src/editing/manifest.d.ts +38 -0
  445. package/bin/types/src/engine/checks.d.ts +2 -0
  446. package/bin/types/src/engine/contracts.d.ts +104 -0
  447. package/bin/types/src/engine/impact.d.ts +3 -0
  448. package/bin/types/src/engine/index.d.ts +70 -0
  449. package/bin/types/src/engine/revision.d.ts +5 -0
  450. package/bin/types/src/forms/cloudflare.d.ts +24 -0
  451. package/bin/types/src/forms/config.d.ts +34 -0
  452. package/bin/types/src/forms/frontend.d.ts +9 -0
  453. package/bin/types/src/html.d.ts +3 -0
  454. package/bin/types/src/icons/catalog.d.ts +28 -0
  455. package/bin/types/src/icons/coverage.d.ts +12 -0
  456. package/bin/types/src/icons/drawing.d.ts +7 -0
  457. package/bin/types/src/icons/duotone.d.ts +4 -0
  458. package/bin/types/src/icons/index.d.ts +37 -0
  459. package/bin/types/src/icons/industry-refinements-v4.d.ts +4 -0
  460. package/bin/types/src/icons/industry-review.d.ts +11 -0
  461. package/bin/types/src/icons/industry.d.ts +2 -0
  462. package/bin/types/src/icons/refinements.d.ts +5 -0
  463. package/bin/types/src/icons/studio-industry-review.d.ts +9 -0
  464. package/bin/types/src/icons/studio-industry.d.ts +5 -0
  465. package/bin/types/src/icons/studio.d.ts +34 -0
  466. package/bin/types/src/integrations/cloudflare-pages.d.ts +10 -0
  467. package/bin/types/src/integrations/deployment-smoke.d.ts +11 -0
  468. package/bin/types/src/integrations/hosting.d.ts +33 -0
  469. package/bin/types/src/integrations/wrangler-command.d.ts +5 -0
  470. package/bin/types/src/knowledge/artifact-order.d.ts +1 -0
  471. package/bin/types/src/knowledge/artifact.d.ts +11 -0
  472. package/bin/types/src/knowledge/composition.d.ts +54 -0
  473. package/bin/types/src/knowledge/contracts.d.ts +111 -0
  474. package/bin/types/src/knowledge/explain.d.ts +6 -0
  475. package/bin/types/src/knowledge/pack.d.ts +32 -0
  476. package/bin/types/src/knowledge/selection.d.ts +18 -0
  477. package/bin/types/src/knowledge/site-widgets.d.ts +6 -0
  478. package/bin/types/src/onboard/brief.d.ts +182 -0
  479. package/bin/types/src/onboard/classify.d.ts +31 -0
  480. package/bin/types/src/onboard/crawl-order.d.ts +7 -0
  481. package/bin/types/src/onboard/extract.d.ts +102 -0
  482. package/bin/types/src/onboard/harvest-inventory.d.ts +84 -0
  483. package/bin/types/src/onboard/outline.d.ts +13 -0
  484. package/bin/types/src/onboard/quality.d.ts +6 -0
  485. package/bin/types/src/onboard/shortlist.d.ts +11 -0
  486. package/bin/types/src/onboard/social.d.ts +15 -0
  487. package/bin/types/src/onboard/visual-hints.d.ts +12 -0
  488. package/bin/types/src/preserve/build.d.ts +1 -0
  489. package/bin/types/src/preserve/capture.d.ts +21 -0
  490. package/bin/types/src/preserve/components.d.ts +10 -0
  491. package/bin/types/src/preserve/config.d.ts +53 -0
  492. package/bin/types/src/preserve/embeds.d.ts +15 -0
  493. package/bin/types/src/preserve/hovers.d.ts +10 -0
  494. package/bin/types/src/preserve/react-capabilities.d.ts +2 -0
  495. package/bin/types/src/preserve/runtime.d.ts +2 -0
  496. package/bin/types/src/preserve/source-defects.d.ts +4 -0
  497. package/bin/types/src/preserve/supplement.d.ts +3 -0
  498. package/bin/types/src/preserve/verify.d.ts +29 -0
  499. package/bin/types/src/render.d.ts +10 -0
  500. package/bin/types/src/runtime/beacon.d.ts +2 -0
  501. package/bin/types/src/runtime/before-after.d.ts +2 -0
  502. package/bin/types/src/runtime/carousel.d.ts +2 -0
  503. package/bin/types/src/runtime/cookie-compliance.d.ts +14 -0
  504. package/bin/types/src/runtime/experience.d.ts +4 -0
  505. package/bin/types/src/runtime/header.d.ts +2 -0
  506. package/bin/types/src/runtime/leads.d.ts +2 -0
  507. package/bin/types/src/runtime/lightbox.d.ts +2 -0
  508. package/bin/types/src/runtime/scroll-motion.generated.d.ts +4 -0
  509. package/bin/types/src/runtime/tabs.d.ts +2 -0
  510. package/bin/types/src/schema.d.ts +27 -0
  511. package/bin/types/src/stock/library.d.ts +14 -0
  512. package/bin/types/src/stock/search.d.ts +30 -0
  513. package/bin/types/src/stock/selection.d.ts +30 -0
  514. package/bin/types/src/stock/types.d.ts +54 -0
  515. package/bin/types/src/theme.d.ts +3 -0
  516. package/bin/types/src/types.d.ts +115 -0
  517. package/bin/types/src/upgrade/kit.d.ts +48 -0
  518. package/bin/vitris-art.js +192 -0
  519. package/bin/vitris-blocks.js +238 -0
  520. package/bin/vitris-build.js +24 -0
  521. package/bin/vitris-catalog.js +49 -0
  522. package/bin/vitris-content-coverage.js +21 -0
  523. package/bin/vitris-create-site.js +86 -0
  524. package/bin/vitris-cursor-hook.js +61 -0
  525. package/bin/vitris-eval.js +76 -0
  526. package/bin/vitris-go.js +99 -0
  527. package/bin/vitris-harvest.js +184 -0
  528. package/bin/vitris-icons.js +168 -0
  529. package/bin/vitris-knowledge.js +43 -0
  530. package/bin/vitris-launch-preflight.js +964 -0
  531. package/bin/vitris-media-serve.js +50 -0
  532. package/bin/vitris-migrate-site.js +20 -0
  533. package/bin/vitris-motion-view.js +80 -0
  534. package/bin/vitris-prepare-media.js +64 -0
  535. package/bin/vitris-preview.js +36 -0
  536. package/bin/vitris-references.js +173 -0
  537. package/bin/vitris-refresh.js +50 -0
  538. package/bin/vitris-sign-publish-bundle.js +64 -0
  539. package/bin/vitris-stock.js +161 -0
  540. package/bin/vitris-templates.js +261 -0
  541. package/bin/vitris-themes.js +321 -0
  542. package/bin/vitris-upgrade.js +50 -0
  543. package/bin/vitris-verify-browser.js +662 -0
  544. package/bin/vitris-verify-performance.js +44 -0
  545. package/bin/vitris.js +50 -0
  546. package/blocks/CONVENTIONS.md +121 -0
  547. package/blocks/INDEX.md +130 -0
  548. package/blocks/about/about-awards/README.md +36 -0
  549. package/blocks/about/about-awards/styles.css +13 -0
  550. package/blocks/about/about-awards/template.html +1 -0
  551. package/blocks/about/about-credentials/README.md +33 -0
  552. package/blocks/about/about-credentials/block.meta.json +85 -0
  553. package/blocks/about/about-credentials/styles.css +4 -0
  554. package/blocks/about/about-credentials/template.html +1 -0
  555. package/blocks/about/about-founder/README.md +35 -0
  556. package/blocks/about/about-founder/styles.css +9 -0
  557. package/blocks/about/about-founder/template.html +1 -0
  558. package/blocks/about/about-mission/README.md +31 -0
  559. package/blocks/about/about-mission/styles.css +5 -0
  560. package/blocks/about/about-mission/template.html +1 -0
  561. package/blocks/about/about-statement/README.md +28 -0
  562. package/blocks/about/about-statement/styles.css +7 -0
  563. package/blocks/about/about-statement/template.html +1 -0
  564. package/blocks/about/about-story/README.md +35 -0
  565. package/blocks/about/about-story/styles.css +5 -0
  566. package/blocks/about/about-story/template.html +1 -0
  567. package/blocks/about/about-timeline/README.md +33 -0
  568. package/blocks/about/about-timeline/styles.css +8 -0
  569. package/blocks/about/about-timeline/template.html +1 -0
  570. package/blocks/about/about-values/README.md +31 -0
  571. package/blocks/about/about-values/styles.css +3 -0
  572. package/blocks/about/about-values/template.html +1 -0
  573. package/blocks/blog/blog-featured/README.md +39 -0
  574. package/blocks/blog/blog-featured/styles.css +12 -0
  575. package/blocks/blog/blog-featured/template.html +1 -0
  576. package/blocks/blog/blog-index/README.md +34 -0
  577. package/blocks/blog/blog-index/styles.css +6 -0
  578. package/blocks/blog/blog-index/template.html +1 -0
  579. package/blocks/blog/blog-post-header/README.md +31 -0
  580. package/blocks/blog/blog-post-header/styles.css +8 -0
  581. package/blocks/blog/blog-post-header/template.html +1 -0
  582. package/blocks/contact/contact-cards/README.md +32 -0
  583. package/blocks/contact/contact-cards/styles.css +7 -0
  584. package/blocks/contact/contact-cards/template.html +1 -0
  585. package/blocks/contact/contact-chips/README.md +41 -0
  586. package/blocks/contact/contact-chips/styles.css +13 -0
  587. package/blocks/contact/contact-chips/template.html +1 -0
  588. package/blocks/contact/contact-hours/README.md +41 -0
  589. package/blocks/contact/contact-hours/block.meta.json +87 -0
  590. package/blocks/contact/contact-hours/styles.css +8 -0
  591. package/blocks/contact/contact-hours/template.html +1 -0
  592. package/blocks/contact/contact-map/README.md +39 -0
  593. package/blocks/contact/contact-map/styles.css +10 -0
  594. package/blocks/contact/contact-map/template.html +1 -0
  595. package/blocks/contact/contact-offices/README.md +32 -0
  596. package/blocks/contact/contact-offices/styles.css +8 -0
  597. package/blocks/contact/contact-offices/template.html +1 -0
  598. package/blocks/contact/contact-phone-first/README.md +33 -0
  599. package/blocks/contact/contact-phone-first/block.meta.json +86 -0
  600. package/blocks/contact/contact-phone-first/styles.css +11 -0
  601. package/blocks/contact/contact-phone-first/template.html +1 -0
  602. package/blocks/contact/contact-split/README.md +43 -0
  603. package/blocks/contact/contact-split/styles.css +12 -0
  604. package/blocks/contact/contact-split/template.html +1 -0
  605. package/blocks/contact/contact-visit/README.md +36 -0
  606. package/blocks/contact/contact-visit/block.meta.json +88 -0
  607. package/blocks/contact/contact-visit/styles.css +13 -0
  608. package/blocks/contact/contact-visit/template.html +1 -0
  609. package/blocks/contact/service-areas/README.md +32 -0
  610. package/blocks/contact/service-areas/styles.css +9 -0
  611. package/blocks/contact/service-areas/template.html +1 -0
  612. package/blocks/content/glossary/README.md +35 -0
  613. package/blocks/content/glossary/styles.css +6 -0
  614. package/blocks/content/glossary/template.html +1 -0
  615. package/blocks/content/list-split/README.md +33 -0
  616. package/blocks/content/list-split/styles.css +13 -0
  617. package/blocks/content/list-split/template.html +1 -0
  618. package/blocks/content/prose-split/README.md +32 -0
  619. package/blocks/content/prose-split/styles.css +12 -0
  620. package/blocks/content/prose-split/template.html +1 -0
  621. package/blocks/content/specification-ledger/README.md +32 -0
  622. package/blocks/content/specification-ledger/block.meta.json +85 -0
  623. package/blocks/content/specification-ledger/styles.css +10 -0
  624. package/blocks/content/specification-ledger/template.html +1 -0
  625. package/blocks/cta/cta-band/README.md +33 -0
  626. package/blocks/cta/cta-band/styles.css +11 -0
  627. package/blocks/cta/cta-band/template.html +1 -0
  628. package/blocks/cta/cta-card/README.md +35 -0
  629. package/blocks/cta/cta-card/styles.css +8 -0
  630. package/blocks/cta/cta-card/template.html +1 -0
  631. package/blocks/cta/cta-floating-bar/README.md +28 -0
  632. package/blocks/cta/cta-floating-bar/styles.css +8 -0
  633. package/blocks/cta/cta-floating-bar/template.html +1 -0
  634. package/blocks/cta/cta-inline/README.md +30 -0
  635. package/blocks/cta/cta-inline/styles.css +9 -0
  636. package/blocks/cta/cta-inline/template.html +1 -0
  637. package/blocks/cta/cta-newsletter/README.md +34 -0
  638. package/blocks/cta/cta-newsletter/styles.css +8 -0
  639. package/blocks/cta/cta-newsletter/template.html +1 -0
  640. package/blocks/cta/cta-photo-fan/README.md +36 -0
  641. package/blocks/cta/cta-photo-fan/styles.css +14 -0
  642. package/blocks/cta/cta-photo-fan/template.html +1 -0
  643. package/blocks/cta/cta-split/README.md +38 -0
  644. package/blocks/cta/cta-split/styles.css +10 -0
  645. package/blocks/cta/cta-split/template.html +1 -0
  646. package/blocks/faq/faq-accordion/README.md +36 -0
  647. package/blocks/faq/faq-accordion/styles.css +6 -0
  648. package/blocks/faq/faq-accordion/template.html +1 -0
  649. package/blocks/faq/faq-grouped/README.md +40 -0
  650. package/blocks/faq/faq-grouped/styles.css +20 -0
  651. package/blocks/faq/faq-grouped/template.html +1 -0
  652. package/blocks/faq/faq-split/README.md +37 -0
  653. package/blocks/faq/faq-split/styles.css +5 -0
  654. package/blocks/faq/faq-split/template.html +1 -0
  655. package/blocks/faq/faq-tabs/README.md +36 -0
  656. package/blocks/faq/faq-tabs/styles.css +3 -0
  657. package/blocks/faq/faq-tabs/template.html +1 -0
  658. package/blocks/feature/feature-bento/README.md +33 -0
  659. package/blocks/feature/feature-bento/styles.css +7 -0
  660. package/blocks/feature/feature-bento/template.html +1 -0
  661. package/blocks/feature/feature-compare-table/README.md +44 -0
  662. package/blocks/feature/feature-compare-table/styles.css +15 -0
  663. package/blocks/feature/feature-compare-table/template.html +1 -0
  664. package/blocks/feature/feature-comparison/README.md +34 -0
  665. package/blocks/feature/feature-comparison/styles.css +6 -0
  666. package/blocks/feature/feature-comparison/template.html +1 -0
  667. package/blocks/feature/feature-grid-3/README.md +34 -0
  668. package/blocks/feature/feature-grid-3/styles.css +8 -0
  669. package/blocks/feature/feature-grid-3/template.html +1 -0
  670. package/blocks/feature/feature-icon-list/README.md +39 -0
  671. package/blocks/feature/feature-icon-list/styles.css +9 -0
  672. package/blocks/feature/feature-icon-list/template.html +1 -0
  673. package/blocks/feature/feature-spotlight/README.md +39 -0
  674. package/blocks/feature/feature-spotlight/styles.css +5 -0
  675. package/blocks/feature/feature-spotlight/template.html +1 -0
  676. package/blocks/feature/feature-stats-band/README.md +33 -0
  677. package/blocks/feature/feature-stats-band/styles.css +8 -0
  678. package/blocks/feature/feature-stats-band/template.html +1 -0
  679. package/blocks/feature/feature-tabs/README.md +38 -0
  680. package/blocks/feature/feature-tabs/styles.css +7 -0
  681. package/blocks/feature/feature-tabs/template.html +1 -0
  682. package/blocks/feature/feature-thumb-list/README.md +38 -0
  683. package/blocks/feature/feature-thumb-list/styles.css +13 -0
  684. package/blocks/feature/feature-thumb-list/template.html +1 -0
  685. package/blocks/feature/feature-zigzag/README.md +31 -0
  686. package/blocks/feature/feature-zigzag/styles.css +6 -0
  687. package/blocks/feature/feature-zigzag/template.html +1 -0
  688. package/blocks/footer/footer-columns/README.md +39 -0
  689. package/blocks/footer/footer-columns/styles.css +16 -0
  690. package/blocks/footer/footer-columns/template.html +1 -0
  691. package/blocks/footer/footer-compact/README.md +33 -0
  692. package/blocks/footer/footer-compact/styles.css +12 -0
  693. package/blocks/footer/footer-compact/template.html +1 -0
  694. package/blocks/footer/footer-cta/README.md +37 -0
  695. package/blocks/footer/footer-cta/styles.css +18 -0
  696. package/blocks/footer/footer-cta/template.html +1 -0
  697. package/blocks/footer/footer-social/README.md +37 -0
  698. package/blocks/footer/footer-social/styles.css +17 -0
  699. package/blocks/footer/footer-social/template.html +1 -0
  700. package/blocks/footer/footer-wordmark/README.md +40 -0
  701. package/blocks/footer/footer-wordmark/styles.css +19 -0
  702. package/blocks/footer/footer-wordmark/template.html +1 -0
  703. package/blocks/gallery/gallery-before-after/README.md +31 -0
  704. package/blocks/gallery/gallery-before-after/styles.css +6 -0
  705. package/blocks/gallery/gallery-before-after/template.html +1 -0
  706. package/blocks/gallery/gallery-carousel/README.md +32 -0
  707. package/blocks/gallery/gallery-carousel/styles.css +7 -0
  708. package/blocks/gallery/gallery-carousel/template.html +1 -0
  709. package/blocks/gallery/gallery-grid/README.md +39 -0
  710. package/blocks/gallery/gallery-grid/styles.css +13 -0
  711. package/blocks/gallery/gallery-grid/template.html +1 -0
  712. package/blocks/gallery/gallery-masonry/README.md +33 -0
  713. package/blocks/gallery/gallery-masonry/styles.css +4 -0
  714. package/blocks/gallery/gallery-masonry/template.html +1 -0
  715. package/blocks/gallery/gallery-mosaic-split/README.md +40 -0
  716. package/blocks/gallery/gallery-mosaic-split/styles.css +15 -0
  717. package/blocks/gallery/gallery-mosaic-split/template.html +1 -0
  718. package/blocks/hero/hero-asymmetric/README.md +34 -0
  719. package/blocks/hero/hero-asymmetric/styles.css +13 -0
  720. package/blocks/hero/hero-asymmetric/template.html +10 -0
  721. package/blocks/hero/hero-before-after/README.md +38 -0
  722. package/blocks/hero/hero-before-after/styles.css +8 -0
  723. package/blocks/hero/hero-before-after/template.html +19 -0
  724. package/blocks/hero/hero-editorial/README.md +34 -0
  725. package/blocks/hero/hero-editorial/block.meta.json +85 -0
  726. package/blocks/hero/hero-editorial/styles.css +6 -0
  727. package/blocks/hero/hero-editorial/template.html +10 -0
  728. package/blocks/hero/hero-evidence/README.md +32 -0
  729. package/blocks/hero/hero-evidence/block.meta.json +85 -0
  730. package/blocks/hero/hero-evidence/styles.css +13 -0
  731. package/blocks/hero/hero-evidence/template.html +1 -0
  732. package/blocks/hero/hero-form/README.md +46 -0
  733. package/blocks/hero/hero-form/styles.css +11 -0
  734. package/blocks/hero/hero-form/template.html +15 -0
  735. package/blocks/hero/hero-menu/README.md +36 -0
  736. package/blocks/hero/hero-menu/styles.css +7 -0
  737. package/blocks/hero/hero-menu/template.html +10 -0
  738. package/blocks/hero/hero-overlay/README.md +35 -0
  739. package/blocks/hero/hero-overlay/styles.css +14 -0
  740. package/blocks/hero/hero-overlay/template.html +10 -0
  741. package/blocks/hero/hero-page/README.md +35 -0
  742. package/blocks/hero/hero-page/styles.css +19 -0
  743. package/blocks/hero/hero-page/template.html +1 -0
  744. package/blocks/hero/hero-product/README.md +41 -0
  745. package/blocks/hero/hero-product/styles.css +11 -0
  746. package/blocks/hero/hero-product/template.html +14 -0
  747. package/blocks/hero/hero-service/README.md +37 -0
  748. package/blocks/hero/hero-service/block.meta.json +85 -0
  749. package/blocks/hero/hero-service/styles.css +17 -0
  750. package/blocks/hero/hero-service/template.html +1 -0
  751. package/blocks/hero/hero-split/README.md +36 -0
  752. package/blocks/hero/hero-split/styles.css +7 -0
  753. package/blocks/hero/hero-split/template.html +11 -0
  754. package/blocks/hero/hero-statement/README.md +33 -0
  755. package/blocks/hero/hero-statement/styles.css +8 -0
  756. package/blocks/hero/hero-statement/template.html +1 -0
  757. package/blocks/hero/hero-stats/README.md +37 -0
  758. package/blocks/hero/hero-stats/styles.css +10 -0
  759. package/blocks/hero/hero-stats/template.html +10 -0
  760. package/blocks/hero/hero-video-still/README.md +36 -0
  761. package/blocks/hero/hero-video-still/styles.css +9 -0
  762. package/blocks/hero/hero-video-still/template.html +13 -0
  763. package/blocks/icons.md +44 -0
  764. package/blocks/incentives/incentive-banner/README.md +28 -0
  765. package/blocks/incentives/incentive-banner/styles.css +7 -0
  766. package/blocks/incentives/incentive-banner/template.html +1 -0
  767. package/blocks/incentives/incentive-cards/README.md +31 -0
  768. package/blocks/incentives/incentive-cards/styles.css +4 -0
  769. package/blocks/incentives/incentive-cards/template.html +1 -0
  770. package/blocks/navbar/nav-announcement/README.md +35 -0
  771. package/blocks/navbar/nav-announcement/styles.css +10 -0
  772. package/blocks/navbar/nav-announcement/template.html +14 -0
  773. package/blocks/navbar/nav-centered/README.md +35 -0
  774. package/blocks/navbar/nav-centered/styles.css +11 -0
  775. package/blocks/navbar/nav-centered/template.html +12 -0
  776. package/blocks/navbar/nav-minimal/README.md +29 -0
  777. package/blocks/navbar/nav-minimal/styles.css +5 -0
  778. package/blocks/navbar/nav-minimal/template.html +6 -0
  779. package/blocks/navbar/nav-split/README.md +34 -0
  780. package/blocks/navbar/nav-split/styles.css +11 -0
  781. package/blocks/navbar/nav-split/template.html +11 -0
  782. package/blocks/navbar/nav-utility/README.md +37 -0
  783. package/blocks/navbar/nav-utility/styles.css +17 -0
  784. package/blocks/navbar/nav-utility/template.html +12 -0
  785. package/blocks/pricing/menu-featured/README.md +34 -0
  786. package/blocks/pricing/menu-featured/styles.css +4 -0
  787. package/blocks/pricing/menu-featured/template.html +1 -0
  788. package/blocks/pricing/menu-sections/README.md +33 -0
  789. package/blocks/pricing/menu-sections/styles.css +9 -0
  790. package/blocks/pricing/menu-sections/template.html +1 -0
  791. package/blocks/pricing/pricing-table/README.md +40 -0
  792. package/blocks/pricing/pricing-table/styles.css +9 -0
  793. package/blocks/pricing/pricing-table/template.html +1 -0
  794. package/blocks/pricing/pricing-tiers/README.md +34 -0
  795. package/blocks/pricing/pricing-tiers/styles.css +7 -0
  796. package/blocks/pricing/pricing-tiers/template.html +1 -0
  797. package/blocks/pricing/pricing-toggle/README.md +34 -0
  798. package/blocks/pricing/pricing-toggle/styles.css +10 -0
  799. package/blocks/pricing/pricing-toggle/template.html +1 -0
  800. package/blocks/process/process-carousel/README.md +33 -0
  801. package/blocks/process/process-carousel/styles.css +5 -0
  802. package/blocks/process/process-carousel/template.html +1 -0
  803. package/blocks/process/process-split/README.md +35 -0
  804. package/blocks/process/process-split/styles.css +6 -0
  805. package/blocks/process/process-split/template.html +1 -0
  806. package/blocks/process/process-stepper/README.md +40 -0
  807. package/blocks/process/process-stepper/styles.css +11 -0
  808. package/blocks/process/process-stepper/template.html +1 -0
  809. package/blocks/process/process-steps/README.md +35 -0
  810. package/blocks/process/process-steps/styles.css +6 -0
  811. package/blocks/process/process-steps/template.html +1 -0
  812. package/blocks/process/process-sticky/README.md +38 -0
  813. package/blocks/process/process-sticky/styles.css +12 -0
  814. package/blocks/process/process-sticky/template.html +1 -0
  815. package/blocks/process/process-timeline/README.md +35 -0
  816. package/blocks/process/process-timeline/styles.css +10 -0
  817. package/blocks/process/process-timeline/template.html +1 -0
  818. package/blocks/services/services-cards/README.md +34 -0
  819. package/blocks/services/services-cards/styles.css +3 -0
  820. package/blocks/services/services-cards/template.html +1 -0
  821. package/blocks/services/services-carousel/README.md +34 -0
  822. package/blocks/services/services-carousel/styles.css +6 -0
  823. package/blocks/services/services-carousel/template.html +1 -0
  824. package/blocks/services/services-list/README.md +32 -0
  825. package/blocks/services/services-list/block.meta.json +85 -0
  826. package/blocks/services/services-list/styles.css +10 -0
  827. package/blocks/services/services-list/template.html +1 -0
  828. package/blocks/services/services-menu/README.md +39 -0
  829. package/blocks/services/services-menu/styles.css +6 -0
  830. package/blocks/services/services-menu/template.html +1 -0
  831. package/blocks/services/services-packages/README.md +34 -0
  832. package/blocks/services/services-packages/styles.css +6 -0
  833. package/blocks/services/services-packages/template.html +1 -0
  834. package/blocks/services/services-panels/README.md +36 -0
  835. package/blocks/services/services-panels/styles.css +15 -0
  836. package/blocks/services/services-panels/template.html +1 -0
  837. package/blocks/services/services-photo-grid/README.md +39 -0
  838. package/blocks/services/services-photo-grid/styles.css +10 -0
  839. package/blocks/services/services-photo-grid/template.html +1 -0
  840. package/blocks/services/services-priority/README.md +33 -0
  841. package/blocks/services/services-priority/block.meta.json +86 -0
  842. package/blocks/services/services-priority/styles.css +16 -0
  843. package/blocks/services/services-priority/template.html +1 -0
  844. package/blocks/stats/stats-cards/README.md +31 -0
  845. package/blocks/stats/stats-cards/styles.css +4 -0
  846. package/blocks/stats/stats-cards/template.html +1 -0
  847. package/blocks/stats/stats-mosaic/README.md +27 -0
  848. package/blocks/stats/stats-mosaic/styles.css +9 -0
  849. package/blocks/stats/stats-mosaic/template.html +1 -0
  850. package/blocks/stats/stats-row/README.md +29 -0
  851. package/blocks/stats/stats-row/styles.css +8 -0
  852. package/blocks/stats/stats-row/template.html +1 -0
  853. package/blocks/stats/stats-split/README.md +35 -0
  854. package/blocks/stats/stats-split/styles.css +3 -0
  855. package/blocks/stats/stats-split/template.html +1 -0
  856. package/blocks/team/team-featured/README.md +42 -0
  857. package/blocks/team/team-featured/styles.css +9 -0
  858. package/blocks/team/team-featured/template.html +1 -0
  859. package/blocks/team/team-grid/README.md +35 -0
  860. package/blocks/team/team-grid/styles.css +8 -0
  861. package/blocks/team/team-grid/template.html +1 -0
  862. package/blocks/team/team-list/README.md +32 -0
  863. package/blocks/team/team-list/styles.css +7 -0
  864. package/blocks/team/team-list/template.html +1 -0
  865. package/blocks/testimonial/testimonial-carousel/README.md +32 -0
  866. package/blocks/testimonial/testimonial-carousel/styles.css +7 -0
  867. package/blocks/testimonial/testimonial-carousel/template.html +1 -0
  868. package/blocks/testimonial/testimonial-grid/README.md +32 -0
  869. package/blocks/testimonial/testimonial-grid/styles.css +5 -0
  870. package/blocks/testimonial/testimonial-grid/template.html +1 -0
  871. package/blocks/testimonial/testimonial-mosaic/README.md +38 -0
  872. package/blocks/testimonial/testimonial-mosaic/styles.css +14 -0
  873. package/blocks/testimonial/testimonial-mosaic/template.html +1 -0
  874. package/blocks/testimonial/testimonial-platform/README.md +34 -0
  875. package/blocks/testimonial/testimonial-platform/styles.css +17 -0
  876. package/blocks/testimonial/testimonial-platform/template.html +1 -0
  877. package/blocks/testimonial/testimonial-rating/README.md +28 -0
  878. package/blocks/testimonial/testimonial-rating/styles.css +6 -0
  879. package/blocks/testimonial/testimonial-rating/template.html +1 -0
  880. package/blocks/testimonial/testimonial-spotlight/README.md +31 -0
  881. package/blocks/testimonial/testimonial-spotlight/styles.css +9 -0
  882. package/blocks/testimonial/testimonial-spotlight/template.html +1 -0
  883. package/blocks/testimonial/testimonial-switcher/README.md +39 -0
  884. package/blocks/testimonial/testimonial-switcher/styles.css +23 -0
  885. package/blocks/testimonial/testimonial-switcher/template.html +1 -0
  886. package/blocks/testimonial/testimonial-wall/README.md +34 -0
  887. package/blocks/testimonial/testimonial-wall/styles.css +7 -0
  888. package/blocks/testimonial/testimonial-wall/template.html +1 -0
  889. package/blocks/trust-strip/trust-badges/README.md +30 -0
  890. package/blocks/trust-strip/trust-badges/styles.css +5 -0
  891. package/blocks/trust-strip/trust-badges/template.html +1 -0
  892. package/blocks/trust-strip/trust-certs/README.md +31 -0
  893. package/blocks/trust-strip/trust-certs/styles.css +12 -0
  894. package/blocks/trust-strip/trust-certs/template.html +1 -0
  895. package/blocks/trust-strip/trust-logos/README.md +32 -0
  896. package/blocks/trust-strip/trust-logos/styles.css +5 -0
  897. package/blocks/trust-strip/trust-logos/template.html +1 -0
  898. package/blocks/trust-strip/trust-quote/README.md +29 -0
  899. package/blocks/trust-strip/trust-quote/styles.css +5 -0
  900. package/blocks/trust-strip/trust-quote/template.html +1 -0
  901. package/blocks/trust-strip/trust-reviews/README.md +35 -0
  902. package/blocks/trust-strip/trust-reviews/styles.css +9 -0
  903. package/blocks/trust-strip/trust-reviews/template.html +1 -0
  904. package/blocks/work/case-alternating/README.md +34 -0
  905. package/blocks/work/case-alternating/block.meta.json +86 -0
  906. package/blocks/work/case-alternating/styles.css +7 -0
  907. package/blocks/work/case-alternating/template.html +1 -0
  908. package/blocks/work/case-carousel/README.md +26 -0
  909. package/blocks/work/case-carousel/styles.css +7 -0
  910. package/blocks/work/case-carousel/template.html +1 -0
  911. package/blocks/work/case-header/README.md +38 -0
  912. package/blocks/work/case-header/styles.css +18 -0
  913. package/blocks/work/case-header/template.html +1 -0
  914. package/blocks/work/project-evidence/README.md +35 -0
  915. package/blocks/work/project-evidence/block.meta.json +87 -0
  916. package/blocks/work/project-evidence/styles.css +12 -0
  917. package/blocks/work/project-evidence/template.html +1 -0
  918. package/blocks/work/project-grid/README.md +38 -0
  919. package/blocks/work/project-grid/styles.css +9 -0
  920. package/blocks/work/project-grid/template.html +1 -0
  921. package/cloudflare/wrangler.forms-test.jsonc +19 -0
  922. package/cloudflare/wrangler.jsonc +14 -0
  923. package/cloudflare/wrangler.templates.jsonc +6 -0
  924. package/design-system/MASTER.md +76 -0
  925. package/design-system/calibration/v2/accuracy.html +1 -0
  926. package/design-system/calibration/v2/accuracy.png +0 -0
  927. package/design-system/calibration/v2/manifest.json +88 -0
  928. package/design-system/calibration/v2/probe.png +0 -0
  929. package/design-system/calibration/v2/vitris-northline-counsel-home-1280-viewport.png +0 -0
  930. package/design-system/calibration/v2/vitris-northline-counsel-home-375-viewport.png +0 -0
  931. package/design-system/calibration/v2/vitris-northline-counsel-planning-1280-viewport.png +0 -0
  932. package/design-system/calibration/v2/vitris-northline-counsel-planning-375-viewport.png +0 -0
  933. package/design-system/calibration/v2/vitris-tide-and-slate-home-1280-viewport.png +0 -0
  934. package/design-system/calibration/v2/vitris-tide-and-slate-home-375-viewport.png +0 -0
  935. package/design-system/calibration/v2/vitris-tide-and-slate-project-1280-viewport.png +0 -0
  936. package/design-system/calibration/v2/vitris-tide-and-slate-project-375-viewport.png +0 -0
  937. package/design-system/compositions/v1/README.md +13 -0
  938. package/design-system/compositions/v1/northline-counsel/components/contact-phone-first/styles.css +11 -0
  939. package/design-system/compositions/v1/northline-counsel/components/contact-phone-first/template.html +1 -0
  940. package/design-system/compositions/v1/northline-counsel/components/contact-visit/styles.css +13 -0
  941. package/design-system/compositions/v1/northline-counsel/components/contact-visit/template.html +1 -0
  942. package/design-system/compositions/v1/northline-counsel/components/footer-compact/styles.css +12 -0
  943. package/design-system/compositions/v1/northline-counsel/components/footer-compact/template.html +1 -0
  944. package/design-system/compositions/v1/northline-counsel/components/hero-evidence/styles.css +13 -0
  945. package/design-system/compositions/v1/northline-counsel/components/hero-evidence/template.html +1 -0
  946. package/design-system/compositions/v1/northline-counsel/components/hero-page/styles.css +19 -0
  947. package/design-system/compositions/v1/northline-counsel/components/hero-page/template.html +1 -0
  948. package/design-system/compositions/v1/northline-counsel/components/nav-split/styles.css +11 -0
  949. package/design-system/compositions/v1/northline-counsel/components/nav-split/template.html +11 -0
  950. package/design-system/compositions/v1/northline-counsel/components/services-priority/styles.css +16 -0
  951. package/design-system/compositions/v1/northline-counsel/components/services-priority/template.html +1 -0
  952. package/design-system/compositions/v1/northline-counsel/components/specification-ledger/styles.css +10 -0
  953. package/design-system/compositions/v1/northline-counsel/components/specification-ledger/template.html +1 -0
  954. package/design-system/compositions/v1/northline-counsel/direction.md +5 -0
  955. package/design-system/compositions/v1/northline-counsel/fixture-brief.json +10 -0
  956. package/design-system/compositions/v1/northline-counsel/media-inventory.json +1 -0
  957. package/design-system/compositions/v1/northline-counsel/pages/index.html +11 -0
  958. package/design-system/compositions/v1/northline-counsel/pages/planning.html +11 -0
  959. package/design-system/compositions/v1/northline-counsel/selection-receipt.json +36 -0
  960. package/design-system/compositions/v1/northline-counsel/site.json +1 -0
  961. package/design-system/compositions/v1/northline-counsel/storyboard.md +12 -0
  962. package/design-system/compositions/v1/northline-counsel/theme/defaults.json +1 -0
  963. package/design-system/compositions/v1/source-ledger.json +18 -0
  964. package/design-system/compositions/v1/tide-and-slate/components/contact-phone-first/styles.css +11 -0
  965. package/design-system/compositions/v1/tide-and-slate/components/contact-phone-first/template.html +1 -0
  966. package/design-system/compositions/v1/tide-and-slate/components/footer-compact/styles.css +12 -0
  967. package/design-system/compositions/v1/tide-and-slate/components/footer-compact/template.html +1 -0
  968. package/design-system/compositions/v1/tide-and-slate/components/hero-page/styles.css +19 -0
  969. package/design-system/compositions/v1/tide-and-slate/components/hero-page/template.html +1 -0
  970. package/design-system/compositions/v1/tide-and-slate/components/hero-split/styles.css +7 -0
  971. package/design-system/compositions/v1/tide-and-slate/components/hero-split/template.html +11 -0
  972. package/design-system/compositions/v1/tide-and-slate/components/nav-split/styles.css +11 -0
  973. package/design-system/compositions/v1/tide-and-slate/components/nav-split/template.html +11 -0
  974. package/design-system/compositions/v1/tide-and-slate/components/project-evidence/styles.css +12 -0
  975. package/design-system/compositions/v1/tide-and-slate/components/project-evidence/template.html +1 -0
  976. package/design-system/compositions/v1/tide-and-slate/components/services-priority/styles.css +16 -0
  977. package/design-system/compositions/v1/tide-and-slate/components/services-priority/template.html +1 -0
  978. package/design-system/compositions/v1/tide-and-slate/components/specification-ledger/styles.css +10 -0
  979. package/design-system/compositions/v1/tide-and-slate/components/specification-ledger/template.html +1 -0
  980. package/design-system/compositions/v1/tide-and-slate/direction.md +5 -0
  981. package/design-system/compositions/v1/tide-and-slate/fixture-brief.json +10 -0
  982. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-finished.webp +0 -0
  983. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-finished.webp.provenance.json +9 -0
  984. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-work.webp +0 -0
  985. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-work.webp.provenance.json +9 -0
  986. package/design-system/compositions/v1/tide-and-slate/media-inventory.json +7 -0
  987. package/design-system/compositions/v1/tide-and-slate/pages/index.html +10 -0
  988. package/design-system/compositions/v1/tide-and-slate/pages/project.html +10 -0
  989. package/design-system/compositions/v1/tide-and-slate/site.json +1 -0
  990. package/design-system/compositions/v1/tide-and-slate/storyboard.md +12 -0
  991. package/design-system/compositions/v1/tide-and-slate/theme/defaults.json +1 -0
  992. package/design-system/compositions/v2/catalog.json +4018 -0
  993. package/design-system/compositions/v2/clearwell-directory/components/study-clearwell-directory/styles.css +3 -0
  994. package/design-system/compositions/v2/clearwell-directory/components/study-clearwell-directory/template.html +1 -0
  995. package/design-system/compositions/v2/clearwell-directory/pages/detail/index.html +5 -0
  996. package/design-system/compositions/v2/clearwell-directory/pages/index.html +5 -0
  997. package/design-system/compositions/v2/clearwell-directory/site.json +7 -0
  998. package/design-system/compositions/v2/clearwell-directory/study.json +244 -0
  999. package/design-system/compositions/v2/clearwell-directory/theme/defaults.json +16 -0
  1000. package/design-system/compositions/v2/clearwell-letter/components/study-clearwell-letter/styles.css +2 -0
  1001. package/design-system/compositions/v2/clearwell-letter/components/study-clearwell-letter/template.html +1 -0
  1002. package/design-system/compositions/v2/clearwell-letter/pages/detail/index.html +5 -0
  1003. package/design-system/compositions/v2/clearwell-letter/pages/index.html +5 -0
  1004. package/design-system/compositions/v2/clearwell-letter/site.json +7 -0
  1005. package/design-system/compositions/v2/clearwell-letter/study.json +236 -0
  1006. package/design-system/compositions/v2/clearwell-letter/theme/defaults.json +16 -0
  1007. package/design-system/compositions/v2/dock-radio/components/study-dock-radio/styles.css +2 -0
  1008. package/design-system/compositions/v2/dock-radio/components/study-dock-radio/template.html +1 -0
  1009. package/design-system/compositions/v2/dock-radio/media/teaching/original-tone-study.wav +0 -0
  1010. package/design-system/compositions/v2/dock-radio/media/teaching/original-tone-study.wav.provenance.json +6 -0
  1011. package/design-system/compositions/v2/dock-radio/pages/detail/index.html +5 -0
  1012. package/design-system/compositions/v2/dock-radio/pages/index.html +5 -0
  1013. package/design-system/compositions/v2/dock-radio/site.json +7 -0
  1014. package/design-system/compositions/v2/dock-radio/study.json +288 -0
  1015. package/design-system/compositions/v2/dock-radio/theme/defaults.json +16 -0
  1016. package/design-system/compositions/v2/fen-repair/components/study-fen-repair/styles.css +2 -0
  1017. package/design-system/compositions/v2/fen-repair/components/study-fen-repair/template.html +1 -0
  1018. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-finished.webp +0 -0
  1019. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-finished.webp.provenance.json +9 -0
  1020. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-work.webp +0 -0
  1021. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-work.webp.provenance.json +9 -0
  1022. package/design-system/compositions/v2/fen-repair/pages/detail/index.html +5 -0
  1023. package/design-system/compositions/v2/fen-repair/pages/index.html +5 -0
  1024. package/design-system/compositions/v2/fen-repair/site.json +7 -0
  1025. package/design-system/compositions/v2/fen-repair/study.json +236 -0
  1026. package/design-system/compositions/v2/fen-repair/theme/defaults.json +16 -0
  1027. package/design-system/compositions/v2/hearth-plane/components/study-hearth-plane/styles.css +2 -0
  1028. package/design-system/compositions/v2/hearth-plane/components/study-hearth-plane/template.html +1 -0
  1029. package/design-system/compositions/v2/hearth-plane/pages/detail/index.html +5 -0
  1030. package/design-system/compositions/v2/hearth-plane/pages/index.html +5 -0
  1031. package/design-system/compositions/v2/hearth-plane/site.json +7 -0
  1032. package/design-system/compositions/v2/hearth-plane/study.json +238 -0
  1033. package/design-system/compositions/v2/hearth-plane/theme/defaults.json +16 -0
  1034. package/design-system/compositions/v2/lacuna-objects/components/study-lacuna-objects/styles.css +2 -0
  1035. package/design-system/compositions/v2/lacuna-objects/components/study-lacuna-objects/template.html +1 -0
  1036. package/design-system/compositions/v2/lacuna-objects/pages/detail/index.html +5 -0
  1037. package/design-system/compositions/v2/lacuna-objects/pages/index.html +5 -0
  1038. package/design-system/compositions/v2/lacuna-objects/site.json +7 -0
  1039. package/design-system/compositions/v2/lacuna-objects/study.json +242 -0
  1040. package/design-system/compositions/v2/lacuna-objects/theme/defaults.json +16 -0
  1041. package/design-system/compositions/v2/loop-room/components/study-loop-room/styles.css +2 -0
  1042. package/design-system/compositions/v2/loop-room/components/study-loop-room/template.html +1 -0
  1043. package/design-system/compositions/v2/loop-room/pages/detail/index.html +5 -0
  1044. package/design-system/compositions/v2/loop-room/pages/index.html +5 -0
  1045. package/design-system/compositions/v2/loop-room/site.json +7 -0
  1046. package/design-system/compositions/v2/loop-room/study.json +253 -0
  1047. package/design-system/compositions/v2/loop-room/theme/defaults.json +16 -0
  1048. package/design-system/compositions/v2/manifest.json +740 -0
  1049. package/design-system/compositions/v2/mara-reading-room/components/study-mara-reading-room/styles.css +2 -0
  1050. package/design-system/compositions/v2/mara-reading-room/components/study-mara-reading-room/template.html +1 -0
  1051. package/design-system/compositions/v2/mara-reading-room/pages/detail/index.html +5 -0
  1052. package/design-system/compositions/v2/mara-reading-room/pages/index.html +5 -0
  1053. package/design-system/compositions/v2/mara-reading-room/site.json +7 -0
  1054. package/design-system/compositions/v2/mara-reading-room/study.json +246 -0
  1055. package/design-system/compositions/v2/mara-reading-room/theme/defaults.json +16 -0
  1056. package/design-system/compositions/v2/mara-specimen/components/study-mara-specimen/styles.css +3 -0
  1057. package/design-system/compositions/v2/mara-specimen/components/study-mara-specimen/template.html +1 -0
  1058. package/design-system/compositions/v2/mara-specimen/pages/detail/index.html +5 -0
  1059. package/design-system/compositions/v2/mara-specimen/pages/index.html +5 -0
  1060. package/design-system/compositions/v2/mara-specimen/site.json +7 -0
  1061. package/design-system/compositions/v2/mara-specimen/study.json +244 -0
  1062. package/design-system/compositions/v2/mara-specimen/theme/defaults.json +16 -0
  1063. package/design-system/compositions/v2/margin-journal/components/study-margin-journal/styles.css +2 -0
  1064. package/design-system/compositions/v2/margin-journal/components/study-margin-journal/template.html +1 -0
  1065. package/design-system/compositions/v2/margin-journal/pages/detail/index.html +5 -0
  1066. package/design-system/compositions/v2/margin-journal/pages/index.html +5 -0
  1067. package/design-system/compositions/v2/margin-journal/site.json +7 -0
  1068. package/design-system/compositions/v2/margin-journal/study.json +242 -0
  1069. package/design-system/compositions/v2/margin-journal/theme/defaults.json +16 -0
  1070. package/design-system/compositions/v2/night-orchard/components/study-night-orchard/styles.css +2 -0
  1071. package/design-system/compositions/v2/night-orchard/components/study-night-orchard/template.html +1 -0
  1072. package/design-system/compositions/v2/night-orchard/pages/detail/index.html +5 -0
  1073. package/design-system/compositions/v2/night-orchard/pages/index.html +5 -0
  1074. package/design-system/compositions/v2/night-orchard/site.json +7 -0
  1075. package/design-system/compositions/v2/night-orchard/study.json +247 -0
  1076. package/design-system/compositions/v2/night-orchard/theme/defaults.json +16 -0
  1077. package/design-system/compositions/v2/previews/clearwell-directory-home-1440.png +0 -0
  1078. package/design-system/compositions/v2/previews/clearwell-directory-home-390.png +0 -0
  1079. package/design-system/compositions/v2/previews/clearwell-directory-interior-1440.png +0 -0
  1080. package/design-system/compositions/v2/previews/clearwell-directory-interior-390.png +0 -0
  1081. package/design-system/compositions/v2/previews/clearwell-letter-home-1440.png +0 -0
  1082. package/design-system/compositions/v2/previews/clearwell-letter-home-390.png +0 -0
  1083. package/design-system/compositions/v2/previews/clearwell-letter-interior-1440.png +0 -0
  1084. package/design-system/compositions/v2/previews/clearwell-letter-interior-390.png +0 -0
  1085. package/design-system/compositions/v2/previews/dock-radio-home-1440.png +0 -0
  1086. package/design-system/compositions/v2/previews/dock-radio-home-390.png +0 -0
  1087. package/design-system/compositions/v2/previews/dock-radio-interior-1440.png +0 -0
  1088. package/design-system/compositions/v2/previews/dock-radio-interior-390.png +0 -0
  1089. package/design-system/compositions/v2/previews/fen-repair-home-1440.png +0 -0
  1090. package/design-system/compositions/v2/previews/fen-repair-home-390.png +0 -0
  1091. package/design-system/compositions/v2/previews/fen-repair-interior-1440.png +0 -0
  1092. package/design-system/compositions/v2/previews/fen-repair-interior-390.png +0 -0
  1093. package/design-system/compositions/v2/previews/hearth-plane-home-1440.png +0 -0
  1094. package/design-system/compositions/v2/previews/hearth-plane-home-390.png +0 -0
  1095. package/design-system/compositions/v2/previews/hearth-plane-interior-1440.png +0 -0
  1096. package/design-system/compositions/v2/previews/hearth-plane-interior-390.png +0 -0
  1097. package/design-system/compositions/v2/previews/lacuna-objects-home-1440.png +0 -0
  1098. package/design-system/compositions/v2/previews/lacuna-objects-home-390.png +0 -0
  1099. package/design-system/compositions/v2/previews/lacuna-objects-interior-1440.png +0 -0
  1100. package/design-system/compositions/v2/previews/lacuna-objects-interior-390.png +0 -0
  1101. package/design-system/compositions/v2/previews/loop-room-home-1440.png +0 -0
  1102. package/design-system/compositions/v2/previews/loop-room-home-390.png +0 -0
  1103. package/design-system/compositions/v2/previews/loop-room-interior-1440.png +0 -0
  1104. package/design-system/compositions/v2/previews/loop-room-interior-390.png +0 -0
  1105. package/design-system/compositions/v2/previews/mara-reading-room-home-1440.png +0 -0
  1106. package/design-system/compositions/v2/previews/mara-reading-room-home-390.png +0 -0
  1107. package/design-system/compositions/v2/previews/mara-reading-room-interior-1440.png +0 -0
  1108. package/design-system/compositions/v2/previews/mara-reading-room-interior-390.png +0 -0
  1109. package/design-system/compositions/v2/previews/mara-specimen-home-1440.png +0 -0
  1110. package/design-system/compositions/v2/previews/mara-specimen-home-390.png +0 -0
  1111. package/design-system/compositions/v2/previews/mara-specimen-interior-1440.png +0 -0
  1112. package/design-system/compositions/v2/previews/mara-specimen-interior-390.png +0 -0
  1113. package/design-system/compositions/v2/previews/margin-journal-home-1440.png +0 -0
  1114. package/design-system/compositions/v2/previews/margin-journal-home-390.png +0 -0
  1115. package/design-system/compositions/v2/previews/margin-journal-interior-1440.png +0 -0
  1116. package/design-system/compositions/v2/previews/margin-journal-interior-390.png +0 -0
  1117. package/design-system/compositions/v2/previews/night-orchard-home-1440.png +0 -0
  1118. package/design-system/compositions/v2/previews/night-orchard-home-390.png +0 -0
  1119. package/design-system/compositions/v2/previews/night-orchard-interior-1440.png +0 -0
  1120. package/design-system/compositions/v2/previews/night-orchard-interior-390.png +0 -0
  1121. package/design-system/compositions/v2/previews/relay-workflow-home-1440.png +0 -0
  1122. package/design-system/compositions/v2/previews/relay-workflow-home-390.png +0 -0
  1123. package/design-system/compositions/v2/previews/relay-workflow-interior-1440.png +0 -0
  1124. package/design-system/compositions/v2/previews/relay-workflow-interior-390.png +0 -0
  1125. package/design-system/compositions/v2/previews/rivet-components-home-1440.png +0 -0
  1126. package/design-system/compositions/v2/previews/rivet-components-home-390.png +0 -0
  1127. package/design-system/compositions/v2/previews/rivet-components-interior-1440.png +0 -0
  1128. package/design-system/compositions/v2/previews/rivet-components-interior-390.png +0 -0
  1129. package/design-system/compositions/v2/previews/signal-fair-home-1440.png +0 -0
  1130. package/design-system/compositions/v2/previews/signal-fair-home-390.png +0 -0
  1131. package/design-system/compositions/v2/previews/signal-fair-interior-1440.png +0 -0
  1132. package/design-system/compositions/v2/previews/signal-fair-interior-390.png +0 -0
  1133. package/design-system/compositions/v2/previews/sundial-goods-home-1440.png +0 -0
  1134. package/design-system/compositions/v2/previews/sundial-goods-home-390.png +0 -0
  1135. package/design-system/compositions/v2/previews/sundial-goods-interior-1440.png +0 -0
  1136. package/design-system/compositions/v2/previews/sundial-goods-interior-390.png +0 -0
  1137. package/design-system/compositions/v2/previews/thread-mender-home-1440.png +0 -0
  1138. package/design-system/compositions/v2/previews/thread-mender-home-390.png +0 -0
  1139. package/design-system/compositions/v2/previews/thread-mender-interior-1440.png +0 -0
  1140. package/design-system/compositions/v2/previews/thread-mender-interior-390.png +0 -0
  1141. package/design-system/compositions/v2/relay-workflow/components/study-relay-workflow/styles.css +2 -0
  1142. package/design-system/compositions/v2/relay-workflow/components/study-relay-workflow/template.html +1 -0
  1143. package/design-system/compositions/v2/relay-workflow/pages/detail/index.html +5 -0
  1144. package/design-system/compositions/v2/relay-workflow/pages/index.html +5 -0
  1145. package/design-system/compositions/v2/relay-workflow/site.json +7 -0
  1146. package/design-system/compositions/v2/relay-workflow/study.json +283 -0
  1147. package/design-system/compositions/v2/relay-workflow/theme/defaults.json +16 -0
  1148. package/design-system/compositions/v2/rivet-components/components/study-rivet-components/styles.css +2 -0
  1149. package/design-system/compositions/v2/rivet-components/components/study-rivet-components/template.html +1 -0
  1150. package/design-system/compositions/v2/rivet-components/pages/detail/index.html +5 -0
  1151. package/design-system/compositions/v2/rivet-components/pages/index.html +5 -0
  1152. package/design-system/compositions/v2/rivet-components/site.json +7 -0
  1153. package/design-system/compositions/v2/rivet-components/study.json +241 -0
  1154. package/design-system/compositions/v2/rivet-components/theme/defaults.json +16 -0
  1155. package/design-system/compositions/v2/signal-fair/components/study-signal-fair/styles.css +2 -0
  1156. package/design-system/compositions/v2/signal-fair/components/study-signal-fair/template.html +1 -0
  1157. package/design-system/compositions/v2/signal-fair/pages/detail/index.html +5 -0
  1158. package/design-system/compositions/v2/signal-fair/pages/index.html +5 -0
  1159. package/design-system/compositions/v2/signal-fair/site.json +7 -0
  1160. package/design-system/compositions/v2/signal-fair/study.json +271 -0
  1161. package/design-system/compositions/v2/signal-fair/theme/defaults.json +16 -0
  1162. package/design-system/compositions/v2/sundial-goods/components/study-sundial-goods/styles.css +2 -0
  1163. package/design-system/compositions/v2/sundial-goods/components/study-sundial-goods/template.html +1 -0
  1164. package/design-system/compositions/v2/sundial-goods/pages/detail/index.html +5 -0
  1165. package/design-system/compositions/v2/sundial-goods/pages/index.html +5 -0
  1166. package/design-system/compositions/v2/sundial-goods/site.json +7 -0
  1167. package/design-system/compositions/v2/sundial-goods/study.json +247 -0
  1168. package/design-system/compositions/v2/sundial-goods/theme/defaults.json +16 -0
  1169. package/design-system/compositions/v2/thread-mender/components/study-thread-mender/styles.css +2 -0
  1170. package/design-system/compositions/v2/thread-mender/components/study-thread-mender/template.html +1 -0
  1171. package/design-system/compositions/v2/thread-mender/pages/detail/index.html +5 -0
  1172. package/design-system/compositions/v2/thread-mender/pages/index.html +5 -0
  1173. package/design-system/compositions/v2/thread-mender/site.json +7 -0
  1174. package/design-system/compositions/v2/thread-mender/study.json +253 -0
  1175. package/design-system/compositions/v2/thread-mender/theme/defaults.json +16 -0
  1176. package/design-system/knowledge/v1/README.md +8 -0
  1177. package/design-system/knowledge/v1/catalog.json +479 -0
  1178. package/design-system/knowledge/v1/demonstrations/assets/teaching-slate-slope.png +0 -0
  1179. package/design-system/knowledge/v1/demonstrations/assets/teaching-slate-slope.provenance.json +12 -0
  1180. package/design-system/knowledge/v1/demonstrations/mobile-strong.html +50 -0
  1181. package/design-system/knowledge/v1/demonstrations/mobile-weak.html +50 -0
  1182. package/design-system/knowledge/v1/demonstrations/project-strong.html +50 -0
  1183. package/design-system/knowledge/v1/demonstrations/project-weak.html +50 -0
  1184. package/design-system/knowledge/v1/demonstrations/repeat-strong.html +50 -0
  1185. package/design-system/knowledge/v1/demonstrations/repeat-weak.html +50 -0
  1186. package/design-system/knowledge/v1/demonstrations/services-strong.html +50 -0
  1187. package/design-system/knowledge/v1/demonstrations/services-weak.html +50 -0
  1188. package/design-system/knowledge/v1/demonstrations/sparse-strong.html +50 -0
  1189. package/design-system/knowledge/v1/demonstrations/sparse-weak.html +50 -0
  1190. package/design-system/knowledge/v1/demonstrations/type-strong.html +50 -0
  1191. package/design-system/knowledge/v1/demonstrations/type-weak.html +50 -0
  1192. package/design-system/knowledge/v1/manifest.json +88 -0
  1193. package/design-system/knowledge/v1/observations/mobile-strong-1080.png +0 -0
  1194. package/design-system/knowledge/v1/observations/mobile-strong-375.png +0 -0
  1195. package/design-system/knowledge/v1/observations/mobile-weak-1080.png +0 -0
  1196. package/design-system/knowledge/v1/observations/mobile-weak-375.png +0 -0
  1197. package/design-system/knowledge/v1/observations/project-strong-1080.png +0 -0
  1198. package/design-system/knowledge/v1/observations/project-strong-375.png +0 -0
  1199. package/design-system/knowledge/v1/observations/project-weak-1080.png +0 -0
  1200. package/design-system/knowledge/v1/observations/project-weak-375.png +0 -0
  1201. package/design-system/knowledge/v1/observations/type-strong-1080.png +0 -0
  1202. package/design-system/knowledge/v1/observations/type-strong-375.png +0 -0
  1203. package/design-system/knowledge/v1/observations/type-weak-1080.png +0 -0
  1204. package/design-system/knowledge/v1/observations/type-weak-375.png +0 -0
  1205. package/design-system/knowledge/v2/added-lessons.json +30 -0
  1206. package/design-system/knowledge/v2/assets.json +14 -0
  1207. package/design-system/knowledge/v2/fixtures/contact-alternate.html +17 -0
  1208. package/design-system/knowledge/v2/fixtures/contact-broken.html +15 -0
  1209. package/design-system/knowledge/v2/fixtures/contact-valid.html +20 -0
  1210. package/design-system/knowledge/v2/fixtures/contrast-cases.html +10 -0
  1211. package/design-system/knowledge/v2/island-audit.json +12 -0
  1212. package/design-system/knowledge/v2/lesson-extensions.json +158 -0
  1213. package/design-system/knowledge/v2/manifest.json +52 -0
  1214. package/design-system/knowledge/v2/replacements.json +14 -0
  1215. package/design-system/knowledge/v2/requirements.json +345 -0
  1216. package/design-system/knowledge/v2/sources.json +182 -0
  1217. package/design-system/knowledge/v3/catalog.json +1232 -0
  1218. package/design-system/knowledge/v3/examples/catalog.json +799 -0
  1219. package/design-system/knowledge/v3/lessons/cmp-collection-structure.md +17 -0
  1220. package/design-system/knowledge/v3/lessons/cmp-comparison.md +17 -0
  1221. package/design-system/knowledge/v3/lessons/cmp-contextual-action.md +17 -0
  1222. package/design-system/knowledge/v3/lessons/cmp-contrastive-critique.md +17 -0
  1223. package/design-system/knowledge/v3/lessons/cmp-disclosure.md +17 -0
  1224. package/design-system/knowledge/v3/lessons/cmp-evidence-form.md +17 -0
  1225. package/design-system/knowledge/v3/lessons/cmp-image-art-direction.md +17 -0
  1226. package/design-system/knowledge/v3/lessons/cmp-image-sequence.md +17 -0
  1227. package/design-system/knowledge/v3/lessons/cmp-interactive-explanation.md +17 -0
  1228. package/design-system/knowledge/v3/lessons/cmp-local-information.md +17 -0
  1229. package/design-system/knowledge/v3/lessons/cmp-motion-continuity.md +17 -0
  1230. package/design-system/knowledge/v3/lessons/cmp-narrative-continuity.md +17 -0
  1231. package/design-system/knowledge/v3/lessons/cmp-navigation.md +17 -0
  1232. package/design-system/knowledge/v3/lessons/cmp-page-rhythm.md +17 -0
  1233. package/design-system/knowledge/v3/lessons/cmp-process.md +17 -0
  1234. package/design-system/knowledge/v3/lessons/cmp-proof-adjacency.md +17 -0
  1235. package/design-system/knowledge/v3/lessons/cmp-responsive-recomposition.md +17 -0
  1236. package/design-system/knowledge/v3/lessons/cmp-semantic-grouping.md +17 -0
  1237. package/design-system/knowledge/v3/lessons/cmp-shared-alignment.md +17 -0
  1238. package/design-system/knowledge/v3/lessons/cmp-sparse-media.md +17 -0
  1239. package/design-system/knowledge/v3/lessons/cmp-surfaces-motifs.md +17 -0
  1240. package/design-system/knowledge/v3/lessons/cmp-text-shape.md +17 -0
  1241. package/design-system/knowledge/v3/lessons/cmp-type-roles.md +17 -0
  1242. package/design-system/knowledge/v3/lessons/cmp-unequal-emphasis.md +17 -0
  1243. package/design-system/knowledge/v3/manifest.json +117 -0
  1244. package/design-system/knowledge/v3/sources.json +425 -0
  1245. package/design-system/references/v1/README.md +27 -0
  1246. package/design-system/references/v1/catalog.json +20035 -0
  1247. package/design-system/references/v1/manifest.json +10 -0
  1248. package/design-system/references/v2/README.md +27 -0
  1249. package/design-system/references/v2/catalog.json +27382 -0
  1250. package/design-system/references/v2/manifest.json +11 -0
  1251. package/design-system/references/v3/README.md +27 -0
  1252. package/design-system/references/v3/catalog.json +27628 -0
  1253. package/design-system/references/v3/manifest.json +11 -0
  1254. package/docs/CLI.md +299 -0
  1255. package/docs/CLOUDFLARE.md +53 -0
  1256. package/docs/CONTACT-FORMS.md +161 -0
  1257. package/docs/DISTRIBUTION.md +70 -0
  1258. package/docs/ENGINE.md +28 -0
  1259. package/docs/PRESERVE.md +59 -0
  1260. package/docs/SECURITY.md +23 -0
  1261. package/docs/STOCK-MEDIA.md +66 -0
  1262. package/licenses/blake3-wasm-LICENSE +21 -0
  1263. package/licenses/entities-LICENSE +11 -0
  1264. package/licenses/parse5-LICENSE +19 -0
  1265. package/migrations/0001_init.sql +90 -0
  1266. package/migrations/0002_analytics.sql +50 -0
  1267. package/migrations/0003_site_updates.sql +29 -0
  1268. package/migrations/0004_contact_forms.sql +75 -0
  1269. package/migrations/0005_auth.sql +20 -0
  1270. package/package.json +229 -6
  1271. package/src/runtime/beacon.ts +329 -0
  1272. package/src/runtime/before-after.ts +48 -0
  1273. package/src/runtime/carousel.ts +20 -0
  1274. package/src/runtime/cookie-compliance.ts +50 -0
  1275. package/src/runtime/counter.ts +2 -0
  1276. package/src/runtime/editor.ts +72 -0
  1277. package/src/runtime/experience.ts +57 -0
  1278. package/src/runtime/header.ts +46 -0
  1279. package/src/runtime/leads.ts +102 -0
  1280. package/src/runtime/lightbox.ts +26 -0
  1281. package/src/runtime/reveal.ts +2 -0
  1282. package/src/runtime/scroll-motion.controller.js +100 -0
  1283. package/src/runtime/scroll-motion.count.js +21 -0
  1284. package/src/runtime/scroll-motion.generated.ts +5 -0
  1285. package/src/runtime/scroll-motion.vanilla.js +45 -0
  1286. package/src/runtime/tabs.ts +40 -0
  1287. package/src/stock/catalog.json +5445 -0
  1288. package/src/stock/coverage.json +18 -0
  1289. package/src/stock/picker.css +118 -0
  1290. package/src/stock/picker.js +191 -0
  1291. package/templates/site/.env.example +6 -0
  1292. package/templates/site/.github/workflows/deploy.yml +59 -0
  1293. package/templates/site/AGENTS.md +35 -0
  1294. package/templates/site/CLAUDE.md +5 -0
  1295. package/templates/site/GEMINI.md +5 -0
  1296. package/templates/site/README.md +55 -0
  1297. package/templates/site/components/README.md +18 -0
  1298. package/templates/site/gitignore +10 -0
  1299. package/templates/site/launch.json +14 -0
  1300. package/templates/site/package.json +36 -0
  1301. package/templates/site/pages/README.md +31 -0
  1302. package/templates/site/site.json +10 -0
  1303. package/templates/site/theme/defaults.json +17 -0
@@ -0,0 +1,76 @@
1
+ # Vitris public site design system
2
+
3
+ Each site owns its art direction: typography, spacing, composition, imagery, surface treatment, and motion. Derive these from the business brief and selected theme in onboarding/direction.json. Kernel primitives are implementation defaults, not a house style.
4
+
5
+ Operator knowledge: `agent/refs/*`, the compatible teaching collection at `design-system/knowledge/v1`, sourced requirements at `design-system/knowledge/v2`, and the opt-in composition teaching release at `design-system/knowledge/v3`. The block library at `blocks/` remains an optional implementation source. Composition lessons are advisory design hypotheses; applicable v2 requirements retain their separate authority. The calibration pack contains inspected references, not a preference model.
6
+
7
+ Each site authors its own `components/` and `pages/*.html`. In `composition-v1`, design the relationships among the site's actual content elements, then implement site-owned markup and styles. In `blocks-v0`, the compatible block selection method remains available. The kernel compiles source to flat HTML/CSS/JS; it does **not** ship a runtime section catalog.
8
+
9
+ ## Contrast
10
+
11
+ | Pair | Minimum |
12
+ |------|---------|
13
+ | `--color-text` on `--color-bg` | 4.5:1 |
14
+ | `--color-muted` on `--color-bg` | 4.5:1 for body-length text |
15
+ | `--color-accent-text` on `--color-accent` | 4.5:1 |
16
+ | Focus ring (`--color-focus`) | Visible against background |
17
+
18
+ Give color roles a clear purpose. Preserve readable contrast and identifiable actions within the selected direction.
19
+
20
+ ## Tokens
21
+
22
+ - Colors: bg, surface, surface-2, text, muted, accent, accent-text, border, focus
23
+ - Type: `--step-0` … `--step-5` (`clamp`), `--font-body`, `--font-display`
24
+ - Space: `--space-1` … `--space-8`, `--section-y`
25
+ - Layout: `--max-width`, `--radius`, `--radius-lg`, `--radius-pill`, `--tap-min`, `--header-h`
26
+ - Elevation: `--shadow-1/2/3`, `--ring`, `--blur-header`
27
+
28
+ **Radius:** choose geometry for the direction. Pill buttons and rounded cards are available defaults, not requirements.
29
+
30
+ ## Primitives
31
+
32
+ Kernel `site.css` ships layout/surface helpers: `.section`, `.section__head`, `.grid`, `.split`, `.bento`, `.card`, `.badge`, `.stat`, `.avatar`, `.accordion`, `.tabs`, `.header--sticky`, `.nav-drawer`, form fields, ratios. Use these where they support the planned composition; site-owned CSS may replace them.
33
+
34
+ Local dark bands: `.section--dark` remaps tokens inside that section only.
35
+
36
+ ## Type & focus
37
+
38
+ - Headings may use `text-wrap: pretty` or `balance`; choose hero scale and body measure from actual language, hierarchy, and available width
39
+ - Visible `:focus-visible` rings; never `outline: none` without a replacement
40
+ - Forms: visible labels, correct `type` / `autocomplete`, no placeholder-only inputs
41
+ - Nav: logo → `/`. Let verified routes and visitor tasks determine labels, grouping, and action placement.
42
+
43
+ ## Layout
44
+
45
+ Use the storyboard to give each section a narrative purpose and appropriate visual emphasis. Evaluate rhythm in the rendered page; a fixed quota of layouts or images does not establish quality. Adapt breakpoints to content.
46
+
47
+ ## Motifs
48
+
49
+ Choose motifs that support the business and recur coherently. Preserve conventional, usable controls. Avoid distracting motion and interactions that hide essential content.
50
+
51
+ Judge originality by business fit and thoughtful composition, not the number of unconventional sections.
52
+
53
+ ## Scroll reveal and deliberate motion
54
+
55
+ Operator-owned in `site.json` (`motion`) and per-instance attributes (`motion="whisper"`). Presets: `off` | `whisper` | `editorial` | `noticeable`. Header / footer / hero default `off`. Honor `prefers-reduced-motion`. New behavior opts in with `scrollMotion: {version:1, policy:"enabled"}` and explicit native/component `data-motion` targets; `policy:"off"` disables all motion. Legacy strength off remains a default with per-instance precedence. Use stage-scoped `agent/refs/motion.md`, business-specific scenes and quiet intervals. Review temporal behavior in normal/reduced/static modes; avoid whole-page reveals.
56
+
57
+ New authored sites and reauthored routes compose the entire temporal journey with motionPlan v2. Every authored page has located opening/development/closing relationships, connected quiet intervals and immediate reading/actions; contact and short pages use appropriate subtle treatments. New scaffold policy enables explicit targets and requires all authored route coverage. Historical configurations remain unchanged by upgrade. Load stage-scoped motion-page guidance and review complete normal desktop/mobile journeys plus reduced/static readability; two effects in one section or an explained calm brand is insufficient. Numeric counts require supplied facts and canonical accessible final text. Agent judgments and human preference remain separate.
58
+
59
+ ## Components & pages
60
+
61
+ - Source: `pages/**/*.html` + `components/<name>/{template.html,styles.css,island.js?}`
62
+ - Authoring tags flatten at build; `variant` / `id` pass through to the root
63
+ - Kernel islands via `data-island="header|carousel|tabs|before-after|counter|lightbox"`
64
+ - One `h1` per page; skip link + `<main id="main">` from the compiler
65
+ - Lead forms: `data-lead-form` → kernel `/api/leads`
66
+ - Cookie page: kernel-owned `/cookie-compliance` — link from footer
67
+
68
+ ## Copy & images
69
+
70
+ - `agent/refs/copy.md` / `agent/refs/media.md`. Use edited, supported claims and the complete media inventory. Choose assets by meaning and quality.
71
+
72
+ ## Performance
73
+
74
+ Used-component CSS only, islands only when needed. Give the actual LCP image priority when there is one; lazy-load images outside the initial view. Avoid `transition: all`.
75
+
76
+ New builds use original Vitris SVG icons through paired `<vitris-icon name="phone"></vitris-icon>` tags. Read `agent/refs/icons.md`; use `vitris-icons inspect NAME --json` for supported families and sizing. Choose by meaning, keep a coherent family and visible service labels, and verify actual desktop/mobile rendering. The compiler emits only the geometry used by each route, with no client catalog. Studio industry support is curated to eight symbols; never synthesize unavailable variants.
@@ -0,0 +1 @@
1
+ <!doctype html><html><meta charset="utf-8"><style>body{margin:0;background:#f3efe5;color:#21312f;font:20px Georgia;padding:70px}small{font:16px Arial}h1{font-size:64px;max-width:12ch}p{max-width:42ch;line-height:1.6}a{display:inline-block;padding:16px;background:#21312f;color:white}</style><small>VITRIS · ORIGINAL FICTIONAL CALIBRATION</small><h1>Trusted legal help</h1><p>A synthetic reading test. This example supplies no customer facts, awards, ratings, or photographs.</p><a href="#details">Read the approach</a><h2 id="details">Clear decisions, considered advice.</h2></html>
@@ -0,0 +1,88 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "packVersion": "v2",
4
+ "purpose": "Original Vitris calibration examples for public redistribution under MIT. No third-party captures.",
5
+ "labeledCalibration": false,
6
+ "probe": {
7
+ "file": "probe.png",
8
+ "expectedToken": "2E6BFF",
9
+ "instruction": "Report the sRGB hex of the solid fill, without #."
10
+ },
11
+ "accuracyProbe": {
12
+ "file": "accuracy.png",
13
+ "expectedPhrase": "Trusted legal help",
14
+ "sourceUrl": "vitris:original-reading-probe"
15
+ },
16
+ "records": [
17
+ {
18
+ "name": "probe",
19
+ "role": "probe",
20
+ "file": "probe.png",
21
+ "sha256": "604789a72fd8f4b1bf930341db1f7b7b2b7ec56981c43524d2736e38f66bd9a3",
22
+ "notes": "Solid sRGB fill used as a visual capability token; not a design reference."
23
+ },
24
+ {
25
+ "name": "vitris-northline-counsel-home",
26
+ "role": "mobile-first-view",
27
+ "file": "vitris-northline-counsel-home-375-viewport.png",
28
+ "sha256": "c4ef72c7b99517c42b8822060b4b6b1b91239ba5965517ef5a0648f08fa4d922",
29
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
30
+ },
31
+ {
32
+ "name": "vitris-northline-counsel-home",
33
+ "role": "desktop-first-view",
34
+ "file": "vitris-northline-counsel-home-1280-viewport.png",
35
+ "sha256": "0e1a0fdc5ccc9dd419525d69fea912ea51c74fcc8a19ed5c5f56e098afa62ad4",
36
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
37
+ },
38
+ {
39
+ "name": "vitris-northline-counsel-planning",
40
+ "role": "mobile-first-view",
41
+ "file": "vitris-northline-counsel-planning-375-viewport.png",
42
+ "sha256": "2abfd50f2986ee44e1b8145a40640b4ad42af01605a11c8c44144cb93a3841b5",
43
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
44
+ },
45
+ {
46
+ "name": "vitris-northline-counsel-planning",
47
+ "role": "desktop-first-view",
48
+ "file": "vitris-northline-counsel-planning-1280-viewport.png",
49
+ "sha256": "d77214942982edd1cf6a7156ec9b1eac1fd6815aa6f7e4c4954e3dc3e31311fa",
50
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
51
+ },
52
+ {
53
+ "name": "vitris-tide-and-slate-home",
54
+ "role": "mobile-first-view",
55
+ "file": "vitris-tide-and-slate-home-375-viewport.png",
56
+ "sha256": "cdebe569f7414a78e8ecd72417b62e6912c50c2cb8b97865909de19b54a7776a",
57
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
58
+ },
59
+ {
60
+ "name": "vitris-tide-and-slate-home",
61
+ "role": "desktop-first-view",
62
+ "file": "vitris-tide-and-slate-home-1280-viewport.png",
63
+ "sha256": "ee8c553e7e549e52fdd42e97b0733321729b12d53974568a769c391dbe3d5987",
64
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
65
+ },
66
+ {
67
+ "name": "vitris-tide-and-slate-project",
68
+ "role": "mobile-first-view",
69
+ "file": "vitris-tide-and-slate-project-375-viewport.png",
70
+ "sha256": "e55b83b3f4d87ee54220f433511a9bbf3a7381c566f388ca9c40cbcd1ef7689d",
71
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
72
+ },
73
+ {
74
+ "name": "vitris-tide-and-slate-project",
75
+ "role": "desktop-first-view",
76
+ "file": "vitris-tide-and-slate-project-1280-viewport.png",
77
+ "sha256": "6158501e6ebaa0847dc996743eb1f87d2a1c09b22c89c04507ebaa8a755163d5",
78
+ "notes": "Original fictional Vitris composition, production-compiled and cropped from the exact local capture. All business claims are teaching fiction."
79
+ },
80
+ {
81
+ "name": "vitris-reading-probe",
82
+ "role": "desktop-first-view",
83
+ "file": "accuracy.png",
84
+ "sha256": "052b46aaef7febbaccfb2dc1e69bda74aba0170909dea0ce984fdd801a7facbb",
85
+ "notes": "Original synthetic Vitris reading capability test, MIT. No third-party imagery."
86
+ }
87
+ ]
88
+ }
@@ -0,0 +1,13 @@
1
+ # Composition teaching examples v1
2
+
3
+ These are original, fictional, site-compatible examples. Each folder contains `site.json`, `theme/defaults.json`, `pages/`, `components/`, and any local media. Build with:
4
+
5
+ ```powershell
6
+ node --experimental-strip-types src/build/cli.ts --site design-system/compositions/v1/tide-and-slate --out scratch/design-composition-previews/tide-and-slate --slug tide-and-slate
7
+ node --experimental-strip-types src/build/cli.ts --site design-system/compositions/v1/northline-counsel --out scratch/design-composition-previews/northline-counsel --slug northline-counsel
8
+ node --experimental-strip-types scripts/capture-composition-pairs.ts
9
+ ```
10
+
11
+ The examples teach relationships among opening, evidence, practical information, and action. They are not required section stacks or sources of customer facts. All business names, contact details, projects, and service claims are fictional. The Tide & Slate images are synthetic teaching assets with individual provenance files; never add them automatically to a customer media inventory.
12
+
13
+ The local capture manifest lives at `scratch/design-composition-captures/manifest.json`. The 2026-09-22 captures cover each homepage and interior at 320px, 375px, 768px, 1280px, and 1440px and record compiled HTML and screenshot hashes. Automated axe scans had no violations, and no page had broken images or document-level horizontal overflow. The six new blocks also passed 72 normal, long-copy, and 200% text-size reflow cases after scoped overflow repairs. Manual keyboard, screen-reader, and content-rights review remain separate checks.
@@ -0,0 +1,11 @@
1
+ .c-contact-phone-first{background:var(--color-surface-2)}
2
+ .c-contact-phone-first__layout{display:grid;gap:var(--space-7)}
3
+ .c-contact-phone-first__lead{display:grid;gap:var(--space-4);align-content:start}
4
+ .c-contact-phone-first__lead h2{max-width:16ch}
5
+ .c-contact-phone-first__lead .lede{max-width:48ch}
6
+ .c-contact-phone-first__details{display:grid;gap:var(--space-5);border-top:2px solid var(--color-accent);padding-top:var(--space-5)}
7
+ .c-contact-phone-first__phone{display:grid;gap:var(--space-2)}
8
+ .c-contact-phone-first__phone a{font-family:var(--font-display);font-size:clamp(1.7rem,1rem + 2.3vw,3rem);line-height:1.1;overflow-wrap:anywhere;text-decoration-thickness:.06em;text-underline-offset:.12em}
9
+ .c-contact-phone-first__secondary{display:grid;gap:var(--space-3)}
10
+ .c-contact-phone-first__secondary > *{margin:0}
11
+ @media(min-width:850px){.c-contact-phone-first__layout{grid-template-columns:minmax(0,1fr) minmax(18rem,.85fr);gap:var(--space-8)}}
@@ -0,0 +1 @@
1
+ <section class="c-contact-phone-first section"><div class="wrap c-contact-phone-first__layout"><div class="c-contact-phone-first__lead"><slot name="eyebrow"></slot><slot name="heading"></slot><slot name="intro"></slot></div><div class="c-contact-phone-first__details"><div class="c-contact-phone-first__phone"><slot name="phone"></slot></div><div class="c-contact-phone-first__secondary"><slot name="details"></slot></div></div></div></section>
@@ -0,0 +1,13 @@
1
+ .c-contact-visit{overflow-wrap:anywhere}
2
+ .c-contact-visit__head{display:grid;gap:var(--space-3);margin-bottom:var(--space-6)}
3
+ .c-contact-visit__head h2{max-width:18ch}
4
+ .c-contact-visit__head p{max-width:56ch}
5
+ .c-contact-visit__layout{display:grid;gap:var(--space-5)}
6
+ .c-contact-visit__place{background:var(--color-surface-2);padding:var(--space-6);display:grid;align-content:end;min-height:18rem;min-width:0}
7
+ .c-contact-visit__place address{font-style:normal;font-family:var(--font-display);font-size:var(--step-2);line-height:1.25}
8
+ .c-contact-visit__practical{border-top:2px solid var(--color-accent);display:grid;gap:var(--space-4);align-content:start;padding-top:var(--space-4);min-width:0}
9
+ .c-contact-visit .btn,.c-contact-visit .btn-outline{white-space:normal;text-align:center;max-width:100%}
10
+ .c-contact-visit__practical > *{margin:0}
11
+ .c-contact-visit__practical h3{font-size:var(--step-1)}
12
+ .c-contact-visit__practical .btn,.c-contact-visit__practical .btn-outline{justify-self:start}
13
+ @media(min-width:800px){.c-contact-visit__layout{grid-template-columns:minmax(0,1.1fr) minmax(17rem,.7fr);gap:var(--space-7)}}
@@ -0,0 +1 @@
1
+ <section class="c-contact-visit section"><div class="wrap"><div class="c-contact-visit__head"><slot name="eyebrow"></slot><slot name="heading"></slot><slot name="intro"></slot></div><div class="c-contact-visit__layout"><div class="c-contact-visit__place"><slot name="place"></slot></div><div class="c-contact-visit__practical"><slot name="hours"></slot><slot name="access"></slot><slot name="actions"></slot></div></div></div></section>
@@ -0,0 +1,12 @@
1
+ .c-footer-compact{border-top:1px solid var(--color-border);font-size:var(--step-0);color:var(--color-muted)}
2
+ .c-footer-compact a:not([class*="btn"]){color:var(--color-muted);text-decoration:none}
3
+ .c-footer-compact a:not([class*="btn"]):hover{color:var(--color-text)}
4
+ .c-footer-compact .brand{color:var(--color-text)}
5
+ .c-footer-compact__legal{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);align-items:center;padding-block:var(--space-4);border-top:1px solid var(--color-border)}
6
+ .c-footer-compact__legal > span{margin-inline-start:auto}
7
+ .c-footer-compact__social{display:flex;gap:var(--space-2)}
8
+ .c-footer-compact__social a{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-pill);border:1px solid var(--color-border)}
9
+ .c-footer-compact__social a:hover{border-color:var(--color-text)}
10
+ .c-footer-compact__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6)}
11
+ .c-footer-compact__links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
12
+ .c-footer-compact__links:empty{display:none}
@@ -0,0 +1 @@
1
+ <footer class="c-footer-compact"><div class="wrap"><div class="c-footer-compact__row"><a class="brand" href="/"><slot name="brand"></slot></a><nav class="c-footer-compact__links" aria-label="Footer"><slot name="links"></slot></nav></div><div class="c-footer-compact__legal"><slot name="legal"></slot></div></div></footer>
@@ -0,0 +1,13 @@
1
+ .c-hero-evidence{border-bottom:1px solid var(--color-border)}
2
+ .c-hero-evidence{overflow-wrap:anywhere}
3
+ .c-hero-evidence__layout{display:grid;gap:var(--space-7);align-items:end}
4
+ .c-hero-evidence__main{display:grid;gap:var(--space-5);align-content:start;min-width:0}
5
+ .c-hero-evidence__main h1{font-size:clamp(3rem,2rem + 4.2vw,6rem);line-height:1.02;max-width:15ch}
6
+ .c-hero-evidence__main .lede{max-width:48ch}
7
+ .c-hero-evidence__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
8
+ .c-hero-evidence__actions .btn,.c-hero-evidence__actions .btn-outline{white-space:normal;text-align:center;max-width:100%}
9
+ .c-hero-evidence__proof{border-top:2px solid var(--color-accent);padding-top:var(--space-4);display:grid;gap:var(--space-4)}
10
+ .c-hero-evidence__proof > *{margin:0}
11
+ .c-hero-evidence__proof ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
12
+ .c-hero-evidence__proof li{padding-block:var(--space-2);border-bottom:1px solid var(--color-border)}
13
+ @media(min-width:900px){.c-hero-evidence__layout{grid-template-columns:minmax(0,1.65fr) minmax(17rem,.7fr)}.c-hero-evidence__proof{margin-bottom:var(--space-2)}}
@@ -0,0 +1 @@
1
+ <section class="c-hero-evidence section section--roomy"><div class="wrap c-hero-evidence__layout"><div class="c-hero-evidence__main"><slot name="eyebrow"></slot><slot></slot><div class="c-hero-evidence__actions"><slot name="actions"></slot></div></div><aside class="c-hero-evidence__proof" aria-label="Supporting evidence"><slot name="proof"></slot></aside></div></section>
@@ -0,0 +1,19 @@
1
+ .c-hero-page{padding-block:calc(var(--section-y) - var(--space-4)) var(--section-y)}
2
+ .c-hero-page__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--step-0);color:var(--color-muted)}
3
+ .c-hero-page__crumbs:empty{display:none}
4
+ .c-hero-page__crumbs > * + *::before{content:"/";margin-right:var(--space-2);color:var(--color-border)}
5
+ .c-hero-page__crumbs a{color:inherit;text-decoration:none}
6
+ .c-hero-page__crumbs a:hover{color:var(--color-text)}
7
+ .c-hero-page__crumbs [aria-current]{color:var(--color-text)}
8
+ .c-hero-page__grid{display:grid;gap:var(--space-5)}
9
+ .c-hero-page__title{display:grid;gap:var(--space-4)}
10
+ .c-hero-page h1{max-width:16ch}
11
+ .c-hero-page__intro{display:grid;gap:var(--space-5);align-self:end;justify-items:start}
12
+ .c-hero-page__intro .lede{max-width:34rem}
13
+ .c-hero-page__media{margin-top:var(--space-7)}
14
+ .c-hero-page__media:empty{display:none}
15
+ @media(min-width:900px){.c-hero-page__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-8);align-items:end}.c-hero-page__intro{padding-bottom:.35rem}}
16
+ .c-hero-page--center .c-hero-page__crumbs{justify-content:center}
17
+ .c-hero-page--center .c-hero-page__grid{grid-template-columns:1fr;justify-items:center;text-align:center;gap:var(--space-5)}
18
+ .c-hero-page--center h1{max-width:20ch}
19
+ .c-hero-page--center .c-hero-page__intro{justify-items:center;padding:0}
@@ -0,0 +1 @@
1
+ <section class="c-hero-page section"><div class="wrap"><nav class="c-hero-page__crumbs" aria-label="Breadcrumb"><slot name="breadcrumb"></slot></nav><div class="c-hero-page__grid"><div class="c-hero-page__title"><slot name="eyebrow"></slot><slot></slot></div><div class="c-hero-page__intro"><slot name="intro"></slot></div></div></div><div class="wrap c-hero-page__media"><slot name="media"></slot></div></section>
@@ -0,0 +1,11 @@
1
+ .c-nav-split__inner{display:flex;align-items:center;gap:var(--space-5);min-height:var(--header-h)}
2
+ .c-nav-split__links{display:none;margin-inline:auto}
3
+ .c-nav-split__actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}
4
+ .c-nav-split__cta{flex-wrap:nowrap}
5
+ .c-nav-split__cta > :not(:first-child){display:none}
6
+ .c-nav-split--static{position:static;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-bg)}
7
+ @media(min-width:900px){
8
+ .c-nav-split__links{display:flex}
9
+ .c-nav-split__cta > :not(:first-child){display:inline-flex}
10
+ .c-nav-split__toggle{display:none}
11
+ }
@@ -0,0 +1,11 @@
1
+ <header class="c-nav-split header--sticky" data-island="header">
2
+ <div class="wrap c-nav-split__inner">
3
+ <a class="brand" href="/"><slot name="brand"></slot></a>
4
+ <nav class="nav-links c-nav-split__links" aria-label="Primary"><slot name="links"></slot></nav>
5
+ <div class="c-nav-split__actions">
6
+ <div class="btn-group c-nav-split__cta"><slot name="actions"></slot></div>
7
+ <button type="button" class="btn-ghost btn-icon c-nav-split__toggle" data-nav-toggle aria-expanded="false" aria-label="Open menu"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
8
+ </div>
9
+ </div>
10
+ <div class="nav-drawer"><div class="nav-drawer__panel"><nav aria-label="Mobile"><slot name="links"></slot></nav><div class="btn-group"><slot name="actions"></slot></div></div></div>
11
+ </header>
@@ -0,0 +1,16 @@
1
+ .c-services-priority{overflow-wrap:anywhere}
2
+ .c-services-priority__head{display:grid;gap:var(--space-4);margin-bottom:var(--space-7)}
3
+ .c-services-priority__head h2{max-width:15ch}
4
+ .c-services-priority__head > p{max-width:52ch;color:var(--color-muted)}
5
+ .c-services-priority__layout{display:grid;gap:var(--space-5)}
6
+ .c-services-priority__featured{padding:var(--space-6);background:var(--color-surface-2);display:grid;align-content:space-between;min-height:24rem;min-width:0}
7
+ .c-services-priority__featured > article{display:grid;gap:var(--space-4);align-content:start}
8
+ .c-services-priority__featured h3{font-size:var(--step-3);max-width:16ch}
9
+ .c-services-priority__featured p{max-width:48ch}
10
+ .c-services-priority__others{border-top:1px solid var(--color-border);min-width:0}
11
+ .c-services-priority .btn,.c-services-priority .btn-outline{white-space:normal;text-align:center;max-width:100%}
12
+ .c-services-priority__others > article{display:grid;gap:var(--space-2);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}
13
+ .c-services-priority__others h3{font-size:var(--step-1)}
14
+ .c-services-priority__others p{color:var(--color-muted);margin:0}
15
+ .c-services-priority__others a{justify-self:start}
16
+ @media(min-width:850px){.c-services-priority__head{grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr);align-items:end}.c-services-priority__layout{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:var(--space-8)}}
@@ -0,0 +1 @@
1
+ <section class="c-services-priority section"><div class="wrap"><div class="c-services-priority__head"><div><slot name="eyebrow"></slot><slot name="heading"></slot></div><slot name="intro"></slot></div><div class="c-services-priority__layout"><div class="c-services-priority__featured"><slot name="featured"></slot></div><div class="c-services-priority__others"><slot name="items"></slot></div></div></div></section>
@@ -0,0 +1,10 @@
1
+ .c-specification-ledger__layout{display:grid;gap:var(--space-6)}
2
+ .c-specification-ledger__intro{display:grid;gap:var(--space-3);align-content:start}
3
+ .c-specification-ledger__intro h2{max-width:18ch}
4
+ .c-specification-ledger__intro p{max-width:50ch}
5
+ .c-specification-ledger__list{border-top:2px solid var(--color-text);margin:0}
6
+ .c-specification-ledger__list > div{display:grid;grid-template-columns:minmax(7rem,.45fr) minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}
7
+ .c-specification-ledger__list dt{font-weight:600}
8
+ .c-specification-ledger__list dd{margin:0;color:var(--color-muted);max-width:56ch}
9
+ @media(max-width:420px){.c-specification-ledger__list > div{grid-template-columns:1fr;gap:var(--space-1)}}
10
+ @media(min-width:900px){.c-specification-ledger__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-8)}}
@@ -0,0 +1 @@
1
+ <section class="c-specification-ledger section"><div class="wrap c-specification-ledger__layout"><div class="c-specification-ledger__intro"><slot name="eyebrow"></slot><slot name="heading"></slot><slot name="intro"></slot></div><dl class="c-specification-ledger__list"><slot name="items"></slot></dl></div></section>
@@ -0,0 +1,5 @@
1
+ # Direction: useful distinctions without imagery
2
+
3
+ Fictional teaching brief. The visitor needs to decide whether a planning conversation is relevant and what to bring. A type-led opening and narrow proof column create hierarchy without a stock portrait or invented credentials. Warm paper surfaces and a subdued green action color support clarity. Keep the page calm but not empty: service priority and preparation rows give the reader distinct tasks.
4
+
5
+ Alternative: A practice with published credentials or real people photos could use a more personal opening, but those assets must come from its verified inventory.
@@ -0,0 +1,10 @@
1
+ {
2
+ "fictional": true,
3
+ "name": "Northline Counsel",
4
+ "businessType": "small professional legal practice",
5
+ "visitorJobs": ["understand practice focus", "prepare for a planning conversation", "contact the office"],
6
+ "routes": ["/", "/planning/"],
7
+ "factsPolicy": "All business and legal-service statements are fictional teaching copy. The example provides no legal advice and no verified credentials.",
8
+ "availableMedia": [],
9
+ "requiredActions": ["open planning detail", "call the fictional example number"]
10
+ }
@@ -0,0 +1 @@
1
+ {"purpose":"Sparse-media teaching example","assets":[],"policy":"No stock portrait, invented testimonial, metric, or generated office photo is used as proof."}
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Northline Counsel Fictional teaching site
3
+ description: A sparse-media professional practice example built around useful service distinctions.
4
+ ---
5
+ <nav-split variant="static"><span slot="brand">Northline</span><a slot="links" href="/">Home</a><a slot="links" href="/planning">Planning</a><a slot="actions" class="btn" href="tel:+12075550123">Call</a></nav-split>
6
+ <hero-evidence><p slot="eyebrow" class="eyebrow eyebrow--accent">Legal guidance | fictional example</p><h1>Make a careful decision with a clear next step.</h1><p class="lede lede--lg">Northline Counsel is a fictional practice used to show how useful information can lead when no suitable photography exists.</p><a slot="actions" class="btn" href="/planning">Understand planning</a><a slot="actions" class="btn-outline" href="tel:+12075550123">Call the office</a><ul slot="proof"><li>Know which documents matter before a meeting</li><li>Discuss scope before work begins</li><li>Leave with a specific next step</li></ul></hero-evidence>
7
+ <services-priority><p slot="eyebrow" class="eyebrow eyebrow--accent">Practice focus</p><h2 slot="heading">Start with the decision you face.</h2><p slot="intro" class="lede">The service hierarchy is deliberately unequal: planning leads, and the other topics remain easy to find.</p><article slot="featured"><p class="eyebrow">Primary focus</p><h3>Planning for family decisions.</h3><p>Understand the questions to bring to a first conversation and the documents that may help.</p><a class="btn" href="/planning">Explore planning</a></article><article slot="items"><h3>Probate questions</h3><p>Find out which process may apply after a death.</p><a class="btn-arrow" href="tel:+12075550123">Ask about probate</a></article><article slot="items"><h3>Business transitions</h3><p>Prepare the questions that come before a handover.</p><a class="btn-arrow" href="tel:+12075550123">Discuss a transition</a></article></services-priority>
8
+ <specification-ledger><p slot="eyebrow" class="eyebrow eyebrow--accent">Before you call</p><h2 slot="heading">What helps the first conversation.</h2><p slot="intro" class="lede">Practical preparation can replace decorative proof when a business has no usable imagery or published outcomes.</p><div slot="items"><dt>Your question</dt><dd>Write down the decision you need to make and any deadline you know.</dd></div><div slot="items"><dt>Documents</dt><dd>Gather existing agreements, notices, or plans that may be relevant.</dd></div><div slot="items"><dt>People</dt><dd>Note who is affected and who may need to participate.</dd></div></specification-ledger>
9
+ <contact-phone-first><p slot="eyebrow" class="eyebrow eyebrow--accent">Next step</p><h2 slot="heading">Speak to the office.</h2><p slot="intro" class="lede">Use a direct contact path when the visitor's next task is a conversation, with another channel available below.</p><div slot="phone"><p class="eyebrow">Fictional example number</p><a href="tel:+12075550123">(207) 555-0123</a></div><p slot="details">MondayFriday, 9 a.m.5 p.m. | fictional hours</p><p slot="details"><a href="mailto:hello@example.test">hello@example.test</a></p></contact-phone-first>
10
+ <footer-compact><span slot="brand">Northline Counsel</span><a slot="links" href="/planning">Planning</a><a slot="legal" href="/cookie-compliance">Cookie compliance</a><span slot="legal">Teaching content only. No legal services are offered.</span></footer-compact>
11
+
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Planning questions Northline Counsel
3
+ description: A fictional interior service page showing practical guidance without invented proof.
4
+ ---
5
+ <nav-split variant="static"><span slot="brand">Northline</span><a slot="links" href="/">Home</a><a slot="links" href="/planning">Planning</a><a slot="actions" class="btn" href="tel:+12075550123">Call</a></nav-split>
6
+ <hero-page><a slot="breadcrumb" href="/">Home</a><span slot="breadcrumb" aria-current="page">Planning</span><p slot="eyebrow" class="eyebrow eyebrow--accent">Planning | fictional example</p><h1>Begin with the people and decisions that matter.</h1><p slot="intro" class="lede">This page answers a narrower question than the homepage: what to prepare before a planning conversation.</p></hero-page>
7
+ <specification-ledger><p slot="eyebrow" class="eyebrow eyebrow--accent">Preparation</p><h2 slot="heading">Bring what you already know.</h2><p slot="intro" class="lede">A useful interior page can be precise without claiming a universal legal process.</p><div slot="items"><dt>Existing plans</dt><dd>Bring current documents if you have them, even when they need updating.</dd></div><div slot="items"><dt>People involved</dt><dd>Think about who may need information, support, or authority.</dd></div><div slot="items"><dt>Questions</dt><dd>Write down what you are trying to decide and what remains unclear.</dd></div></specification-ledger>
8
+ <contact-visit><p slot="eyebrow" class="eyebrow eyebrow--accent">Meeting details</p><h2 slot="heading">Check the practical details first.</h2><p slot="intro" class="lede">A real practice would publish its verified address, hours, and accessibility information here.</p><address slot="place">Northline Counsel<br>12 Sample Street<br>Portland, ME 04101<br><small>Fictional address</small></address><div slot="hours"><h3>Example hours</h3><p>MondayFriday, 9 a.m.5 p.m.</p></div><div slot="access"><h3>Before you travel</h3><p>Call to confirm the meeting location and access arrangements.</p></div><a slot="actions" class="btn-outline" href="tel:+12075550123">Call the office</a></contact-visit>
9
+ <contact-phone-first><p slot="eyebrow" class="eyebrow eyebrow--accent">Questions remain?</p><h2 slot="heading">Talk through what comes next.</h2><p slot="intro" class="lede">A conversation can establish whether this is the right service for your situation.</p><div slot="phone"><p class="eyebrow">Fictional example number</p><a href="tel:+12075550123">(207) 555-0123</a></div><p slot="details">Teaching content only. No legal advice or services are offered.</p></contact-phone-first>
10
+ <footer-compact><span slot="brand">Northline Counsel</span><a slot="links" href="/">Home</a><a slot="legal" href="/cookie-compliance">Cookie compliance</a><span slot="legal">Teaching content only. No legal services are offered.</span></footer-compact>
11
+
@@ -0,0 +1,36 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "scope": "Teaching example authoring review, not a normal harness stage receipt or independent design review.",
4
+ "reviewer": "Codex active agent",
5
+ "reviewedOn": "2026-09-22",
6
+ "libraryProfile": "slice-v1",
7
+ "decisions": [
8
+ {
9
+ "section": "home opening",
10
+ "visitorJob": "Understand the practice focus and find a conversation path without a supplied photo",
11
+ "eligibleCompared": ["hero/hero-evidence", "hero/hero-editorial"],
12
+ "hardRejected": [],
13
+ "selected": "hero/hero-evidence",
14
+ "inspectedPreviews": [
15
+ {"id": "hero/hero-evidence", "sourceHash": "a6e4e590acd369d516d3d67301ff5b0bd1383850ec797a3826e713ae0e380099", "mobileImageHash": "2673677aa220d93f0df285eadbf0ae17955fac6aeb31b8ff76087eb83f66a480", "desktopImageHash": "5b4a6350de71179ff4a251e0449929d2a14a4cdd882ebf77a0cba09148001a6b"},
16
+ {"id": "hero/hero-editorial", "sourceHash": "c7523f6b19a0b7643a08fbb15054906ef4d53d0acec527dc7582519e00a5f0b0", "mobileImageHash": "12da60f01d0142ec939dfe9625851c9b38867a01a6723d27541c3f3da475ed6b", "desktopImageHash": "98eaaec876a66bf6839bc5f94ff003b2d28425e23f979ff1a6f5db287a939629"}
17
+ ],
18
+ "reason": "The evidence column gives the visitor a concrete explanation beside the offer without implying a photograph or testimonial. The editorial alternative is viable only after replacing its placeholder media area; it gives less room for the documented scope facts.",
19
+ "adaptation": "Copy and tokens were adapted for this fictional practice; no customer credentials or portraits were invented."
20
+ },
21
+ {
22
+ "section": "home service index",
23
+ "visitorJob": "Distinguish the primary planning offer from two supporting services",
24
+ "eligibleCompared": ["services/services-priority", "services/services-list"],
25
+ "hardRejected": [],
26
+ "selected": "services/services-priority",
27
+ "inspectedPreviews": [
28
+ {"id": "services/services-priority", "sourceHash": "538a84d99d4dc98cf0e725ccfba0749f71d254cabe70be9015354c017bc674a6", "mobileImageHash": "9fda078b68d0a5d4bbc5541ee7ed71f707595115b6b2ddb3a614752912b79ec0", "desktopImageHash": "fa64a0c1466c8b5034758f335bd20d7b29f90d6518f750a778635b435205087e"},
29
+ {"id": "services/services-list", "sourceHash": "5b26a7c187d49a5ffe6d79fc5c099f6846529a748bc7b0a5127831fa3e132732", "mobileImageHash": "6cdf4bafcb9ffe42c158bfa45b49c64ea9d7b23a7b03de43126b09773c5e2d87", "desktopImageHash": "9fbfe24fa5ef7419482022a4e185c833e225de12a73686f113086d0f14ec4cd7"}
30
+ ],
31
+ "reason": "The unequal hierarchy matches the fixture's one primary offer. The numbered list is a good alternative when each practice area deserves equal weight. The selected block changes to a vertical narrative on mobile.",
32
+ "adaptation": "The primary item received the longer explanation; supporting items retain distinct next actions."
33
+ }
34
+ ],
35
+ "limitations": ["Structural previews use fictional copy and default tokens", "This is an example authoring decision, not a measured customer preference", "No independent human design review was performed"]
36
+ }
@@ -0,0 +1 @@
1
+ {"name":"Northline Counsel (fictional teaching example)","slug":"northline-counsel","motion":{"strength":"off"}}
@@ -0,0 +1,12 @@
1
+ # Storyboard and adaptation notes
2
+
3
+ | Route and section | Visitor question | Evidence and emphasis | Mobile transformation |
4
+ | --- | --- | --- | --- |
5
+ | Home opening | Is this practice relevant to my decision? | Type-led proposition; process facts in a subordinate column. | Proof follows the main message. |
6
+ | Service priority | Which topic should I open? | Planning is primary, other topics stay visible as rows. | One featured service followed by compact alternatives. |
7
+ | Preparation ledger | What can I do before calling? | Concrete preparation replaces decorative proof. | Labels stack above descriptions at narrow width. |
8
+ | Contact | How do I start? | Phone, hours, and email are visible without a form. | Phone remains a usable `tel:` link. |
9
+ | Planning opening | What is this page specifically for? | Long title and concise purpose; no empty photo area. | Heading and intro remain in reading order. |
10
+ | Planning detail and visit | What should I bring, and where would I go? | Preparation rows followed by practical visit information. | Place and access details stack. |
11
+
12
+ The interior does not repeat the home offer. It answers a specific preparation task, then offers a contact path. The address and hours are visibly fictional and must be replaced with verified details in a customer site.
@@ -0,0 +1 @@
1
+ {"colorBg":"#F9F7F2","colorText":"#26231F","colorMuted":"#59534C","colorAccent":"#355C58","colorAccentText":"#FFFFFF","colorSurface":"#FFFFFF","colorSurface2":"#E8EDE9","colorBorder":"#C9CEC8","colorFocus":"#355C58","fontBody":"ui-sans-serif, system-ui, sans-serif","fontDisplay":"ui-serif, Georgia, serif","radius":"0px","radiusLg":"0px","radiusPill":"999px","maxWidth":"1080px"}
@@ -0,0 +1,18 @@
1
+ {
2
+ "created": "2026-09-22",
3
+ "policy": "This ledger precedes any external capture corpus. Only original Vitris code and assets are used in examples. Textual inspection does not establish visual layout. No third-party screenshots are stored or redistributed.",
4
+ "references": [
5
+ {"url":"https://www.shadcnblocks.com/blocks","author":"Shadcnblocks.com","industry":"component catalog","inspected":"2026-09-22","viewport":null,"inspection":"planning text only","observedPrinciple":"Section alternatives need discoverable previews and source handles","relevance":"catalog information architecture","permittedUse":"abstract catalog principle only; no components, derivatives, or assets","captureRedistribution":"not permitted under this plan"},
6
+ {"url":"https://www.shadcnblocks.com/license","author":"Shadcnblocks.com","industry":"license","inspected":"2026-09-22","viewport":null,"inspection":"published terms","observedPrinciple":"Published restrictions cover component derivatives in builders and AI generators","relevance":"material sourcing boundary","permittedUse":"read terms and link; do not ingest components","captureRedistribution":"not permitted under this plan"},
7
+ {"url":"https://design-system.service.gov.uk/patterns/","author":"GOV.UK Design System","industry":"public service","inspected":"2026-09-22","viewport":null,"inspection":"text and page structure","observedPrinciple":"Organize patterns around user tasks and explain adaptation","relevance":"visitor-job metadata","permittedUse":"abstract guidance with attribution","captureRedistribution":"not assessed"},
8
+ {"url":"https://every-layout.dev/rudiments/axioms/","author":"Every Layout","industry":"layout education","inspected":"2026-09-22","viewport":null,"inspection":"text and page structure","observedPrinciple":"Content-aware layout rules can avoid brittle fixed dimensions","relevance":"responsive authoring","permittedUse":"abstract principle with attribution; no source copying","captureRedistribution":"not assessed"},
9
+ {"url":"https://www.patagonia.com/home/","author":"Patagonia","industry":"outdoor retail","inspected":"2026-09-22","viewport":null,"inspection":"text and page structure","observedPrinciple":"Product, repair, and activism are separate visitor paths in one navigation system","relevance":"multi-purpose navigation","permittedUse":"abstract observation only","captureRedistribution":"not assessed"},
10
+ {"url":"https://www.aesop.com/","author":"Aesop","industry":"beauty retail","inspected":"2026-09-22","viewport":null,"inspection":"partial text; source reported offline/server error","observedPrinciple":null,"relevance":"candidate for beauty and tactile treatment","permittedUse":"none until inspected successfully","captureRedistribution":"not assessed"},
11
+ {"url":"https://themodernhouse.com/","author":"The Modern House","industry":"property editorial","inspected":"2026-09-22","viewport":null,"inspection":"text and page structure","observedPrinciple":"Property discovery and editorial content are distinct visitor paths","relevance":"portfolio and project navigation","permittedUse":"abstract observation only","captureRedistribution":"not assessed"},
12
+ {"url":"https://www.nps.gov/index.htm","author":"U.S. National Park Service","industry":"public information","inspected":"2026-09-22","viewport":null,"inspection":"text and page structure","observedPrinciple":"Practical visit information is a first-class task","relevance":"hours, access, and location blocks","permittedUse":"abstract observation only","captureRedistribution":"not assessed"},
13
+ {"url":"https://stripe.com/","author":"Stripe","industry":"technical B2B","inspected":null,"viewport":null,"inspection":"candidate only","observedPrinciple":null,"relevance":"product evidence and dense explanation","permittedUse":"none until inspected","captureRedistribution":"not assessed"},
14
+ {"url":"https://linear.app/","author":"Linear","industry":"software","inspected":null,"viewport":null,"inspection":"candidate only","observedPrinciple":null,"relevance":"technical rhythm","permittedUse":"none until inspected","captureRedistribution":"not assessed"},
15
+ {"url":"https://www.basecamp.com/","author":"37signals","industry":"business software","inspected":null,"viewport":null,"inspection":"candidate only","observedPrinciple":null,"relevance":"type-led service explanation","permittedUse":"none until inspected","captureRedistribution":"not assessed"},
16
+ {"url":"https://www.noma.dk/","author":"Noma","industry":"hospitality","inspected":null,"viewport":null,"inspection":"candidate only","observedPrinciple":null,"relevance":"reservation and practical information","permittedUse":"none until inspected","captureRedistribution":"not assessed"}
17
+ ]
18
+ }
@@ -0,0 +1,11 @@
1
+ .c-contact-phone-first{background:var(--color-surface-2)}
2
+ .c-contact-phone-first__layout{display:grid;gap:var(--space-7)}
3
+ .c-contact-phone-first__lead{display:grid;gap:var(--space-4);align-content:start}
4
+ .c-contact-phone-first__lead h2{max-width:16ch}
5
+ .c-contact-phone-first__lead .lede{max-width:48ch}
6
+ .c-contact-phone-first__details{display:grid;gap:var(--space-5);border-top:2px solid var(--color-accent);padding-top:var(--space-5)}
7
+ .c-contact-phone-first__phone{display:grid;gap:var(--space-2)}
8
+ .c-contact-phone-first__phone a{font-family:var(--font-display);font-size:clamp(1.7rem,1rem + 2.3vw,3rem);line-height:1.1;overflow-wrap:anywhere;text-decoration-thickness:.06em;text-underline-offset:.12em}
9
+ .c-contact-phone-first__secondary{display:grid;gap:var(--space-3)}
10
+ .c-contact-phone-first__secondary > *{margin:0}
11
+ @media(min-width:850px){.c-contact-phone-first__layout{grid-template-columns:minmax(0,1fr) minmax(18rem,.85fr);gap:var(--space-8)}}
@@ -0,0 +1 @@
1
+ <section class="c-contact-phone-first section"><div class="wrap c-contact-phone-first__layout"><div class="c-contact-phone-first__lead"><slot name="eyebrow"></slot><slot name="heading"></slot><slot name="intro"></slot></div><div class="c-contact-phone-first__details"><div class="c-contact-phone-first__phone"><slot name="phone"></slot></div><div class="c-contact-phone-first__secondary"><slot name="details"></slot></div></div></div></section>
@@ -0,0 +1,12 @@
1
+ .c-footer-compact{border-top:1px solid var(--color-border);font-size:var(--step-0);color:var(--color-muted)}
2
+ .c-footer-compact a:not([class*="btn"]){color:var(--color-muted);text-decoration:none}
3
+ .c-footer-compact a:not([class*="btn"]):hover{color:var(--color-text)}
4
+ .c-footer-compact .brand{color:var(--color-text)}
5
+ .c-footer-compact__legal{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);align-items:center;padding-block:var(--space-4);border-top:1px solid var(--color-border)}
6
+ .c-footer-compact__legal > span{margin-inline-start:auto}
7
+ .c-footer-compact__social{display:flex;gap:var(--space-2)}
8
+ .c-footer-compact__social a{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-pill);border:1px solid var(--color-border)}
9
+ .c-footer-compact__social a:hover{border-color:var(--color-text)}
10
+ .c-footer-compact__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6)}
11
+ .c-footer-compact__links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
12
+ .c-footer-compact__links:empty{display:none}
@@ -0,0 +1 @@
1
+ <footer class="c-footer-compact"><div class="wrap"><div class="c-footer-compact__row"><a class="brand" href="/"><slot name="brand"></slot></a><nav class="c-footer-compact__links" aria-label="Footer"><slot name="links"></slot></nav></div><div class="c-footer-compact__legal"><slot name="legal"></slot></div></div></footer>
@@ -0,0 +1,19 @@
1
+ .c-hero-page{padding-block:calc(var(--section-y) - var(--space-4)) var(--section-y)}
2
+ .c-hero-page__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--step-0);color:var(--color-muted)}
3
+ .c-hero-page__crumbs:empty{display:none}
4
+ .c-hero-page__crumbs > * + *::before{content:"/";margin-right:var(--space-2);color:var(--color-border)}
5
+ .c-hero-page__crumbs a{color:inherit;text-decoration:none}
6
+ .c-hero-page__crumbs a:hover{color:var(--color-text)}
7
+ .c-hero-page__crumbs [aria-current]{color:var(--color-text)}
8
+ .c-hero-page__grid{display:grid;gap:var(--space-5)}
9
+ .c-hero-page__title{display:grid;gap:var(--space-4)}
10
+ .c-hero-page h1{max-width:16ch}
11
+ .c-hero-page__intro{display:grid;gap:var(--space-5);align-self:end;justify-items:start}
12
+ .c-hero-page__intro .lede{max-width:34rem}
13
+ .c-hero-page__media{margin-top:var(--space-7)}
14
+ .c-hero-page__media:empty{display:none}
15
+ @media(min-width:900px){.c-hero-page__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-8);align-items:end}.c-hero-page__intro{padding-bottom:.35rem}}
16
+ .c-hero-page--center .c-hero-page__crumbs{justify-content:center}
17
+ .c-hero-page--center .c-hero-page__grid{grid-template-columns:1fr;justify-items:center;text-align:center;gap:var(--space-5)}
18
+ .c-hero-page--center h1{max-width:20ch}
19
+ .c-hero-page--center .c-hero-page__intro{justify-items:center;padding:0}
@@ -0,0 +1 @@
1
+ <section class="c-hero-page section"><div class="wrap"><nav class="c-hero-page__crumbs" aria-label="Breadcrumb"><slot name="breadcrumb"></slot></nav><div class="c-hero-page__grid"><div class="c-hero-page__title"><slot name="eyebrow"></slot><slot></slot></div><div class="c-hero-page__intro"><slot name="intro"></slot></div></div></div><div class="wrap c-hero-page__media"><slot name="media"></slot></div></section>