@jxsuite/starters 3.3.2 → 3.5.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 (513) 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 +11 -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 +86 -0
  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 +11 -2
  38. package/sites/course/layouts/base.jxn +17 -0
  39. package/sites/course/package.json +3 -3
  40. package/sites/course/project.jxn +94 -0
  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 +11 -2
  57. package/sites/event/layouts/base.jxn +12 -0
  58. package/sites/event/package.json +3 -3
  59. package/sites/event/project.jxn +114 -0
  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 +11 -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 +124 -0
  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 +11 -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 +113 -0
  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 +11 -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 +130 -0
  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 +11 -2
  150. package/sites/nonprofit/layouts/base.jxn +17 -0
  151. package/sites/nonprofit/package.json +3 -3
  152. package/sites/nonprofit/project.jxn +99 -0
  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 +11 -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 +85 -0
  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 +11 -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 +94 -0
  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 +11 -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 +103 -0
  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 +11 -2
  227. package/sites/restaurant/layouts/base.jxn +17 -0
  228. package/sites/restaurant/package.json +3 -3
  229. package/sites/restaurant/project.jxn +93 -0
  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 +11 -2
  245. package/sites/saas/layouts/base.jxn +17 -0
  246. package/sites/saas/package.json +3 -3
  247. package/sites/saas/project.jxn +119 -0
  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 +11 -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 +100 -0
  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/blog/project.json +0 -140
  288. package/sites/course/components/co-application.json +0 -225
  289. package/sites/course/components/co-cohort.json +0 -172
  290. package/sites/course/components/co-cta.json +0 -126
  291. package/sites/course/components/co-curriculum-accordion.json +0 -1476
  292. package/sites/course/components/co-faq.json +0 -524
  293. package/sites/course/components/co-footer.json +0 -195
  294. package/sites/course/components/co-hero.json +0 -475
  295. package/sites/course/components/co-instructor-card.json +0 -159
  296. package/sites/course/components/co-mentor.json +0 -65
  297. package/sites/course/components/co-module-card.json +0 -138
  298. package/sites/course/components/co-nav.json +0 -244
  299. package/sites/course/components/co-outcome-card.json +0 -84
  300. package/sites/course/components/co-outcomes.json +0 -248
  301. package/sites/course/components/co-pricing.json +0 -178
  302. package/sites/course/components/co-section-header.json +0 -74
  303. package/sites/course/components/co-testimonial-card.json +0 -109
  304. package/sites/course/layouts/base.json +0 -22
  305. package/sites/course/project.json +0 -141
  306. package/sites/event/components/ev-agenda-tabs.json +0 -828
  307. package/sites/event/components/ev-cta.json +0 -126
  308. package/sites/event/components/ev-feature.json +0 -62
  309. package/sites/event/components/ev-footer.json +0 -197
  310. package/sites/event/components/ev-hero.json +0 -431
  311. package/sites/event/components/ev-nav.json +0 -186
  312. package/sites/event/components/ev-reason.json +0 -64
  313. package/sites/event/components/ev-savedate.json +0 -331
  314. package/sites/event/components/ev-section-header.json +0 -70
  315. package/sites/event/components/ev-session-row.json +0 -132
  316. package/sites/event/components/ev-speaker-card.json +0 -130
  317. package/sites/event/components/ev-sponsors.json +0 -131
  318. package/sites/event/components/ev-stat.json +0 -47
  319. package/sites/event/components/ev-ticket-card.json +0 -214
  320. package/sites/event/components/ev-venue.json +0 -86
  321. package/sites/event/layouts/base.json +0 -22
  322. package/sites/event/project.json +0 -163
  323. package/sites/fitness-studio/components/fs-band.json +0 -149
  324. package/sites/fitness-studio/components/fs-booking.json +0 -147
  325. package/sites/fitness-studio/components/fs-class-card.json +0 -143
  326. package/sites/fitness-studio/components/fs-class-grid.json +0 -36
  327. package/sites/fitness-studio/components/fs-cta.json +0 -106
  328. package/sites/fitness-studio/components/fs-feature.json +0 -56
  329. package/sites/fitness-studio/components/fs-footer.json +0 -178
  330. package/sites/fitness-studio/components/fs-hero.json +0 -375
  331. package/sites/fitness-studio/components/fs-hours.json +0 -109
  332. package/sites/fitness-studio/components/fs-instructor-card.json +0 -136
  333. package/sites/fitness-studio/components/fs-intro.json +0 -294
  334. package/sites/fitness-studio/components/fs-modality.json +0 -171
  335. package/sites/fitness-studio/components/fs-nav.json +0 -128
  336. package/sites/fitness-studio/components/fs-pricing-card.json +0 -243
  337. package/sites/fitness-studio/components/fs-pricing-table.json +0 -458
  338. package/sites/fitness-studio/components/fs-review.json +0 -88
  339. package/sites/fitness-studio/components/fs-schedule.json +0 -1165
  340. package/sites/fitness-studio/components/fs-section-header.json +0 -77
  341. package/sites/fitness-studio/layouts/base.json +0 -22
  342. package/sites/fitness-studio/project.json +0 -175
  343. package/sites/home-services/components/hs-callbar.json +0 -72
  344. package/sites/home-services/components/hs-cta.json +0 -184
  345. package/sites/home-services/components/hs-feature.json +0 -62
  346. package/sites/home-services/components/hs-footer.json +0 -232
  347. package/sites/home-services/components/hs-gallery.json +0 -104
  348. package/sites/home-services/components/hs-hero.json +0 -446
  349. package/sites/home-services/components/hs-intro.json +0 -122
  350. package/sites/home-services/components/hs-nav.json +0 -278
  351. package/sites/home-services/components/hs-reservation.json +0 -225
  352. package/sites/home-services/components/hs-review.json +0 -114
  353. package/sites/home-services/components/hs-section-header.json +0 -70
  354. package/sites/home-services/components/hs-service-card.json +0 -89
  355. package/sites/home-services/components/hs-stat.json +0 -54
  356. package/sites/home-services/components/hs-step.json +0 -80
  357. package/sites/home-services/components/hs-trust-bar.json +0 -256
  358. package/sites/home-services/layouts/base.json +0 -24
  359. package/sites/home-services/project.json +0 -160
  360. package/sites/museum/components/mu-band.json +0 -92
  361. package/sites/museum/components/mu-cta.json +0 -101
  362. package/sites/museum/components/mu-exhibition-card.json +0 -191
  363. package/sites/museum/components/mu-exhibition-row.json +0 -237
  364. package/sites/museum/components/mu-fact.json +0 -64
  365. package/sites/museum/components/mu-footer.json +0 -256
  366. package/sites/museum/components/mu-hero.json +0 -236
  367. package/sites/museum/components/mu-more.json +0 -63
  368. package/sites/museum/components/mu-oculus.json +0 -44
  369. package/sites/museum/components/mu-pagehead.json +0 -105
  370. package/sites/museum/components/mu-quote.json +0 -49
  371. package/sites/museum/layouts/ar.json +0 -29
  372. package/sites/museum/layouts/base.json +0 -329
  373. package/sites/museum/layouts/fr-ca.json +0 -28
  374. package/sites/museum/pages/about.json +0 -378
  375. package/sites/museum/pages/ar/about.json +0 -314
  376. package/sites/museum/pages/ar/exhibitions/[slug].json +0 -211
  377. package/sites/museum/pages/ar/exhibitions/index.json +0 -103
  378. package/sites/museum/pages/ar/index.json +0 -246
  379. package/sites/museum/pages/ar/visit.json +0 -327
  380. package/sites/museum/pages/exhibitions/[slug].json +0 -200
  381. package/sites/museum/pages/exhibitions/index.json +0 -93
  382. package/sites/museum/pages/fr-ca/a-propos.json +0 -313
  383. package/sites/museum/pages/fr-ca/expositions/[slug].json +0 -215
  384. package/sites/museum/pages/fr-ca/expositions/index.json +0 -104
  385. package/sites/museum/pages/fr-ca/index.json +0 -246
  386. package/sites/museum/pages/fr-ca/visite.json +0 -328
  387. package/sites/museum/pages/index.json +0 -236
  388. package/sites/museum/pages/visit.json +0 -317
  389. package/sites/museum/project.json +0 -179
  390. package/sites/nonprofit/components/np-contact-form.json +0 -162
  391. package/sites/nonprofit/components/np-contact-info.json +0 -159
  392. package/sites/nonprofit/components/np-cta.json +0 -203
  393. package/sites/nonprofit/components/np-donate-tier.json +0 -116
  394. package/sites/nonprofit/components/np-feature.json +0 -57
  395. package/sites/nonprofit/components/np-footer.json +0 -257
  396. package/sites/nonprofit/components/np-hero.json +0 -360
  397. package/sites/nonprofit/components/np-impact-band.json +0 -108
  398. package/sites/nonprofit/components/np-intro.json +0 -166
  399. package/sites/nonprofit/components/np-nav.json +0 -216
  400. package/sites/nonprofit/components/np-program-card.json +0 -129
  401. package/sites/nonprofit/components/np-section-header.json +0 -79
  402. package/sites/nonprofit/components/np-stat.json +0 -69
  403. package/sites/nonprofit/components/np-step.json +0 -84
  404. package/sites/nonprofit/components/np-team-member.json +0 -74
  405. package/sites/nonprofit/components/np-testimonial.json +0 -169
  406. package/sites/nonprofit/layouts/base.json +0 -22
  407. package/sites/nonprofit/project.json +0 -147
  408. package/sites/portfolio/components/pv-about-split.json +0 -71
  409. package/sites/portfolio/components/pv-category-pill.json +0 -25
  410. package/sites/portfolio/components/pv-contact-form.json +0 -126
  411. package/sites/portfolio/components/pv-cta.json +0 -80
  412. package/sites/portfolio/components/pv-feature.json +0 -48
  413. package/sites/portfolio/components/pv-footer.json +0 -167
  414. package/sites/portfolio/components/pv-gallery.json +0 -50
  415. package/sites/portfolio/components/pv-hero.json +0 -139
  416. package/sites/portfolio/components/pv-nav.json +0 -100
  417. package/sites/portfolio/components/pv-project-card.json +0 -160
  418. package/sites/portfolio/components/pv-project-grid.json +0 -30
  419. package/sites/portfolio/components/pv-section-header.json +0 -90
  420. package/sites/portfolio/layouts/base.json +0 -22
  421. package/sites/portfolio/pages/[slug].json +0 -260
  422. package/sites/portfolio/project.json +0 -137
  423. package/sites/professional-firm/components/pf-article-header.json +0 -93
  424. package/sites/professional-firm/components/pf-contact-form.json +0 -146
  425. package/sites/professional-firm/components/pf-contact-info.json +0 -147
  426. package/sites/professional-firm/components/pf-cta.json +0 -86
  427. package/sites/professional-firm/components/pf-feature.json +0 -52
  428. package/sites/professional-firm/components/pf-footer.json +0 -231
  429. package/sites/professional-firm/components/pf-hero.json +0 -174
  430. package/sites/professional-firm/components/pf-insight-row.json +0 -144
  431. package/sites/professional-firm/components/pf-intro.json +0 -93
  432. package/sites/professional-firm/components/pf-logo-bar.json +0 -113
  433. package/sites/professional-firm/components/pf-nav.json +0 -135
  434. package/sites/professional-firm/components/pf-section-header.json +0 -77
  435. package/sites/professional-firm/components/pf-service-row.json +0 -104
  436. package/sites/professional-firm/components/pf-statband.json +0 -183
  437. package/sites/professional-firm/components/pf-team-member.json +0 -75
  438. package/sites/professional-firm/layouts/article.json +0 -130
  439. package/sites/professional-firm/layouts/base.json +0 -22
  440. package/sites/professional-firm/pages/insights/[slug].json +0 -129
  441. package/sites/professional-firm/project.json +0 -145
  442. package/sites/real-estate/components/re-agent-band.json +0 -240
  443. package/sites/real-estate/components/re-agent-card.json +0 -93
  444. package/sites/real-estate/components/re-contact-form.json +0 -181
  445. package/sites/real-estate/components/re-cta.json +0 -128
  446. package/sites/real-estate/components/re-detail-row.json +0 -26
  447. package/sites/real-estate/components/re-feature.json +0 -57
  448. package/sites/real-estate/components/re-footer.json +0 -291
  449. package/sites/real-estate/components/re-hero.json +0 -536
  450. package/sites/real-estate/components/re-intro.json +0 -60
  451. package/sites/real-estate/components/re-listing-card.json +0 -286
  452. package/sites/real-estate/components/re-listings-filter.json +0 -454
  453. package/sites/real-estate/components/re-nav.json +0 -216
  454. package/sites/real-estate/components/re-neighborhood.json +0 -135
  455. package/sites/real-estate/components/re-section-header.json +0 -69
  456. package/sites/real-estate/components/re-stat.json +0 -37
  457. package/sites/real-estate/components/re-step.json +0 -58
  458. package/sites/real-estate/components/re-testimonial.json +0 -91
  459. package/sites/real-estate/layouts/base.json +0 -22
  460. package/sites/real-estate/pages/[slug].json +0 -629
  461. package/sites/real-estate/project.json +0 -163
  462. package/sites/restaurant/components/bit-cta.json +0 -140
  463. package/sites/restaurant/components/bit-feature.json +0 -61
  464. package/sites/restaurant/components/bit-footer.json +0 -191
  465. package/sites/restaurant/components/bit-gallery.json +0 -74
  466. package/sites/restaurant/components/bit-hero.json +0 -253
  467. package/sites/restaurant/components/bit-hours.json +0 -183
  468. package/sites/restaurant/components/bit-intro.json +0 -96
  469. package/sites/restaurant/components/bit-menu-group.json +0 -74
  470. package/sites/restaurant/components/bit-menu-item.json +0 -72
  471. package/sites/restaurant/components/bit-nav.json +0 -214
  472. package/sites/restaurant/components/bit-reservation.json +0 -155
  473. package/sites/restaurant/components/bit-review.json +0 -84
  474. package/sites/restaurant/components/bit-section-header.json +0 -98
  475. package/sites/restaurant/layouts/base.json +0 -22
  476. package/sites/restaurant/project.json +0 -145
  477. package/sites/saas/components/sa-check-item.json +0 -40
  478. package/sites/saas/components/sa-contact-form.json +0 -153
  479. package/sites/saas/components/sa-cta.json +0 -102
  480. package/sites/saas/components/sa-faq.json +0 -413
  481. package/sites/saas/components/sa-feature-card.json +0 -69
  482. package/sites/saas/components/sa-feature-split.json +0 -60
  483. package/sites/saas/components/sa-footer.json +0 -145
  484. package/sites/saas/components/sa-hero.json +0 -277
  485. package/sites/saas/components/sa-logo-cloud.json +0 -119
  486. package/sites/saas/components/sa-nav.json +0 -138
  487. package/sites/saas/components/sa-pricing.json +0 -428
  488. package/sites/saas/components/sa-section-header.json +0 -55
  489. package/sites/saas/components/sa-stat.json +0 -44
  490. package/sites/saas/components/sa-testimonial-card.json +0 -57
  491. package/sites/saas/layouts/base.json +0 -22
  492. package/sites/saas/project.json +0 -166
  493. package/sites/shop/components/shp-badge.json +0 -18
  494. package/sites/shop/components/shp-category-tile.json +0 -104
  495. package/sites/shop/components/shp-contact-form.json +0 -156
  496. package/sites/shop/components/shp-cta.json +0 -121
  497. package/sites/shop/components/shp-feature.json +0 -60
  498. package/sites/shop/components/shp-footer.json +0 -411
  499. package/sites/shop/components/shp-hero.json +0 -395
  500. package/sites/shop/components/shp-intro.json +0 -59
  501. package/sites/shop/components/shp-nav.json +0 -358
  502. package/sites/shop/components/shp-newsletter.json +0 -166
  503. package/sites/shop/components/shp-product-card.json +0 -238
  504. package/sites/shop/components/shp-product-filter.json +0 -366
  505. package/sites/shop/components/shp-review.json +0 -54
  506. package/sites/shop/components/shp-section-header.json +0 -75
  507. package/sites/shop/components/shp-service.json +0 -83
  508. package/sites/shop/components/shp-stat.json +0 -37
  509. package/sites/shop/components/shp-trust.json +0 -58
  510. package/sites/shop/components/shp-visit-info.json +0 -132
  511. package/sites/shop/layouts/base.json +0 -22
  512. package/sites/shop/pages/products/[sku].json +0 -482
  513. package/sites/shop/project.json +0 -156
@@ -0,0 +1,290 @@
1
+ /- kdl-version 2
2
+
3
+ fs-hero {
4
+ state {
5
+ eyebrow ""
6
+ heading ""
7
+ headingAccent ""
8
+ subheading ""
9
+ cta "Book a Class"
10
+ ctaHref "/contact/"
11
+ cta2 ""
12
+ cta2Href "/classes/"
13
+ chip1 ""
14
+ chip2 ""
15
+ bg type=string format=image default=""
16
+ }
17
+ style {
18
+ display flex
19
+ flexDirection column
20
+ position relative
21
+ overflow hidden
22
+ minHeight "clamp(560px, 92vh, 940px)"
23
+ color "var(--color-text-white)"
24
+ backgroundColor "var(--duo-shadow)"
25
+ }
26
+ div {
27
+ style position=absolute inset="0" zIndex="0"
28
+ img src="${state.bg}" alt="A movement class in session at Ember studio" width="1920" height="1280" loading=eager {
29
+ style {
30
+ position absolute
31
+ inset "0"
32
+ width "100%"
33
+ height "100%"
34
+ objectFit cover
35
+ objectPosition "center 30%"
36
+ filter "grayscale(100%) contrast(1.12) brightness(0.96)"
37
+ }
38
+ }
39
+ div {
40
+ style {
41
+ position absolute
42
+ inset "0"
43
+ backgroundColor "var(--duo-shadow)"
44
+ mixBlendMode lighten
45
+ }
46
+ }
47
+ div {
48
+ style {
49
+ position absolute
50
+ inset "0"
51
+ background "linear-gradient(115deg, #ff2e63 0%, #ff6a3d 55%, #ffb03a 100%)"
52
+ mixBlendMode multiply
53
+ opacity "0.92"
54
+ }
55
+ }
56
+ div {
57
+ style {
58
+ position absolute
59
+ inset "0"
60
+ background "linear-gradient(96deg, rgba(20,6,16,0.9) 0%, rgba(20,6,16,0.5) 46%, rgba(20,6,16,0.12) 78%, transparent 100%)"
61
+ }
62
+ }
63
+ div {
64
+ style {
65
+ position absolute
66
+ inset "0"
67
+ background "linear-gradient(180deg, rgba(20,6,16,0.35) 0%, transparent 30%, rgba(20,6,16,0.55) 100%)"
68
+ }
69
+ }
70
+ }
71
+ div {
72
+ style {
73
+ position relative
74
+ zIndex "5"
75
+ flex "1"
76
+ display flex
77
+ alignItems center
78
+ width "100%"
79
+ maxWidth "var(--max-width)"
80
+ margin "0 auto"
81
+ padding "clamp(3.5rem, 8vw, 5.5rem) 1.5rem clamp(2rem, 5vw, 3rem)"
82
+ }
83
+ div {
84
+ style maxWidth="760px" width="100%"
85
+ div {
86
+ style {
87
+ display inline-flex
88
+ alignItems center
89
+ gap "0.6rem"
90
+ marginBottom "1.6rem"
91
+ fontSize "0.78rem"
92
+ fontWeight "700"
93
+ letterSpacing "0.16em"
94
+ textTransform uppercase
95
+ color "#ffe0d3"
96
+ }
97
+ span {
98
+ style {
99
+ width "0.55rem"
100
+ height "0.55rem"
101
+ borderRadius "50%"
102
+ backgroundColor "#ffb03a"
103
+ boxShadow "0 0 0 5px rgba(255,176,58,0.28)"
104
+ }
105
+ }
106
+ span "${state.eyebrow}"
107
+ }
108
+ h1 {
109
+ style {
110
+ fontFamily "var(--font-display)"
111
+ fontSize "clamp(3.4rem, 11vw, 8rem)"
112
+ fontWeight "400"
113
+ lineHeight "0.9"
114
+ letterSpacing "0.005em"
115
+ textTransform uppercase
116
+ margin "0 0 1.4rem"
117
+ textShadow "0 18px 50px rgba(20,6,16,0.45)"
118
+ }
119
+ span "${state.heading}" {
120
+ style display=block color="#ffffff"
121
+ }
122
+ span "${state.headingAccent}" {
123
+ style {
124
+ display block
125
+ background "linear-gradient(100deg, #ffe7dc 0%, #ffb03a 60%, #ff8c42 100%)"
126
+ backgroundClip text
127
+ webkitBackgroundClip text
128
+ webkitTextFillColor transparent
129
+ color "#ffb03a"
130
+ }
131
+ }
132
+ }
133
+ p "${state.subheading}" {
134
+ style {
135
+ fontSize "clamp(1.05rem, 1.9vw, 1.3rem)"
136
+ lineHeight "1.6"
137
+ fontWeight "500"
138
+ margin "0 0 2rem"
139
+ maxWidth "46ch"
140
+ color "rgba(255,255,255,0.92)"
141
+ }
142
+ }
143
+ div {
144
+ style display=flex gap="0.8rem" flexWrap=wrap alignItems=center
145
+ a href="${state.ctaHref}" "${state.cta}" {
146
+ style {
147
+ display inline-block
148
+ backgroundColor "#ffffff"
149
+ color "var(--color-ink)"
150
+ padding "1rem 2.3rem"
151
+ borderRadius "999px"
152
+ fontFamily "var(--font-heading)"
153
+ fontSize "0.92rem"
154
+ fontWeight "800"
155
+ textTransform uppercase
156
+ letterSpacing "0.06em"
157
+ textDecoration none
158
+ boxShadow "0 16px 40px -12px rgba(0,0,0,0.5)"
159
+ transition "transform 0.15s, box-shadow 0.15s"
160
+ :hover {
161
+ transform "translateY(-3px)"
162
+ boxShadow "0 22px 48px -12px rgba(0,0,0,0.55)"
163
+ }
164
+ }
165
+ }
166
+ a href="${state.cta2Href}" "${state.cta2}" {
167
+ style {
168
+ display "${state.cta2 ? 'inline-flex' : 'none'}"
169
+ alignItems center
170
+ gap "0.5rem"
171
+ border "2px solid rgba(255,255,255,0.55)"
172
+ color "#ffffff"
173
+ padding "0.9rem 1.9rem"
174
+ borderRadius "999px"
175
+ fontFamily "var(--font-heading)"
176
+ fontSize "0.92rem"
177
+ fontWeight "700"
178
+ textTransform uppercase
179
+ letterSpacing "0.06em"
180
+ textDecoration none
181
+ transition "background-color 0.15s, border-color 0.15s"
182
+ :hover backgroundColor="rgba(255,255,255,0.14)" borderColor="#ffffff"
183
+ }
184
+ }
185
+ }
186
+ div {
187
+ style {
188
+ display "${state.chip1 ? 'flex' : 'none'}"
189
+ gap "1.4rem"
190
+ flexWrap wrap
191
+ marginTop "2.4rem"
192
+ }
193
+ div {
194
+ style display=flex alignItems=center gap="0.55rem"
195
+ span {
196
+ style {
197
+ width "0.4rem"
198
+ height "0.4rem"
199
+ borderRadius "50%"
200
+ backgroundColor "#ffb03a"
201
+ }
202
+ }
203
+ span "${state.chip1}" {
204
+ style {
205
+ fontSize "0.86rem"
206
+ fontWeight "600"
207
+ color "rgba(255,255,255,0.9)"
208
+ letterSpacing "0.02em"
209
+ }
210
+ }
211
+ }
212
+ div {
213
+ style display="${state.chip2 ? 'flex' : 'none'}" alignItems=center gap="0.55rem"
214
+ span {
215
+ style {
216
+ width "0.4rem"
217
+ height "0.4rem"
218
+ borderRadius "50%"
219
+ backgroundColor "#ffb03a"
220
+ }
221
+ }
222
+ span "${state.chip2}" {
223
+ style {
224
+ fontSize "0.86rem"
225
+ fontWeight "600"
226
+ color "rgba(255,255,255,0.9)"
227
+ letterSpacing "0.02em"
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ div {
235
+ style {
236
+ position relative
237
+ zIndex "6"
238
+ width "116%"
239
+ marginLeft "-8%"
240
+ transform "rotate(-1.6deg)"
241
+ background "var(--grad-hot)"
242
+ padding "0.95rem 0"
243
+ marginTop "1.5rem"
244
+ marginBottom "0"
245
+ overflow hidden
246
+ boxShadow "0 16px 44px -18px rgba(255,46,99,0.7)"
247
+ }
248
+ div {
249
+ style {
250
+ display flex
251
+ alignItems center
252
+ justifyContent center
253
+ gap "1.5rem"
254
+ whiteSpace nowrap
255
+ fontFamily "var(--font-display)"
256
+ fontSize "clamp(0.95rem, 1.9vw, 1.25rem)"
257
+ letterSpacing "0.12em"
258
+ textTransform uppercase
259
+ color "#ffffff"
260
+ }
261
+ span Vinyasa
262
+ span ✦ {
263
+ style color="rgba(255,255,255,0.65)"
264
+ }
265
+ span "Power Yoga"
266
+ span ✦ {
267
+ style color="rgba(255,255,255,0.65)"
268
+ }
269
+ span Pilates
270
+ span ✦ {
271
+ style color="rgba(255,255,255,0.65)"
272
+ }
273
+ span HIIT
274
+ span ✦ {
275
+ style color="rgba(255,255,255,0.65)"
276
+ }
277
+ span Strength
278
+ span ✦ {
279
+ style color="rgba(255,255,255,0.65)" {
280
+ @--sm display=none
281
+ }
282
+ }
283
+ span Restorative {
284
+ style {
285
+ @--sm display=none
286
+ }
287
+ }
288
+ }
289
+ }
290
+ }
@@ -0,0 +1,78 @@
1
+ /- kdl-version 2
2
+
3
+ fs-hours {
4
+ state {
5
+ heading "Studio Hours"
6
+ weekdays "6:00am – 9:00pm"
7
+ saturday "7:00am – 2:00pm"
8
+ sunday "8:00am – 12:00pm"
9
+ note "Doors open 15 minutes before each class. Please arrive early to settle in."
10
+ }
11
+ style {
12
+ display block
13
+ backgroundColor "var(--color-ink)"
14
+ color "#ffffff"
15
+ borderRadius "var(--radius)"
16
+ padding "2.2rem"
17
+ overflow hidden
18
+ }
19
+ h3 "${state.heading}" {
20
+ style {
21
+ fontFamily "var(--font-display)"
22
+ fontSize "1.7rem"
23
+ fontWeight "400"
24
+ letterSpacing "0.01em"
25
+ textTransform uppercase
26
+ margin "0 0 1.35rem"
27
+ color "#ffffff"
28
+ }
29
+ }
30
+ div {
31
+ style {
32
+ display flex
33
+ justifyContent space-between
34
+ alignItems center
35
+ padding "0.7rem 0"
36
+ borderBottom "1px solid rgba(255,255,255,0.12)"
37
+ }
38
+ span "Mon – Fri" {
39
+ style fontWeight="600"
40
+ }
41
+ span "${state.weekdays}" {
42
+ style color="var(--color-ember)" fontWeight="700" fontFamily="var(--font-heading)"
43
+ }
44
+ }
45
+ div {
46
+ style {
47
+ display flex
48
+ justifyContent space-between
49
+ alignItems center
50
+ padding "0.7rem 0"
51
+ borderBottom "1px solid rgba(255,255,255,0.12)"
52
+ }
53
+ span Saturday {
54
+ style fontWeight="600"
55
+ }
56
+ span "${state.saturday}" {
57
+ style color="var(--color-ember)" fontWeight="700" fontFamily="var(--font-heading)"
58
+ }
59
+ }
60
+ div {
61
+ style display=flex justifyContent=space-between alignItems=center padding="0.7rem 0"
62
+ span Sunday {
63
+ style fontWeight="600"
64
+ }
65
+ span "${state.sunday}" {
66
+ style color="var(--color-ember)" fontWeight="700" fontFamily="var(--font-heading)"
67
+ }
68
+ }
69
+ p "${state.note}" {
70
+ style {
71
+ display "${state.note ? 'block' : 'none'}"
72
+ margin "1.35rem 0 0"
73
+ fontSize "0.85rem"
74
+ color "rgba(255,255,255,0.62)"
75
+ lineHeight "1.6"
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,104 @@
1
+ /- kdl-version 2
2
+
3
+ fs-instructor-card {
4
+ state {
5
+ name ""
6
+ specialty ""
7
+ bio ""
8
+ image type=string format=image default=""
9
+ }
10
+ style {
11
+ display flex
12
+ flexDirection column
13
+ height "100%"
14
+ backgroundColor "var(--color-bg-white)"
15
+ border "1px solid var(--color-border)"
16
+ borderRadius "var(--radius)"
17
+ overflow hidden
18
+ boxShadow "0 12px 34px -22px rgba(26,15,24,0.35)"
19
+ }
20
+ div {
21
+ style {
22
+ position relative
23
+ aspectRatio "4 / 5"
24
+ overflow hidden
25
+ backgroundColor "var(--duo-shadow)"
26
+ }
27
+ img src="${state.image}" alt="Portrait of ${state.name}" width="800" height="1000" loading=lazy {
28
+ style {
29
+ position absolute
30
+ inset "0"
31
+ width "100%"
32
+ height "100%"
33
+ objectFit cover
34
+ filter "grayscale(100%) contrast(1.02) brightness(1.2)"
35
+ }
36
+ }
37
+ div {
38
+ style {
39
+ position absolute
40
+ inset "0"
41
+ backgroundColor "var(--duo-shadow)"
42
+ mixBlendMode lighten
43
+ }
44
+ }
45
+ div {
46
+ style {
47
+ position absolute
48
+ inset "0"
49
+ background "linear-gradient(150deg, #ff2e63 0%, #ff8c42 100%)"
50
+ mixBlendMode multiply
51
+ opacity "0.72"
52
+ }
53
+ }
54
+ div {
55
+ style {
56
+ position absolute
57
+ inset "0"
58
+ background "linear-gradient(180deg, transparent 45%, rgba(20,6,16,0.72) 100%)"
59
+ }
60
+ }
61
+ div {
62
+ style position=absolute left="1.35rem" right="1.35rem" bottom="1.1rem"
63
+ div "${state.specialty}" {
64
+ style {
65
+ display "${state.specialty ? 'inline-block' : 'none'}"
66
+ marginBottom "0.5rem"
67
+ padding "0.28rem 0.7rem"
68
+ borderRadius "999px"
69
+ backgroundColor "rgba(255,255,255,0.92)"
70
+ color "var(--color-ink)"
71
+ fontFamily "var(--font-heading)"
72
+ fontSize "0.66rem"
73
+ fontWeight "800"
74
+ textTransform uppercase
75
+ letterSpacing "0.06em"
76
+ }
77
+ }
78
+ h3 "${state.name}" {
79
+ style {
80
+ margin "0"
81
+ fontFamily "var(--font-display)"
82
+ fontSize "1.9rem"
83
+ fontWeight "400"
84
+ lineHeight "0.95"
85
+ textTransform uppercase
86
+ color "#ffffff"
87
+ textShadow "0 4px 16px rgba(20,6,16,0.5)"
88
+ }
89
+ }
90
+ }
91
+ }
92
+ div {
93
+ style padding="1.4rem 1.5rem 1.6rem"
94
+ p "${state.bio}" {
95
+ style {
96
+ display "${state.bio ? 'block' : 'none'}"
97
+ margin "0"
98
+ color "var(--color-text-muted)"
99
+ fontSize "0.96rem"
100
+ lineHeight "1.65"
101
+ }
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,231 @@
1
+ /- kdl-version 2
2
+
3
+ fs-intro {
4
+ state {
5
+ kicker ""
6
+ image type=string format=image default=""
7
+ imageAlt ""
8
+ badge ""
9
+ stat1 ""
10
+ stat1label ""
11
+ stat2 ""
12
+ stat2label ""
13
+ stat3 ""
14
+ stat3label ""
15
+ }
16
+ style {
17
+ display block
18
+ padding "clamp(3.5rem, 8vw, 6.5rem) 1.5rem"
19
+ backgroundColor "var(--color-bg-white)"
20
+ }
21
+ div {
22
+ style {
23
+ maxWidth "var(--max-width)"
24
+ margin "0 auto"
25
+ display grid
26
+ gridTemplateColumns "0.95fr 1.05fr"
27
+ gap "clamp(2rem, 5vw, 4.5rem)"
28
+ alignItems center
29
+ @--md gridTemplateColumns="1fr" gap="2.5rem"
30
+ }
31
+ div {
32
+ style position=relative
33
+ div {
34
+ style {
35
+ position absolute
36
+ top "-1.1rem"
37
+ left "-1.1rem"
38
+ right "1.6rem"
39
+ bottom "1.6rem"
40
+ borderRadius "var(--radius)"
41
+ background "var(--grad)"
42
+ transform "rotate(-2.5deg)"
43
+ opacity "0.9"
44
+ @--sm display=none
45
+ }
46
+ }
47
+ div {
48
+ style {
49
+ position relative
50
+ borderRadius "var(--radius)"
51
+ overflow hidden
52
+ aspectRatio "4 / 5"
53
+ backgroundColor "var(--duo-shadow)"
54
+ boxShadow "0 30px 60px -28px rgba(26,15,24,0.5)"
55
+ }
56
+ img src="${state.image}" alt="${state.imageAlt}" width="1200" height="1500" loading=lazy {
57
+ style {
58
+ position absolute
59
+ inset "0"
60
+ width "100%"
61
+ height "100%"
62
+ objectFit cover
63
+ filter "grayscale(100%) contrast(1.08)"
64
+ }
65
+ }
66
+ div {
67
+ style {
68
+ position absolute
69
+ inset "0"
70
+ backgroundColor "var(--duo-shadow)"
71
+ mixBlendMode lighten
72
+ }
73
+ }
74
+ div {
75
+ style {
76
+ position absolute
77
+ inset "0"
78
+ background "linear-gradient(150deg, #ff2e63 0%, #ff8c42 100%)"
79
+ mixBlendMode multiply
80
+ opacity "0.85"
81
+ }
82
+ }
83
+ }
84
+ div {
85
+ style {
86
+ display "${state.badge ? 'flex' : 'none'}"
87
+ position absolute
88
+ bottom "-1.1rem"
89
+ right "-0.6rem"
90
+ alignItems center
91
+ gap "0.5rem"
92
+ padding "0.7rem 1.15rem"
93
+ borderRadius "999px"
94
+ backgroundColor "var(--color-ink)"
95
+ color "#ffffff"
96
+ fontFamily "var(--font-heading)"
97
+ fontWeight "700"
98
+ fontSize "0.82rem"
99
+ boxShadow "0 16px 34px -12px rgba(0,0,0,0.5)"
100
+ }
101
+ span {
102
+ style {
103
+ width "0.5rem"
104
+ height "0.5rem"
105
+ borderRadius "50%"
106
+ backgroundColor "#ffb03a"
107
+ }
108
+ }
109
+ span "${state.badge}"
110
+ }
111
+ }
112
+ div {
113
+ div {
114
+ style {
115
+ display "${state.kicker ? 'inline-flex' : 'none'}"
116
+ alignItems center
117
+ gap "0.55rem"
118
+ marginBottom "1.1rem"
119
+ }
120
+ span {
121
+ style {
122
+ width "1.6rem"
123
+ height "3px"
124
+ borderRadius "2px"
125
+ background "var(--grad-hot)"
126
+ }
127
+ }
128
+ span "${state.kicker}" {
129
+ style {
130
+ fontFamily "var(--font-heading)"
131
+ textTransform uppercase
132
+ letterSpacing "0.16em"
133
+ fontSize "0.78rem"
134
+ fontWeight "700"
135
+ color "var(--color-primary)"
136
+ }
137
+ }
138
+ }
139
+ div {
140
+ style fontSize="1.12rem" lineHeight="1.8" color="var(--color-text-primary)"
141
+ slot
142
+ }
143
+ div {
144
+ style {
145
+ display "${state.stat1 ? 'grid' : 'none'}"
146
+ gridTemplateColumns "repeat(3, auto)"
147
+ gap "clamp(1.25rem, 4vw, 2.5rem)"
148
+ marginTop "2.25rem"
149
+ paddingTop "1.75rem"
150
+ borderTop "1px solid var(--color-border)"
151
+ justifyContent start
152
+ @--sm gridTemplateColumns="repeat(3, 1fr)" gap="1rem"
153
+ }
154
+ div {
155
+ div "${state.stat1}" {
156
+ style {
157
+ fontFamily "var(--font-display)"
158
+ fontSize "clamp(1.9rem, 4vw, 2.6rem)"
159
+ lineHeight "1"
160
+ background "var(--grad-hot)"
161
+ backgroundClip text
162
+ webkitBackgroundClip text
163
+ webkitTextFillColor transparent
164
+ color "var(--color-primary)"
165
+ }
166
+ }
167
+ div "${state.stat1label}" {
168
+ style {
169
+ fontSize "0.8rem"
170
+ fontWeight "600"
171
+ color "var(--color-text-muted)"
172
+ marginTop "0.35rem"
173
+ textTransform uppercase
174
+ letterSpacing "0.04em"
175
+ }
176
+ }
177
+ }
178
+ div {
179
+ style display="${state.stat2 ? 'block' : 'none'}"
180
+ div "${state.stat2}" {
181
+ style {
182
+ fontFamily "var(--font-display)"
183
+ fontSize "clamp(1.9rem, 4vw, 2.6rem)"
184
+ lineHeight "1"
185
+ background "var(--grad-hot)"
186
+ backgroundClip text
187
+ webkitBackgroundClip text
188
+ webkitTextFillColor transparent
189
+ color "var(--color-primary)"
190
+ }
191
+ }
192
+ div "${state.stat2label}" {
193
+ style {
194
+ fontSize "0.8rem"
195
+ fontWeight "600"
196
+ color "var(--color-text-muted)"
197
+ marginTop "0.35rem"
198
+ textTransform uppercase
199
+ letterSpacing "0.04em"
200
+ }
201
+ }
202
+ }
203
+ div {
204
+ style display="${state.stat3 ? 'block' : 'none'}"
205
+ div "${state.stat3}" {
206
+ style {
207
+ fontFamily "var(--font-display)"
208
+ fontSize "clamp(1.9rem, 4vw, 2.6rem)"
209
+ lineHeight "1"
210
+ background "var(--grad-hot)"
211
+ backgroundClip text
212
+ webkitBackgroundClip text
213
+ webkitTextFillColor transparent
214
+ color "var(--color-primary)"
215
+ }
216
+ }
217
+ div "${state.stat3label}" {
218
+ style {
219
+ fontSize "0.8rem"
220
+ fontWeight "600"
221
+ color "var(--color-text-muted)"
222
+ marginTop "0.35rem"
223
+ textTransform uppercase
224
+ letterSpacing "0.04em"
225
+ }
226
+ }
227
+ }
228
+ }
229
+ }
230
+ }
231
+ }