@jxsuite/starters 3.4.0 → 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 (500) hide show
  1. package/package.json +5 -5
  2. package/sites/blog/components/bl-author-bio.jxn +64 -0
  3. package/sites/blog/components/bl-contact-form.jxn +77 -0
  4. package/sites/blog/components/bl-contact-info.jxn +32 -0
  5. package/sites/blog/components/bl-cta.jxn +52 -0
  6. package/sites/blog/components/bl-footer.jxn +85 -0
  7. package/sites/blog/components/bl-masthead.jxn +111 -0
  8. package/sites/blog/components/bl-nav.jxn +62 -0
  9. package/sites/blog/components/bl-newsletter-cta.jxn +104 -0
  10. package/sites/blog/components/bl-post-card.jxn +106 -0
  11. package/sites/blog/components/bl-post-list.jxn +11 -0
  12. package/sites/blog/components/bl-prose.jxn +67 -0
  13. package/sites/blog/components/bl-section-header.jxn +52 -0
  14. package/sites/blog/components/bl-tag-pill.jxn +19 -0
  15. package/sites/blog/document.schema.json +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 +1 -1
  21. package/sites/course/components/co-application.jxn +106 -0
  22. package/sites/course/components/co-cohort.jxn +132 -0
  23. package/sites/course/components/co-cta.jxn +95 -0
  24. package/sites/course/components/co-curriculum-accordion.jxn +917 -0
  25. package/sites/course/components/co-faq.jxn +348 -0
  26. package/sites/course/components/co-footer.jxn +138 -0
  27. package/sites/course/components/co-hero.jxn +354 -0
  28. package/sites/course/components/co-instructor-card.jxn +128 -0
  29. package/sites/course/components/co-mentor.jxn +51 -0
  30. package/sites/course/components/co-module-card.jxn +101 -0
  31. package/sites/course/components/co-nav.jxn +172 -0
  32. package/sites/course/components/co-outcome-card.jxn +57 -0
  33. package/sites/course/components/co-outcomes.jxn +179 -0
  34. package/sites/course/components/co-pricing.jxn +145 -0
  35. package/sites/course/components/co-section-header.jxn +55 -0
  36. package/sites/course/components/co-testimonial-card.jxn +69 -0
  37. package/sites/course/document.schema.json +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 +1 -1
  41. package/sites/event/components/ev-agenda-tabs.jxn +663 -0
  42. package/sites/event/components/ev-cta.jxn +93 -0
  43. package/sites/event/components/ev-feature.jxn +46 -0
  44. package/sites/event/components/ev-footer.jxn +135 -0
  45. package/sites/event/components/ev-hero.jxn +323 -0
  46. package/sites/event/components/ev-nav.jxn +142 -0
  47. package/sites/event/components/ev-reason.jxn +50 -0
  48. package/sites/event/components/ev-savedate.jxn +268 -0
  49. package/sites/event/components/ev-section-header.jxn +51 -0
  50. package/sites/event/components/ev-session-row.jxn +103 -0
  51. package/sites/event/components/ev-speaker-card.jxn +104 -0
  52. package/sites/event/components/ev-sponsors.jxn +110 -0
  53. package/sites/event/components/ev-stat.jxn +39 -0
  54. package/sites/event/components/ev-ticket-card.jxn +169 -0
  55. package/sites/event/components/ev-venue.jxn +61 -0
  56. package/sites/event/document.schema.json +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 +1 -1
  60. package/sites/fitness-studio/components/fs-band.jxn +119 -0
  61. package/sites/fitness-studio/components/fs-booking.jxn +92 -0
  62. package/sites/fitness-studio/components/fs-class-card.jxn +103 -0
  63. package/sites/fitness-studio/components/fs-class-grid.jxn +23 -0
  64. package/sites/fitness-studio/components/fs-cta.jxn +81 -0
  65. package/sites/fitness-studio/components/fs-feature.jxn +40 -0
  66. package/sites/fitness-studio/components/fs-footer.jxn +116 -0
  67. package/sites/fitness-studio/components/fs-hero.jxn +290 -0
  68. package/sites/fitness-studio/components/fs-hours.jxn +78 -0
  69. package/sites/fitness-studio/components/fs-instructor-card.jxn +104 -0
  70. package/sites/fitness-studio/components/fs-intro.jxn +231 -0
  71. package/sites/fitness-studio/components/fs-modality.jxn +133 -0
  72. package/sites/fitness-studio/components/fs-nav.jxn +95 -0
  73. package/sites/fitness-studio/components/fs-pricing-card.jxn +190 -0
  74. package/sites/fitness-studio/components/fs-pricing-table.jxn +322 -0
  75. package/sites/fitness-studio/components/fs-review.jxn +59 -0
  76. package/sites/fitness-studio/components/fs-schedule.jxn +714 -0
  77. package/sites/fitness-studio/components/fs-section-header.jxn +55 -0
  78. package/sites/fitness-studio/document.schema.json +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 +1 -1
  82. package/sites/home-services/components/hs-callbar.jxn +60 -0
  83. package/sites/home-services/components/hs-cta.jxn +139 -0
  84. package/sites/home-services/components/hs-feature.jxn +43 -0
  85. package/sites/home-services/components/hs-footer.jxn +169 -0
  86. package/sites/home-services/components/hs-gallery.jxn +51 -0
  87. package/sites/home-services/components/hs-hero.jxn +308 -0
  88. package/sites/home-services/components/hs-intro.jxn +97 -0
  89. package/sites/home-services/components/hs-nav.jxn +207 -0
  90. package/sites/home-services/components/hs-reservation.jxn +125 -0
  91. package/sites/home-services/components/hs-review.jxn +84 -0
  92. package/sites/home-services/components/hs-section-header.jxn +56 -0
  93. package/sites/home-services/components/hs-service-card.jxn +68 -0
  94. package/sites/home-services/components/hs-stat.jxn +40 -0
  95. package/sites/home-services/components/hs-step.jxn +67 -0
  96. package/sites/home-services/components/hs-trust-bar.jxn +183 -0
  97. package/sites/home-services/document.schema.json +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 +1 -1
  101. package/sites/museum/components/mu-band.jxn +63 -0
  102. package/sites/museum/components/mu-cta.jxn +76 -0
  103. package/sites/museum/components/mu-exhibition-card.jxn +118 -0
  104. package/sites/museum/components/mu-exhibition-row.jxn +142 -0
  105. package/sites/museum/components/mu-fact.jxn +40 -0
  106. package/sites/museum/components/mu-footer.jxn +206 -0
  107. package/sites/museum/components/mu-hero.jxn +165 -0
  108. package/sites/museum/components/mu-more.jxn +30 -0
  109. package/sites/museum/components/mu-oculus.jxn +33 -0
  110. package/sites/museum/components/mu-pagehead.jxn +76 -0
  111. package/sites/museum/components/mu-quote.jxn +36 -0
  112. package/sites/museum/document.schema.json +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 +1 -1
  133. package/sites/nonprofit/components/np-contact-form.jxn +97 -0
  134. package/sites/nonprofit/components/np-contact-info.jxn +104 -0
  135. package/sites/nonprofit/components/np-cta.jxn +163 -0
  136. package/sites/nonprofit/components/np-donate-tier.jxn +103 -0
  137. package/sites/nonprofit/components/np-feature.jxn +46 -0
  138. package/sites/nonprofit/components/np-footer.jxn +194 -0
  139. package/sites/nonprofit/components/np-hero.jxn +275 -0
  140. package/sites/nonprofit/components/np-impact-band.jxn +83 -0
  141. package/sites/nonprofit/components/np-intro.jxn +130 -0
  142. package/sites/nonprofit/components/np-nav.jxn +157 -0
  143. package/sites/nonprofit/components/np-program-card.jxn +95 -0
  144. package/sites/nonprofit/components/np-section-header.jxn +63 -0
  145. package/sites/nonprofit/components/np-stat.jxn +51 -0
  146. package/sites/nonprofit/components/np-step.jxn +73 -0
  147. package/sites/nonprofit/components/np-team-member.jxn +60 -0
  148. package/sites/nonprofit/components/np-testimonial.jxn +120 -0
  149. package/sites/nonprofit/document.schema.json +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 +1 -1
  153. package/sites/portfolio/components/pv-about-split.jxn +53 -0
  154. package/sites/portfolio/components/pv-category-pill.jxn +19 -0
  155. package/sites/portfolio/components/pv-contact-form.jxn +72 -0
  156. package/sites/portfolio/components/pv-cta.jxn +62 -0
  157. package/sites/portfolio/components/pv-feature.jxn +28 -0
  158. package/sites/portfolio/components/pv-footer.jxn +113 -0
  159. package/sites/portfolio/components/pv-gallery.jxn +40 -0
  160. package/sites/portfolio/components/pv-hero.jxn +109 -0
  161. package/sites/portfolio/components/pv-nav.jxn +76 -0
  162. package/sites/portfolio/components/pv-project-card.jxn +118 -0
  163. package/sites/portfolio/components/pv-project-grid.jxn +29 -0
  164. package/sites/portfolio/components/pv-section-header.jxn +65 -0
  165. package/sites/portfolio/document.schema.json +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 +1 -1
  170. package/sites/professional-firm/components/pf-article-header.jxn +60 -0
  171. package/sites/professional-firm/components/pf-contact-form.jxn +74 -0
  172. package/sites/professional-firm/components/pf-contact-info.jxn +101 -0
  173. package/sites/professional-firm/components/pf-cta.jxn +63 -0
  174. package/sites/professional-firm/components/pf-feature.jxn +32 -0
  175. package/sites/professional-firm/components/pf-footer.jxn +171 -0
  176. package/sites/professional-firm/components/pf-hero.jxn +139 -0
  177. package/sites/professional-firm/components/pf-insight-row.jxn +111 -0
  178. package/sites/professional-firm/components/pf-intro.jxn +68 -0
  179. package/sites/professional-firm/components/pf-logo-bar.jxn +90 -0
  180. package/sites/professional-firm/components/pf-nav.jxn +93 -0
  181. package/sites/professional-firm/components/pf-section-header.jxn +53 -0
  182. package/sites/professional-firm/components/pf-service-row.jxn +67 -0
  183. package/sites/professional-firm/components/pf-statband.jxn +135 -0
  184. package/sites/professional-firm/components/pf-team-member.jxn +53 -0
  185. package/sites/professional-firm/document.schema.json +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 +1 -1
  191. package/sites/real-estate/components/re-agent-band.jxn +165 -0
  192. package/sites/real-estate/components/re-agent-card.jxn +78 -0
  193. package/sites/real-estate/components/re-contact-form.jxn +119 -0
  194. package/sites/real-estate/components/re-cta.jxn +98 -0
  195. package/sites/real-estate/components/re-detail-row.jxn +18 -0
  196. package/sites/real-estate/components/re-feature.jxn +41 -0
  197. package/sites/real-estate/components/re-footer.jxn +219 -0
  198. package/sites/real-estate/components/re-hero.jxn +367 -0
  199. package/sites/real-estate/components/re-intro.jxn +43 -0
  200. package/sites/real-estate/components/re-listing-card.jxn +210 -0
  201. package/sites/real-estate/components/re-listings-filter.jxn +371 -0
  202. package/sites/real-estate/components/re-nav.jxn +162 -0
  203. package/sites/real-estate/components/re-neighborhood.jxn +101 -0
  204. package/sites/real-estate/components/re-section-header.jxn +55 -0
  205. package/sites/real-estate/components/re-stat.jxn +26 -0
  206. package/sites/real-estate/components/re-step.jxn +42 -0
  207. package/sites/real-estate/components/re-testimonial.jxn +66 -0
  208. package/sites/real-estate/document.schema.json +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 +1 -1
  213. package/sites/restaurant/components/bit-cta.jxn +105 -0
  214. package/sites/restaurant/components/bit-feature.jxn +38 -0
  215. package/sites/restaurant/components/bit-footer.jxn +142 -0
  216. package/sites/restaurant/components/bit-gallery.jxn +50 -0
  217. package/sites/restaurant/components/bit-hero.jxn +194 -0
  218. package/sites/restaurant/components/bit-hours.jxn +145 -0
  219. package/sites/restaurant/components/bit-intro.jxn +75 -0
  220. package/sites/restaurant/components/bit-menu-group.jxn +51 -0
  221. package/sites/restaurant/components/bit-menu-item.jxn +50 -0
  222. package/sites/restaurant/components/bit-nav.jxn +145 -0
  223. package/sites/restaurant/components/bit-reservation.jxn +90 -0
  224. package/sites/restaurant/components/bit-review.jxn +54 -0
  225. package/sites/restaurant/components/bit-section-header.jxn +73 -0
  226. package/sites/restaurant/document.schema.json +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 +1 -1
  230. package/sites/saas/components/sa-check-item.jxn +25 -0
  231. package/sites/saas/components/sa-contact-form.jxn +94 -0
  232. package/sites/saas/components/sa-cta.jxn +68 -0
  233. package/sites/saas/components/sa-faq.jxn +347 -0
  234. package/sites/saas/components/sa-feature-card.jxn +57 -0
  235. package/sites/saas/components/sa-feature-split.jxn +43 -0
  236. package/sites/saas/components/sa-footer.jxn +106 -0
  237. package/sites/saas/components/sa-hero.jxn +217 -0
  238. package/sites/saas/components/sa-logo-cloud.jxn +98 -0
  239. package/sites/saas/components/sa-nav.jxn +108 -0
  240. package/sites/saas/components/sa-pricing.jxn +317 -0
  241. package/sites/saas/components/sa-section-header.jxn +43 -0
  242. package/sites/saas/components/sa-stat.jxn +32 -0
  243. package/sites/saas/components/sa-testimonial-card.jxn +37 -0
  244. package/sites/saas/document.schema.json +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 +1 -1
  248. package/sites/shop/components/shp-badge.jxn +17 -0
  249. package/sites/shop/components/shp-category-tile.jxn +79 -0
  250. package/sites/shop/components/shp-contact-form.jxn +84 -0
  251. package/sites/shop/components/shp-cta.jxn +85 -0
  252. package/sites/shop/components/shp-feature.jxn +44 -0
  253. package/sites/shop/components/shp-footer.jxn +311 -0
  254. package/sites/shop/components/shp-hero.jxn +311 -0
  255. package/sites/shop/components/shp-intro.jxn +42 -0
  256. package/sites/shop/components/shp-nav.jxn +273 -0
  257. package/sites/shop/components/shp-newsletter.jxn +119 -0
  258. package/sites/shop/components/shp-product-card.jxn +187 -0
  259. package/sites/shop/components/shp-product-filter.jxn +263 -0
  260. package/sites/shop/components/shp-review.jxn +38 -0
  261. package/sites/shop/components/shp-section-header.jxn +61 -0
  262. package/sites/shop/components/shp-service.jxn +58 -0
  263. package/sites/shop/components/shp-stat.jxn +27 -0
  264. package/sites/shop/components/shp-trust.jxn +39 -0
  265. package/sites/shop/components/shp-visit-info.jxn +82 -0
  266. package/sites/shop/document.schema.json +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 +1 -1
  271. package/sites/blog/components/bl-author-bio.json +0 -86
  272. package/sites/blog/components/bl-contact-form.json +0 -114
  273. package/sites/blog/components/bl-contact-info.json +0 -54
  274. package/sites/blog/components/bl-cta.json +0 -68
  275. package/sites/blog/components/bl-footer.json +0 -122
  276. package/sites/blog/components/bl-masthead.json +0 -134
  277. package/sites/blog/components/bl-nav.json +0 -90
  278. package/sites/blog/components/bl-newsletter-cta.json +0 -134
  279. package/sites/blog/components/bl-post-card.json +0 -132
  280. package/sites/blog/components/bl-post-list.json +0 -10
  281. package/sites/blog/components/bl-prose.json +0 -89
  282. package/sites/blog/components/bl-section-header.json +0 -70
  283. package/sites/blog/components/bl-tag-pill.json +0 -29
  284. package/sites/blog/layouts/base.json +0 -22
  285. package/sites/blog/layouts/post.json +0 -15
  286. package/sites/blog/pages/[slug].json +0 -148
  287. package/sites/course/components/co-application.json +0 -225
  288. package/sites/course/components/co-cohort.json +0 -172
  289. package/sites/course/components/co-cta.json +0 -126
  290. package/sites/course/components/co-curriculum-accordion.json +0 -1476
  291. package/sites/course/components/co-faq.json +0 -524
  292. package/sites/course/components/co-footer.json +0 -195
  293. package/sites/course/components/co-hero.json +0 -475
  294. package/sites/course/components/co-instructor-card.json +0 -159
  295. package/sites/course/components/co-mentor.json +0 -65
  296. package/sites/course/components/co-module-card.json +0 -138
  297. package/sites/course/components/co-nav.json +0 -244
  298. package/sites/course/components/co-outcome-card.json +0 -84
  299. package/sites/course/components/co-outcomes.json +0 -248
  300. package/sites/course/components/co-pricing.json +0 -178
  301. package/sites/course/components/co-section-header.json +0 -74
  302. package/sites/course/components/co-testimonial-card.json +0 -109
  303. package/sites/course/layouts/base.json +0 -22
  304. package/sites/event/components/ev-agenda-tabs.json +0 -828
  305. package/sites/event/components/ev-cta.json +0 -126
  306. package/sites/event/components/ev-feature.json +0 -62
  307. package/sites/event/components/ev-footer.json +0 -197
  308. package/sites/event/components/ev-hero.json +0 -431
  309. package/sites/event/components/ev-nav.json +0 -186
  310. package/sites/event/components/ev-reason.json +0 -64
  311. package/sites/event/components/ev-savedate.json +0 -331
  312. package/sites/event/components/ev-section-header.json +0 -70
  313. package/sites/event/components/ev-session-row.json +0 -132
  314. package/sites/event/components/ev-speaker-card.json +0 -130
  315. package/sites/event/components/ev-sponsors.json +0 -131
  316. package/sites/event/components/ev-stat.json +0 -47
  317. package/sites/event/components/ev-ticket-card.json +0 -214
  318. package/sites/event/components/ev-venue.json +0 -86
  319. package/sites/event/layouts/base.json +0 -22
  320. package/sites/fitness-studio/components/fs-band.json +0 -149
  321. package/sites/fitness-studio/components/fs-booking.json +0 -147
  322. package/sites/fitness-studio/components/fs-class-card.json +0 -143
  323. package/sites/fitness-studio/components/fs-class-grid.json +0 -36
  324. package/sites/fitness-studio/components/fs-cta.json +0 -106
  325. package/sites/fitness-studio/components/fs-feature.json +0 -56
  326. package/sites/fitness-studio/components/fs-footer.json +0 -178
  327. package/sites/fitness-studio/components/fs-hero.json +0 -375
  328. package/sites/fitness-studio/components/fs-hours.json +0 -109
  329. package/sites/fitness-studio/components/fs-instructor-card.json +0 -136
  330. package/sites/fitness-studio/components/fs-intro.json +0 -294
  331. package/sites/fitness-studio/components/fs-modality.json +0 -171
  332. package/sites/fitness-studio/components/fs-nav.json +0 -128
  333. package/sites/fitness-studio/components/fs-pricing-card.json +0 -243
  334. package/sites/fitness-studio/components/fs-pricing-table.json +0 -458
  335. package/sites/fitness-studio/components/fs-review.json +0 -88
  336. package/sites/fitness-studio/components/fs-schedule.json +0 -1165
  337. package/sites/fitness-studio/components/fs-section-header.json +0 -77
  338. package/sites/fitness-studio/layouts/base.json +0 -22
  339. package/sites/home-services/components/hs-callbar.json +0 -72
  340. package/sites/home-services/components/hs-cta.json +0 -184
  341. package/sites/home-services/components/hs-feature.json +0 -62
  342. package/sites/home-services/components/hs-footer.json +0 -232
  343. package/sites/home-services/components/hs-gallery.json +0 -104
  344. package/sites/home-services/components/hs-hero.json +0 -446
  345. package/sites/home-services/components/hs-intro.json +0 -122
  346. package/sites/home-services/components/hs-nav.json +0 -278
  347. package/sites/home-services/components/hs-reservation.json +0 -225
  348. package/sites/home-services/components/hs-review.json +0 -114
  349. package/sites/home-services/components/hs-section-header.json +0 -70
  350. package/sites/home-services/components/hs-service-card.json +0 -89
  351. package/sites/home-services/components/hs-stat.json +0 -54
  352. package/sites/home-services/components/hs-step.json +0 -80
  353. package/sites/home-services/components/hs-trust-bar.json +0 -256
  354. package/sites/home-services/layouts/base.json +0 -24
  355. package/sites/museum/components/mu-band.json +0 -92
  356. package/sites/museum/components/mu-cta.json +0 -101
  357. package/sites/museum/components/mu-exhibition-card.json +0 -191
  358. package/sites/museum/components/mu-exhibition-row.json +0 -237
  359. package/sites/museum/components/mu-fact.json +0 -64
  360. package/sites/museum/components/mu-footer.json +0 -256
  361. package/sites/museum/components/mu-hero.json +0 -236
  362. package/sites/museum/components/mu-more.json +0 -63
  363. package/sites/museum/components/mu-oculus.json +0 -44
  364. package/sites/museum/components/mu-pagehead.json +0 -105
  365. package/sites/museum/components/mu-quote.json +0 -49
  366. package/sites/museum/layouts/ar.json +0 -29
  367. package/sites/museum/layouts/base.json +0 -329
  368. package/sites/museum/layouts/fr-ca.json +0 -28
  369. package/sites/museum/pages/about.json +0 -378
  370. package/sites/museum/pages/ar/about.json +0 -314
  371. package/sites/museum/pages/ar/exhibitions/[slug].json +0 -211
  372. package/sites/museum/pages/ar/exhibitions/index.json +0 -103
  373. package/sites/museum/pages/ar/index.json +0 -246
  374. package/sites/museum/pages/ar/visit.json +0 -327
  375. package/sites/museum/pages/exhibitions/[slug].json +0 -200
  376. package/sites/museum/pages/exhibitions/index.json +0 -93
  377. package/sites/museum/pages/fr-ca/a-propos.json +0 -313
  378. package/sites/museum/pages/fr-ca/expositions/[slug].json +0 -215
  379. package/sites/museum/pages/fr-ca/expositions/index.json +0 -104
  380. package/sites/museum/pages/fr-ca/index.json +0 -246
  381. package/sites/museum/pages/fr-ca/visite.json +0 -328
  382. package/sites/museum/pages/index.json +0 -236
  383. package/sites/museum/pages/visit.json +0 -317
  384. package/sites/nonprofit/components/np-contact-form.json +0 -162
  385. package/sites/nonprofit/components/np-contact-info.json +0 -159
  386. package/sites/nonprofit/components/np-cta.json +0 -203
  387. package/sites/nonprofit/components/np-donate-tier.json +0 -116
  388. package/sites/nonprofit/components/np-feature.json +0 -57
  389. package/sites/nonprofit/components/np-footer.json +0 -257
  390. package/sites/nonprofit/components/np-hero.json +0 -360
  391. package/sites/nonprofit/components/np-impact-band.json +0 -108
  392. package/sites/nonprofit/components/np-intro.json +0 -166
  393. package/sites/nonprofit/components/np-nav.json +0 -216
  394. package/sites/nonprofit/components/np-program-card.json +0 -129
  395. package/sites/nonprofit/components/np-section-header.json +0 -79
  396. package/sites/nonprofit/components/np-stat.json +0 -69
  397. package/sites/nonprofit/components/np-step.json +0 -84
  398. package/sites/nonprofit/components/np-team-member.json +0 -74
  399. package/sites/nonprofit/components/np-testimonial.json +0 -169
  400. package/sites/nonprofit/layouts/base.json +0 -22
  401. package/sites/portfolio/components/pv-about-split.json +0 -71
  402. package/sites/portfolio/components/pv-category-pill.json +0 -25
  403. package/sites/portfolio/components/pv-contact-form.json +0 -126
  404. package/sites/portfolio/components/pv-cta.json +0 -80
  405. package/sites/portfolio/components/pv-feature.json +0 -48
  406. package/sites/portfolio/components/pv-footer.json +0 -167
  407. package/sites/portfolio/components/pv-gallery.json +0 -50
  408. package/sites/portfolio/components/pv-hero.json +0 -139
  409. package/sites/portfolio/components/pv-nav.json +0 -100
  410. package/sites/portfolio/components/pv-project-card.json +0 -160
  411. package/sites/portfolio/components/pv-project-grid.json +0 -30
  412. package/sites/portfolio/components/pv-section-header.json +0 -90
  413. package/sites/portfolio/layouts/base.json +0 -22
  414. package/sites/portfolio/pages/[slug].json +0 -260
  415. package/sites/professional-firm/components/pf-article-header.json +0 -93
  416. package/sites/professional-firm/components/pf-contact-form.json +0 -146
  417. package/sites/professional-firm/components/pf-contact-info.json +0 -147
  418. package/sites/professional-firm/components/pf-cta.json +0 -86
  419. package/sites/professional-firm/components/pf-feature.json +0 -52
  420. package/sites/professional-firm/components/pf-footer.json +0 -231
  421. package/sites/professional-firm/components/pf-hero.json +0 -174
  422. package/sites/professional-firm/components/pf-insight-row.json +0 -144
  423. package/sites/professional-firm/components/pf-intro.json +0 -93
  424. package/sites/professional-firm/components/pf-logo-bar.json +0 -113
  425. package/sites/professional-firm/components/pf-nav.json +0 -135
  426. package/sites/professional-firm/components/pf-section-header.json +0 -77
  427. package/sites/professional-firm/components/pf-service-row.json +0 -104
  428. package/sites/professional-firm/components/pf-statband.json +0 -183
  429. package/sites/professional-firm/components/pf-team-member.json +0 -75
  430. package/sites/professional-firm/layouts/article.json +0 -130
  431. package/sites/professional-firm/layouts/base.json +0 -22
  432. package/sites/professional-firm/pages/insights/[slug].json +0 -129
  433. package/sites/real-estate/components/re-agent-band.json +0 -240
  434. package/sites/real-estate/components/re-agent-card.json +0 -93
  435. package/sites/real-estate/components/re-contact-form.json +0 -181
  436. package/sites/real-estate/components/re-cta.json +0 -128
  437. package/sites/real-estate/components/re-detail-row.json +0 -26
  438. package/sites/real-estate/components/re-feature.json +0 -57
  439. package/sites/real-estate/components/re-footer.json +0 -291
  440. package/sites/real-estate/components/re-hero.json +0 -536
  441. package/sites/real-estate/components/re-intro.json +0 -60
  442. package/sites/real-estate/components/re-listing-card.json +0 -286
  443. package/sites/real-estate/components/re-listings-filter.json +0 -454
  444. package/sites/real-estate/components/re-nav.json +0 -216
  445. package/sites/real-estate/components/re-neighborhood.json +0 -135
  446. package/sites/real-estate/components/re-section-header.json +0 -69
  447. package/sites/real-estate/components/re-stat.json +0 -37
  448. package/sites/real-estate/components/re-step.json +0 -58
  449. package/sites/real-estate/components/re-testimonial.json +0 -91
  450. package/sites/real-estate/layouts/base.json +0 -22
  451. package/sites/real-estate/pages/[slug].json +0 -629
  452. package/sites/restaurant/components/bit-cta.json +0 -140
  453. package/sites/restaurant/components/bit-feature.json +0 -61
  454. package/sites/restaurant/components/bit-footer.json +0 -191
  455. package/sites/restaurant/components/bit-gallery.json +0 -74
  456. package/sites/restaurant/components/bit-hero.json +0 -253
  457. package/sites/restaurant/components/bit-hours.json +0 -183
  458. package/sites/restaurant/components/bit-intro.json +0 -96
  459. package/sites/restaurant/components/bit-menu-group.json +0 -74
  460. package/sites/restaurant/components/bit-menu-item.json +0 -72
  461. package/sites/restaurant/components/bit-nav.json +0 -214
  462. package/sites/restaurant/components/bit-reservation.json +0 -155
  463. package/sites/restaurant/components/bit-review.json +0 -84
  464. package/sites/restaurant/components/bit-section-header.json +0 -98
  465. package/sites/restaurant/layouts/base.json +0 -22
  466. package/sites/saas/components/sa-check-item.json +0 -40
  467. package/sites/saas/components/sa-contact-form.json +0 -153
  468. package/sites/saas/components/sa-cta.json +0 -102
  469. package/sites/saas/components/sa-faq.json +0 -413
  470. package/sites/saas/components/sa-feature-card.json +0 -69
  471. package/sites/saas/components/sa-feature-split.json +0 -60
  472. package/sites/saas/components/sa-footer.json +0 -145
  473. package/sites/saas/components/sa-hero.json +0 -277
  474. package/sites/saas/components/sa-logo-cloud.json +0 -119
  475. package/sites/saas/components/sa-nav.json +0 -138
  476. package/sites/saas/components/sa-pricing.json +0 -428
  477. package/sites/saas/components/sa-section-header.json +0 -55
  478. package/sites/saas/components/sa-stat.json +0 -44
  479. package/sites/saas/components/sa-testimonial-card.json +0 -57
  480. package/sites/saas/layouts/base.json +0 -22
  481. package/sites/shop/components/shp-badge.json +0 -18
  482. package/sites/shop/components/shp-category-tile.json +0 -104
  483. package/sites/shop/components/shp-contact-form.json +0 -156
  484. package/sites/shop/components/shp-cta.json +0 -121
  485. package/sites/shop/components/shp-feature.json +0 -60
  486. package/sites/shop/components/shp-footer.json +0 -411
  487. package/sites/shop/components/shp-hero.json +0 -395
  488. package/sites/shop/components/shp-intro.json +0 -59
  489. package/sites/shop/components/shp-nav.json +0 -358
  490. package/sites/shop/components/shp-newsletter.json +0 -166
  491. package/sites/shop/components/shp-product-card.json +0 -238
  492. package/sites/shop/components/shp-product-filter.json +0 -366
  493. package/sites/shop/components/shp-review.json +0 -54
  494. package/sites/shop/components/shp-section-header.json +0 -75
  495. package/sites/shop/components/shp-service.json +0 -83
  496. package/sites/shop/components/shp-stat.json +0 -37
  497. package/sites/shop/components/shp-trust.json +0 -58
  498. package/sites/shop/components/shp-visit-info.json +0 -132
  499. package/sites/shop/layouts/base.json +0 -22
  500. package/sites/shop/pages/products/[sku].json +0 -482
@@ -0,0 +1,308 @@
1
+ /- kdl-version 2
2
+
3
+ hs-hero {
4
+ state {
5
+ eyebrow ""
6
+ heading ""
7
+ subheading ""
8
+ cta "Get a Free Quote"
9
+ ctaHref "/contact/"
10
+ cta2 ""
11
+ cta2Href "/services/"
12
+ phone "(970) 555-0148"
13
+ phoneHref tel:+19705550148
14
+ bg type=string format=image default=""
15
+ }
16
+ style {
17
+ display block
18
+ position relative
19
+ overflow hidden
20
+ color "var(--color-text-white)"
21
+ backgroundColor "var(--color-bg-dark)"
22
+ backgroundImage "linear-gradient(104deg, rgba(14,26,35,0.97) 0%, rgba(14,26,35,0.92) 42%, rgba(14,26,35,0.72) 66%, rgba(14,26,35,0.55) 100%), url('${state.bg}')"
23
+ backgroundSize "cover, cover"
24
+ backgroundPosition "center, right center"
25
+ backgroundRepeat no-repeat
26
+ }
27
+ div {
28
+ style position=absolute top="0" left="0" right="0" height="6px" background="var(--hazard)"
29
+ }
30
+ div {
31
+ style {
32
+ position relative
33
+ zIndex "5"
34
+ maxWidth "var(--max-width)"
35
+ margin "0 auto"
36
+ padding "clamp(3rem, 6vw, 5rem) 1.5rem clamp(3.5rem, 7vw, 5.5rem)"
37
+ display grid
38
+ gridTemplateColumns "1.08fr 0.92fr"
39
+ gap "clamp(2rem, 5vw, 4rem)"
40
+ alignItems center
41
+ @--md gridTemplateColumns="1fr" gap="2.5rem"
42
+ }
43
+ div {
44
+ p {
45
+ style {
46
+ display inline-flex
47
+ alignItems center
48
+ gap "0.55rem"
49
+ padding "0.35rem 0.85rem 0.35rem 0.7rem"
50
+ backgroundColor "var(--color-primary)"
51
+ color "var(--color-text-white)"
52
+ fontFamily "var(--font-heading)"
53
+ textTransform uppercase
54
+ letterSpacing "0.08em"
55
+ fontSize "0.78rem"
56
+ fontWeight "600"
57
+ margin "0 0 1.5rem"
58
+ transform "skewX(-8deg)"
59
+ }
60
+ span "${state.eyebrow}" {
61
+ style transform="skewX(8deg)" display=inline-block
62
+ }
63
+ }
64
+ h1 "${state.heading}" {
65
+ style {
66
+ fontFamily "var(--font-heading)"
67
+ fontSize "clamp(2.7rem, 6.2vw, 4.9rem)"
68
+ fontWeight "700"
69
+ textTransform uppercase
70
+ lineHeight "0.98"
71
+ letterSpacing "0.005em"
72
+ margin "0 0 1.25rem"
73
+ color "var(--color-text-white)"
74
+ }
75
+ }
76
+ p "${state.subheading}" {
77
+ style {
78
+ fontSize "clamp(1.08rem, 1.9vw, 1.3rem)"
79
+ lineHeight "1.6"
80
+ margin "0 0 1.75rem"
81
+ color "#cdd8e0"
82
+ maxWidth "48ch"
83
+ }
84
+ }
85
+ div {
86
+ style display=flex flexWrap=wrap gap="1rem 1.5rem" marginBottom="2rem"
87
+ div {
88
+ style {
89
+ display inline-flex
90
+ alignItems center
91
+ gap "0.5rem"
92
+ fontFamily "var(--font-heading)"
93
+ textTransform uppercase
94
+ letterSpacing "0.05em"
95
+ fontSize "0.85rem"
96
+ fontWeight "600"
97
+ color "#e6edf2"
98
+ }
99
+ span ✓ {
100
+ style color="var(--color-primary)" fontSize="1.05rem"
101
+ }
102
+ span "Licensed & Insured"
103
+ }
104
+ div {
105
+ style {
106
+ display inline-flex
107
+ alignItems center
108
+ gap "0.5rem"
109
+ fontFamily "var(--font-heading)"
110
+ textTransform uppercase
111
+ letterSpacing "0.05em"
112
+ fontSize "0.85rem"
113
+ fontWeight "600"
114
+ color "#e6edf2"
115
+ }
116
+ span ★ {
117
+ style color="var(--color-primary)" fontSize="1.05rem"
118
+ }
119
+ span "4.9 · 600+ Reviews"
120
+ }
121
+ div {
122
+ style {
123
+ display inline-flex
124
+ alignItems center
125
+ gap "0.5rem"
126
+ fontFamily "var(--font-heading)"
127
+ textTransform uppercase
128
+ letterSpacing "0.05em"
129
+ fontSize "0.85rem"
130
+ fontWeight "600"
131
+ color "#e6edf2"
132
+ }
133
+ span ⚡ {
134
+ style color="var(--color-primary)" fontSize="1.05rem"
135
+ }
136
+ span "Same-Day Service"
137
+ }
138
+ }
139
+ div {
140
+ style display=flex gap="1rem" flexWrap=wrap alignItems=center
141
+ a href="${state.ctaHref}" "${state.cta}" {
142
+ style {
143
+ display inline-block
144
+ backgroundColor "var(--color-primary)"
145
+ color "var(--color-text-white)"
146
+ padding "0.95rem 2.1rem"
147
+ borderRadius "var(--radius-sm)"
148
+ fontFamily "var(--font-heading)"
149
+ textTransform uppercase
150
+ letterSpacing "0.05em"
151
+ fontSize "1.02rem"
152
+ fontWeight "600"
153
+ textDecoration none
154
+ boxShadow "0 14px 30px -12px rgba(244,81,30,0.9)"
155
+ transition "background-color 0.15s, transform 0.15s"
156
+ :hover {
157
+ backgroundColor "var(--color-primary-hover)"
158
+ transform "translateY(-2px)"
159
+ }
160
+ }
161
+ }
162
+ a href="${state.phoneHref}" {
163
+ style {
164
+ display inline-flex
165
+ alignItems center
166
+ gap "0.5rem"
167
+ color "var(--color-text-white)"
168
+ textDecoration none
169
+ fontWeight "600"
170
+ }
171
+ span ☏ {
172
+ style color="var(--color-primary)" fontSize="1.15rem"
173
+ }
174
+ span "${state.phone}" {
175
+ style {
176
+ fontFamily "var(--font-heading)"
177
+ fontSize "1.2rem"
178
+ fontWeight "700"
179
+ letterSpacing "0.01em"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ div {
186
+ style {
187
+ backgroundColor "var(--color-bg-white)"
188
+ color "var(--color-text-primary)"
189
+ borderRadius "var(--radius)"
190
+ boxShadow "var(--shadow-float)"
191
+ overflow hidden
192
+ }
193
+ div {
194
+ style {
195
+ backgroundColor "var(--color-steel)"
196
+ color "var(--color-text-white)"
197
+ padding "1rem 1.4rem"
198
+ display flex
199
+ alignItems center
200
+ justifyContent space-between
201
+ gap "0.75rem"
202
+ }
203
+ span "Fast, Free Quote" {
204
+ style {
205
+ fontFamily "var(--font-heading)"
206
+ textTransform uppercase
207
+ letterSpacing "0.05em"
208
+ fontWeight "600"
209
+ fontSize "1.15rem"
210
+ }
211
+ }
212
+ span "No obligation" {
213
+ style {
214
+ fontFamily "var(--font-heading)"
215
+ fontSize "0.68rem"
216
+ textTransform uppercase
217
+ letterSpacing "0.1em"
218
+ color "var(--color-primary)"
219
+ border "1px solid var(--color-primary)"
220
+ borderRadius "999px"
221
+ padding "0.15rem 0.6rem"
222
+ }
223
+ }
224
+ }
225
+ form action="/contact/" method=post {
226
+ style display=grid gap="0.7rem" padding="1.4rem"
227
+ input type=text name=name placeholder="Full name" aria-label="Full name" {
228
+ style {
229
+ width "100%"
230
+ padding "0.75rem 0.85rem"
231
+ border "1px solid var(--color-border-strong)"
232
+ borderRadius "var(--radius-sm)"
233
+ fontSize "1rem"
234
+ fontFamily inherit
235
+ backgroundColor "var(--color-bg-cream)"
236
+ }
237
+ }
238
+ input type=tel name=phone placeholder="Phone number" aria-label="Phone number" {
239
+ style {
240
+ width "100%"
241
+ padding "0.75rem 0.85rem"
242
+ border "1px solid var(--color-border-strong)"
243
+ borderRadius "var(--radius-sm)"
244
+ fontSize "1rem"
245
+ fontFamily inherit
246
+ backgroundColor "var(--color-bg-cream)"
247
+ }
248
+ }
249
+ select name=service aria-label="Service needed" {
250
+ style {
251
+ width "100%"
252
+ padding "0.75rem 0.85rem"
253
+ border "1px solid var(--color-border-strong)"
254
+ borderRadius "var(--radius-sm)"
255
+ fontSize "1rem"
256
+ fontFamily inherit
257
+ fontWeight "500"
258
+ color "var(--color-text-primary)"
259
+ backgroundColor "var(--color-bg-cream)"
260
+ cursor pointer
261
+ }
262
+ option value="" "What do you need?"
263
+ option value=ac-repair "AC Repair"
264
+ option value=ac-install "AC Installation"
265
+ option value=furnace-repair "Furnace Repair"
266
+ option value=furnace-install "Furnace Installation"
267
+ option value=heat-pump "Heat Pumps"
268
+ option value=maintenance "Maintenance Plan"
269
+ option value=other "Something else"
270
+ }
271
+ button type=submit "Request Service →" {
272
+ style {
273
+ width "100%"
274
+ backgroundColor "var(--color-primary)"
275
+ color "var(--color-text-white)"
276
+ padding "0.85rem 1.5rem"
277
+ border none
278
+ borderRadius "var(--radius-sm)"
279
+ fontFamily "var(--font-heading)"
280
+ textTransform uppercase
281
+ letterSpacing "0.05em"
282
+ fontSize "1.02rem"
283
+ fontWeight "600"
284
+ cursor pointer
285
+ transition "background-color 0.15s"
286
+ :hover backgroundColor="var(--color-primary-hover)"
287
+ }
288
+ }
289
+ p {
290
+ style {
291
+ margin "0"
292
+ fontSize "0.82rem"
293
+ color "var(--color-text-muted)"
294
+ textAlign center
295
+ display flex
296
+ alignItems center
297
+ justifyContent center
298
+ gap "0.4rem"
299
+ }
300
+ span ⏱ {
301
+ style color="var(--color-primary)"
302
+ }
303
+ span "We reply within the hour, 7 days a week."
304
+ }
305
+ }
306
+ }
307
+ }
308
+ }
@@ -0,0 +1,97 @@
1
+ /- kdl-version 2
2
+
3
+ hs-intro {
4
+ state {
5
+ image type=string format=image default=""
6
+ imageAlt ""
7
+ reverse #false
8
+ badgeValue "20+"
9
+ badgeLabel "Years serving Northern Colorado"
10
+ }
11
+ style display=block padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"
12
+ div {
13
+ style {
14
+ maxWidth "var(--max-width)"
15
+ margin "0 auto"
16
+ display grid
17
+ gridTemplateColumns "1fr 1fr"
18
+ gap "clamp(2rem, 5vw, 4.5rem)"
19
+ alignItems center
20
+ @--md gridTemplateColumns="1fr" gap="2.75rem"
21
+ }
22
+ div {
23
+ style {
24
+ position relative
25
+ order "${state.reverse ? '2' : '1'}"
26
+ paddingBottom "1.25rem"
27
+ paddingRight "1.25rem"
28
+ }
29
+ div {
30
+ style {
31
+ position absolute
32
+ bottom "0"
33
+ right "0"
34
+ width "62%"
35
+ height "70%"
36
+ backgroundColor "var(--color-steel)"
37
+ borderRadius "var(--radius)"
38
+ clipPath "polygon(0 0, 100% 0, 100% 100%, 12% 100%)"
39
+ }
40
+ }
41
+ img src="${state.image}" alt="${state.imageAlt}" loading=lazy {
42
+ style {
43
+ position relative
44
+ width "100%"
45
+ height auto
46
+ borderRadius "var(--radius)"
47
+ display block
48
+ boxShadow "var(--shadow-float)"
49
+ }
50
+ }
51
+ div {
52
+ style {
53
+ position absolute
54
+ bottom "-0.6rem"
55
+ left "-0.6rem"
56
+ zIndex "3"
57
+ display flex
58
+ alignItems center
59
+ gap "0.75rem"
60
+ padding "0.85rem 1.15rem"
61
+ backgroundColor "var(--color-primary)"
62
+ color "var(--color-text-white)"
63
+ borderRadius "var(--radius-sm)"
64
+ boxShadow "0 18px 34px -16px rgba(244,81,30,0.85)"
65
+ }
66
+ span "${state.badgeValue}" {
67
+ style {
68
+ fontFamily "var(--font-heading)"
69
+ fontWeight "700"
70
+ fontSize "2rem"
71
+ lineHeight "1"
72
+ }
73
+ }
74
+ span "${state.badgeLabel}" {
75
+ style {
76
+ fontFamily "var(--font-heading)"
77
+ textTransform uppercase
78
+ letterSpacing "0.04em"
79
+ fontSize "0.72rem"
80
+ fontWeight "500"
81
+ lineHeight "1.15"
82
+ maxWidth "12ch"
83
+ }
84
+ }
85
+ }
86
+ }
87
+ div {
88
+ style {
89
+ order "${state.reverse ? '1' : '2'}"
90
+ fontSize "1.1rem"
91
+ lineHeight "1.75"
92
+ color "var(--color-text-primary)"
93
+ }
94
+ slot
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,207 @@
1
+ /- kdl-version 2
2
+
3
+ hs-nav {
4
+ state {
5
+ brand SUMMIT
6
+ brandSub "HEATING & COOLING"
7
+ phone "(970) 555-0148"
8
+ phoneHref tel:+19705550148
9
+ hours "Mon–Fri 7a–6p · Sat 8a–2p"
10
+ region "Licensed & Insured · Serving Northern Colorado"
11
+ }
12
+ style display=block position=sticky top="0" zIndex="60"
13
+ div {
14
+ style {
15
+ backgroundColor "var(--color-steel)"
16
+ color "var(--color-text-steel-muted)"
17
+ borderBottom "1px solid var(--color-steel-line)"
18
+ fontFamily "var(--font-body)"
19
+ }
20
+ div {
21
+ style {
22
+ maxWidth "var(--max-width)"
23
+ margin "0 auto"
24
+ padding "0.4rem 1.5rem"
25
+ display flex
26
+ alignItems center
27
+ justifyContent space-between
28
+ gap "1rem"
29
+ fontSize "0.82rem"
30
+ fontWeight "500"
31
+ }
32
+ span "${state.region}" {
33
+ style letterSpacing="0.02em" {
34
+ @--md display=none
35
+ }
36
+ }
37
+ div {
38
+ style display=flex alignItems=center gap="1.1rem" marginLeft=auto
39
+ span "${state.hours}" {
40
+ style letterSpacing="0.02em" {
41
+ @--lg display=none
42
+ }
43
+ }
44
+ span {
45
+ style {
46
+ display inline-flex
47
+ alignItems center
48
+ gap "0.4rem"
49
+ padding "0.15rem 0.6rem"
50
+ borderRadius "999px"
51
+ backgroundColor "var(--color-primary)"
52
+ color "var(--color-text-white)"
53
+ fontFamily "var(--font-heading)"
54
+ fontWeight "600"
55
+ fontSize "0.72rem"
56
+ letterSpacing "0.08em"
57
+ textTransform uppercase
58
+ }
59
+ span {
60
+ style {
61
+ width "0.45rem"
62
+ height "0.45rem"
63
+ borderRadius "999px"
64
+ backgroundColor "#ffffff"
65
+ boxShadow "0 0 0 3px rgba(255,255,255,0.35)"
66
+ }
67
+ }
68
+ span "24/7 Emergency"
69
+ }
70
+ }
71
+ }
72
+ }
73
+ div {
74
+ style {
75
+ backgroundColor "var(--color-bg-white)"
76
+ borderBottom "2px solid var(--color-steel)"
77
+ boxShadow "0 6px 24px -18px rgba(14,26,35,0.6)"
78
+ }
79
+ div {
80
+ style {
81
+ maxWidth "var(--max-width)"
82
+ margin "0 auto"
83
+ padding "0.7rem 1.5rem"
84
+ display flex
85
+ alignItems center
86
+ justifyContent space-between
87
+ gap "1.5rem"
88
+ }
89
+ a href="/" {
90
+ style {
91
+ display flex
92
+ alignItems center
93
+ gap "0.7rem"
94
+ textDecoration none
95
+ color "var(--color-text-primary)"
96
+ }
97
+ span ▲ {
98
+ style {
99
+ display flex
100
+ alignItems center
101
+ justifyContent center
102
+ width "2.6rem"
103
+ height "2.6rem"
104
+ backgroundColor "var(--color-primary)"
105
+ color "var(--color-text-white)"
106
+ borderRadius "0.35rem"
107
+ fontFamily "var(--font-heading)"
108
+ fontWeight "700"
109
+ fontSize "1.5rem"
110
+ lineHeight "1"
111
+ clipPath "polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%)"
112
+ }
113
+ }
114
+ span {
115
+ style display=flex flexDirection=column lineHeight="1"
116
+ span "${state.brand}" {
117
+ style {
118
+ fontFamily "var(--font-heading)"
119
+ fontWeight "700"
120
+ fontSize "1.35rem"
121
+ letterSpacing "0.06em"
122
+ }
123
+ }
124
+ span "${state.brandSub}" {
125
+ style {
126
+ fontFamily "var(--font-heading)"
127
+ fontWeight "500"
128
+ fontSize "0.6rem"
129
+ letterSpacing "0.24em"
130
+ color "var(--color-primary)"
131
+ marginTop "0.15rem"
132
+ }
133
+ }
134
+ }
135
+ }
136
+ nav {
137
+ style display=flex alignItems=center gap="1.75rem"
138
+ a href="/services/" Services {
139
+ style {
140
+ fontFamily "var(--font-heading)"
141
+ textTransform uppercase
142
+ letterSpacing "0.06em"
143
+ color "var(--color-text-primary)"
144
+ textDecoration none
145
+ fontWeight "600"
146
+ fontSize "0.95rem"
147
+ @--md display=none
148
+ :hover color="var(--color-primary)"
149
+ }
150
+ }
151
+ a href="/about/" About {
152
+ style {
153
+ fontFamily "var(--font-heading)"
154
+ textTransform uppercase
155
+ letterSpacing "0.06em"
156
+ color "var(--color-text-primary)"
157
+ textDecoration none
158
+ fontWeight "600"
159
+ fontSize "0.95rem"
160
+ @--md display=none
161
+ :hover color="var(--color-primary)"
162
+ }
163
+ }
164
+ a href="${state.phoneHref}" {
165
+ style {
166
+ display inline-flex
167
+ alignItems center
168
+ gap "0.5rem"
169
+ fontFamily "var(--font-heading)"
170
+ color "var(--color-text-primary)"
171
+ textDecoration none
172
+ fontWeight "700"
173
+ fontSize "1.05rem"
174
+ letterSpacing "0.01em"
175
+ @--sm display=none
176
+ :hover color="var(--color-primary)"
177
+ }
178
+ span ☏ {
179
+ style color="var(--color-primary)" fontSize="1.1rem"
180
+ }
181
+ span "${state.phone}"
182
+ }
183
+ a href="/contact/" "Free Quote" {
184
+ style {
185
+ display inline-block
186
+ backgroundColor "var(--color-primary)"
187
+ color "var(--color-text-white)"
188
+ padding "0.6rem 1.35rem"
189
+ borderRadius "var(--radius-sm)"
190
+ textDecoration none
191
+ fontFamily "var(--font-heading)"
192
+ textTransform uppercase
193
+ letterSpacing "0.05em"
194
+ fontWeight "600"
195
+ fontSize "0.95rem"
196
+ boxShadow "0 10px 22px -12px rgba(244,81,30,0.9)"
197
+ transition "background-color 0.15s, transform 0.15s"
198
+ :hover {
199
+ backgroundColor "var(--color-primary-hover)"
200
+ transform "translateY(-1px)"
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }