@jxsuite/starters 3.4.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/package.json +5 -5
  2. package/sites/blog/components/bl-author-bio.jxn +64 -0
  3. package/sites/blog/components/bl-contact-form.jxn +77 -0
  4. package/sites/blog/components/bl-contact-info.jxn +32 -0
  5. package/sites/blog/components/bl-cta.jxn +52 -0
  6. package/sites/blog/components/bl-footer.jxn +85 -0
  7. package/sites/blog/components/bl-masthead.jxn +111 -0
  8. package/sites/blog/components/bl-nav.jxn +62 -0
  9. package/sites/blog/components/bl-newsletter-cta.jxn +104 -0
  10. package/sites/blog/components/bl-post-card.jxn +106 -0
  11. package/sites/blog/components/bl-post-list.jxn +11 -0
  12. package/sites/blog/components/bl-prose.jxn +67 -0
  13. package/sites/blog/components/bl-section-header.jxn +52 -0
  14. package/sites/blog/components/bl-tag-pill.jxn +19 -0
  15. package/sites/blog/document.schema.json +26 -2
  16. package/sites/blog/layouts/base.jxn +17 -0
  17. package/sites/blog/layouts/post.jxn +13 -0
  18. package/sites/blog/package.json +3 -3
  19. package/sites/blog/pages/[slug].jxn +107 -0
  20. package/sites/blog/project.jxn +1 -1
  21. package/sites/course/components/co-application.jxn +106 -0
  22. package/sites/course/components/co-cohort.jxn +132 -0
  23. package/sites/course/components/co-cta.jxn +95 -0
  24. package/sites/course/components/co-curriculum-accordion.jxn +917 -0
  25. package/sites/course/components/co-faq.jxn +348 -0
  26. package/sites/course/components/co-footer.jxn +138 -0
  27. package/sites/course/components/co-hero.jxn +354 -0
  28. package/sites/course/components/co-instructor-card.jxn +128 -0
  29. package/sites/course/components/co-mentor.jxn +51 -0
  30. package/sites/course/components/co-module-card.jxn +101 -0
  31. package/sites/course/components/co-nav.jxn +172 -0
  32. package/sites/course/components/co-outcome-card.jxn +57 -0
  33. package/sites/course/components/co-outcomes.jxn +179 -0
  34. package/sites/course/components/co-pricing.jxn +145 -0
  35. package/sites/course/components/co-section-header.jxn +55 -0
  36. package/sites/course/components/co-testimonial-card.jxn +69 -0
  37. package/sites/course/document.schema.json +26 -2
  38. package/sites/course/layouts/base.jxn +17 -0
  39. package/sites/course/package.json +3 -3
  40. package/sites/course/project.jxn +1 -1
  41. package/sites/event/components/ev-agenda-tabs.jxn +663 -0
  42. package/sites/event/components/ev-cta.jxn +93 -0
  43. package/sites/event/components/ev-feature.jxn +46 -0
  44. package/sites/event/components/ev-footer.jxn +135 -0
  45. package/sites/event/components/ev-hero.jxn +323 -0
  46. package/sites/event/components/ev-nav.jxn +142 -0
  47. package/sites/event/components/ev-reason.jxn +50 -0
  48. package/sites/event/components/ev-savedate.jxn +268 -0
  49. package/sites/event/components/ev-section-header.jxn +51 -0
  50. package/sites/event/components/ev-session-row.jxn +103 -0
  51. package/sites/event/components/ev-speaker-card.jxn +104 -0
  52. package/sites/event/components/ev-sponsors.jxn +110 -0
  53. package/sites/event/components/ev-stat.jxn +39 -0
  54. package/sites/event/components/ev-ticket-card.jxn +169 -0
  55. package/sites/event/components/ev-venue.jxn +61 -0
  56. package/sites/event/document.schema.json +26 -2
  57. package/sites/event/layouts/base.jxn +12 -0
  58. package/sites/event/package.json +3 -3
  59. package/sites/event/project.jxn +1 -1
  60. package/sites/fitness-studio/components/fs-band.jxn +119 -0
  61. package/sites/fitness-studio/components/fs-booking.jxn +92 -0
  62. package/sites/fitness-studio/components/fs-class-card.jxn +103 -0
  63. package/sites/fitness-studio/components/fs-class-grid.jxn +23 -0
  64. package/sites/fitness-studio/components/fs-cta.jxn +81 -0
  65. package/sites/fitness-studio/components/fs-feature.jxn +40 -0
  66. package/sites/fitness-studio/components/fs-footer.jxn +116 -0
  67. package/sites/fitness-studio/components/fs-hero.jxn +290 -0
  68. package/sites/fitness-studio/components/fs-hours.jxn +78 -0
  69. package/sites/fitness-studio/components/fs-instructor-card.jxn +104 -0
  70. package/sites/fitness-studio/components/fs-intro.jxn +231 -0
  71. package/sites/fitness-studio/components/fs-modality.jxn +133 -0
  72. package/sites/fitness-studio/components/fs-nav.jxn +95 -0
  73. package/sites/fitness-studio/components/fs-pricing-card.jxn +190 -0
  74. package/sites/fitness-studio/components/fs-pricing-table.jxn +322 -0
  75. package/sites/fitness-studio/components/fs-review.jxn +59 -0
  76. package/sites/fitness-studio/components/fs-schedule.jxn +714 -0
  77. package/sites/fitness-studio/components/fs-section-header.jxn +55 -0
  78. package/sites/fitness-studio/document.schema.json +26 -2
  79. package/sites/fitness-studio/layouts/base.jxn +17 -0
  80. package/sites/fitness-studio/package.json +3 -3
  81. package/sites/fitness-studio/project.jxn +1 -1
  82. package/sites/home-services/components/hs-callbar.jxn +60 -0
  83. package/sites/home-services/components/hs-cta.jxn +139 -0
  84. package/sites/home-services/components/hs-feature.jxn +43 -0
  85. package/sites/home-services/components/hs-footer.jxn +169 -0
  86. package/sites/home-services/components/hs-gallery.jxn +51 -0
  87. package/sites/home-services/components/hs-hero.jxn +308 -0
  88. package/sites/home-services/components/hs-intro.jxn +97 -0
  89. package/sites/home-services/components/hs-nav.jxn +207 -0
  90. package/sites/home-services/components/hs-reservation.jxn +125 -0
  91. package/sites/home-services/components/hs-review.jxn +84 -0
  92. package/sites/home-services/components/hs-section-header.jxn +56 -0
  93. package/sites/home-services/components/hs-service-card.jxn +68 -0
  94. package/sites/home-services/components/hs-stat.jxn +40 -0
  95. package/sites/home-services/components/hs-step.jxn +67 -0
  96. package/sites/home-services/components/hs-trust-bar.jxn +183 -0
  97. package/sites/home-services/document.schema.json +26 -2
  98. package/sites/home-services/layouts/base.jxn +22 -0
  99. package/sites/home-services/package.json +3 -3
  100. package/sites/home-services/project.jxn +1 -1
  101. package/sites/museum/components/mu-band.jxn +63 -0
  102. package/sites/museum/components/mu-cta.jxn +76 -0
  103. package/sites/museum/components/mu-exhibition-card.jxn +118 -0
  104. package/sites/museum/components/mu-exhibition-row.jxn +142 -0
  105. package/sites/museum/components/mu-fact.jxn +40 -0
  106. package/sites/museum/components/mu-footer.jxn +206 -0
  107. package/sites/museum/components/mu-hero.jxn +165 -0
  108. package/sites/museum/components/mu-more.jxn +30 -0
  109. package/sites/museum/components/mu-oculus.jxn +33 -0
  110. package/sites/museum/components/mu-pagehead.jxn +76 -0
  111. package/sites/museum/components/mu-quote.jxn +36 -0
  112. package/sites/museum/document.schema.json +26 -2
  113. package/sites/museum/layouts/ar.jxn +31 -0
  114. package/sites/museum/layouts/base.jxn +227 -0
  115. package/sites/museum/layouts/fr-ca.jxn +30 -0
  116. package/sites/museum/package.json +3 -3
  117. package/sites/museum/pages/about.jxn +228 -0
  118. package/sites/museum/pages/ar/about.jxn +232 -0
  119. package/sites/museum/pages/ar/exhibitions/[slug].jxn +150 -0
  120. package/sites/museum/pages/ar/exhibitions/index.jxn +82 -0
  121. package/sites/museum/pages/ar/index.jxn +206 -0
  122. package/sites/museum/pages/ar/visit.jxn +270 -0
  123. package/sites/museum/pages/exhibitions/[slug].jxn +146 -0
  124. package/sites/museum/pages/exhibitions/index.jxn +78 -0
  125. package/sites/museum/pages/fr-ca/a-propos.jxn +233 -0
  126. package/sites/museum/pages/fr-ca/expositions/[slug].jxn +151 -0
  127. package/sites/museum/pages/fr-ca/expositions/index.jxn +83 -0
  128. package/sites/museum/pages/fr-ca/index.jxn +206 -0
  129. package/sites/museum/pages/fr-ca/visite.jxn +271 -0
  130. package/sites/museum/pages/index.jxn +202 -0
  131. package/sites/museum/pages/visit.jxn +266 -0
  132. package/sites/museum/project.jxn +1 -1
  133. package/sites/nonprofit/components/np-contact-form.jxn +97 -0
  134. package/sites/nonprofit/components/np-contact-info.jxn +104 -0
  135. package/sites/nonprofit/components/np-cta.jxn +163 -0
  136. package/sites/nonprofit/components/np-donate-tier.jxn +103 -0
  137. package/sites/nonprofit/components/np-feature.jxn +46 -0
  138. package/sites/nonprofit/components/np-footer.jxn +194 -0
  139. package/sites/nonprofit/components/np-hero.jxn +275 -0
  140. package/sites/nonprofit/components/np-impact-band.jxn +83 -0
  141. package/sites/nonprofit/components/np-intro.jxn +130 -0
  142. package/sites/nonprofit/components/np-nav.jxn +157 -0
  143. package/sites/nonprofit/components/np-program-card.jxn +95 -0
  144. package/sites/nonprofit/components/np-section-header.jxn +63 -0
  145. package/sites/nonprofit/components/np-stat.jxn +51 -0
  146. package/sites/nonprofit/components/np-step.jxn +73 -0
  147. package/sites/nonprofit/components/np-team-member.jxn +60 -0
  148. package/sites/nonprofit/components/np-testimonial.jxn +120 -0
  149. package/sites/nonprofit/document.schema.json +26 -2
  150. package/sites/nonprofit/layouts/base.jxn +17 -0
  151. package/sites/nonprofit/package.json +3 -3
  152. package/sites/nonprofit/project.jxn +1 -1
  153. package/sites/portfolio/components/pv-about-split.jxn +53 -0
  154. package/sites/portfolio/components/pv-category-pill.jxn +19 -0
  155. package/sites/portfolio/components/pv-contact-form.jxn +72 -0
  156. package/sites/portfolio/components/pv-cta.jxn +62 -0
  157. package/sites/portfolio/components/pv-feature.jxn +28 -0
  158. package/sites/portfolio/components/pv-footer.jxn +113 -0
  159. package/sites/portfolio/components/pv-gallery.jxn +40 -0
  160. package/sites/portfolio/components/pv-hero.jxn +109 -0
  161. package/sites/portfolio/components/pv-nav.jxn +76 -0
  162. package/sites/portfolio/components/pv-project-card.jxn +118 -0
  163. package/sites/portfolio/components/pv-project-grid.jxn +29 -0
  164. package/sites/portfolio/components/pv-section-header.jxn +65 -0
  165. package/sites/portfolio/document.schema.json +26 -2
  166. package/sites/portfolio/layouts/base.jxn +12 -0
  167. package/sites/portfolio/package.json +3 -3
  168. package/sites/portfolio/pages/[slug].jxn +177 -0
  169. package/sites/portfolio/project.jxn +1 -1
  170. package/sites/professional-firm/components/pf-article-header.jxn +60 -0
  171. package/sites/professional-firm/components/pf-contact-form.jxn +74 -0
  172. package/sites/professional-firm/components/pf-contact-info.jxn +101 -0
  173. package/sites/professional-firm/components/pf-cta.jxn +63 -0
  174. package/sites/professional-firm/components/pf-feature.jxn +32 -0
  175. package/sites/professional-firm/components/pf-footer.jxn +171 -0
  176. package/sites/professional-firm/components/pf-hero.jxn +139 -0
  177. package/sites/professional-firm/components/pf-insight-row.jxn +111 -0
  178. package/sites/professional-firm/components/pf-intro.jxn +68 -0
  179. package/sites/professional-firm/components/pf-logo-bar.jxn +90 -0
  180. package/sites/professional-firm/components/pf-nav.jxn +93 -0
  181. package/sites/professional-firm/components/pf-section-header.jxn +53 -0
  182. package/sites/professional-firm/components/pf-service-row.jxn +67 -0
  183. package/sites/professional-firm/components/pf-statband.jxn +135 -0
  184. package/sites/professional-firm/components/pf-team-member.jxn +53 -0
  185. package/sites/professional-firm/document.schema.json +26 -2
  186. package/sites/professional-firm/layouts/article.jxn +88 -0
  187. package/sites/professional-firm/layouts/base.jxn +12 -0
  188. package/sites/professional-firm/package.json +3 -3
  189. package/sites/professional-firm/pages/insights/[slug].jxn +106 -0
  190. package/sites/professional-firm/project.jxn +1 -1
  191. package/sites/real-estate/components/re-agent-band.jxn +165 -0
  192. package/sites/real-estate/components/re-agent-card.jxn +78 -0
  193. package/sites/real-estate/components/re-contact-form.jxn +119 -0
  194. package/sites/real-estate/components/re-cta.jxn +98 -0
  195. package/sites/real-estate/components/re-detail-row.jxn +18 -0
  196. package/sites/real-estate/components/re-feature.jxn +41 -0
  197. package/sites/real-estate/components/re-footer.jxn +219 -0
  198. package/sites/real-estate/components/re-hero.jxn +367 -0
  199. package/sites/real-estate/components/re-intro.jxn +43 -0
  200. package/sites/real-estate/components/re-listing-card.jxn +210 -0
  201. package/sites/real-estate/components/re-listings-filter.jxn +371 -0
  202. package/sites/real-estate/components/re-nav.jxn +162 -0
  203. package/sites/real-estate/components/re-neighborhood.jxn +101 -0
  204. package/sites/real-estate/components/re-section-header.jxn +55 -0
  205. package/sites/real-estate/components/re-stat.jxn +26 -0
  206. package/sites/real-estate/components/re-step.jxn +42 -0
  207. package/sites/real-estate/components/re-testimonial.jxn +66 -0
  208. package/sites/real-estate/document.schema.json +26 -2
  209. package/sites/real-estate/layouts/base.jxn +17 -0
  210. package/sites/real-estate/package.json +3 -3
  211. package/sites/real-estate/pages/[slug].jxn +452 -0
  212. package/sites/real-estate/project.jxn +1 -1
  213. package/sites/restaurant/components/bit-cta.jxn +105 -0
  214. package/sites/restaurant/components/bit-feature.jxn +38 -0
  215. package/sites/restaurant/components/bit-footer.jxn +142 -0
  216. package/sites/restaurant/components/bit-gallery.jxn +50 -0
  217. package/sites/restaurant/components/bit-hero.jxn +194 -0
  218. package/sites/restaurant/components/bit-hours.jxn +145 -0
  219. package/sites/restaurant/components/bit-intro.jxn +75 -0
  220. package/sites/restaurant/components/bit-menu-group.jxn +51 -0
  221. package/sites/restaurant/components/bit-menu-item.jxn +50 -0
  222. package/sites/restaurant/components/bit-nav.jxn +145 -0
  223. package/sites/restaurant/components/bit-reservation.jxn +90 -0
  224. package/sites/restaurant/components/bit-review.jxn +54 -0
  225. package/sites/restaurant/components/bit-section-header.jxn +73 -0
  226. package/sites/restaurant/document.schema.json +26 -2
  227. package/sites/restaurant/layouts/base.jxn +17 -0
  228. package/sites/restaurant/package.json +3 -3
  229. package/sites/restaurant/project.jxn +1 -1
  230. package/sites/saas/components/sa-check-item.jxn +25 -0
  231. package/sites/saas/components/sa-contact-form.jxn +94 -0
  232. package/sites/saas/components/sa-cta.jxn +68 -0
  233. package/sites/saas/components/sa-faq.jxn +347 -0
  234. package/sites/saas/components/sa-feature-card.jxn +57 -0
  235. package/sites/saas/components/sa-feature-split.jxn +43 -0
  236. package/sites/saas/components/sa-footer.jxn +106 -0
  237. package/sites/saas/components/sa-hero.jxn +217 -0
  238. package/sites/saas/components/sa-logo-cloud.jxn +98 -0
  239. package/sites/saas/components/sa-nav.jxn +108 -0
  240. package/sites/saas/components/sa-pricing.jxn +317 -0
  241. package/sites/saas/components/sa-section-header.jxn +43 -0
  242. package/sites/saas/components/sa-stat.jxn +32 -0
  243. package/sites/saas/components/sa-testimonial-card.jxn +37 -0
  244. package/sites/saas/document.schema.json +26 -2
  245. package/sites/saas/layouts/base.jxn +17 -0
  246. package/sites/saas/package.json +3 -3
  247. package/sites/saas/project.jxn +1 -1
  248. package/sites/shop/components/shp-badge.jxn +17 -0
  249. package/sites/shop/components/shp-category-tile.jxn +79 -0
  250. package/sites/shop/components/shp-contact-form.jxn +84 -0
  251. package/sites/shop/components/shp-cta.jxn +85 -0
  252. package/sites/shop/components/shp-feature.jxn +44 -0
  253. package/sites/shop/components/shp-footer.jxn +311 -0
  254. package/sites/shop/components/shp-hero.jxn +311 -0
  255. package/sites/shop/components/shp-intro.jxn +42 -0
  256. package/sites/shop/components/shp-nav.jxn +273 -0
  257. package/sites/shop/components/shp-newsletter.jxn +119 -0
  258. package/sites/shop/components/shp-product-card.jxn +187 -0
  259. package/sites/shop/components/shp-product-filter.jxn +263 -0
  260. package/sites/shop/components/shp-review.jxn +38 -0
  261. package/sites/shop/components/shp-section-header.jxn +61 -0
  262. package/sites/shop/components/shp-service.jxn +58 -0
  263. package/sites/shop/components/shp-stat.jxn +27 -0
  264. package/sites/shop/components/shp-trust.jxn +39 -0
  265. package/sites/shop/components/shp-visit-info.jxn +82 -0
  266. package/sites/shop/document.schema.json +26 -2
  267. package/sites/shop/layouts/base.jxn +17 -0
  268. package/sites/shop/package.json +3 -3
  269. package/sites/shop/pages/products/[sku].jxn +351 -0
  270. package/sites/shop/project.jxn +1 -1
  271. package/sites/blog/components/bl-author-bio.json +0 -86
  272. package/sites/blog/components/bl-contact-form.json +0 -114
  273. package/sites/blog/components/bl-contact-info.json +0 -54
  274. package/sites/blog/components/bl-cta.json +0 -68
  275. package/sites/blog/components/bl-footer.json +0 -122
  276. package/sites/blog/components/bl-masthead.json +0 -134
  277. package/sites/blog/components/bl-nav.json +0 -90
  278. package/sites/blog/components/bl-newsletter-cta.json +0 -134
  279. package/sites/blog/components/bl-post-card.json +0 -132
  280. package/sites/blog/components/bl-post-list.json +0 -10
  281. package/sites/blog/components/bl-prose.json +0 -89
  282. package/sites/blog/components/bl-section-header.json +0 -70
  283. package/sites/blog/components/bl-tag-pill.json +0 -29
  284. package/sites/blog/layouts/base.json +0 -22
  285. package/sites/blog/layouts/post.json +0 -15
  286. package/sites/blog/pages/[slug].json +0 -148
  287. package/sites/course/components/co-application.json +0 -225
  288. package/sites/course/components/co-cohort.json +0 -172
  289. package/sites/course/components/co-cta.json +0 -126
  290. package/sites/course/components/co-curriculum-accordion.json +0 -1476
  291. package/sites/course/components/co-faq.json +0 -524
  292. package/sites/course/components/co-footer.json +0 -195
  293. package/sites/course/components/co-hero.json +0 -475
  294. package/sites/course/components/co-instructor-card.json +0 -159
  295. package/sites/course/components/co-mentor.json +0 -65
  296. package/sites/course/components/co-module-card.json +0 -138
  297. package/sites/course/components/co-nav.json +0 -244
  298. package/sites/course/components/co-outcome-card.json +0 -84
  299. package/sites/course/components/co-outcomes.json +0 -248
  300. package/sites/course/components/co-pricing.json +0 -178
  301. package/sites/course/components/co-section-header.json +0 -74
  302. package/sites/course/components/co-testimonial-card.json +0 -109
  303. package/sites/course/layouts/base.json +0 -22
  304. package/sites/event/components/ev-agenda-tabs.json +0 -828
  305. package/sites/event/components/ev-cta.json +0 -126
  306. package/sites/event/components/ev-feature.json +0 -62
  307. package/sites/event/components/ev-footer.json +0 -197
  308. package/sites/event/components/ev-hero.json +0 -431
  309. package/sites/event/components/ev-nav.json +0 -186
  310. package/sites/event/components/ev-reason.json +0 -64
  311. package/sites/event/components/ev-savedate.json +0 -331
  312. package/sites/event/components/ev-section-header.json +0 -70
  313. package/sites/event/components/ev-session-row.json +0 -132
  314. package/sites/event/components/ev-speaker-card.json +0 -130
  315. package/sites/event/components/ev-sponsors.json +0 -131
  316. package/sites/event/components/ev-stat.json +0 -47
  317. package/sites/event/components/ev-ticket-card.json +0 -214
  318. package/sites/event/components/ev-venue.json +0 -86
  319. package/sites/event/layouts/base.json +0 -22
  320. package/sites/fitness-studio/components/fs-band.json +0 -149
  321. package/sites/fitness-studio/components/fs-booking.json +0 -147
  322. package/sites/fitness-studio/components/fs-class-card.json +0 -143
  323. package/sites/fitness-studio/components/fs-class-grid.json +0 -36
  324. package/sites/fitness-studio/components/fs-cta.json +0 -106
  325. package/sites/fitness-studio/components/fs-feature.json +0 -56
  326. package/sites/fitness-studio/components/fs-footer.json +0 -178
  327. package/sites/fitness-studio/components/fs-hero.json +0 -375
  328. package/sites/fitness-studio/components/fs-hours.json +0 -109
  329. package/sites/fitness-studio/components/fs-instructor-card.json +0 -136
  330. package/sites/fitness-studio/components/fs-intro.json +0 -294
  331. package/sites/fitness-studio/components/fs-modality.json +0 -171
  332. package/sites/fitness-studio/components/fs-nav.json +0 -128
  333. package/sites/fitness-studio/components/fs-pricing-card.json +0 -243
  334. package/sites/fitness-studio/components/fs-pricing-table.json +0 -458
  335. package/sites/fitness-studio/components/fs-review.json +0 -88
  336. package/sites/fitness-studio/components/fs-schedule.json +0 -1165
  337. package/sites/fitness-studio/components/fs-section-header.json +0 -77
  338. package/sites/fitness-studio/layouts/base.json +0 -22
  339. package/sites/home-services/components/hs-callbar.json +0 -72
  340. package/sites/home-services/components/hs-cta.json +0 -184
  341. package/sites/home-services/components/hs-feature.json +0 -62
  342. package/sites/home-services/components/hs-footer.json +0 -232
  343. package/sites/home-services/components/hs-gallery.json +0 -104
  344. package/sites/home-services/components/hs-hero.json +0 -446
  345. package/sites/home-services/components/hs-intro.json +0 -122
  346. package/sites/home-services/components/hs-nav.json +0 -278
  347. package/sites/home-services/components/hs-reservation.json +0 -225
  348. package/sites/home-services/components/hs-review.json +0 -114
  349. package/sites/home-services/components/hs-section-header.json +0 -70
  350. package/sites/home-services/components/hs-service-card.json +0 -89
  351. package/sites/home-services/components/hs-stat.json +0 -54
  352. package/sites/home-services/components/hs-step.json +0 -80
  353. package/sites/home-services/components/hs-trust-bar.json +0 -256
  354. package/sites/home-services/layouts/base.json +0 -24
  355. package/sites/museum/components/mu-band.json +0 -92
  356. package/sites/museum/components/mu-cta.json +0 -101
  357. package/sites/museum/components/mu-exhibition-card.json +0 -191
  358. package/sites/museum/components/mu-exhibition-row.json +0 -237
  359. package/sites/museum/components/mu-fact.json +0 -64
  360. package/sites/museum/components/mu-footer.json +0 -256
  361. package/sites/museum/components/mu-hero.json +0 -236
  362. package/sites/museum/components/mu-more.json +0 -63
  363. package/sites/museum/components/mu-oculus.json +0 -44
  364. package/sites/museum/components/mu-pagehead.json +0 -105
  365. package/sites/museum/components/mu-quote.json +0 -49
  366. package/sites/museum/layouts/ar.json +0 -29
  367. package/sites/museum/layouts/base.json +0 -329
  368. package/sites/museum/layouts/fr-ca.json +0 -28
  369. package/sites/museum/pages/about.json +0 -378
  370. package/sites/museum/pages/ar/about.json +0 -314
  371. package/sites/museum/pages/ar/exhibitions/[slug].json +0 -211
  372. package/sites/museum/pages/ar/exhibitions/index.json +0 -103
  373. package/sites/museum/pages/ar/index.json +0 -246
  374. package/sites/museum/pages/ar/visit.json +0 -327
  375. package/sites/museum/pages/exhibitions/[slug].json +0 -200
  376. package/sites/museum/pages/exhibitions/index.json +0 -93
  377. package/sites/museum/pages/fr-ca/a-propos.json +0 -313
  378. package/sites/museum/pages/fr-ca/expositions/[slug].json +0 -215
  379. package/sites/museum/pages/fr-ca/expositions/index.json +0 -104
  380. package/sites/museum/pages/fr-ca/index.json +0 -246
  381. package/sites/museum/pages/fr-ca/visite.json +0 -328
  382. package/sites/museum/pages/index.json +0 -236
  383. package/sites/museum/pages/visit.json +0 -317
  384. package/sites/nonprofit/components/np-contact-form.json +0 -162
  385. package/sites/nonprofit/components/np-contact-info.json +0 -159
  386. package/sites/nonprofit/components/np-cta.json +0 -203
  387. package/sites/nonprofit/components/np-donate-tier.json +0 -116
  388. package/sites/nonprofit/components/np-feature.json +0 -57
  389. package/sites/nonprofit/components/np-footer.json +0 -257
  390. package/sites/nonprofit/components/np-hero.json +0 -360
  391. package/sites/nonprofit/components/np-impact-band.json +0 -108
  392. package/sites/nonprofit/components/np-intro.json +0 -166
  393. package/sites/nonprofit/components/np-nav.json +0 -216
  394. package/sites/nonprofit/components/np-program-card.json +0 -129
  395. package/sites/nonprofit/components/np-section-header.json +0 -79
  396. package/sites/nonprofit/components/np-stat.json +0 -69
  397. package/sites/nonprofit/components/np-step.json +0 -84
  398. package/sites/nonprofit/components/np-team-member.json +0 -74
  399. package/sites/nonprofit/components/np-testimonial.json +0 -169
  400. package/sites/nonprofit/layouts/base.json +0 -22
  401. package/sites/portfolio/components/pv-about-split.json +0 -71
  402. package/sites/portfolio/components/pv-category-pill.json +0 -25
  403. package/sites/portfolio/components/pv-contact-form.json +0 -126
  404. package/sites/portfolio/components/pv-cta.json +0 -80
  405. package/sites/portfolio/components/pv-feature.json +0 -48
  406. package/sites/portfolio/components/pv-footer.json +0 -167
  407. package/sites/portfolio/components/pv-gallery.json +0 -50
  408. package/sites/portfolio/components/pv-hero.json +0 -139
  409. package/sites/portfolio/components/pv-nav.json +0 -100
  410. package/sites/portfolio/components/pv-project-card.json +0 -160
  411. package/sites/portfolio/components/pv-project-grid.json +0 -30
  412. package/sites/portfolio/components/pv-section-header.json +0 -90
  413. package/sites/portfolio/layouts/base.json +0 -22
  414. package/sites/portfolio/pages/[slug].json +0 -260
  415. package/sites/professional-firm/components/pf-article-header.json +0 -93
  416. package/sites/professional-firm/components/pf-contact-form.json +0 -146
  417. package/sites/professional-firm/components/pf-contact-info.json +0 -147
  418. package/sites/professional-firm/components/pf-cta.json +0 -86
  419. package/sites/professional-firm/components/pf-feature.json +0 -52
  420. package/sites/professional-firm/components/pf-footer.json +0 -231
  421. package/sites/professional-firm/components/pf-hero.json +0 -174
  422. package/sites/professional-firm/components/pf-insight-row.json +0 -144
  423. package/sites/professional-firm/components/pf-intro.json +0 -93
  424. package/sites/professional-firm/components/pf-logo-bar.json +0 -113
  425. package/sites/professional-firm/components/pf-nav.json +0 -135
  426. package/sites/professional-firm/components/pf-section-header.json +0 -77
  427. package/sites/professional-firm/components/pf-service-row.json +0 -104
  428. package/sites/professional-firm/components/pf-statband.json +0 -183
  429. package/sites/professional-firm/components/pf-team-member.json +0 -75
  430. package/sites/professional-firm/layouts/article.json +0 -130
  431. package/sites/professional-firm/layouts/base.json +0 -22
  432. package/sites/professional-firm/pages/insights/[slug].json +0 -129
  433. package/sites/real-estate/components/re-agent-band.json +0 -240
  434. package/sites/real-estate/components/re-agent-card.json +0 -93
  435. package/sites/real-estate/components/re-contact-form.json +0 -181
  436. package/sites/real-estate/components/re-cta.json +0 -128
  437. package/sites/real-estate/components/re-detail-row.json +0 -26
  438. package/sites/real-estate/components/re-feature.json +0 -57
  439. package/sites/real-estate/components/re-footer.json +0 -291
  440. package/sites/real-estate/components/re-hero.json +0 -536
  441. package/sites/real-estate/components/re-intro.json +0 -60
  442. package/sites/real-estate/components/re-listing-card.json +0 -286
  443. package/sites/real-estate/components/re-listings-filter.json +0 -454
  444. package/sites/real-estate/components/re-nav.json +0 -216
  445. package/sites/real-estate/components/re-neighborhood.json +0 -135
  446. package/sites/real-estate/components/re-section-header.json +0 -69
  447. package/sites/real-estate/components/re-stat.json +0 -37
  448. package/sites/real-estate/components/re-step.json +0 -58
  449. package/sites/real-estate/components/re-testimonial.json +0 -91
  450. package/sites/real-estate/layouts/base.json +0 -22
  451. package/sites/real-estate/pages/[slug].json +0 -629
  452. package/sites/restaurant/components/bit-cta.json +0 -140
  453. package/sites/restaurant/components/bit-feature.json +0 -61
  454. package/sites/restaurant/components/bit-footer.json +0 -191
  455. package/sites/restaurant/components/bit-gallery.json +0 -74
  456. package/sites/restaurant/components/bit-hero.json +0 -253
  457. package/sites/restaurant/components/bit-hours.json +0 -183
  458. package/sites/restaurant/components/bit-intro.json +0 -96
  459. package/sites/restaurant/components/bit-menu-group.json +0 -74
  460. package/sites/restaurant/components/bit-menu-item.json +0 -72
  461. package/sites/restaurant/components/bit-nav.json +0 -214
  462. package/sites/restaurant/components/bit-reservation.json +0 -155
  463. package/sites/restaurant/components/bit-review.json +0 -84
  464. package/sites/restaurant/components/bit-section-header.json +0 -98
  465. package/sites/restaurant/layouts/base.json +0 -22
  466. package/sites/saas/components/sa-check-item.json +0 -40
  467. package/sites/saas/components/sa-contact-form.json +0 -153
  468. package/sites/saas/components/sa-cta.json +0 -102
  469. package/sites/saas/components/sa-faq.json +0 -413
  470. package/sites/saas/components/sa-feature-card.json +0 -69
  471. package/sites/saas/components/sa-feature-split.json +0 -60
  472. package/sites/saas/components/sa-footer.json +0 -145
  473. package/sites/saas/components/sa-hero.json +0 -277
  474. package/sites/saas/components/sa-logo-cloud.json +0 -119
  475. package/sites/saas/components/sa-nav.json +0 -138
  476. package/sites/saas/components/sa-pricing.json +0 -428
  477. package/sites/saas/components/sa-section-header.json +0 -55
  478. package/sites/saas/components/sa-stat.json +0 -44
  479. package/sites/saas/components/sa-testimonial-card.json +0 -57
  480. package/sites/saas/layouts/base.json +0 -22
  481. package/sites/shop/components/shp-badge.json +0 -18
  482. package/sites/shop/components/shp-category-tile.json +0 -104
  483. package/sites/shop/components/shp-contact-form.json +0 -156
  484. package/sites/shop/components/shp-cta.json +0 -121
  485. package/sites/shop/components/shp-feature.json +0 -60
  486. package/sites/shop/components/shp-footer.json +0 -411
  487. package/sites/shop/components/shp-hero.json +0 -395
  488. package/sites/shop/components/shp-intro.json +0 -59
  489. package/sites/shop/components/shp-nav.json +0 -358
  490. package/sites/shop/components/shp-newsletter.json +0 -166
  491. package/sites/shop/components/shp-product-card.json +0 -238
  492. package/sites/shop/components/shp-product-filter.json +0 -366
  493. package/sites/shop/components/shp-review.json +0 -54
  494. package/sites/shop/components/shp-section-header.json +0 -75
  495. package/sites/shop/components/shp-service.json +0 -83
  496. package/sites/shop/components/shp-stat.json +0 -37
  497. package/sites/shop/components/shp-trust.json +0 -58
  498. package/sites/shop/components/shp-visit-info.json +0 -132
  499. package/sites/shop/layouts/base.json +0 -22
  500. package/sites/shop/pages/products/[sku].json +0 -482
@@ -0,0 +1,125 @@
1
+ /- kdl-version 2
2
+
3
+ hs-reservation {
4
+ state heading="Request a free quote"
5
+ style {
6
+ display block
7
+ backgroundColor "var(--color-bg-white)"
8
+ border "1px solid var(--color-border)"
9
+ borderTop "4px solid var(--color-primary)"
10
+ borderRadius "var(--radius)"
11
+ boxShadow "var(--shadow-card)"
12
+ overflow hidden
13
+ }
14
+ div {
15
+ style padding="1.75rem 1.75rem 0"
16
+ h3 "${state.heading}" {
17
+ style {
18
+ fontFamily "var(--font-heading)"
19
+ fontSize "1.7rem"
20
+ fontWeight "600"
21
+ textTransform uppercase
22
+ letterSpacing "0.02em"
23
+ margin "0 0 0.35rem"
24
+ }
25
+ }
26
+ p "Flat-rate pricing · No obligation · Same-day slots available." {
27
+ style margin="0" color="var(--color-text-muted)" fontSize="0.95rem"
28
+ }
29
+ }
30
+ form action="#" method=post {
31
+ style display=grid gap="0.9rem" alignContent=start padding="1.4rem 1.75rem 1.75rem"
32
+ input type=text name=name placeholder="Your name" required="true" aria-label="Your name" {
33
+ style {
34
+ width "100%"
35
+ padding "0.8rem 0.9rem"
36
+ border "1px solid var(--color-border-strong)"
37
+ borderRadius "var(--radius-sm)"
38
+ fontSize "1rem"
39
+ fontFamily inherit
40
+ backgroundColor "var(--color-bg-cream)"
41
+ }
42
+ }
43
+ div {
44
+ style display=grid gridTemplateColumns="1fr 1fr" gap="0.9rem" {
45
+ @--sm gridTemplateColumns="1fr"
46
+ }
47
+ input type=email name=email placeholder="Email address" required="true" aria-label="Email address" {
48
+ style {
49
+ width "100%"
50
+ padding "0.8rem 0.9rem"
51
+ border "1px solid var(--color-border-strong)"
52
+ borderRadius "var(--radius-sm)"
53
+ fontSize "1rem"
54
+ fontFamily inherit
55
+ backgroundColor "var(--color-bg-cream)"
56
+ }
57
+ }
58
+ input type=tel name=phone placeholder="Phone number" aria-label="Phone number" {
59
+ style {
60
+ width "100%"
61
+ padding "0.8rem 0.9rem"
62
+ border "1px solid var(--color-border-strong)"
63
+ borderRadius "var(--radius-sm)"
64
+ fontSize "1rem"
65
+ fontFamily inherit
66
+ backgroundColor "var(--color-bg-cream)"
67
+ }
68
+ }
69
+ }
70
+ select name=service aria-label="Service needed" {
71
+ style {
72
+ width "100%"
73
+ padding "0.8rem 0.9rem"
74
+ border "1px solid var(--color-border-strong)"
75
+ borderRadius "var(--radius-sm)"
76
+ fontSize "1rem"
77
+ fontFamily inherit
78
+ fontWeight "500"
79
+ color "var(--color-text-primary)"
80
+ backgroundColor "var(--color-bg-cream)"
81
+ cursor pointer
82
+ }
83
+ option value="" "What do you need? (e.g. AC repair)"
84
+ option value=ac-repair "AC Repair"
85
+ option value=ac-install "AC Installation"
86
+ option value=furnace-repair "Furnace Repair"
87
+ option value=furnace-install "Furnace Installation"
88
+ option value=heat-pump "Heat Pumps"
89
+ option value=maintenance "Maintenance Plan"
90
+ option value=emergency "Emergency — no heat/AC"
91
+ option value=other "Something else"
92
+ }
93
+ textarea name=notes rows="4" placeholder="Describe the problem or project…" aria-label=Notes {
94
+ style {
95
+ width "100%"
96
+ padding "0.8rem 0.9rem"
97
+ border "1px solid var(--color-border-strong)"
98
+ borderRadius "var(--radius-sm)"
99
+ fontSize "1rem"
100
+ fontFamily inherit
101
+ backgroundColor "var(--color-bg-cream)"
102
+ }
103
+ }
104
+ button type=submit "Request My Free Quote →" {
105
+ style {
106
+ backgroundColor "var(--color-primary)"
107
+ color "var(--color-text-white)"
108
+ padding "0.95rem 1.5rem"
109
+ border none
110
+ borderRadius "var(--radius-sm)"
111
+ fontFamily "var(--font-heading)"
112
+ textTransform uppercase
113
+ letterSpacing "0.05em"
114
+ fontSize "1.05rem"
115
+ fontWeight "600"
116
+ cursor pointer
117
+ transition "background-color 0.15s"
118
+ :hover backgroundColor="var(--color-primary-hover)"
119
+ }
120
+ }
121
+ p "This is a demo form. Wire it to your CRM, scheduler, or email in pages/contact.md." {
122
+ style fontSize="0.85rem" color="var(--color-text-muted)" margin="0"
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,84 @@
1
+ /- kdl-version 2
2
+
3
+ hs-review {
4
+ state quote="" author="" role=""
5
+ style {
6
+ position relative
7
+ display flex
8
+ flexDirection column
9
+ height "100%"
10
+ padding "1.9rem 1.75rem"
11
+ backgroundColor "var(--color-bg-white)"
12
+ border "1px solid var(--color-border)"
13
+ borderRadius "var(--radius)"
14
+ boxShadow "var(--shadow-card)"
15
+ }
16
+ div {
17
+ style {
18
+ display flex
19
+ alignItems center
20
+ justifyContent space-between
21
+ gap "1rem"
22
+ marginBottom "0.9rem"
23
+ }
24
+ div ★★★★★ {
25
+ style color="var(--color-primary)" fontSize="1.05rem" letterSpacing="0.14em"
26
+ }
27
+ span ” {
28
+ style {
29
+ fontFamily "var(--font-heading)"
30
+ fontSize "2.4rem"
31
+ lineHeight "0.6"
32
+ color "var(--color-bg-concrete)"
33
+ fontWeight "700"
34
+ }
35
+ }
36
+ }
37
+ p "“${state.quote}”" {
38
+ style {
39
+ flex "1"
40
+ fontSize "1.05rem"
41
+ lineHeight "1.6"
42
+ color "var(--color-text-primary)"
43
+ margin "0 0 1.35rem"
44
+ }
45
+ }
46
+ div {
47
+ style {
48
+ display flex
49
+ alignItems center
50
+ gap "0.75rem"
51
+ paddingTop "1.1rem"
52
+ borderTop "1px solid var(--color-border)"
53
+ }
54
+ div ★ {
55
+ style {
56
+ display flex
57
+ alignItems center
58
+ justifyContent center
59
+ width "2.4rem"
60
+ height "2.4rem"
61
+ borderRadius "var(--radius-sm)"
62
+ backgroundColor "var(--color-primary-soft)"
63
+ color "var(--color-primary)"
64
+ fontFamily "var(--font-heading)"
65
+ fontWeight "700"
66
+ fontSize "1.05rem"
67
+ }
68
+ }
69
+ div {
70
+ div "${state.author}" {
71
+ style {
72
+ fontFamily "var(--font-heading)"
73
+ fontWeight "600"
74
+ textTransform uppercase
75
+ letterSpacing "0.02em"
76
+ fontSize "1rem"
77
+ }
78
+ }
79
+ div "${state.role}" {
80
+ style fontSize="0.85rem" color="var(--color-text-muted)"
81
+ }
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,56 @@
1
+ /- kdl-version 2
2
+
3
+ hs-section-header {
4
+ state eyebrow="" heading="" subheading="" align=center
5
+ style {
6
+ display block
7
+ maxWidth "var(--max-width-narrow)"
8
+ margin "0 auto 2.75rem"
9
+ textAlign "${state.align}"
10
+ }
11
+ p {
12
+ style {
13
+ display "${state.eyebrow ? 'inline-flex' : 'none'}"
14
+ alignItems center
15
+ gap "0.5rem"
16
+ textTransform uppercase
17
+ fontFamily "var(--font-heading)"
18
+ letterSpacing "0.14em"
19
+ fontSize "0.82rem"
20
+ fontWeight "600"
21
+ color "var(--color-primary)"
22
+ margin "0 0 0.9rem"
23
+ }
24
+ span {
25
+ style {
26
+ width "1.6rem"
27
+ height "0.2rem"
28
+ backgroundColor "var(--color-primary)"
29
+ display inline-block
30
+ }
31
+ }
32
+ span "${state.eyebrow}"
33
+ }
34
+ h2 "${state.heading}" {
35
+ style {
36
+ fontFamily "var(--font-heading)"
37
+ fontSize "clamp(2rem, 4.4vw, 3rem)"
38
+ fontWeight "700"
39
+ textTransform uppercase
40
+ lineHeight "1.05"
41
+ letterSpacing "0.01em"
42
+ margin "0"
43
+ color "var(--color-text-primary)"
44
+ }
45
+ }
46
+ p "${state.subheading}" {
47
+ style {
48
+ display "${state.subheading ? 'block' : 'none'}"
49
+ fontSize "1.12rem"
50
+ lineHeight "1.7"
51
+ color "var(--color-text-muted)"
52
+ margin "1rem auto 0"
53
+ maxWidth "58ch"
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,68 @@
1
+ /- kdl-version 2
2
+
3
+ hs-service-card {
4
+ state icon="" name="" summary="" cta="" href="/services/"
5
+ style {
6
+ position relative
7
+ display flex
8
+ flexDirection column
9
+ padding "1.9rem 1.75rem"
10
+ backgroundColor "var(--color-bg-white)"
11
+ border "1px solid var(--color-border)"
12
+ borderTop "4px solid var(--color-steel)"
13
+ borderRadius "var(--radius)"
14
+ boxShadow "var(--shadow-card)"
15
+ transition "transform 0.16s, box-shadow 0.16s, border-top-color 0.16s"
16
+ :hover {
17
+ transform "translateY(-4px)"
18
+ boxShadow "0 22px 46px -22px rgba(14,26,35,0.4)"
19
+ borderTopColor "var(--color-primary)"
20
+ }
21
+ }
22
+ div "${state.icon}" {
23
+ style {
24
+ display flex
25
+ alignItems center
26
+ justifyContent center
27
+ width "3.6rem"
28
+ height "3.6rem"
29
+ borderRadius "var(--radius-sm)"
30
+ backgroundColor "var(--color-steel)"
31
+ color "var(--color-text-white)"
32
+ fontSize "1.85rem"
33
+ lineHeight "1"
34
+ marginBottom "1.2rem"
35
+ clipPath "polygon(0 0, 100% 0, 100% 82%, 84% 100%, 0 100%)"
36
+ }
37
+ }
38
+ h3 "${state.name}" {
39
+ style {
40
+ fontFamily "var(--font-heading)"
41
+ fontSize "1.4rem"
42
+ fontWeight "600"
43
+ textTransform uppercase
44
+ letterSpacing "0.02em"
45
+ margin "0 0 0.55rem"
46
+ }
47
+ }
48
+ p "${state.summary}" {
49
+ style margin="0" color="var(--color-text-muted)" fontSize="1rem" lineHeight="1.6"
50
+ }
51
+ a href="${state.href}" "${state.cta} →" {
52
+ style {
53
+ display "${state.cta ? 'inline-flex' : 'none'}"
54
+ alignItems center
55
+ gap "0.4rem"
56
+ marginTop auto
57
+ paddingTop "1.25rem"
58
+ color "var(--color-primary)"
59
+ fontFamily "var(--font-heading)"
60
+ textTransform uppercase
61
+ letterSpacing "0.05em"
62
+ fontWeight "600"
63
+ fontSize "0.9rem"
64
+ textDecoration none
65
+ :hover color="var(--color-primary-hover)"
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,40 @@
1
+ /- kdl-version 2
2
+
3
+ hs-stat {
4
+ state value="" label="" icon=""
5
+ style display=block position=relative padding="0.5rem 1.5rem 0.5rem 0" {
6
+ @--sm padding="0.5rem 0"
7
+ }
8
+ div "${state.icon}" {
9
+ style {
10
+ display "${state.icon ? 'block' : 'none'}"
11
+ fontSize "1.4rem"
12
+ lineHeight "1"
13
+ marginBottom "0.6rem"
14
+ opacity "0.85"
15
+ }
16
+ }
17
+ div "${state.value}" {
18
+ style {
19
+ fontFamily "var(--font-heading)"
20
+ fontSize "clamp(2.6rem, 5.2vw, 3.7rem)"
21
+ fontWeight "700"
22
+ lineHeight "0.95"
23
+ letterSpacing "0.01em"
24
+ color "var(--color-primary)"
25
+ fontVariantNumeric tabular-nums
26
+ }
27
+ }
28
+ div "${state.label}" {
29
+ style {
30
+ marginTop "0.6rem"
31
+ fontFamily "var(--font-heading)"
32
+ fontSize "0.86rem"
33
+ fontWeight "500"
34
+ textTransform uppercase
35
+ letterSpacing "0.08em"
36
+ color "var(--color-text-steel-muted)"
37
+ lineHeight "1.35"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,67 @@
1
+ /- kdl-version 2
2
+
3
+ hs-step {
4
+ state number="" title="" text=""
5
+ style {
6
+ position relative
7
+ display block
8
+ padding "1.75rem 1.5rem 1.6rem"
9
+ backgroundColor "var(--color-bg-white)"
10
+ border "1px solid var(--color-border)"
11
+ borderRadius "var(--radius)"
12
+ overflow hidden
13
+ }
14
+ span "${state.number}" {
15
+ style {
16
+ position absolute
17
+ top "-0.75rem"
18
+ right "0.5rem"
19
+ fontFamily "var(--font-heading)"
20
+ fontWeight "700"
21
+ fontSize "5.5rem"
22
+ lineHeight "1"
23
+ color "var(--color-bg-concrete)"
24
+ pointerEvents none
25
+ userSelect none
26
+ }
27
+ }
28
+ div "${state.number}" {
29
+ style {
30
+ position relative
31
+ display inline-flex
32
+ alignItems center
33
+ justifyContent center
34
+ minWidth "2.4rem"
35
+ height "2.4rem"
36
+ padding "0 0.6rem"
37
+ backgroundColor "var(--color-primary)"
38
+ color "var(--color-text-white)"
39
+ fontFamily "var(--font-heading)"
40
+ fontWeight "700"
41
+ fontSize "1.15rem"
42
+ borderRadius "var(--radius-sm)"
43
+ marginBottom "1rem"
44
+ clipPath "polygon(0 0, 100% 0, 100% 74%, 82% 100%, 0 100%)"
45
+ }
46
+ }
47
+ h3 "${state.title}" {
48
+ style {
49
+ position relative
50
+ fontFamily "var(--font-heading)"
51
+ fontSize "1.28rem"
52
+ fontWeight "600"
53
+ textTransform uppercase
54
+ letterSpacing "0.02em"
55
+ margin "0 0 0.45rem"
56
+ }
57
+ }
58
+ p "${state.text}" {
59
+ style {
60
+ position relative
61
+ margin "0"
62
+ color "var(--color-text-muted)"
63
+ fontSize "0.98rem"
64
+ lineHeight "1.6"
65
+ }
66
+ }
67
+ }
@@ -0,0 +1,183 @@
1
+ /- kdl-version 2
2
+
3
+ hs-trust-bar {
4
+ state {
5
+ icon1 🎖️
6
+ item1 NATE-Certified
7
+ sub1 "Factory-trained techs"
8
+ icon2 🛡️
9
+ item2 "Licensed & Insured"
10
+ sub2 "Bonded · CO Lic. #C-48219"
11
+ icon3 🏅
12
+ item3 "BBB A+ Rated"
13
+ sub3 "600+ 5-star reviews"
14
+ icon4 💳
15
+ item4 "Financing Available"
16
+ sub4 "0% APR options"
17
+ }
18
+ style {
19
+ display block
20
+ backgroundColor "var(--color-bg-white)"
21
+ borderBottom "1px solid var(--color-border)"
22
+ }
23
+ div {
24
+ style {
25
+ maxWidth "var(--max-width)"
26
+ margin "0 auto"
27
+ display grid
28
+ gridTemplateColumns "repeat(4, 1fr)"
29
+ @--md gridTemplateColumns="repeat(2, 1fr)"
30
+ @--sm gridTemplateColumns="1fr"
31
+ }
32
+ div {
33
+ style {
34
+ display flex
35
+ alignItems center
36
+ gap "0.85rem"
37
+ padding "1.15rem 1.5rem"
38
+ borderRight "1px solid var(--color-border)"
39
+ @--sm borderRight=none borderBottom="1px solid var(--color-border)"
40
+ }
41
+ div "${state.icon1}" {
42
+ style {
43
+ flexShrink "0"
44
+ display flex
45
+ alignItems center
46
+ justifyContent center
47
+ width "2.6rem"
48
+ height "2.6rem"
49
+ borderRadius "var(--radius-sm)"
50
+ backgroundColor "var(--color-primary-soft)"
51
+ fontSize "1.35rem"
52
+ lineHeight "1"
53
+ }
54
+ }
55
+ div {
56
+ div "${state.item1}" {
57
+ style {
58
+ fontFamily "var(--font-heading)"
59
+ textTransform uppercase
60
+ letterSpacing "0.03em"
61
+ fontWeight "600"
62
+ fontSize "0.98rem"
63
+ lineHeight "1.1"
64
+ }
65
+ }
66
+ div "${state.sub1}" {
67
+ style fontSize="0.82rem" color="var(--color-text-muted)" marginTop="0.15rem"
68
+ }
69
+ }
70
+ }
71
+ div {
72
+ style {
73
+ display flex
74
+ alignItems center
75
+ gap "0.85rem"
76
+ padding "1.15rem 1.5rem"
77
+ borderRight "1px solid var(--color-border)"
78
+ @--md borderRight=none
79
+ @--sm borderBottom="1px solid var(--color-border)"
80
+ }
81
+ div "${state.icon2}" {
82
+ style {
83
+ flexShrink "0"
84
+ display flex
85
+ alignItems center
86
+ justifyContent center
87
+ width "2.6rem"
88
+ height "2.6rem"
89
+ borderRadius "var(--radius-sm)"
90
+ backgroundColor "var(--color-primary-soft)"
91
+ fontSize "1.35rem"
92
+ lineHeight "1"
93
+ }
94
+ }
95
+ div {
96
+ div "${state.item2}" {
97
+ style {
98
+ fontFamily "var(--font-heading)"
99
+ textTransform uppercase
100
+ letterSpacing "0.03em"
101
+ fontWeight "600"
102
+ fontSize "0.98rem"
103
+ lineHeight "1.1"
104
+ }
105
+ }
106
+ div "${state.sub2}" {
107
+ style fontSize="0.82rem" color="var(--color-text-muted)" marginTop="0.15rem"
108
+ }
109
+ }
110
+ }
111
+ div {
112
+ style {
113
+ display flex
114
+ alignItems center
115
+ gap "0.85rem"
116
+ padding "1.15rem 1.5rem"
117
+ borderRight "1px solid var(--color-border)"
118
+ @--sm borderRight=none borderBottom="1px solid var(--color-border)"
119
+ }
120
+ div "${state.icon3}" {
121
+ style {
122
+ flexShrink "0"
123
+ display flex
124
+ alignItems center
125
+ justifyContent center
126
+ width "2.6rem"
127
+ height "2.6rem"
128
+ borderRadius "var(--radius-sm)"
129
+ backgroundColor "var(--color-primary-soft)"
130
+ fontSize "1.35rem"
131
+ lineHeight "1"
132
+ }
133
+ }
134
+ div {
135
+ div "${state.item3}" {
136
+ style {
137
+ fontFamily "var(--font-heading)"
138
+ textTransform uppercase
139
+ letterSpacing "0.03em"
140
+ fontWeight "600"
141
+ fontSize "0.98rem"
142
+ lineHeight "1.1"
143
+ }
144
+ }
145
+ div "${state.sub3}" {
146
+ style fontSize="0.82rem" color="var(--color-text-muted)" marginTop="0.15rem"
147
+ }
148
+ }
149
+ }
150
+ div {
151
+ style display=flex alignItems=center gap="0.85rem" padding="1.15rem 1.5rem"
152
+ div "${state.icon4}" {
153
+ style {
154
+ flexShrink "0"
155
+ display flex
156
+ alignItems center
157
+ justifyContent center
158
+ width "2.6rem"
159
+ height "2.6rem"
160
+ borderRadius "var(--radius-sm)"
161
+ backgroundColor "var(--color-primary-soft)"
162
+ fontSize "1.35rem"
163
+ lineHeight "1"
164
+ }
165
+ }
166
+ div {
167
+ div "${state.item4}" {
168
+ style {
169
+ fontFamily "var(--font-heading)"
170
+ textTransform uppercase
171
+ letterSpacing "0.03em"
172
+ fontWeight "600"
173
+ fontSize "0.98rem"
174
+ lineHeight "1.1"
175
+ }
176
+ }
177
+ div "${state.sub4}" {
178
+ style fontSize="0.82rem" color="var(--color-text-muted)" marginTop="0.15rem"
179
+ }
180
+ }
181
+ }
182
+ }
183
+ }