@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,41 @@
1
+ /- kdl-version 2
2
+
3
+ re-feature {
4
+ state icon="" title="" text=""
5
+ style {
6
+ display block
7
+ padding "1.75rem"
8
+ backgroundColor "var(--color-bg-white)"
9
+ borderRadius "var(--radius)"
10
+ border "1px solid var(--color-border)"
11
+ transition "transform 0.2s, box-shadow 0.2s"
12
+ :hover transform="translateY(-3px)" boxShadow="var(--shadow-card)"
13
+ }
14
+ div "${state.icon}" {
15
+ style {
16
+ display inline-flex
17
+ alignItems center
18
+ justifyContent center
19
+ width "3rem"
20
+ height "3rem"
21
+ borderRadius "0.7rem"
22
+ backgroundColor "var(--color-teal-tint)"
23
+ border "1px solid var(--color-accent-soft)"
24
+ fontSize "1.4rem"
25
+ marginBottom "1.1rem"
26
+ lineHeight "1"
27
+ }
28
+ }
29
+ h3 "${state.title}" {
30
+ style {
31
+ fontFamily "var(--font-heading)"
32
+ fontSize "1.15rem"
33
+ fontWeight "700"
34
+ letterSpacing "-0.01em"
35
+ margin "0 0 0.5rem"
36
+ }
37
+ }
38
+ p "${state.text}" {
39
+ style margin="0" color="var(--color-text-muted)" fontSize="0.98rem" lineHeight="1.65"
40
+ }
41
+ }
@@ -0,0 +1,219 @@
1
+ /- kdl-version 2
2
+
3
+ re-footer {
4
+ state {
5
+ brand "Northshore Realty"
6
+ tagline "The north shore's property index — helping neighbors buy and sell since 2004."
7
+ address "45 Lakeshore Drive, Bayport"
8
+ phone "(555) 204-7788"
9
+ license "License #RE-0294187 · Equal Housing Opportunity"
10
+ }
11
+ style {
12
+ display block
13
+ backgroundColor "var(--color-bg-dark)"
14
+ color "var(--color-text-white)"
15
+ padding "clamp(3rem, 6vw, 4.5rem) 1.5rem 2rem"
16
+ }
17
+ div {
18
+ style {
19
+ maxWidth "var(--max-width)"
20
+ margin "0 auto"
21
+ display grid
22
+ gridTemplateColumns "2fr 1fr 1fr 1fr"
23
+ gap "2.5rem"
24
+ @--md gridTemplateColumns="1fr 1fr"
25
+ @--sm gridTemplateColumns="1fr"
26
+ }
27
+ div {
28
+ div {
29
+ style display=inline-flex alignItems=center gap="0.55rem" marginBottom="0.9rem"
30
+ span ⌂ {
31
+ style {
32
+ display inline-flex
33
+ alignItems center
34
+ justifyContent center
35
+ width "1.9rem"
36
+ height "1.9rem"
37
+ borderRadius "0.5rem"
38
+ background "linear-gradient(150deg, var(--color-accent-bright), var(--color-primary))"
39
+ color "var(--color-ink)"
40
+ fontSize "1rem"
41
+ }
42
+ }
43
+ span "${state.brand}" {
44
+ style {
45
+ fontFamily "var(--font-heading)"
46
+ fontSize "1.25rem"
47
+ fontWeight "800"
48
+ letterSpacing "-0.02em"
49
+ }
50
+ }
51
+ }
52
+ p "${state.tagline}" {
53
+ style {
54
+ margin "0 0 1.25rem"
55
+ color "rgba(255,255,255,0.6)"
56
+ maxWidth "36ch"
57
+ fontSize "0.95rem"
58
+ lineHeight "1.6"
59
+ }
60
+ }
61
+ a href="/listings/" {
62
+ style {
63
+ display inline-flex
64
+ alignItems center
65
+ gap "0.5rem"
66
+ padding "0.6rem 1.1rem"
67
+ borderRadius "999px"
68
+ border "1px solid rgba(255,255,255,0.2)"
69
+ color "var(--color-text-white)"
70
+ textDecoration none
71
+ fontWeight "700"
72
+ fontSize "0.9rem"
73
+ transition "border-color 0.15s, background-color 0.15s"
74
+ :hover {
75
+ borderColor "var(--color-accent-bright)"
76
+ backgroundColor "rgba(255,255,255,0.05)"
77
+ }
78
+ }
79
+ span ⌕ {
80
+ style color="var(--color-accent-bright)"
81
+ }
82
+ span "Search homes"
83
+ }
84
+ }
85
+ div {
86
+ div Explore {
87
+ style {
88
+ textTransform uppercase
89
+ letterSpacing "0.1em"
90
+ fontSize "0.72rem"
91
+ color "rgba(255,255,255,0.45)"
92
+ fontWeight "700"
93
+ marginBottom "0.9rem"
94
+ }
95
+ }
96
+ a href="/listings/" "All listings" {
97
+ style {
98
+ display block
99
+ color "rgba(255,255,255,0.82)"
100
+ textDecoration none
101
+ marginBottom "0.5rem"
102
+ fontSize "0.92rem"
103
+ transition "color 0.15s"
104
+ :hover color="var(--color-accent-bright)"
105
+ }
106
+ }
107
+ a href="/#neighborhoods" Neighborhoods {
108
+ style {
109
+ display block
110
+ color "rgba(255,255,255,0.82)"
111
+ textDecoration none
112
+ marginBottom "0.5rem"
113
+ fontSize "0.92rem"
114
+ transition "color 0.15s"
115
+ :hover color="var(--color-accent-bright)"
116
+ }
117
+ }
118
+ a href="/about/" "About us" {
119
+ style {
120
+ display block
121
+ color "rgba(255,255,255,0.82)"
122
+ textDecoration none
123
+ fontSize "0.92rem"
124
+ transition "color 0.15s"
125
+ :hover color="var(--color-accent-bright)"
126
+ }
127
+ }
128
+ }
129
+ div {
130
+ div Office {
131
+ style {
132
+ textTransform uppercase
133
+ letterSpacing "0.1em"
134
+ fontSize "0.72rem"
135
+ color "rgba(255,255,255,0.45)"
136
+ fontWeight "700"
137
+ marginBottom "0.9rem"
138
+ }
139
+ }
140
+ p "${state.address}" {
141
+ style margin="0 0 0.4rem" color="rgba(255,255,255,0.82)" fontSize="0.92rem"
142
+ }
143
+ a href=tel:+15552047788 "${state.phone}" {
144
+ style {
145
+ color "rgba(255,255,255,0.82)"
146
+ textDecoration none
147
+ fontSize "0.92rem"
148
+ fontVariantNumeric tabular-nums
149
+ transition "color 0.15s"
150
+ :hover color="var(--color-accent-bright)"
151
+ }
152
+ }
153
+ }
154
+ div {
155
+ div "Get started" {
156
+ style {
157
+ textTransform uppercase
158
+ letterSpacing "0.1em"
159
+ fontSize "0.72rem"
160
+ color "rgba(255,255,255,0.45)"
161
+ fontWeight "700"
162
+ marginBottom "0.9rem"
163
+ }
164
+ }
165
+ a href="/contact/" "Book a call" {
166
+ style {
167
+ display block
168
+ color "rgba(255,255,255,0.82)"
169
+ textDecoration none
170
+ marginBottom "0.5rem"
171
+ fontSize "0.92rem"
172
+ transition "color 0.15s"
173
+ :hover color="var(--color-accent-bright)"
174
+ }
175
+ }
176
+ a href="/contact/" "Sell your home" {
177
+ style {
178
+ display block
179
+ color "rgba(255,255,255,0.82)"
180
+ textDecoration none
181
+ marginBottom "0.5rem"
182
+ fontSize "0.92rem"
183
+ transition "color 0.15s"
184
+ :hover color="var(--color-accent-bright)"
185
+ }
186
+ }
187
+ a href="/contact/" "Set up alerts" {
188
+ style {
189
+ display block
190
+ color "rgba(255,255,255,0.82)"
191
+ textDecoration none
192
+ fontSize "0.92rem"
193
+ transition "color 0.15s"
194
+ :hover color="var(--color-accent-bright)"
195
+ }
196
+ }
197
+ }
198
+ }
199
+ div {
200
+ style {
201
+ maxWidth "var(--max-width)"
202
+ margin "2.75rem auto 0"
203
+ paddingTop "1.5rem"
204
+ borderTop "1px solid rgba(255,255,255,0.12)"
205
+ display flex
206
+ justifyContent space-between
207
+ flexWrap wrap
208
+ gap "0.75rem"
209
+ fontSize "0.82rem"
210
+ color "rgba(255,255,255,0.5)"
211
+ }
212
+ p "© Northshore Realty. Built with Jx." {
213
+ style margin="0"
214
+ }
215
+ p "${state.license}" {
216
+ style margin="0"
217
+ }
218
+ }
219
+ }
@@ -0,0 +1,367 @@
1
+ /- kdl-version 2
2
+
3
+ re-hero {
4
+ state {
5
+ eyebrow ""
6
+ heading ""
7
+ subheading ""
8
+ cta "Search homes"
9
+ ctaHref "/listings/"
10
+ bg type=string format=image default=""
11
+ }
12
+ style {
13
+ display block
14
+ position relative
15
+ overflow hidden
16
+ borderBottom "1px solid var(--color-border)"
17
+ backgroundColor "var(--color-bg-white)"
18
+ backgroundImage "linear-gradient(90deg, var(--color-bg-white) 0%, var(--color-bg-white) 38%, rgba(255,255,255,0.72) 52%, rgba(255,255,255,0.18) 72%, rgba(11,18,32,0.04) 100%), url('${state.bg}')"
19
+ backgroundSize "cover, cover"
20
+ backgroundPosition "center, right center"
21
+ backgroundRepeat no-repeat
22
+ @--md backgroundImage=none backgroundColor="var(--color-bg-cream)"
23
+ }
24
+ div {
25
+ style {
26
+ position relative
27
+ zIndex "2"
28
+ maxWidth "var(--max-width)"
29
+ margin "0 auto"
30
+ padding "clamp(3rem, 6vw, 5.5rem) 1.5rem clamp(3.5rem, 7vw, 6rem)"
31
+ display grid
32
+ gridTemplateColumns "1.02fr 0.98fr"
33
+ gap "clamp(2rem, 5vw, 4rem)"
34
+ alignItems center
35
+ @--md gridTemplateColumns="1fr" gap="2.25rem"
36
+ }
37
+ div {
38
+ p {
39
+ style {
40
+ display inline-flex
41
+ alignItems center
42
+ gap "0.55rem"
43
+ padding "0.4rem 0.85rem"
44
+ borderRadius "999px"
45
+ border "1px solid var(--color-border)"
46
+ backgroundColor "var(--color-bg-white)"
47
+ boxShadow "0 1px 2px rgba(15,23,42,0.04)"
48
+ fontSize "0.8rem"
49
+ fontWeight "600"
50
+ color "var(--color-text-secondary)"
51
+ margin "0 0 1.5rem"
52
+ }
53
+ span {
54
+ style {
55
+ width "0.5rem"
56
+ height "0.5rem"
57
+ borderRadius "999px"
58
+ backgroundColor "var(--color-accent-bright)"
59
+ boxShadow "0 0 0 3px var(--color-accent-soft)"
60
+ }
61
+ }
62
+ span "${state.eyebrow}"
63
+ }
64
+ h1 "${state.heading}" {
65
+ style {
66
+ fontFamily "var(--font-display)"
67
+ fontSize "clamp(2.6rem, 5.4vw, 4.3rem)"
68
+ fontWeight "500"
69
+ lineHeight "1.04"
70
+ letterSpacing "-0.02em"
71
+ margin "0 0 1.25rem"
72
+ color "var(--color-text-primary)"
73
+ maxWidth "14ch"
74
+ }
75
+ }
76
+ p "${state.subheading}" {
77
+ style {
78
+ fontSize "clamp(1.05rem, 1.6vw, 1.22rem)"
79
+ lineHeight "1.6"
80
+ color "var(--color-text-secondary)"
81
+ margin "0 0 2rem"
82
+ maxWidth "46ch"
83
+ }
84
+ }
85
+ div {
86
+ style display=flex alignItems=stretch gap="0" flexWrap=wrap
87
+ div {
88
+ style paddingRight="1.4rem"
89
+ div "20 yrs" {
90
+ style {
91
+ fontSize "1.55rem"
92
+ fontWeight "800"
93
+ letterSpacing "-0.02em"
94
+ color "var(--color-text-primary)"
95
+ fontVariantNumeric tabular-nums
96
+ }
97
+ }
98
+ div "on the north shore" {
99
+ style fontSize="0.82rem" color="var(--color-text-muted)" fontWeight="600"
100
+ }
101
+ }
102
+ div {
103
+ style padding="0 1.4rem" borderLeft="1px solid var(--color-border)"
104
+ div "1,400+" {
105
+ style {
106
+ fontSize "1.55rem"
107
+ fontWeight "800"
108
+ letterSpacing "-0.02em"
109
+ color "var(--color-text-primary)"
110
+ fontVariantNumeric tabular-nums
111
+ }
112
+ }
113
+ div "homes closed" {
114
+ style fontSize="0.82rem" color="var(--color-text-muted)" fontWeight="600"
115
+ }
116
+ }
117
+ div {
118
+ style padding="0 1.4rem" borderLeft="1px solid var(--color-border)"
119
+ div "98%" {
120
+ style {
121
+ fontSize "1.55rem"
122
+ fontWeight "800"
123
+ letterSpacing "-0.02em"
124
+ color "var(--color-primary)"
125
+ fontVariantNumeric tabular-nums
126
+ }
127
+ }
128
+ div "of asking price" {
129
+ style fontSize="0.82rem" color="var(--color-text-muted)" fontWeight="600"
130
+ }
131
+ }
132
+ }
133
+ }
134
+ form action="/listings/" method=get {
135
+ style {
136
+ backgroundColor "var(--color-bg-white)"
137
+ border "1px solid var(--color-border)"
138
+ borderRadius "var(--radius-lg)"
139
+ boxShadow "var(--shadow-float)"
140
+ padding "clamp(1.25rem, 2vw, 1.6rem)"
141
+ }
142
+ div {
143
+ style {
144
+ display flex
145
+ gap "0.35rem"
146
+ padding "0.3rem"
147
+ borderRadius "999px"
148
+ backgroundColor "var(--color-bg-tint)"
149
+ marginBottom "1.25rem"
150
+ }
151
+ span "For Sale" {
152
+ style {
153
+ flex "1"
154
+ textAlign center
155
+ padding "0.5rem 0.5rem"
156
+ borderRadius "999px"
157
+ backgroundColor "var(--color-bg-white)"
158
+ color "var(--color-text-primary)"
159
+ fontWeight "700"
160
+ fontSize "0.88rem"
161
+ boxShadow "0 1px 3px rgba(15,23,42,0.12)"
162
+ }
163
+ }
164
+ span "For Rent" {
165
+ style {
166
+ flex "1"
167
+ textAlign center
168
+ padding "0.5rem 0.5rem"
169
+ borderRadius "999px"
170
+ color "var(--color-text-muted)"
171
+ fontWeight "600"
172
+ fontSize "0.88rem"
173
+ }
174
+ }
175
+ span Sold {
176
+ style {
177
+ flex "1"
178
+ textAlign center
179
+ padding "0.5rem 0.5rem"
180
+ borderRadius "999px"
181
+ color "var(--color-text-muted)"
182
+ fontWeight "600"
183
+ fontSize "0.88rem"
184
+ }
185
+ }
186
+ }
187
+ label Location {
188
+ style {
189
+ display block
190
+ fontSize "0.72rem"
191
+ fontWeight "700"
192
+ textTransform uppercase
193
+ letterSpacing "0.1em"
194
+ color "var(--color-text-muted)"
195
+ marginBottom "0.5rem"
196
+ }
197
+ }
198
+ div {
199
+ style {
200
+ display flex
201
+ alignItems center
202
+ gap "0.5rem"
203
+ padding "0 0.85rem"
204
+ border "1px solid var(--color-border-strong)"
205
+ borderRadius "var(--radius-sm)"
206
+ backgroundColor "var(--color-bg-white)"
207
+ marginBottom "1rem"
208
+ }
209
+ span 📍 {
210
+ style color="var(--color-primary)" fontSize="1rem"
211
+ }
212
+ input type=text name=location placeholder="City, neighborhood, or ZIP" aria-label="Search by city, neighborhood, or ZIP" {
213
+ style {
214
+ flex "1"
215
+ border none
216
+ outline none
217
+ padding "0.8rem 0"
218
+ fontSize "0.98rem"
219
+ fontFamily inherit
220
+ color "var(--color-text-primary)"
221
+ backgroundColor transparent
222
+ minWidth "0"
223
+ }
224
+ }
225
+ }
226
+ div {
227
+ style {
228
+ display grid
229
+ gridTemplateColumns "repeat(3, 1fr)"
230
+ gap "0.6rem"
231
+ marginBottom "1.25rem"
232
+ @--sm gridTemplateColumns="1fr"
233
+ }
234
+ div {
235
+ label "Max price" {
236
+ style {
237
+ display block
238
+ fontSize "0.72rem"
239
+ fontWeight "700"
240
+ textTransform uppercase
241
+ letterSpacing "0.1em"
242
+ color "var(--color-text-muted)"
243
+ marginBottom "0.5rem"
244
+ }
245
+ }
246
+ select name=price aria-label="Maximum price" {
247
+ style {
248
+ width "100%"
249
+ border "1px solid var(--color-border-strong)"
250
+ borderRadius "var(--radius-sm)"
251
+ padding "0.72rem 0.7rem"
252
+ fontSize "0.92rem"
253
+ fontFamily inherit
254
+ fontWeight "600"
255
+ color "var(--color-text-primary)"
256
+ backgroundColor "var(--color-bg-white)"
257
+ cursor pointer
258
+ }
259
+ option value="" "Any price"
260
+ option value="400000" $400k
261
+ option value="700000" $700k
262
+ option value="1200000" $1.2M
263
+ }
264
+ }
265
+ div {
266
+ label Beds {
267
+ style {
268
+ display block
269
+ fontSize "0.72rem"
270
+ fontWeight "700"
271
+ textTransform uppercase
272
+ letterSpacing "0.1em"
273
+ color "var(--color-text-muted)"
274
+ marginBottom "0.5rem"
275
+ }
276
+ }
277
+ select name=beds aria-label="Minimum bedrooms" {
278
+ style {
279
+ width "100%"
280
+ border "1px solid var(--color-border-strong)"
281
+ borderRadius "var(--radius-sm)"
282
+ padding "0.72rem 0.7rem"
283
+ fontSize "0.92rem"
284
+ fontFamily inherit
285
+ fontWeight "600"
286
+ color "var(--color-text-primary)"
287
+ backgroundColor "var(--color-bg-white)"
288
+ cursor pointer
289
+ }
290
+ option value="" Any
291
+ option value="2" "2+"
292
+ option value="3" "3+"
293
+ option value="4" "4+"
294
+ }
295
+ }
296
+ div {
297
+ label Baths {
298
+ style {
299
+ display block
300
+ fontSize "0.72rem"
301
+ fontWeight "700"
302
+ textTransform uppercase
303
+ letterSpacing "0.1em"
304
+ color "var(--color-text-muted)"
305
+ marginBottom "0.5rem"
306
+ }
307
+ }
308
+ select name=baths aria-label="Minimum bathrooms" {
309
+ style {
310
+ width "100%"
311
+ border "1px solid var(--color-border-strong)"
312
+ borderRadius "var(--radius-sm)"
313
+ padding "0.72rem 0.7rem"
314
+ fontSize "0.92rem"
315
+ fontFamily inherit
316
+ fontWeight "600"
317
+ color "var(--color-text-primary)"
318
+ backgroundColor "var(--color-bg-white)"
319
+ cursor pointer
320
+ }
321
+ option value="" Any
322
+ option value="1" "1+"
323
+ option value="2" "2+"
324
+ option value="3" "3+"
325
+ }
326
+ }
327
+ }
328
+ button type=submit {
329
+ style {
330
+ display flex
331
+ alignItems center
332
+ justifyContent center
333
+ gap "0.55rem"
334
+ width "100%"
335
+ backgroundColor "var(--color-primary)"
336
+ color "var(--color-text-white)"
337
+ border none
338
+ padding "0.95rem 1.5rem"
339
+ borderRadius "var(--radius-sm)"
340
+ fontSize "1rem"
341
+ fontFamily inherit
342
+ fontWeight "700"
343
+ cursor pointer
344
+ boxShadow "0 12px 28px -12px rgba(15,118,110,0.7)"
345
+ transition "background-color 0.15s, transform 0.15s"
346
+ :hover backgroundColor="var(--color-primary-hover)" transform="translateY(-1px)"
347
+ }
348
+ span ⌕ {
349
+ style fontSize="1.05rem"
350
+ }
351
+ span "${state.cta}"
352
+ }
353
+ p {
354
+ style {
355
+ margin "1.05rem 0 0"
356
+ fontSize "0.82rem"
357
+ color "var(--color-text-muted)"
358
+ textAlign center
359
+ }
360
+ span "Popular: " {
361
+ style fontWeight="700" color="var(--color-text-secondary)"
362
+ }
363
+ span "Bayport · Maplewood · Lakeview · Harbor Hills"
364
+ }
365
+ }
366
+ }
367
+ }
@@ -0,0 +1,43 @@
1
+ /- kdl-version 2
2
+
3
+ re-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'}" position=relative
22
+ img src="${state.image}" alt="${state.imageAlt}" loading=lazy {
23
+ style {
24
+ width "100%"
25
+ height auto
26
+ borderRadius "var(--radius-lg)"
27
+ display block
28
+ border "1px solid var(--color-border)"
29
+ boxShadow "var(--shadow-card)"
30
+ }
31
+ }
32
+ }
33
+ div {
34
+ style {
35
+ order "${state.reverse ? '1' : '2'}"
36
+ fontSize "1.08rem"
37
+ lineHeight "1.75"
38
+ color "var(--color-text-secondary)"
39
+ }
40
+ slot
41
+ }
42
+ }
43
+ }