@jxsuite/starters 0.34.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 (440) hide show
  1. package/index.ts +72 -0
  2. package/package.json +28 -0
  3. package/registry.json +178 -0
  4. package/sites/blog/components/bl-author-bio.json +82 -0
  5. package/sites/blog/components/bl-contact-form.json +114 -0
  6. package/sites/blog/components/bl-contact-info.json +54 -0
  7. package/sites/blog/components/bl-cta.json +62 -0
  8. package/sites/blog/components/bl-footer.json +145 -0
  9. package/sites/blog/components/bl-masthead.json +128 -0
  10. package/sites/blog/components/bl-nav.json +97 -0
  11. package/sites/blog/components/bl-newsletter-cta.json +120 -0
  12. package/sites/blog/components/bl-post-card.json +114 -0
  13. package/sites/blog/components/bl-post-list.json +17 -0
  14. package/sites/blog/components/bl-prose.json +74 -0
  15. package/sites/blog/components/bl-section-header.json +53 -0
  16. package/sites/blog/components/bl-tag-pill.json +26 -0
  17. package/sites/blog/content/posts/designing-for-slowness.md +25 -0
  18. package/sites/blog/content/posts/notes-from-a-long-walk.md +27 -0
  19. package/sites/blog/content/posts/the-city-as-a-text.md +27 -0
  20. package/sites/blog/content/posts/the-quiet-craft-of-revision.md +27 -0
  21. package/sites/blog/content/posts/tools-that-disappear.md +27 -0
  22. package/sites/blog/content/posts/what-i-learned-rereading.md +27 -0
  23. package/sites/blog/images.json +54 -0
  24. package/sites/blog/layouts/base.json +22 -0
  25. package/sites/blog/layouts/post.json +15 -0
  26. package/sites/blog/package.json +15 -0
  27. package/sites/blog/pages/[slug].json +148 -0
  28. package/sites/blog/pages/about.md +32 -0
  29. package/sites/blog/pages/contact.md +18 -0
  30. package/sites/blog/pages/index.md +48 -0
  31. package/sites/blog/project.json +107 -0
  32. package/sites/blog/public/favicon.svg +6 -0
  33. package/sites/blog/public/images/author.jpg +0 -0
  34. package/sites/blog/public/images/hero.jpg +0 -0
  35. package/sites/blog/public/images/post-1.jpg +0 -0
  36. package/sites/blog/public/images/post-2.jpg +0 -0
  37. package/sites/blog/public/images/post-3.jpg +0 -0
  38. package/sites/blog/public/images/post-4.jpg +0 -0
  39. package/sites/blog/public/images/post-5.jpg +0 -0
  40. package/sites/blog/public/images/post-6.jpg +0 -0
  41. package/sites/course/components/co-application.json +170 -0
  42. package/sites/course/components/co-cta.json +74 -0
  43. package/sites/course/components/co-curriculum-accordion.json +1476 -0
  44. package/sites/course/components/co-faq.json +524 -0
  45. package/sites/course/components/co-footer.json +145 -0
  46. package/sites/course/components/co-hero.json +139 -0
  47. package/sites/course/components/co-instructor-card.json +76 -0
  48. package/sites/course/components/co-module-card.json +93 -0
  49. package/sites/course/components/co-nav.json +119 -0
  50. package/sites/course/components/co-outcome-card.json +58 -0
  51. package/sites/course/components/co-pricing.json +133 -0
  52. package/sites/course/components/co-section-header.json +53 -0
  53. package/sites/course/components/co-stat.json +36 -0
  54. package/sites/course/components/co-testimonial-card.json +54 -0
  55. package/sites/course/content/modules/backend.md +8 -0
  56. package/sites/course/content/modules/capstone.md +8 -0
  57. package/sites/course/content/modules/foundations.md +8 -0
  58. package/sites/course/content/modules/frameworks.md +8 -0
  59. package/sites/course/content/modules/html-css.md +8 -0
  60. package/sites/course/content/modules/javascript.md +8 -0
  61. package/sites/course/images.json +24 -0
  62. package/sites/course/layouts/base.json +22 -0
  63. package/sites/course/package.json +15 -0
  64. package/sites/course/pages/about.md +44 -0
  65. package/sites/course/pages/curriculum.md +31 -0
  66. package/sites/course/pages/enroll.md +46 -0
  67. package/sites/course/pages/index.md +86 -0
  68. package/sites/course/project.json +102 -0
  69. package/sites/course/public/favicon.svg +5 -0
  70. package/sites/course/public/images/about.jpg +0 -0
  71. package/sites/course/public/images/hero.jpg +0 -0
  72. package/sites/course/public/images/instructor.jpg +0 -0
  73. package/sites/event/components/ev-agenda-tabs.json +542 -0
  74. package/sites/event/components/ev-cta.json +97 -0
  75. package/sites/event/components/ev-feature.json +58 -0
  76. package/sites/event/components/ev-footer.json +145 -0
  77. package/sites/event/components/ev-hero.json +196 -0
  78. package/sites/event/components/ev-nav.json +123 -0
  79. package/sites/event/components/ev-savedate.json +244 -0
  80. package/sites/event/components/ev-section-header.json +53 -0
  81. package/sites/event/components/ev-session-row.json +72 -0
  82. package/sites/event/components/ev-speaker-card.json +84 -0
  83. package/sites/event/components/ev-stat.json +42 -0
  84. package/sites/event/components/ev-ticket-card.json +196 -0
  85. package/sites/event/components/ev-venue.json +59 -0
  86. package/sites/event/content/sessions/01-opening-keynote.md +9 -0
  87. package/sites/event/content/sessions/02-designing-for-trust.md +9 -0
  88. package/sites/event/content/sessions/03-reactive-islands.md +9 -0
  89. package/sites/event/content/sessions/04-scaling-systems.md +9 -0
  90. package/sites/event/content/sessions/05-motion-and-meaning.md +9 -0
  91. package/sites/event/content/sessions/06-ship-it.md +9 -0
  92. package/sites/event/images.json +42 -0
  93. package/sites/event/layouts/base.json +22 -0
  94. package/sites/event/package.json +15 -0
  95. package/sites/event/pages/index.md +65 -0
  96. package/sites/event/pages/schedule.md +89 -0
  97. package/sites/event/pages/speakers.md +102 -0
  98. package/sites/event/pages/tickets.md +33 -0
  99. package/sites/event/project.json +103 -0
  100. package/sites/event/public/favicon.svg +5 -0
  101. package/sites/event/public/images/hero.jpg +0 -0
  102. package/sites/event/public/images/speaker-1.jpg +0 -0
  103. package/sites/event/public/images/speaker-2.jpg +0 -0
  104. package/sites/event/public/images/speaker-3.jpg +0 -0
  105. package/sites/event/public/images/speaker-4.jpg +0 -0
  106. package/sites/event/public/images/venue.jpg +0 -0
  107. package/sites/fitness-studio/components/fs-class-card.json +112 -0
  108. package/sites/fitness-studio/components/fs-class-grid.json +36 -0
  109. package/sites/fitness-studio/components/fs-cta.json +62 -0
  110. package/sites/fitness-studio/components/fs-feature.json +42 -0
  111. package/sites/fitness-studio/components/fs-footer.json +145 -0
  112. package/sites/fitness-studio/components/fs-hero.json +128 -0
  113. package/sites/fitness-studio/components/fs-hours.json +90 -0
  114. package/sites/fitness-studio/components/fs-instructor-card.json +73 -0
  115. package/sites/fitness-studio/components/fs-intro.json +59 -0
  116. package/sites/fitness-studio/components/fs-nav.json +97 -0
  117. package/sites/fitness-studio/components/fs-pricing-card.json +223 -0
  118. package/sites/fitness-studio/components/fs-pricing-table.json +458 -0
  119. package/sites/fitness-studio/components/fs-review.json +54 -0
  120. package/sites/fitness-studio/components/fs-section-header.json +53 -0
  121. package/sites/fitness-studio/content/classes/hiit-circuit.md +10 -0
  122. package/sites/fitness-studio/content/classes/pilates-core.md +10 -0
  123. package/sites/fitness-studio/content/classes/power-yoga.md +10 -0
  124. package/sites/fitness-studio/content/classes/restorative-yoga.md +10 -0
  125. package/sites/fitness-studio/content/classes/strength-tone.md +10 -0
  126. package/sites/fitness-studio/content/classes/vinyasa-flow.md +10 -0
  127. package/sites/fitness-studio/images.json +48 -0
  128. package/sites/fitness-studio/layouts/base.json +22 -0
  129. package/sites/fitness-studio/package.json +15 -0
  130. package/sites/fitness-studio/pages/classes.md +37 -0
  131. package/sites/fitness-studio/pages/contact.md +53 -0
  132. package/sites/fitness-studio/pages/index.md +112 -0
  133. package/sites/fitness-studio/pages/pricing.md +41 -0
  134. package/sites/fitness-studio/project.json +104 -0
  135. package/sites/fitness-studio/public/favicon.svg +5 -0
  136. package/sites/fitness-studio/public/images/about.jpg +0 -0
  137. package/sites/fitness-studio/public/images/class-1.jpg +0 -0
  138. package/sites/fitness-studio/public/images/class-2.jpg +0 -0
  139. package/sites/fitness-studio/public/images/class-3.jpg +0 -0
  140. package/sites/fitness-studio/public/images/hero.jpg +0 -0
  141. package/sites/fitness-studio/public/images/instructor-1.jpg +0 -0
  142. package/sites/fitness-studio/public/images/instructor-2.jpg +0 -0
  143. package/sites/home-services/components/hs-cta.json +123 -0
  144. package/sites/home-services/components/hs-feature.json +43 -0
  145. package/sites/home-services/components/hs-footer.json +157 -0
  146. package/sites/home-services/components/hs-gallery.json +53 -0
  147. package/sites/home-services/components/hs-hero.json +128 -0
  148. package/sites/home-services/components/hs-intro.json +59 -0
  149. package/sites/home-services/components/hs-nav.json +113 -0
  150. package/sites/home-services/components/hs-reservation.json +146 -0
  151. package/sites/home-services/components/hs-review.json +54 -0
  152. package/sites/home-services/components/hs-section-header.json +53 -0
  153. package/sites/home-services/components/hs-service-card.json +79 -0
  154. package/sites/home-services/components/hs-step.json +53 -0
  155. package/sites/home-services/components/hs-trust-bar.json +108 -0
  156. package/sites/home-services/content/services/ac-installation.md +8 -0
  157. package/sites/home-services/content/services/ac-repair.md +8 -0
  158. package/sites/home-services/content/services/furnace-installation.md +8 -0
  159. package/sites/home-services/content/services/furnace-repair.md +8 -0
  160. package/sites/home-services/content/services/heat-pumps.md +8 -0
  161. package/sites/home-services/content/services/maintenance-plans.md +8 -0
  162. package/sites/home-services/images.json +42 -0
  163. package/sites/home-services/layouts/base.json +22 -0
  164. package/sites/home-services/package.json +15 -0
  165. package/sites/home-services/pages/about.md +40 -0
  166. package/sites/home-services/pages/contact.md +53 -0
  167. package/sites/home-services/pages/index.md +87 -0
  168. package/sites/home-services/pages/services.md +39 -0
  169. package/sites/home-services/project.json +103 -0
  170. package/sites/home-services/public/favicon.svg +7 -0
  171. package/sites/home-services/public/images/about.jpg +0 -0
  172. package/sites/home-services/public/images/cta-bg.jpg +0 -0
  173. package/sites/home-services/public/images/gallery-1.jpg +0 -0
  174. package/sites/home-services/public/images/gallery-2.jpg +0 -0
  175. package/sites/home-services/public/images/gallery-3.jpg +0 -0
  176. package/sites/home-services/public/images/hero.jpg +0 -0
  177. package/sites/nonprofit/components/np-contact-form.json +134 -0
  178. package/sites/nonprofit/components/np-contact-info.json +153 -0
  179. package/sites/nonprofit/components/np-cta.json +128 -0
  180. package/sites/nonprofit/components/np-donate-tier.json +89 -0
  181. package/sites/nonprofit/components/np-feature.json +53 -0
  182. package/sites/nonprofit/components/np-footer.json +187 -0
  183. package/sites/nonprofit/components/np-hero.json +132 -0
  184. package/sites/nonprofit/components/np-intro.json +59 -0
  185. package/sites/nonprofit/components/np-nav.json +137 -0
  186. package/sites/nonprofit/components/np-program-card.json +69 -0
  187. package/sites/nonprofit/components/np-section-header.json +53 -0
  188. package/sites/nonprofit/components/np-stat.json +48 -0
  189. package/sites/nonprofit/components/np-step.json +55 -0
  190. package/sites/nonprofit/components/np-team-member.json +67 -0
  191. package/sites/nonprofit/components/np-testimonial.json +54 -0
  192. package/sites/nonprofit/content/programs/community-garden.md +8 -0
  193. package/sites/nonprofit/content/programs/food-pantry.md +8 -0
  194. package/sites/nonprofit/content/programs/housing-support.md +8 -0
  195. package/sites/nonprofit/content/programs/job-training.md +8 -0
  196. package/sites/nonprofit/content/programs/youth-mentoring.md +8 -0
  197. package/sites/nonprofit/images.json +54 -0
  198. package/sites/nonprofit/layouts/base.json +22 -0
  199. package/sites/nonprofit/package.json +15 -0
  200. package/sites/nonprofit/pages/about.md +54 -0
  201. package/sites/nonprofit/pages/contact.md +17 -0
  202. package/sites/nonprofit/pages/get-involved.md +63 -0
  203. package/sites/nonprofit/pages/index.md +87 -0
  204. package/sites/nonprofit/pages/programs.md +39 -0
  205. package/sites/nonprofit/project.json +103 -0
  206. package/sites/nonprofit/public/favicon.svg +5 -0
  207. package/sites/nonprofit/public/images/about.jpg +0 -0
  208. package/sites/nonprofit/public/images/cta-bg.jpg +0 -0
  209. package/sites/nonprofit/public/images/hero.jpg +0 -0
  210. package/sites/nonprofit/public/images/program-1.jpg +0 -0
  211. package/sites/nonprofit/public/images/program-2.jpg +0 -0
  212. package/sites/nonprofit/public/images/program-3.jpg +0 -0
  213. package/sites/nonprofit/public/images/program-4.jpg +0 -0
  214. package/sites/nonprofit/public/images/program-5.jpg +0 -0
  215. package/sites/portfolio/components/pv-about-split.json +59 -0
  216. package/sites/portfolio/components/pv-category-pill.json +24 -0
  217. package/sites/portfolio/components/pv-contact-form.json +137 -0
  218. package/sites/portfolio/components/pv-cta.json +64 -0
  219. package/sites/portfolio/components/pv-feature.json +48 -0
  220. package/sites/portfolio/components/pv-footer.json +145 -0
  221. package/sites/portfolio/components/pv-gallery.json +50 -0
  222. package/sites/portfolio/components/pv-hero.json +132 -0
  223. package/sites/portfolio/components/pv-nav.json +106 -0
  224. package/sites/portfolio/components/pv-project-card.json +103 -0
  225. package/sites/portfolio/components/pv-project-grid.json +22 -0
  226. package/sites/portfolio/components/pv-section-header.json +53 -0
  227. package/sites/portfolio/content/projects/architecture.md +12 -0
  228. package/sites/portfolio/content/projects/editorial.md +12 -0
  229. package/sites/portfolio/content/projects/food.md +12 -0
  230. package/sites/portfolio/content/projects/portraits.md +12 -0
  231. package/sites/portfolio/content/projects/travel.md +12 -0
  232. package/sites/portfolio/content/projects/weddings.md +12 -0
  233. package/sites/portfolio/images.json +54 -0
  234. package/sites/portfolio/layouts/base.json +22 -0
  235. package/sites/portfolio/package.json +15 -0
  236. package/sites/portfolio/pages/[slug].json +260 -0
  237. package/sites/portfolio/pages/about.md +40 -0
  238. package/sites/portfolio/pages/contact.md +42 -0
  239. package/sites/portfolio/pages/index.md +45 -0
  240. package/sites/portfolio/pages/work.md +39 -0
  241. package/sites/portfolio/project.json +105 -0
  242. package/sites/portfolio/public/favicon.svg +7 -0
  243. package/sites/portfolio/public/images/about.jpg +0 -0
  244. package/sites/portfolio/public/images/hero.jpg +0 -0
  245. package/sites/portfolio/public/images/project-1.jpg +0 -0
  246. package/sites/portfolio/public/images/project-2.jpg +0 -0
  247. package/sites/portfolio/public/images/project-3.jpg +0 -0
  248. package/sites/portfolio/public/images/project-4.jpg +0 -0
  249. package/sites/portfolio/public/images/project-5.jpg +0 -0
  250. package/sites/portfolio/public/images/project-6.jpg +0 -0
  251. package/sites/professional-firm/components/pf-article-header.json +79 -0
  252. package/sites/professional-firm/components/pf-contact-form.json +138 -0
  253. package/sites/professional-firm/components/pf-cta.json +62 -0
  254. package/sites/professional-firm/components/pf-feature.json +55 -0
  255. package/sites/professional-firm/components/pf-footer.json +172 -0
  256. package/sites/professional-firm/components/pf-hero.json +128 -0
  257. package/sites/professional-firm/components/pf-insight-card.json +99 -0
  258. package/sites/professional-firm/components/pf-intro.json +59 -0
  259. package/sites/professional-firm/components/pf-logo-bar.json +112 -0
  260. package/sites/professional-firm/components/pf-nav.json +110 -0
  261. package/sites/professional-firm/components/pf-section-header.json +53 -0
  262. package/sites/professional-firm/components/pf-service-card.json +77 -0
  263. package/sites/professional-firm/components/pf-stat.json +37 -0
  264. package/sites/professional-firm/components/pf-team-member.json +70 -0
  265. package/sites/professional-firm/content/insights/cash-flow-forecasting.md +15 -0
  266. package/sites/professional-firm/content/insights/choosing-business-entity.md +15 -0
  267. package/sites/professional-firm/content/insights/r-and-d-tax-credits.md +15 -0
  268. package/sites/professional-firm/content/insights/when-to-hire-cfo.md +15 -0
  269. package/sites/professional-firm/content/insights/year-end-tax-moves.md +15 -0
  270. package/sites/professional-firm/images.json +48 -0
  271. package/sites/professional-firm/layouts/article.json +48 -0
  272. package/sites/professional-firm/layouts/base.json +22 -0
  273. package/sites/professional-firm/package.json +15 -0
  274. package/sites/professional-firm/pages/contact.md +36 -0
  275. package/sites/professional-firm/pages/index.md +81 -0
  276. package/sites/professional-firm/pages/insights/[slug].json +118 -0
  277. package/sites/professional-firm/pages/insights.md +29 -0
  278. package/sites/professional-firm/pages/services.md +39 -0
  279. package/sites/professional-firm/pages/team.md +33 -0
  280. package/sites/professional-firm/project.json +104 -0
  281. package/sites/professional-firm/public/favicon.svg +5 -0
  282. package/sites/professional-firm/public/images/about.jpg +0 -0
  283. package/sites/professional-firm/public/images/hero.jpg +0 -0
  284. package/sites/professional-firm/public/images/insight-cover.jpg +0 -0
  285. package/sites/professional-firm/public/images/team-1.jpg +0 -0
  286. package/sites/professional-firm/public/images/team-2.jpg +0 -0
  287. package/sites/professional-firm/public/images/team-3.jpg +0 -0
  288. package/sites/professional-firm/public/images/team-4.jpg +0 -0
  289. package/sites/real-estate/components/re-agent-card.json +66 -0
  290. package/sites/real-estate/components/re-contact-form.json +132 -0
  291. package/sites/real-estate/components/re-cta.json +63 -0
  292. package/sites/real-estate/components/re-detail-row.json +26 -0
  293. package/sites/real-estate/components/re-feature.json +53 -0
  294. package/sites/real-estate/components/re-footer.json +151 -0
  295. package/sites/real-estate/components/re-hero.json +183 -0
  296. package/sites/real-estate/components/re-intro.json +59 -0
  297. package/sites/real-estate/components/re-listing-card.json +126 -0
  298. package/sites/real-estate/components/re-listings-filter.json +337 -0
  299. package/sites/real-estate/components/re-nav.json +117 -0
  300. package/sites/real-estate/components/re-section-header.json +53 -0
  301. package/sites/real-estate/components/re-stat.json +36 -0
  302. package/sites/real-estate/components/re-step.json +55 -0
  303. package/sites/real-estate/components/re-testimonial.json +54 -0
  304. package/sites/real-estate/content/listings.csv +7 -0
  305. package/sites/real-estate/images.json +84 -0
  306. package/sites/real-estate/layouts/base.json +22 -0
  307. package/sites/real-estate/package.json +15 -0
  308. package/sites/real-estate/pages/[slug].json +327 -0
  309. package/sites/real-estate/pages/about.md +42 -0
  310. package/sites/real-estate/pages/contact.md +54 -0
  311. package/sites/real-estate/pages/index.md +77 -0
  312. package/sites/real-estate/pages/listings.md +13 -0
  313. package/sites/real-estate/project.json +109 -0
  314. package/sites/real-estate/public/favicon.svg +5 -0
  315. package/sites/real-estate/public/images/about.jpg +0 -0
  316. package/sites/real-estate/public/images/agent-1.jpg +0 -0
  317. package/sites/real-estate/public/images/agent-2.jpg +0 -0
  318. package/sites/real-estate/public/images/agent-3.jpg +0 -0
  319. package/sites/real-estate/public/images/hero.jpg +0 -0
  320. package/sites/real-estate/public/images/interior-1.jpg +0 -0
  321. package/sites/real-estate/public/images/interior-2.jpg +0 -0
  322. package/sites/real-estate/public/images/listing-1.jpg +0 -0
  323. package/sites/real-estate/public/images/listing-2.jpg +0 -0
  324. package/sites/real-estate/public/images/listing-3.jpg +0 -0
  325. package/sites/real-estate/public/images/listing-4.jpg +0 -0
  326. package/sites/real-estate/public/images/listing-5.jpg +0 -0
  327. package/sites/real-estate/public/images/listing-6.jpg +0 -0
  328. package/sites/restaurant/components/bit-cta.json +62 -0
  329. package/sites/restaurant/components/bit-feature.json +42 -0
  330. package/sites/restaurant/components/bit-footer.json +145 -0
  331. package/sites/restaurant/components/bit-gallery.json +65 -0
  332. package/sites/restaurant/components/bit-hero.json +128 -0
  333. package/sites/restaurant/components/bit-hours.json +90 -0
  334. package/sites/restaurant/components/bit-intro.json +59 -0
  335. package/sites/restaurant/components/bit-menu-group.json +29 -0
  336. package/sites/restaurant/components/bit-menu-item.json +57 -0
  337. package/sites/restaurant/components/bit-nav.json +97 -0
  338. package/sites/restaurant/components/bit-reservation.json +134 -0
  339. package/sites/restaurant/components/bit-review.json +54 -0
  340. package/sites/restaurant/components/bit-section-header.json +53 -0
  341. package/sites/restaurant/content/menu/bruschetta.md +9 -0
  342. package/sites/restaurant/content/menu/cappuccino.md +9 -0
  343. package/sites/restaurant/content/menu/chocolate-tart.md +9 -0
  344. package/sites/restaurant/content/menu/house-coffee.md +9 -0
  345. package/sites/restaurant/content/menu/mushroom-tagliatelle.md +9 -0
  346. package/sites/restaurant/content/menu/roast-chicken.md +9 -0
  347. package/sites/restaurant/content/menu/seared-salmon.md +9 -0
  348. package/sites/restaurant/content/menu/squash-soup.md +9 -0
  349. package/sites/restaurant/content/menu/tiramisu.md +9 -0
  350. package/sites/restaurant/images.json +66 -0
  351. package/sites/restaurant/layouts/base.json +22 -0
  352. package/sites/restaurant/package.json +15 -0
  353. package/sites/restaurant/pages/about.md +30 -0
  354. package/sites/restaurant/pages/contact.md +28 -0
  355. package/sites/restaurant/pages/index.md +63 -0
  356. package/sites/restaurant/pages/menu.md +80 -0
  357. package/sites/restaurant/project.json +105 -0
  358. package/sites/restaurant/public/favicon.svg +7 -0
  359. package/sites/restaurant/public/images/about.jpg +0 -0
  360. package/sites/restaurant/public/images/dish-desserts.jpg +0 -0
  361. package/sites/restaurant/public/images/dish-mains.jpg +0 -0
  362. package/sites/restaurant/public/images/dish-starters.jpg +0 -0
  363. package/sites/restaurant/public/images/gallery-1.jpg +0 -0
  364. package/sites/restaurant/public/images/gallery-2.jpg +0 -0
  365. package/sites/restaurant/public/images/gallery-3.jpg +0 -0
  366. package/sites/restaurant/public/images/gallery-4.jpg +0 -0
  367. package/sites/restaurant/public/images/hero.jpg +0 -0
  368. package/sites/restaurant/public/images/intro.jpg +0 -0
  369. package/sites/saas/components/sa-check-item.json +40 -0
  370. package/sites/saas/components/sa-contact-form.json +153 -0
  371. package/sites/saas/components/sa-cta.json +102 -0
  372. package/sites/saas/components/sa-faq.json +413 -0
  373. package/sites/saas/components/sa-feature-card.json +59 -0
  374. package/sites/saas/components/sa-feature-split.json +60 -0
  375. package/sites/saas/components/sa-footer.json +145 -0
  376. package/sites/saas/components/sa-hero.json +160 -0
  377. package/sites/saas/components/sa-logo-cloud.json +119 -0
  378. package/sites/saas/components/sa-nav.json +130 -0
  379. package/sites/saas/components/sa-pricing.json +427 -0
  380. package/sites/saas/components/sa-section-header.json +55 -0
  381. package/sites/saas/components/sa-stat.json +40 -0
  382. package/sites/saas/components/sa-testimonial-card.json +57 -0
  383. package/sites/saas/content/testimonials/marcus-bell.md +8 -0
  384. package/sites/saas/content/testimonials/nadia-okafor.md +8 -0
  385. package/sites/saas/content/testimonials/priya-raman.md +8 -0
  386. package/sites/saas/content/testimonials/theo-lindqvist.md +8 -0
  387. package/sites/saas/images.json +30 -0
  388. package/sites/saas/layouts/base.json +22 -0
  389. package/sites/saas/package.json +15 -0
  390. package/sites/saas/pages/contact.md +39 -0
  391. package/sites/saas/pages/features.md +87 -0
  392. package/sites/saas/pages/index.md +122 -0
  393. package/sites/saas/pages/pricing.md +39 -0
  394. package/sites/saas/project.json +134 -0
  395. package/sites/saas/public/favicon.svg +5 -0
  396. package/sites/saas/public/images/feature-1.jpg +0 -0
  397. package/sites/saas/public/images/feature-2.jpg +0 -0
  398. package/sites/saas/public/images/feature-3.jpg +0 -0
  399. package/sites/saas/public/images/hero.jpg +0 -0
  400. package/sites/shop/components/shp-badge.json +18 -0
  401. package/sites/shop/components/shp-contact-form.json +156 -0
  402. package/sites/shop/components/shp-cta.json +63 -0
  403. package/sites/shop/components/shp-feature.json +55 -0
  404. package/sites/shop/components/shp-footer.json +145 -0
  405. package/sites/shop/components/shp-hero.json +128 -0
  406. package/sites/shop/components/shp-intro.json +59 -0
  407. package/sites/shop/components/shp-nav.json +104 -0
  408. package/sites/shop/components/shp-product-card.json +131 -0
  409. package/sites/shop/components/shp-product-filter.json +184 -0
  410. package/sites/shop/components/shp-review.json +54 -0
  411. package/sites/shop/components/shp-section-header.json +53 -0
  412. package/sites/shop/components/shp-service.json +83 -0
  413. package/sites/shop/components/shp-stat.json +37 -0
  414. package/sites/shop/components/shp-visit-info.json +132 -0
  415. package/sites/shop/content/product/aero-road-helmet.md +10 -0
  416. package/sites/shop/content/product/apex-carbon-road.md +10 -0
  417. package/sites/shop/content/product/backroad-gravel-adv.md +10 -0
  418. package/sites/shop/content/product/boulder-enduro.md +10 -0
  419. package/sites/shop/content/product/rambler-kids-20.md +10 -0
  420. package/sites/shop/content/product/summit-trail-29er.md +10 -0
  421. package/sites/shop/content/product/trailhead-pannier-set.md +10 -0
  422. package/sites/shop/content/product/velocity-alloy-road.md +10 -0
  423. package/sites/shop/images.json +54 -0
  424. package/sites/shop/layouts/base.json +22 -0
  425. package/sites/shop/package.json +15 -0
  426. package/sites/shop/pages/about.md +42 -0
  427. package/sites/shop/pages/contact.md +15 -0
  428. package/sites/shop/pages/index.md +82 -0
  429. package/sites/shop/pages/products/[sku].json +191 -0
  430. package/sites/shop/pages/products.md +29 -0
  431. package/sites/shop/project.json +105 -0
  432. package/sites/shop/public/favicon.svg +6 -0
  433. package/sites/shop/public/images/about.jpg +0 -0
  434. package/sites/shop/public/images/hero.jpg +0 -0
  435. package/sites/shop/public/images/product-1.jpg +0 -0
  436. package/sites/shop/public/images/product-2.jpg +0 -0
  437. package/sites/shop/public/images/product-3.jpg +0 -0
  438. package/sites/shop/public/images/product-4.jpg +0 -0
  439. package/sites/shop/public/images/product-5.jpg +0 -0
  440. package/sites/shop/public/images/product-6.jpg +0 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: When Does a Growing Company Need a CFO?
3
+ excerpt: You may not need a full-time finance chief yet, but you probably need the function. A look at the signals and the fractional middle ground.
4
+ date: September 30, 2025
5
+ author: Dana Whitfield
6
+ order: 4
7
+ ---
8
+
9
+ Founders often ask whether it is time to hire a chief financial officer. The more useful question is whether the company has outgrown the person currently doing the finance work in the margins of their real job. When strategic financial decisions start landing on someone who was never meant to own them, the function has arrived even if the title has not.
10
+
11
+ There are a few reliable signals. Board meetings now require forward-looking analysis rather than a look in the rear-view mirror. You are raising capital, servicing debt covenants, or fielding diligence requests. Pricing, hiring, and expansion decisions all hinge on numbers that take days to assemble and still feel uncertain. Each of these is a sign that finance has become strategic.
12
+
13
+ For most companies between one and twenty million in revenue, a full-time executive is more capacity than the business can use or afford. This is where a fractional CFO fits: senior judgment applied a few days a month, focused on forecasting, fundraising, and the decisions that actually move enterprise value.
14
+
15
+ The goal is not to add overhead. It is to put an experienced hand on the financial wheel before a costly mistake makes the case for you. The companies that bring in that judgment early tend to raise on better terms, avoid expensive missteps, and reach the point where a full-time hire is genuinely justified.
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: Five Year-End Tax Moves Owners Overlook
3
+ excerpt: A short checklist of the deductions, deferrals, and elections that quietly save growing companies real money before December 31.
4
+ date: December 3, 2025
5
+ author: Priya Nair
6
+ order: 1
7
+ ---
8
+
9
+ Most of the tax bill you will pay next April is decided in the final quarter of the year, not in the filing season that follows. By the time the return is prepared, the levers that actually move the number have already been set. The best-run companies treat the fourth quarter as a planning window rather than a reporting deadline.
10
+
11
+ Start with timing. If your business uses cash-basis accounting, you can often defer income into January or accelerate deductible expenses into December, smoothing your taxable income across two years. Prepaying vendors, topping up retirement contributions, and placing equipment in service before year end all shift deductions into the current period.
12
+
13
+ Then look at elections you may be leaving on the table. Bonus depreciation, the Section 179 expensing limit, and the qualified business income deduction each have thresholds that reward a little planning. A conversation in November is worth far more than a scramble in March.
14
+
15
+ Finally, document everything while it is fresh. Reasonable compensation, home-office use, and vehicle mileage are all defensible when the records are contemporaneous and vague when they are reconstructed later. A clean file is the cheapest insurance you can buy against an audit.
@@ -0,0 +1,48 @@
1
+ {
2
+ "site": "professional-firm",
3
+ "thumbnail": "hero",
4
+ "images": [
5
+ {
6
+ "role": "hero",
7
+ "query": "modern office meeting professional",
8
+ "orientation": "landscape",
9
+ "photoId": 7698712
10
+ },
11
+ {
12
+ "role": "about",
13
+ "query": "business team office",
14
+ "orientation": "landscape",
15
+ "photoId": 4872048
16
+ },
17
+ {
18
+ "role": "team-1",
19
+ "query": "professional business headshot",
20
+ "orientation": "portrait",
21
+ "photoId": 37148308
22
+ },
23
+ {
24
+ "role": "team-2",
25
+ "query": "professional business headshot",
26
+ "orientation": "portrait",
27
+ "photoId": 37148308
28
+ },
29
+ {
30
+ "role": "team-3",
31
+ "query": "professional business headshot",
32
+ "orientation": "portrait",
33
+ "photoId": 37148308
34
+ },
35
+ {
36
+ "role": "team-4",
37
+ "query": "professional business headshot",
38
+ "orientation": "portrait",
39
+ "photoId": 37148308
40
+ },
41
+ {
42
+ "role": "insight-cover",
43
+ "query": "business charts documents",
44
+ "orientation": "landscape",
45
+ "photoId": 9034283
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "tagName": "div",
3
+ "$elements": [
4
+ { "$ref": "../components/pf-nav.json" },
5
+ { "$ref": "../components/pf-footer.json" }
6
+ ],
7
+ "style": {
8
+ "minHeight": "100vh",
9
+ "display": "flex",
10
+ "flexDirection": "column",
11
+ "backgroundColor": "var(--color-bg-white)"
12
+ },
13
+ "children": [
14
+ { "tagName": "pf-nav" },
15
+ {
16
+ "tagName": "main",
17
+ "style": { "flex": "1" },
18
+ "children": [
19
+ {
20
+ "tagName": "div",
21
+ "style": {
22
+ "maxWidth": "720px",
23
+ "margin": "0 auto",
24
+ "padding": "clamp(2.5rem, 6vw, 4.5rem) 1.5rem clamp(3rem, 8vw, 5rem)"
25
+ },
26
+ "children": [
27
+ {
28
+ "tagName": "a",
29
+ "attributes": { "href": "/insights/" },
30
+ "style": {
31
+ "display": "inline-block",
32
+ "marginBottom": "2rem",
33
+ "color": "var(--color-primary)",
34
+ "textDecoration": "none",
35
+ "fontWeight": "600",
36
+ "fontSize": "0.9rem",
37
+ ":hover": { "color": "var(--color-primary-hover)" }
38
+ },
39
+ "textContent": "← Back to insights"
40
+ },
41
+ { "tagName": "slot" }
42
+ ]
43
+ }
44
+ ]
45
+ },
46
+ { "tagName": "pf-footer" }
47
+ ]
48
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "tagName": "div",
3
+ "$elements": [
4
+ { "$ref": "../components/pf-nav.json" },
5
+ { "$ref": "../components/pf-footer.json" }
6
+ ],
7
+ "style": {
8
+ "minHeight": "100vh",
9
+ "display": "flex",
10
+ "flexDirection": "column",
11
+ "backgroundColor": "var(--color-bg-white)"
12
+ },
13
+ "children": [
14
+ { "tagName": "pf-nav" },
15
+ {
16
+ "tagName": "main",
17
+ "style": { "flex": "1" },
18
+ "children": [{ "tagName": "slot" }]
19
+ },
20
+ { "tagName": "pf-footer" }
21
+ ]
22
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "professional-firm",
3
+ "private": true,
4
+ "description": "Meridian Advisory — a starter site for an accounting and advisory firm, with services, a team roster, and an insights collection with per-article pages.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "scripts": {
8
+ "build": "jx build",
9
+ "dev": "jx dev"
10
+ },
11
+ "devDependencies": {
12
+ "@jxsuite/compiler": "^0.19.0",
13
+ "@jxsuite/runtime": "^0.19.0"
14
+ }
15
+ }
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: "Contact — Meridian Advisory"
3
+ ---
4
+
5
+ :::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
6
+ ::pf-section-header{props.eyebrow="Get in touch" props.heading="Book a free consultation" props.subheading="Tell us a little about your business and we'll be in touch within one business day."}
7
+ :::::
8
+
9
+ ::::::section{style.maxWidth="var(--max-width)" style.margin="0 auto" style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
10
+ :::::div{style.display="grid" style.gridTemplateColumns="1.2fr 1fr" style.gap="clamp(2rem, 5vw, 3.5rem)" style.--md.gridTemplateColumns="1fr"}
11
+
12
+ ::pf-contact-form{props.heading="Request a consultation"}
13
+
14
+ ::::div{style.display="grid" style.gap="1.5rem" style.alignContent="start"}
15
+
16
+ :::div{style.padding="2rem" style.backgroundColor="var(--color-bg-cream)" style.border="1px solid var(--color-border)" style.borderRadius="var(--radius)"}
17
+
18
+ ### Office
19
+
20
+ 410 Corniche Plaza, Suite 900\
21
+ Harborview, NY 10014
22
+
23
+ [(555) 204-8830](tel:+15552048830)\
24
+ [hello@meridianadvisory.com](mailto:hello@meridianadvisory.com)
25
+ :::
26
+
27
+ :::div{style.padding="2rem" style.backgroundColor="var(--color-bg-cream)" style.border="1px solid var(--color-border)" style.borderRadius="var(--radius)"}
28
+
29
+ ### Hours
30
+
31
+ Monday – Friday — 8:30am to 5:30pm\
32
+ Saturday – Sunday — by appointment
33
+ :::
34
+ ::::
35
+ :::::
36
+ ::::::
@@ -0,0 +1,81 @@
1
+ ---
2
+ title: "Meridian Advisory — Accounting & advisory for growing companies"
3
+ state:
4
+ latest:
5
+ $prototype: ContentCollection
6
+ $src: "@jxsuite/parser/ContentCollection.class.json"
7
+ contentType: insights
8
+ sort:
9
+ field: order
10
+ order: asc
11
+ limit: 3
12
+ ---
13
+
14
+ ::pf-hero{props.eyebrow="Accounting · Tax · Advisory" props.heading="Numbers that move the business forward." props.subheading="Meridian Advisory is a boutique CPA and advisory firm for founders and growing companies — clear books, lower taxes, and a partner in every big decision." props.cta="Book a Consultation" props.ctaHref="/contact/" props.cta2="Explore Services" props.cta2Href="/services/" props.bg="/images/hero.jpg"}
15
+
16
+ ::pf-logo-bar{props.label="Trusted by founders, operators, and boards across the region"}
17
+
18
+ :::pf-intro{props.image="/images/about.jpg" props.imageAlt="The Meridian Advisory team reviewing financials together"}
19
+
20
+ ### A firm that reads the whole picture
21
+
22
+ We are not a once-a-year tax shop. Meridian pairs disciplined accounting with genuine advisory — the kind of partner who knows your margins, your runway, and your goals, and who picks up the phone before the deadline.
23
+
24
+ The result is fewer surprises, a lower tax bill, and decisions made with real numbers instead of guesses.
25
+ :::
26
+
27
+ :::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
28
+ ::pf-section-header{props.eyebrow="What we do" props.heading="Advisory across the full financial stack"}
29
+
30
+ ::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.25rem" style.--lg.gridTemplateColumns="repeat(2, 1fr)" style.--sm.gridTemplateColumns="1fr"}
31
+ ::pf-service-card{props.icon="📊" props.title="Tax planning & prep" props.text="Proactive strategy and clean filings for businesses and their owners — federal, state, and multi-entity." props.link="Learn more" props.linkHref="/services/"}
32
+
33
+ ::pf-service-card{props.icon="📒" props.title="Bookkeeping & close" props.text="Accurate monthly books and a fast close, so your numbers are ready when the decisions are." props.link="Learn more" props.linkHref="/services/"}
34
+
35
+ ::pf-service-card{props.icon="🧭" props.title="Fractional CFO" props.text="Forecasting, fundraising support, and board-ready reporting — senior finance judgment, part-time." props.link="Learn more" props.linkHref="/services/"}
36
+
37
+ ::pf-service-card{props.icon="🔍" props.title="Audit & assurance" props.text="Reviews, compilations, and audit readiness that stand up to lenders, investors, and regulators." props.link="Learn more" props.linkHref="/services/"}
38
+ ::::
39
+ :::::
40
+
41
+ :::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
42
+ ::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.5rem" style.--md.gridTemplateColumns="repeat(2, 1fr)"}
43
+ ::pf-stat{props.number="18 yrs" props.label="Advising founders"}
44
+
45
+ ::pf-stat{props.number="240+" props.label="Companies served"}
46
+
47
+ ::pf-stat{props.number="$40M" props.label="Tax saved for clients"}
48
+
49
+ ::pf-stat{props.number="4.9★" props.label="Average client rating"}
50
+ ::::
51
+ :::::
52
+
53
+ :::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
54
+ ::pf-section-header{props.eyebrow="How we work" props.heading="A partnership, not a portal"}
55
+
56
+ ::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.25rem" style.--md.gridTemplateColumns="1fr"}
57
+ ::pf-feature{props.step="1" props.title="Understand" props.text="We start by learning your business — the model, the margins, and the milestones that matter to you."}
58
+
59
+ ::pf-feature{props.step="2" props.title="Advise" props.text="You get a named advisor and a plan, reviewed quarterly, that ties every recommendation to your goals."}
60
+
61
+ ::pf-feature{props.step="3" props.title="Execute" props.text="We handle the filings, the close, and the deadlines, and flag the decisions worth a conversation."}
62
+ ::::
63
+ :::::
64
+
65
+ :::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
66
+ ::pf-section-header{props.eyebrow="Insights" props.heading="Guidance from our desk"}
67
+
68
+ ::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.5rem" style.--md.gridTemplateColumns="1fr"}
69
+ :::Array{items.ref="#/state/latest"}
70
+ ::pf-insight-card{props.title="${item.data.title}" props.excerpt="${item.data.excerpt}" props.date="${item.data.date}" props.author="${item.data.author}" props.href="/insights/${item.id}/"}
71
+ :::
72
+ ::::
73
+
74
+ ::::div{style.textAlign="center" style.marginTop="2.5rem"}
75
+ :::a{href="/insights/" style.display="inline-block" style.color="var(--color-primary)" style.fontWeight="600" style.textDecoration="none" style.fontSize="1.05rem"}
76
+ Read all insights →
77
+ :::
78
+ ::::
79
+ :::::
80
+
81
+ ::pf-cta{props.heading="Let's talk about your numbers" props.text="Book a free 30-minute consultation. We'll review where you are and where a sharper financial partner could take you." props.cta="Book a Consultation" props.ctaHref="/contact/"}
@@ -0,0 +1,118 @@
1
+ {
2
+ "$layout": "./layouts/article.json",
3
+ "$paths": { "contentType": "insights", "param": "slug", "field": "id" },
4
+ "title": "${state.entry.data.title} — Meridian Advisory",
5
+ "state": {
6
+ "entry": {
7
+ "$prototype": "ContentEntry",
8
+ "$src": "@jxsuite/parser/ContentEntry.class.json",
9
+ "contentType": "insights",
10
+ "field": "id",
11
+ "id": { "$ref": "#/$params/slug" }
12
+ }
13
+ },
14
+ "children": [
15
+ {
16
+ "tagName": "article",
17
+ "children": [
18
+ {
19
+ "tagName": "pf-article-header",
20
+ "$props": {
21
+ "eyebrow": "Insight",
22
+ "title": "${state.entry.data.title}",
23
+ "date": "${state.entry.data.date}",
24
+ "author": "${state.entry.data.author}",
25
+ "readingTime": "${state.entry._meta.readingTime}"
26
+ }
27
+ },
28
+ {
29
+ "tagName": "div",
30
+ "style": {
31
+ "fontSize": "1.15rem",
32
+ "lineHeight": "1.85",
33
+ "color": "var(--color-text-primary)"
34
+ },
35
+ "children": {
36
+ "$prototype": "Array",
37
+ "items": { "$ref": "#/state/entry/$children" },
38
+ "map": {
39
+ "tagName": "p",
40
+ "style": { "margin": "0 0 1.5rem" },
41
+ "textContent": "${item.textContent}"
42
+ }
43
+ }
44
+ },
45
+ {
46
+ "tagName": "hr",
47
+ "style": {
48
+ "border": "none",
49
+ "borderTop": "1px solid var(--color-border)",
50
+ "margin": "2.5rem 0 2rem"
51
+ }
52
+ },
53
+ {
54
+ "tagName": "p",
55
+ "style": {
56
+ "fontSize": "0.95rem",
57
+ "color": "var(--color-text-muted)",
58
+ "margin": "0 0 2rem"
59
+ },
60
+ "textContent": "Written by ${state.entry.data.author} · Meridian Advisory"
61
+ },
62
+ {
63
+ "tagName": "div",
64
+ "style": {
65
+ "backgroundColor": "var(--color-bg-cream)",
66
+ "border": "1px solid var(--color-border)",
67
+ "borderRadius": "var(--radius)",
68
+ "padding": "1.75rem 2rem",
69
+ "display": "flex",
70
+ "flexWrap": "wrap",
71
+ "alignItems": "center",
72
+ "justifyContent": "space-between",
73
+ "gap": "1rem"
74
+ },
75
+ "children": [
76
+ {
77
+ "tagName": "div",
78
+ "children": [
79
+ {
80
+ "tagName": "div",
81
+ "style": {
82
+ "fontFamily": "var(--font-heading)",
83
+ "fontSize": "1.2rem",
84
+ "fontWeight": "600",
85
+ "marginBottom": "0.25rem"
86
+ },
87
+ "textContent": "Have a question this raised?"
88
+ },
89
+ {
90
+ "tagName": "div",
91
+ "style": { "color": "var(--color-text-muted)", "fontSize": "0.95rem" },
92
+ "textContent": "Book a free consultation with a Meridian advisor."
93
+ }
94
+ ]
95
+ },
96
+ {
97
+ "tagName": "a",
98
+ "attributes": { "href": "/contact/" },
99
+ "style": {
100
+ "display": "inline-block",
101
+ "backgroundColor": "var(--color-primary)",
102
+ "color": "var(--color-text-white)",
103
+ "padding": "0.8rem 1.75rem",
104
+ "borderRadius": "var(--radius)",
105
+ "fontWeight": "600",
106
+ "fontSize": "0.98rem",
107
+ "textDecoration": "none",
108
+ "whiteSpace": "nowrap",
109
+ ":hover": { "backgroundColor": "var(--color-primary-hover)" }
110
+ },
111
+ "textContent": "Book a Consultation"
112
+ }
113
+ ]
114
+ }
115
+ ]
116
+ }
117
+ ]
118
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: "Insights — Meridian Advisory"
3
+ state:
4
+ articles:
5
+ $prototype: ContentCollection
6
+ $src: "@jxsuite/parser/ContentCollection.class.json"
7
+ contentType: insights
8
+ sort:
9
+ field: order
10
+ order: asc
11
+ ---
12
+
13
+ :::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
14
+ ::pf-section-header{props.eyebrow="Insights" props.heading="Practical guidance for owners and operators" props.subheading="Short, useful notes on tax, cash flow, and the financial decisions that shape a growing company."}
15
+ :::::
16
+
17
+ :::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.padding="0 1.5rem" style.marginTop="clamp(2rem, 5vw, 3.5rem)"}
18
+ ::img{src="/images/insight-cover.jpg" alt="Financial charts and reports on a desk" loading="lazy" style.width="100%" style.height="clamp(220px, 32vw, 380px)" style.objectFit="cover" style.borderRadius="var(--radius)" style.display="block"}
19
+ :::
20
+
21
+ :::::section{style.maxWidth="var(--max-width)" style.margin="0 auto" style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
22
+ ::::div{style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.5rem" style.--md.gridTemplateColumns="1fr"}
23
+ :::Array{items.ref="#/state/articles"}
24
+ ::pf-insight-card{props.title="${item.data.title}" props.excerpt="${item.data.excerpt}" props.date="${item.data.date}" props.author="${item.data.author}" props.href="/insights/${item.id}/"}
25
+ :::
26
+ ::::
27
+ :::::
28
+
29
+ ::pf-cta{props.heading="Have a question these raised?" props.text="Every one of these notes started with a client conversation. Start yours with a free consultation." props.cta="Book a Consultation" props.ctaHref="/contact/"}
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: "Services — Meridian Advisory"
3
+ ---
4
+
5
+ :::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
6
+ ::pf-section-header{props.eyebrow="Our services" props.heading="Everything a growing company needs from its accountants" props.subheading="Compliance handled, strategy included. Engage us for a single service or a full outsourced finance function."}
7
+ :::::
8
+
9
+ :::::section{style.maxWidth="var(--max-width)" style.margin="0 auto" style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
10
+ ::::div{style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.25rem" style.--md.gridTemplateColumns="1fr"}
11
+ ::pf-service-card{props.icon="📊" props.title="Tax planning & preparation" props.text="Year-round strategy plus accurate returns for your business and its owners. Entity elections, multi-state filings, credits, and estimated payments — all handled proactively."}
12
+
13
+ ::pf-service-card{props.icon="📒" props.title="Bookkeeping & monthly close" props.text="Clean, reconciled books and a five-day monthly close. You get financial statements you can trust and a dashboard of the metrics that matter."}
14
+
15
+ ::pf-service-card{props.icon="🧭" props.title="Fractional CFO" props.text="Forecasting, cash management, fundraising support, and board-ready reporting — the senior finance leadership you need without a full-time hire."}
16
+
17
+ ::pf-service-card{props.icon="🔍" props.title="Audit & assurance" props.text="Reviews, compilations, and audit-readiness engagements that satisfy lenders, investors, and regulators without the disruption."}
18
+
19
+ ::pf-service-card{props.icon="🏛️" props.title="Entity & structure" props.text="Formation, S-corp elections, and restructuring guidance so your legal and tax structure fits where the business is heading."}
20
+
21
+ ::pf-service-card{props.icon="👥" props.title="Payroll & advisory" props.text="Payroll setup and oversight, owner compensation planning, and the ongoing advice that keeps you compliant as you grow."}
22
+ ::::
23
+ :::::
24
+
25
+ :::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
26
+ ::pf-section-header{props.eyebrow="Engagement" props.heading="How an engagement works"}
27
+
28
+ ::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.25rem" style.--md.gridTemplateColumns="1fr"}
29
+ ::pf-feature{props.step="1" props.title="Discovery call" props.text="A free 30-minute conversation to understand your business and whether we're the right fit."}
30
+
31
+ ::pf-feature{props.step="2" props.title="Scope & quote" props.text="A clear proposal with fixed monthly pricing — no surprise invoices, no hourly meter."}
32
+
33
+ ::pf-feature{props.step="3" props.title="Onboarding" props.text="We migrate your books, connect your systems, and set up reporting in the first two weeks."}
34
+
35
+ ::pf-feature{props.step="4" props.title="Ongoing partnership" props.text="Monthly close, quarterly strategy reviews, and a named advisor a message away."}
36
+ ::::
37
+ :::::
38
+
39
+ ::pf-cta{props.heading="Not sure which service you need?" props.text="Tell us where you are and we'll point you to the right starting place — even if that's not with us." props.cta="Book a Consultation" props.ctaHref="/contact/"}
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: "Team — Meridian Advisory"
3
+ ---
4
+
5
+ :::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
6
+ ::pf-section-header{props.eyebrow="Our people" props.heading="Senior advisors, not a rotating cast" props.subheading="You work directly with the partners and managers who know your business — the same faces year after year."}
7
+ :::::
8
+
9
+ :::::section{style.maxWidth="var(--max-width)" style.margin="0 auto" style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
10
+ ::::div{style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.5rem" style.--lg.gridTemplateColumns="repeat(2, 1fr)" style.--sm.gridTemplateColumns="1fr"}
11
+ ::pf-team-member{props.photo="/images/team-1.jpg" props.name="Dana Whitfield" props.role="Managing Partner, CPA" props.bio="Founded Meridian in 2007 after a decade in public accounting. Leads CFO engagements and complex tax strategy."}
12
+
13
+ ::pf-team-member{props.photo="/images/team-2.jpg" props.name="Priya Nair" props.role="Partner, Tax" props.bio="Advises founders on entity structure, credits, and multi-state tax. Believes the best planning happens in November."}
14
+
15
+ ::pf-team-member{props.photo="/images/team-3.jpg" props.name="Marcus Bell" props.role="Director, Advisory" props.bio="Runs forecasting and fundraising support for growth-stage clients. Former operator who has sat on your side of the table."}
16
+
17
+ ::pf-team-member{props.photo="/images/team-4.jpg" props.name="Elena Sorokin" props.role="Manager, Assurance" props.bio="Leads reviews and audit-readiness work. Makes diligence painless for teams raising their next round."}
18
+ ::::
19
+ :::::
20
+
21
+ :::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
22
+ ::pf-section-header{props.eyebrow="What we value" props.heading="The principles behind the practice"}
23
+
24
+ ::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.25rem" style.--md.gridTemplateColumns="1fr"}
25
+ ::pf-feature{props.title="Plain language" props.text="No jargon, no lectures. We explain the trade-offs so you can make the call with confidence."}
26
+
27
+ ::pf-feature{props.title="Proactive, not reactive" props.text="We flag the opportunity or the risk before the deadline, not after the return is filed."}
28
+
29
+ ::pf-feature{props.title="Independent counsel" props.text="Our only product is good advice. We tell you what we'd do if it were our own business."}
30
+ ::::
31
+ :::::
32
+
33
+ ::pf-cta{props.heading="Meet the team that will know your numbers" props.text="Book a consultation and you'll speak with a partner — not a call center — from the very first conversation." props.cta="Book a Consultation" props.ctaHref="/contact/"}
@@ -0,0 +1,104 @@
1
+ {
2
+ "name": "Meridian Advisory",
3
+ "url": "https://example.com",
4
+ "defaults": {
5
+ "layout": "./layouts/base.json",
6
+ "lang": "en"
7
+ },
8
+ "$head": [
9
+ {
10
+ "tagName": "meta",
11
+ "attributes": { "name": "viewport", "content": "width=device-width, initial-scale=1" }
12
+ },
13
+ {
14
+ "tagName": "meta",
15
+ "attributes": {
16
+ "name": "description",
17
+ "content": "Meridian Advisory is an accounting and advisory firm helping founders and growing companies with tax, audit, CFO services, and long-term financial strategy."
18
+ }
19
+ },
20
+ {
21
+ "tagName": "link",
22
+ "attributes": { "rel": "icon", "href": "/favicon.svg" }
23
+ },
24
+ {
25
+ "tagName": "link",
26
+ "attributes": { "rel": "preconnect", "href": "https://fonts.googleapis.com" }
27
+ },
28
+ {
29
+ "tagName": "link",
30
+ "attributes": { "rel": "preconnect", "href": "https://fonts.gstatic.com", "crossorigin": "" }
31
+ },
32
+ {
33
+ "tagName": "link",
34
+ "attributes": {
35
+ "rel": "stylesheet",
36
+ "href": "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap"
37
+ }
38
+ }
39
+ ],
40
+ "$media": {
41
+ "--": "1200px",
42
+ "--lg": "(max-width: 1024px)",
43
+ "--md": "(max-width: 768px)",
44
+ "--sm": "(max-width: 640px)"
45
+ },
46
+ "style": {
47
+ "--color-primary": "#1e3a8a",
48
+ "--color-primary-hover": "#172554",
49
+ "--color-ink": "#0f172a",
50
+ "--color-bg-dark": "#0f172a",
51
+ "--color-bg-cream": "#f7f9fc",
52
+ "--color-bg-white": "#ffffff",
53
+ "--color-text-primary": "#0f172a",
54
+ "--color-text-white": "#ffffff",
55
+ "--color-text-muted": "#64748b",
56
+ "--color-border": "#e2e8f0",
57
+ "--color-accent": "#0f766e",
58
+ "--font-heading": "'Fraunces', Georgia, 'Times New Roman', serif",
59
+ "--max-width": "1200px",
60
+ "--max-width-narrow": "820px",
61
+ "--radius": "0.5rem",
62
+ "margin": "0",
63
+ "padding": "0",
64
+ "fontFamily": "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",
65
+ "lineHeight": "1.6",
66
+ "color": "var(--color-text-primary)",
67
+ "backgroundColor": "var(--color-bg-white)"
68
+ },
69
+ "imports": {
70
+ "Markdown": "@jxsuite/parser/Markdown.class.json",
71
+ "ContentCollection": "@jxsuite/parser/ContentCollection.class.json",
72
+ "ContentEntry": "@jxsuite/parser/ContentEntry.class.json"
73
+ },
74
+ "images": {
75
+ "optimize": true,
76
+ "widths": [320, 640, 960, 1280, 1920],
77
+ "formats": ["webp", "avif"],
78
+ "quality": { "webp": 80, "avif": 65, "jpeg": 80, "png": 80 },
79
+ "sizes": "(max-width: 768px) 100vw, 50vw",
80
+ "lazyLoad": true
81
+ },
82
+ "contentTypes": {
83
+ "insights": {
84
+ "source": "./content/insights/",
85
+ "format": "Markdown",
86
+ "schema": {
87
+ "type": "object",
88
+ "properties": {
89
+ "title": { "type": "string" },
90
+ "excerpt": { "type": "string" },
91
+ "date": { "type": "string" },
92
+ "author": { "type": "string" },
93
+ "order": { "type": "number" }
94
+ },
95
+ "required": ["title", "excerpt", "date"]
96
+ }
97
+ }
98
+ },
99
+ "build": {
100
+ "outDir": "./dist",
101
+ "format": "directory",
102
+ "trailingSlash": "always"
103
+ }
104
+ }
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32">
2
+ <rect width="32" height="32" rx="7" fill="#1e3a8a"/>
3
+ <path d="M7 22V11l5 6 4-5 4 5 5-6v11" fill="none" stroke="#fff" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
4
+ <circle cx="25" cy="9" r="1.9" fill="#0f766e" stroke="#fff" stroke-width="1"/>
5
+ </svg>