@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,311 @@
1
+ /- kdl-version 2
2
+
3
+ shp-hero {
4
+ state {
5
+ eyebrow "Featured build"
6
+ heading ""
7
+ subheading ""
8
+ price ""
9
+ oldPrice ""
10
+ badge ""
11
+ rating "4.9"
12
+ cta "Add to cart"
13
+ ctaHref "/products/"
14
+ cta2 "Shop all bikes"
15
+ cta2Href "/products/"
16
+ imageAlt "Featured bike"
17
+ image type=string format=image default=""
18
+ }
19
+ style {
20
+ display block
21
+ position relative
22
+ overflow hidden
23
+ borderBottom "1px solid var(--color-border)"
24
+ backgroundColor "var(--color-bg-cream)"
25
+ backgroundImage "radial-gradient(circle at 82% 12%, rgba(38,208,124,0.16), transparent 46%), radial-gradient(circle at 8% 90%, rgba(13,17,23,0.05), transparent 40%)"
26
+ }
27
+ div {
28
+ style {
29
+ position absolute
30
+ inset "0"
31
+ backgroundImage "radial-gradient(circle, rgba(13,17,23,0.05) 1px, transparent 1px)"
32
+ backgroundSize "26px 26px"
33
+ opacity "0.5"
34
+ pointerEvents none
35
+ }
36
+ }
37
+ div {
38
+ style {
39
+ position relative
40
+ zIndex "2"
41
+ maxWidth "var(--max-width)"
42
+ margin "0 auto"
43
+ padding "clamp(2.75rem, 6vw, 5rem) 1.5rem clamp(3rem, 6vw, 5.5rem)"
44
+ display grid
45
+ gridTemplateColumns "1.02fr 0.98fr"
46
+ gap "clamp(2rem, 5vw, 4rem)"
47
+ alignItems center
48
+ @--md gridTemplateColumns="1fr" gap="2.5rem"
49
+ }
50
+ div {
51
+ p {
52
+ style {
53
+ display inline-flex
54
+ alignItems center
55
+ gap "0.5rem"
56
+ padding "0.38rem 0.85rem 0.38rem 0.7rem"
57
+ borderRadius "999px"
58
+ backgroundColor "var(--color-ink)"
59
+ color "var(--color-text-white)"
60
+ fontSize "0.72rem"
61
+ fontWeight "700"
62
+ textTransform uppercase
63
+ letterSpacing "0.12em"
64
+ margin "0 0 1.5rem"
65
+ }
66
+ span {
67
+ style {
68
+ width "0.45rem"
69
+ height "0.45rem"
70
+ borderRadius "999px"
71
+ backgroundColor "var(--color-brand-bright)"
72
+ }
73
+ }
74
+ span "${state.eyebrow}"
75
+ }
76
+ h1 "${state.heading}" {
77
+ style {
78
+ fontFamily "var(--font-heading)"
79
+ fontSize "clamp(2.7rem, 6vw, 4.6rem)"
80
+ fontWeight "800"
81
+ lineHeight "0.98"
82
+ letterSpacing "-0.035em"
83
+ margin "0 0 1.25rem"
84
+ color "var(--color-text-primary)"
85
+ maxWidth "13ch"
86
+ }
87
+ }
88
+ p "${state.subheading}" {
89
+ style {
90
+ fontSize "clamp(1.05rem, 1.6vw, 1.22rem)"
91
+ lineHeight "1.6"
92
+ color "var(--color-text-secondary)"
93
+ margin "0 0 1.85rem"
94
+ maxWidth "44ch"
95
+ }
96
+ }
97
+ div {
98
+ style {
99
+ display flex
100
+ alignItems baseline
101
+ gap "0.85rem"
102
+ marginBottom "1.75rem"
103
+ flexWrap wrap
104
+ }
105
+ span "${state.price}" {
106
+ style {
107
+ fontFamily "var(--font-heading)"
108
+ fontSize "clamp(2rem, 3.5vw, 2.7rem)"
109
+ fontWeight "800"
110
+ letterSpacing "-0.02em"
111
+ color "var(--color-text-primary)"
112
+ fontVariantNumeric tabular-nums
113
+ }
114
+ }
115
+ span "${state.oldPrice}" {
116
+ style {
117
+ display "${state.oldPrice ? 'inline' : 'none'}"
118
+ fontSize "1.25rem"
119
+ fontWeight "600"
120
+ color "var(--color-text-muted)"
121
+ textDecoration line-through
122
+ fontVariantNumeric tabular-nums
123
+ }
124
+ }
125
+ span {
126
+ style {
127
+ display inline-flex
128
+ alignItems center
129
+ gap "0.35rem"
130
+ padding "0.3rem 0.7rem"
131
+ borderRadius "999px"
132
+ backgroundColor "var(--color-gold-tint)"
133
+ color "var(--color-gold)"
134
+ fontSize "0.75rem"
135
+ fontWeight "800"
136
+ textTransform uppercase
137
+ letterSpacing "0.05em"
138
+ }
139
+ span "★ "
140
+ span "${state.rating} rider rating"
141
+ }
142
+ }
143
+ div {
144
+ style display=flex gap="0.75rem" flexWrap=wrap
145
+ a href="${state.ctaHref}" {
146
+ style {
147
+ display inline-flex
148
+ alignItems center
149
+ gap "0.5rem"
150
+ backgroundColor "var(--color-primary)"
151
+ color "var(--color-text-white)"
152
+ padding "0.95rem 2rem"
153
+ borderRadius "999px"
154
+ fontSize "1.02rem"
155
+ fontWeight "700"
156
+ textDecoration none
157
+ boxShadow "0 14px 30px -12px rgba(10,157,84,0.75)"
158
+ transition "transform 0.15s, background-color 0.15s"
159
+ :hover {
160
+ backgroundColor "var(--color-primary-hover)"
161
+ transform "translateY(-2px)"
162
+ }
163
+ }
164
+ span "${state.cta}"
165
+ span →
166
+ }
167
+ a href="${state.cta2Href}" "${state.cta2}" {
168
+ style {
169
+ display "${state.cta2 ? 'inline-flex' : 'none'}"
170
+ alignItems center
171
+ border "1px solid var(--color-line-strong)"
172
+ backgroundColor "var(--color-bg-white)"
173
+ color "var(--color-text-primary)"
174
+ padding "0.95rem 1.75rem"
175
+ borderRadius "999px"
176
+ fontSize "1.02rem"
177
+ fontWeight "700"
178
+ textDecoration none
179
+ transition "border-color 0.15s"
180
+ :hover borderColor="var(--color-primary)"
181
+ }
182
+ }
183
+ }
184
+ div {
185
+ style {
186
+ display flex
187
+ alignItems center
188
+ gap "1.25rem"
189
+ marginTop "1.75rem"
190
+ flexWrap wrap
191
+ fontSize "0.86rem"
192
+ fontWeight "600"
193
+ color "var(--color-text-muted)"
194
+ }
195
+ span {
196
+ style display=inline-flex alignItems=center gap="0.4rem"
197
+ span ✓ {
198
+ style color="var(--color-primary)"
199
+ }
200
+ span "Free shipping over $50"
201
+ }
202
+ span {
203
+ style display=inline-flex alignItems=center gap="0.4rem"
204
+ span ✓ {
205
+ style color="var(--color-primary)"
206
+ }
207
+ span "Fitted in-store, ready to ride"
208
+ }
209
+ }
210
+ }
211
+ div {
212
+ style position=relative
213
+ div {
214
+ style {
215
+ position absolute
216
+ inset "8% -4% -6% 10%"
217
+ borderRadius "var(--radius-lg)"
218
+ background "linear-gradient(150deg, var(--color-brand-bright), var(--color-primary))"
219
+ opacity "0.16"
220
+ filter "blur(6px)"
221
+ }
222
+ }
223
+ div {
224
+ style {
225
+ position relative
226
+ borderRadius "var(--radius-lg)"
227
+ overflow hidden
228
+ backgroundColor "var(--color-bg-white)"
229
+ border "1px solid var(--color-border)"
230
+ boxShadow "var(--shadow-float)"
231
+ }
232
+ div {
233
+ style position=relative aspectRatio="4 / 3" backgroundColor="var(--color-panel)"
234
+ img src="${state.image}" alt="${state.imageAlt}" loading=eager {
235
+ style {
236
+ position absolute
237
+ inset "0"
238
+ width "100%"
239
+ height "100%"
240
+ objectFit cover
241
+ display block
242
+ }
243
+ }
244
+ span {
245
+ style {
246
+ display "${state.badge ? 'inline-flex' : 'none'}"
247
+ position absolute
248
+ top "1rem"
249
+ left "1rem"
250
+ alignItems center
251
+ gap "0.35rem"
252
+ padding "0.4rem 0.8rem"
253
+ borderRadius "999px"
254
+ backgroundColor "var(--color-gold)"
255
+ color "var(--color-text-white)"
256
+ fontSize "0.74rem"
257
+ fontWeight "800"
258
+ textTransform uppercase
259
+ letterSpacing "0.06em"
260
+ boxShadow "0 8px 20px -8px rgba(232,137,12,0.7)"
261
+ }
262
+ span "★ "
263
+ span "${state.badge}"
264
+ }
265
+ }
266
+ div {
267
+ style {
268
+ display flex
269
+ alignItems center
270
+ justifyContent space-between
271
+ gap "1rem"
272
+ padding "1.15rem 1.35rem"
273
+ }
274
+ div {
275
+ div "In stock now" {
276
+ style {
277
+ fontSize "0.72rem"
278
+ fontWeight "700"
279
+ textTransform uppercase
280
+ letterSpacing "0.1em"
281
+ color "var(--color-primary)"
282
+ }
283
+ }
284
+ div "Ships assembled" {
285
+ style {
286
+ fontFamily "var(--font-heading)"
287
+ fontSize "1.15rem"
288
+ fontWeight "700"
289
+ color "var(--color-text-primary)"
290
+ marginTop "0.15rem"
291
+ }
292
+ }
293
+ }
294
+ span 🚲 {
295
+ style {
296
+ display inline-flex
297
+ alignItems center
298
+ justifyContent center
299
+ width "2.6rem"
300
+ height "2.6rem"
301
+ borderRadius "999px"
302
+ backgroundColor "var(--color-brand-tint)"
303
+ color "var(--color-primary)"
304
+ fontSize "1.2rem"
305
+ }
306
+ }
307
+ }
308
+ }
309
+ }
310
+ }
311
+ }
@@ -0,0 +1,42 @@
1
+ /- kdl-version 2
2
+
3
+ shp-intro {
4
+ state {
5
+ image type=string format=image default=""
6
+ imageAlt ""
7
+ reverse #false
8
+ }
9
+ style display=block padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"
10
+ div {
11
+ style {
12
+ maxWidth "var(--max-width)"
13
+ margin "0 auto"
14
+ display grid
15
+ gridTemplateColumns "1fr 1fr"
16
+ gap "clamp(2rem, 5vw, 4rem)"
17
+ alignItems center
18
+ @--md gridTemplateColumns="1fr"
19
+ }
20
+ div {
21
+ style order="${state.reverse ? '2' : '1'}"
22
+ img src="${state.image}" alt="${state.imageAlt}" loading=lazy {
23
+ style {
24
+ width "100%"
25
+ height auto
26
+ borderRadius "var(--radius)"
27
+ display block
28
+ boxShadow "0 12px 40px rgba(15,23,42,0.14)"
29
+ }
30
+ }
31
+ }
32
+ div {
33
+ style {
34
+ order "${state.reverse ? '1' : '2'}"
35
+ fontSize "1.08rem"
36
+ lineHeight "1.8"
37
+ color "var(--color-text-primary)"
38
+ }
39
+ slot
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,273 @@
1
+ /- kdl-version 2
2
+
3
+ shp-nav {
4
+ state brand=Cadence cartCount="2"
5
+ style display=block position=sticky top="0" zIndex="50"
6
+ div {
7
+ style backgroundColor="var(--color-bg-dark)" color="var(--color-text-white)"
8
+ div {
9
+ style {
10
+ maxWidth "var(--max-width)"
11
+ margin "0 auto"
12
+ padding "0.5rem 1.5rem"
13
+ display flex
14
+ alignItems center
15
+ justifyContent center
16
+ gap "1.4rem"
17
+ fontSize "0.72rem"
18
+ fontWeight "600"
19
+ textTransform uppercase
20
+ letterSpacing "0.14em"
21
+ }
22
+ span {
23
+ style {
24
+ display inline-flex
25
+ alignItems center
26
+ gap "0.5rem"
27
+ color "var(--color-brand-bright)"
28
+ }
29
+ span {
30
+ style {
31
+ width "0.42rem"
32
+ height "0.42rem"
33
+ borderRadius "999px"
34
+ backgroundColor "var(--color-brand-bright)"
35
+ boxShadow "0 0 0 3px rgba(38,208,124,0.22)"
36
+ }
37
+ }
38
+ span "Free shipping over $50"
39
+ }
40
+ span • {
41
+ style opacity="0.32" {
42
+ @--sm display=none
43
+ }
44
+ }
45
+ span "Free first tune-up on every new bike" {
46
+ style opacity="0.82" {
47
+ @--sm display=none
48
+ }
49
+ }
50
+ span • {
51
+ style opacity="0.32" {
52
+ @--md display=none
53
+ }
54
+ }
55
+ span "48-hour service turnaround" {
56
+ style opacity="0.82" {
57
+ @--md display=none
58
+ }
59
+ }
60
+ }
61
+ }
62
+ div {
63
+ style {
64
+ backgroundColor "rgba(255,255,255,0.92)"
65
+ backdropFilter "blur(12px)"
66
+ borderBottom "1px solid var(--color-border)"
67
+ }
68
+ div {
69
+ style {
70
+ maxWidth "var(--max-width)"
71
+ margin "0 auto"
72
+ padding "0.85rem 1.5rem"
73
+ display flex
74
+ alignItems center
75
+ gap "1.5rem"
76
+ }
77
+ a href="/" aria-label="Cadence Cycles home" {
78
+ style {
79
+ display inline-flex
80
+ alignItems center
81
+ gap "0.6rem"
82
+ textDecoration none
83
+ flexShrink "0"
84
+ }
85
+ span ◎ {
86
+ style {
87
+ display inline-flex
88
+ alignItems center
89
+ justifyContent center
90
+ width "2.15rem"
91
+ height "2.15rem"
92
+ borderRadius "0.6rem"
93
+ background "linear-gradient(150deg, var(--color-brand-bright), var(--color-primary))"
94
+ color "var(--color-text-white)"
95
+ fontSize "1.2rem"
96
+ fontWeight "800"
97
+ boxShadow "0 8px 18px -8px rgba(10,157,84,0.7)"
98
+ }
99
+ }
100
+ span {
101
+ style display=flex flexDirection=column lineHeight="1"
102
+ span "${state.brand}" {
103
+ style {
104
+ fontFamily "var(--font-heading)"
105
+ fontSize "1.28rem"
106
+ fontWeight "800"
107
+ letterSpacing "-0.03em"
108
+ color "var(--color-text-primary)"
109
+ }
110
+ }
111
+ span "Cycles Co." {
112
+ style {
113
+ fontSize "0.58rem"
114
+ fontWeight "700"
115
+ letterSpacing "0.28em"
116
+ textTransform uppercase
117
+ color "var(--color-primary)"
118
+ marginTop "0.24rem"
119
+ }
120
+ }
121
+ }
122
+ }
123
+ nav {
124
+ style display=flex alignItems=center gap="1.35rem" {
125
+ @--lg display=none
126
+ }
127
+ a href="/products/" Road {
128
+ style {
129
+ color "var(--color-text-secondary)"
130
+ textDecoration none
131
+ fontWeight "600"
132
+ fontSize "0.9rem"
133
+ transition "color 0.15s"
134
+ :hover color="var(--color-primary)"
135
+ }
136
+ }
137
+ a href="/products/" Mountain {
138
+ style {
139
+ color "var(--color-text-secondary)"
140
+ textDecoration none
141
+ fontWeight "600"
142
+ fontSize "0.9rem"
143
+ transition "color 0.15s"
144
+ :hover color="var(--color-primary)"
145
+ }
146
+ }
147
+ a href="/products/" Gravel {
148
+ style {
149
+ color "var(--color-text-secondary)"
150
+ textDecoration none
151
+ fontWeight "600"
152
+ fontSize "0.9rem"
153
+ transition "color 0.15s"
154
+ :hover color="var(--color-primary)"
155
+ }
156
+ }
157
+ a href="/products/" Kids {
158
+ style {
159
+ color "var(--color-text-secondary)"
160
+ textDecoration none
161
+ fontWeight "600"
162
+ fontSize "0.9rem"
163
+ transition "color 0.15s"
164
+ :hover color="var(--color-primary)"
165
+ }
166
+ }
167
+ a href="/products/" Sale {
168
+ style {
169
+ display inline-flex
170
+ alignItems center
171
+ gap "0.35rem"
172
+ color "var(--color-sale)"
173
+ textDecoration none
174
+ fontWeight "700"
175
+ fontSize "0.9rem"
176
+ transition "opacity 0.15s"
177
+ :hover opacity="0.75"
178
+ }
179
+ }
180
+ }
181
+ label {
182
+ style {
183
+ marginLeft auto
184
+ display flex
185
+ alignItems center
186
+ gap "0.55rem"
187
+ flex "0 1 320px"
188
+ padding "0 0.9rem"
189
+ height "2.5rem"
190
+ borderRadius "999px"
191
+ backgroundColor "var(--color-bg-cream)"
192
+ border "1px solid var(--color-border)"
193
+ transition "border-color 0.15s"
194
+ @--md display=none
195
+ :focus-within borderColor="var(--color-primary)"
196
+ }
197
+ span ⌕ {
198
+ style color="var(--color-text-muted)" fontSize="0.95rem"
199
+ }
200
+ input type=search name=q placeholder="Search bikes, gear…" aria-label="Search products" {
201
+ style {
202
+ flex "1"
203
+ minWidth "0"
204
+ border none
205
+ outline none
206
+ background transparent
207
+ fontFamily inherit
208
+ fontSize "0.9rem"
209
+ color "var(--color-text-primary)"
210
+ }
211
+ }
212
+ }
213
+ a href="/products/" aria-label="Search products" ⌕ {
214
+ style {
215
+ display none
216
+ marginLeft auto
217
+ alignItems center
218
+ justifyContent center
219
+ width "2.5rem"
220
+ height "2.5rem"
221
+ borderRadius "999px"
222
+ border "1px solid var(--color-border)"
223
+ color "var(--color-text-primary)"
224
+ textDecoration none
225
+ fontSize "1.05rem"
226
+ @--md display=inline-flex
227
+ }
228
+ }
229
+ a href="/contact/" aria-label="View cart" {
230
+ style {
231
+ position relative
232
+ display inline-flex
233
+ alignItems center
234
+ gap "0.55rem"
235
+ flexShrink "0"
236
+ padding "0.55rem 1.1rem 0.55rem 0.95rem"
237
+ borderRadius "999px"
238
+ backgroundColor "var(--color-ink)"
239
+ color "var(--color-text-white)"
240
+ textDecoration none
241
+ fontWeight "700"
242
+ fontSize "0.9rem"
243
+ transition "transform 0.15s, background-color 0.15s"
244
+ :hover transform="translateY(-1px)" backgroundColor="#000000"
245
+ }
246
+ span 🛒 {
247
+ style fontSize="1.1rem"
248
+ }
249
+ span Cart {
250
+ style {
251
+ @--sm display=none
252
+ }
253
+ }
254
+ span "${state.cartCount}" {
255
+ style {
256
+ display inline-flex
257
+ alignItems center
258
+ justifyContent center
259
+ minWidth "1.25rem"
260
+ height "1.25rem"
261
+ padding "0 0.35rem"
262
+ borderRadius "999px"
263
+ backgroundColor "var(--color-brand-bright)"
264
+ color "var(--color-ink)"
265
+ fontSize "0.72rem"
266
+ fontWeight "800"
267
+ fontVariantNumeric tabular-nums
268
+ }
269
+ }
270
+ }
271
+ }
272
+ }
273
+ }