@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,53 @@
1
+ /- kdl-version 2
2
+
3
+ pv-about-split {
4
+ state {
5
+ image type=string format=image default=""
6
+ imageAlt ""
7
+ reverse #false
8
+ }
9
+ style display=block padding="clamp(4rem, 10vw, 8rem) clamp(1.5rem, 4vw, 4rem)"
10
+ div {
11
+ style {
12
+ maxWidth "var(--max-width)"
13
+ margin "0 auto"
14
+ display grid
15
+ gridTemplateColumns "6fr 5fr"
16
+ gap "clamp(2.5rem, 6vw, 6rem)"
17
+ alignItems center
18
+ @--md gridTemplateColumns="1fr" gap="2.5rem"
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
+ aspectRatio "4 / 5"
26
+ objectFit cover
27
+ display block
28
+ filter "grayscale(0.15)"
29
+ }
30
+ }
31
+ span {
32
+ style {
33
+ position absolute
34
+ top "1rem"
35
+ left "1rem"
36
+ right "1rem"
37
+ bottom "1rem"
38
+ border "1px solid rgba(200, 164, 92, 0.4)"
39
+ pointerEvents none
40
+ }
41
+ }
42
+ }
43
+ div {
44
+ style {
45
+ order "${state.reverse ? '1' : '2'}"
46
+ fontSize "1.1rem"
47
+ lineHeight "1.85"
48
+ color "var(--color-text-muted)"
49
+ }
50
+ slot
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,19 @@
1
+ /- kdl-version 2
2
+
3
+ pv-category-pill {
4
+ state label=""
5
+ style {
6
+ display inline-block
7
+ padding "0.4rem 1rem"
8
+ border "1px solid var(--color-line)"
9
+ borderRadius "999px"
10
+ fontSize "0.68rem"
11
+ fontWeight "600"
12
+ letterSpacing "0.16em"
13
+ textTransform uppercase
14
+ color "var(--color-text-muted)"
15
+ transition "border-color 0.15s, color 0.15s"
16
+ :hover borderColor="var(--color-primary)" color="var(--color-primary)"
17
+ }
18
+ span "${state.label}"
19
+ }
@@ -0,0 +1,72 @@
1
+ /- kdl-version 2
2
+
3
+ pv-contact-form {
4
+ state heading="Project inquiry"
5
+ style display=block {
6
+ "& input" {
7
+ width "100%"
8
+ padding "0.85rem 1rem"
9
+ border "1px solid var(--color-line)"
10
+ backgroundColor "var(--color-bg-elev)"
11
+ color "var(--color-text-primary)"
12
+ borderRadius "0"
13
+ fontSize "1rem"
14
+ fontFamily inherit
15
+ outline none
16
+ }
17
+ "& input:focus" borderColor="var(--color-primary)"
18
+ "& textarea:focus" borderColor="var(--color-primary)"
19
+ }
20
+ h3 "${state.heading}" {
21
+ style {
22
+ fontFamily "var(--font-heading)"
23
+ fontSize "1.9rem"
24
+ fontWeight "500"
25
+ margin "0 0 1.5rem"
26
+ color "var(--color-text-primary)"
27
+ }
28
+ }
29
+ form action="#" method=post {
30
+ style display=grid gap="1rem" alignContent=start
31
+ input type=text name=name placeholder="Your name" required="true" aria-label="Your name"
32
+ input type=email name=email placeholder="Email address" required="true" aria-label="Email address"
33
+ div {
34
+ style display=grid gridTemplateColumns="1fr 1fr" gap="1rem"
35
+ input type=text name=type placeholder="Type of project" aria-label="Type of project"
36
+ input type=date name=date aria-label="Preferred date"
37
+ }
38
+ textarea name=notes rows="4" placeholder="Tell us about the shoot…" aria-label="Project details" {
39
+ style {
40
+ width "100%"
41
+ padding "0.85rem 1rem"
42
+ border "1px solid var(--color-line)"
43
+ backgroundColor "var(--color-bg-elev)"
44
+ color "var(--color-text-primary)"
45
+ borderRadius "0"
46
+ fontSize "1rem"
47
+ fontFamily inherit
48
+ outline none
49
+ }
50
+ }
51
+ button type=submit "Send Inquiry →" {
52
+ style {
53
+ backgroundColor "var(--color-primary)"
54
+ color "var(--color-bg)"
55
+ padding "0.9rem 1.75rem"
56
+ border none
57
+ borderRadius "0"
58
+ fontSize "0.8rem"
59
+ fontWeight "700"
60
+ letterSpacing "0.14em"
61
+ textTransform uppercase
62
+ cursor pointer
63
+ justifySelf start
64
+ transition "background-color 0.15s"
65
+ :hover backgroundColor="var(--color-primary-hover)"
66
+ }
67
+ }
68
+ p "Demo form — wire it to your booking provider or email in pages/contact.md." {
69
+ style fontSize="0.85rem" color="var(--color-text-muted)" margin="0"
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,62 @@
1
+ /- kdl-version 2
2
+
3
+ pv-cta {
4
+ state heading="" text="" cta="Start a Project" ctaHref="/contact/"
5
+ style {
6
+ display block
7
+ backgroundColor "var(--color-bg-elev)"
8
+ borderTop "1px solid var(--color-line)"
9
+ color "var(--color-text-white)"
10
+ padding "clamp(5rem, 12vw, 9rem) 1.5rem"
11
+ textAlign center
12
+ }
13
+ div {
14
+ style maxWidth="760px" margin="0 auto"
15
+ p "Commissions open" {
16
+ style {
17
+ textTransform uppercase
18
+ letterSpacing "0.28em"
19
+ fontSize "0.7rem"
20
+ fontWeight "500"
21
+ color "var(--color-primary)"
22
+ margin "0 0 1.5rem"
23
+ }
24
+ }
25
+ h2 "${state.heading}" {
26
+ style {
27
+ fontFamily "var(--font-heading)"
28
+ fontSize "clamp(2.5rem, 6vw, 4.5rem)"
29
+ fontWeight "400"
30
+ lineHeight "1.04"
31
+ letterSpacing "-0.01em"
32
+ margin "0 0 1.5rem"
33
+ }
34
+ }
35
+ p "${state.text}" {
36
+ style {
37
+ fontSize "1.15rem"
38
+ lineHeight "1.75"
39
+ color "var(--color-text-muted)"
40
+ margin "0 auto 2.5rem"
41
+ maxWidth "48ch"
42
+ }
43
+ }
44
+ a href="${state.ctaHref}" "${state.cta} →" {
45
+ style {
46
+ display inline-flex
47
+ alignItems center
48
+ gap "0.7rem"
49
+ color "var(--color-text-white)"
50
+ fontSize "0.8rem"
51
+ fontWeight "600"
52
+ textTransform uppercase
53
+ letterSpacing "0.2em"
54
+ textDecoration none
55
+ borderBottom "1px solid var(--color-primary)"
56
+ paddingBottom "0.5rem"
57
+ transition "gap 0.2s, color 0.15s"
58
+ :hover gap="1.2rem" color="var(--color-primary)"
59
+ }
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,28 @@
1
+ /- kdl-version 2
2
+
3
+ pv-feature {
4
+ state number="" title="" text=""
5
+ style display=block paddingTop="1.75rem" borderTop="2px solid var(--color-ink)"
6
+ div "${state.number}" {
7
+ style {
8
+ display "${state.number ? 'block' : 'none'}"
9
+ fontFamily "var(--font-heading)"
10
+ fontSize "1.4rem"
11
+ fontWeight "600"
12
+ color "var(--color-primary)"
13
+ marginBottom "0.75rem"
14
+ lineHeight "1"
15
+ }
16
+ }
17
+ h3 "${state.title}" {
18
+ style {
19
+ fontFamily "var(--font-heading)"
20
+ fontSize "1.4rem"
21
+ fontWeight "600"
22
+ margin "0 0 0.5rem"
23
+ }
24
+ }
25
+ p "${state.text}" {
26
+ style margin="0" color="var(--color-text-muted)" fontSize="1rem" lineHeight="1.7"
27
+ }
28
+ }
@@ -0,0 +1,113 @@
1
+ /- kdl-version 2
2
+
3
+ pv-footer {
4
+ state {
5
+ brand "Aperture Studio"
6
+ tagline "Available light, unhurried days, prints worth keeping."
7
+ email hello@aperturestudio.example
8
+ phone "(555) 204-7788"
9
+ }
10
+ style {
11
+ display block
12
+ backgroundColor "var(--color-bg)"
13
+ borderTop "1px solid var(--color-line)"
14
+ padding "clamp(3.5rem, 8vw, 5.5rem) clamp(1.5rem, 4vw, 4rem) 2.5rem"
15
+ }
16
+ div {
17
+ style {
18
+ maxWidth "var(--max-width)"
19
+ margin "0 auto"
20
+ display flex
21
+ alignItems flex-end
22
+ justifyContent space-between
23
+ gap "2.5rem"
24
+ flexWrap wrap
25
+ }
26
+ div {
27
+ div "${state.brand}" {
28
+ style {
29
+ fontFamily "var(--font-heading)"
30
+ fontWeight "400"
31
+ fontSize "clamp(2.4rem, 6vw, 4rem)"
32
+ lineHeight "1"
33
+ letterSpacing "-0.01em"
34
+ margin "0 0 0.75rem"
35
+ color "var(--color-text-primary)"
36
+ }
37
+ }
38
+ p "${state.tagline}" {
39
+ style {
40
+ margin "0"
41
+ fontFamily "var(--font-heading)"
42
+ fontStyle italic
43
+ fontSize "1.15rem"
44
+ color "var(--color-text-muted)"
45
+ }
46
+ }
47
+ }
48
+ div {
49
+ style display=flex flexDirection=column gap="0.6rem" textAlign=right {
50
+ @--sm textAlign=left
51
+ }
52
+ a href="mailto:${state.email}" "${state.email}" {
53
+ style {
54
+ color "var(--color-text-primary)"
55
+ textDecoration none
56
+ fontSize "0.82rem"
57
+ letterSpacing "0.04em"
58
+ transition "color 0.15s"
59
+ :hover color="var(--color-primary)"
60
+ }
61
+ }
62
+ span "${state.phone}" {
63
+ style color="var(--color-text-muted)" fontSize="0.82rem" letterSpacing="0.04em"
64
+ }
65
+ nav {
66
+ style {
67
+ display flex
68
+ gap "1.5rem"
69
+ justifyContent flex-end
70
+ marginTop "0.5rem"
71
+ fontSize "0.68rem"
72
+ fontWeight "600"
73
+ textTransform uppercase
74
+ letterSpacing "0.18em"
75
+ @--sm justifyContent=flex-start
76
+ }
77
+ a href="/work/" Work {
78
+ style color="var(--color-text-muted)" textDecoration=none {
79
+ :hover color="var(--color-primary)"
80
+ }
81
+ }
82
+ a href="/about/" About {
83
+ style color="var(--color-text-muted)" textDecoration=none {
84
+ :hover color="var(--color-primary)"
85
+ }
86
+ }
87
+ a href="/contact/" Contact {
88
+ style color="var(--color-text-muted)" textDecoration=none {
89
+ :hover color="var(--color-primary)"
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ div {
96
+ style {
97
+ maxWidth "var(--max-width)"
98
+ margin "clamp(3rem, 6vw, 4.5rem) auto 0"
99
+ paddingTop "1.5rem"
100
+ borderTop "1px solid var(--color-line)"
101
+ display flex
102
+ justifyContent space-between
103
+ gap "1rem"
104
+ flexWrap wrap
105
+ fontSize "0.72rem"
106
+ letterSpacing "0.1em"
107
+ textTransform uppercase
108
+ color "var(--color-text-muted)"
109
+ }
110
+ span "© Aperture Studio"
111
+ span "Built with Jx"
112
+ }
113
+ }
@@ -0,0 +1,40 @@
1
+ /- kdl-version 2
2
+
3
+ pv-gallery {
4
+ state {
5
+ img1 type=string format=image default=""
6
+ img2 type=string format=image default=""
7
+ img3 type=string format=image default=""
8
+ alt "Photograph from the studio"
9
+ }
10
+ style display=grid gridTemplateColumns="repeat(3, 1fr)" gap="1rem" {
11
+ @--sm gridTemplateColumns="1fr"
12
+ }
13
+ img src="${state.img1}" alt="${state.alt}" loading=lazy {
14
+ style {
15
+ width "100%"
16
+ aspectRatio "4 / 5"
17
+ objectFit cover
18
+ borderRadius "var(--radius)"
19
+ display block
20
+ }
21
+ }
22
+ img src="${state.img2}" alt="${state.alt}" loading=lazy {
23
+ style {
24
+ width "100%"
25
+ aspectRatio "4 / 5"
26
+ objectFit cover
27
+ borderRadius "var(--radius)"
28
+ display block
29
+ }
30
+ }
31
+ img src="${state.img3}" alt="${state.alt}" loading=lazy {
32
+ style {
33
+ width "100%"
34
+ aspectRatio "4 / 5"
35
+ objectFit cover
36
+ borderRadius "var(--radius)"
37
+ display block
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,109 @@
1
+ /- kdl-version 2
2
+
3
+ pv-hero {
4
+ state {
5
+ eyebrow ""
6
+ heading ""
7
+ subheading ""
8
+ cta "View the Work"
9
+ ctaHref "/work/"
10
+ cta2 ""
11
+ cta2Href "/contact/"
12
+ bg type=string format=image default=""
13
+ }
14
+ style {
15
+ display block
16
+ position relative
17
+ height "100vh"
18
+ minHeight "620px"
19
+ color "var(--color-text-white)"
20
+ backgroundColor "var(--color-bg)"
21
+ backgroundImage "url('${state.bg}')"
22
+ backgroundSize cover
23
+ backgroundPosition center
24
+ }
25
+ div {
26
+ style {
27
+ position absolute
28
+ inset "0"
29
+ background "linear-gradient(180deg, rgba(12,12,13,0.6) 0%, rgba(12,12,13,0.1) 26%, rgba(12,12,13,0.3) 62%, rgba(12,12,13,0.92) 100%)"
30
+ }
31
+ }
32
+ div {
33
+ style {
34
+ position relative
35
+ zIndex "10"
36
+ display flex
37
+ flexDirection column
38
+ justifyContent flex-end
39
+ height "100%"
40
+ maxWidth "var(--max-width)"
41
+ margin "0 auto"
42
+ padding "0 clamp(1.5rem, 4vw, 4rem) clamp(3rem, 7vw, 5.5rem)"
43
+ }
44
+ div {
45
+ style display=flex alignItems=center gap="1rem" marginBottom="1.5rem"
46
+ span {
47
+ style width="3rem" height="1px" backgroundColor="var(--color-primary)"
48
+ }
49
+ p "${state.eyebrow}" {
50
+ style {
51
+ margin "0"
52
+ textTransform uppercase
53
+ letterSpacing "0.28em"
54
+ fontSize "0.72rem"
55
+ fontWeight "500"
56
+ color "var(--color-primary)"
57
+ }
58
+ }
59
+ }
60
+ h1 "${state.heading}" {
61
+ style {
62
+ fontFamily "var(--font-heading)"
63
+ fontWeight "400"
64
+ fontSize "clamp(3rem, 8.5vw, 7rem)"
65
+ lineHeight "0.98"
66
+ letterSpacing "-0.01em"
67
+ margin "0 0 1.5rem"
68
+ maxWidth "16ch"
69
+ }
70
+ }
71
+ div {
72
+ style {
73
+ display flex
74
+ alignItems flex-end
75
+ justifyContent space-between
76
+ gap "2rem"
77
+ flexWrap wrap
78
+ }
79
+ p "${state.subheading}" {
80
+ style {
81
+ margin "0"
82
+ fontSize "clamp(1rem, 1.6vw, 1.2rem)"
83
+ lineHeight "1.6"
84
+ color "var(--color-text-white)"
85
+ opacity "0.82"
86
+ maxWidth "44ch"
87
+ }
88
+ }
89
+ a href="${state.ctaHref}" "${state.cta} →" {
90
+ style {
91
+ display inline-flex
92
+ alignItems center
93
+ gap "0.6rem"
94
+ whiteSpace nowrap
95
+ fontSize "0.78rem"
96
+ fontWeight "600"
97
+ textTransform uppercase
98
+ letterSpacing "0.18em"
99
+ color "var(--color-text-white)"
100
+ textDecoration none
101
+ borderBottom "1px solid var(--color-primary)"
102
+ paddingBottom "0.5rem"
103
+ transition "gap 0.2s, color 0.15s"
104
+ :hover gap="1.1rem" color="var(--color-primary)"
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,76 @@
1
+ /- kdl-version 2
2
+
3
+ pv-nav {
4
+ state brand=Aperture
5
+ style {
6
+ position fixed
7
+ top "0"
8
+ left "0"
9
+ right "0"
10
+ zIndex "50"
11
+ display block
12
+ backgroundColor "rgba(12, 12, 13, 0.55)"
13
+ backdropFilter "blur(14px)"
14
+ borderBottom "1px solid rgba(255, 255, 255, 0.08)"
15
+ }
16
+ div {
17
+ style {
18
+ maxWidth "var(--max-width)"
19
+ margin "0 auto"
20
+ padding "1.1rem 2rem"
21
+ display flex
22
+ alignItems center
23
+ justifyContent space-between
24
+ gap "1.5rem"
25
+ @--sm padding="0.9rem 1.25rem"
26
+ }
27
+ a href="/" "${state.brand}" {
28
+ style {
29
+ fontFamily "var(--font-label)"
30
+ fontWeight "400"
31
+ fontSize "0.95rem"
32
+ letterSpacing "0.42em"
33
+ textTransform uppercase
34
+ color "var(--color-text-primary)"
35
+ textDecoration none
36
+ paddingLeft "0.42em"
37
+ }
38
+ }
39
+ nav {
40
+ style {
41
+ display flex
42
+ alignItems center
43
+ gap "2.25rem"
44
+ fontSize "0.7rem"
45
+ fontWeight "500"
46
+ letterSpacing "0.2em"
47
+ textTransform uppercase
48
+ @--sm gap="1.25rem"
49
+ }
50
+ a href="/work/" Work {
51
+ style {
52
+ color "var(--color-text-primary)"
53
+ textDecoration none
54
+ opacity "0.85"
55
+ transition "opacity 0.15s, color 0.15s"
56
+ :hover color="var(--color-primary)" opacity="1"
57
+ }
58
+ }
59
+ a href="/about/" About {
60
+ style {
61
+ color "var(--color-text-primary)"
62
+ textDecoration none
63
+ opacity "0.85"
64
+ transition "opacity 0.15s, color 0.15s"
65
+ @--sm display=none
66
+ :hover color="var(--color-primary)" opacity="1"
67
+ }
68
+ }
69
+ a href="/contact/" Inquire {
70
+ style color="var(--color-primary)" textDecoration=none transition="opacity 0.15s" {
71
+ :hover opacity="0.7"
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }