@opensite/ui 0.8.9 → 0.9.1

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 (367) hide show
  1. package/dist/about-company-profile.cjs +32 -4
  2. package/dist/about-company-profile.js +32 -4
  3. package/dist/about-culture-tabs.cjs +38 -8
  4. package/dist/about-culture-tabs.js +38 -8
  5. package/dist/about-developer-profile.cjs +37 -5
  6. package/dist/about-developer-profile.js +37 -5
  7. package/dist/about-developer-story.cjs +31 -3
  8. package/dist/about-developer-story.js +31 -3
  9. package/dist/about-expandable-values.cjs +43 -9
  10. package/dist/about-expandable-values.js +43 -9
  11. package/dist/about-interactive-tabs.cjs +63 -4
  12. package/dist/about-interactive-tabs.js +63 -4
  13. package/dist/about-location-info-hero.cjs +28 -2
  14. package/dist/about-location-info-hero.js +28 -2
  15. package/dist/about-minimal-story.cjs +35 -4
  16. package/dist/about-minimal-story.js +35 -4
  17. package/dist/about-mission-dual-image.cjs +30 -2
  18. package/dist/about-mission-dual-image.js +30 -2
  19. package/dist/about-mission-features.cjs +36 -4
  20. package/dist/about-mission-features.js +36 -4
  21. package/dist/about-mission-principles.cjs +39 -6
  22. package/dist/about-mission-principles.js +39 -6
  23. package/dist/about-network-spotlight.cjs +33 -5
  24. package/dist/about-network-spotlight.js +33 -5
  25. package/dist/about-startup-team.cjs +47 -6
  26. package/dist/about-startup-team.js +47 -6
  27. package/dist/about-stats-showcase.cjs +31 -4
  28. package/dist/about-stats-showcase.js +31 -4
  29. package/dist/about-stats-sidebar.cjs +29 -3
  30. package/dist/about-stats-sidebar.js +29 -3
  31. package/dist/about-story-expertise.cjs +44 -8
  32. package/dist/about-story-expertise.js +44 -8
  33. package/dist/about-story-gallery.cjs +28 -1
  34. package/dist/about-story-gallery.js +28 -1
  35. package/dist/about-story-hero.cjs +36 -4
  36. package/dist/about-story-hero.js +36 -4
  37. package/dist/about-streamline-team.cjs +32 -4
  38. package/dist/about-streamline-team.js +32 -4
  39. package/dist/about-vision-gallery.cjs +32 -3
  40. package/dist/about-vision-gallery.js +32 -3
  41. package/dist/alternating-blocks.cjs +5 -1
  42. package/dist/alternating-blocks.js +5 -1
  43. package/dist/banner-announcement-dismissible.cjs +377 -1
  44. package/dist/banner-announcement-dismissible.d.cts +7 -1
  45. package/dist/banner-announcement-dismissible.d.ts +7 -1
  46. package/dist/banner-announcement-dismissible.js +378 -2
  47. package/dist/banner-countdown-sale.cjs +388 -8
  48. package/dist/banner-countdown-sale.d.cts +11 -1
  49. package/dist/banner-countdown-sale.d.ts +11 -1
  50. package/dist/banner-countdown-sale.js +379 -3
  51. package/dist/banner-delivery-countdown.cjs +377 -1
  52. package/dist/banner-delivery-countdown.d.cts +11 -1
  53. package/dist/banner-delivery-countdown.d.ts +11 -1
  54. package/dist/banner-delivery-countdown.js +378 -2
  55. package/dist/banner-event-promo.cjs +377 -1
  56. package/dist/banner-event-promo.d.cts +7 -1
  57. package/dist/banner-event-promo.d.ts +7 -1
  58. package/dist/banner-event-promo.js +378 -2
  59. package/dist/banner-floating-offer.cjs +379 -3
  60. package/dist/banner-floating-offer.d.cts +7 -1
  61. package/dist/banner-floating-offer.d.ts +7 -1
  62. package/dist/banner-floating-offer.js +380 -4
  63. package/dist/banner-gdpr-rights.cjs +398 -31
  64. package/dist/banner-gdpr-rights.d.cts +7 -1
  65. package/dist/banner-gdpr-rights.d.ts +7 -1
  66. package/dist/banner-gdpr-rights.js +399 -32
  67. package/dist/banner-privacy-notice.cjs +399 -32
  68. package/dist/banner-privacy-notice.d.cts +7 -1
  69. package/dist/banner-privacy-notice.d.ts +7 -1
  70. package/dist/banner-privacy-notice.js +400 -33
  71. package/dist/banner-promo-cta.cjs +382 -12
  72. package/dist/banner-promo-cta.d.cts +7 -1
  73. package/dist/banner-promo-cta.d.ts +7 -1
  74. package/dist/banner-promo-cta.js +383 -13
  75. package/dist/banner-social-follow.cjs +395 -28
  76. package/dist/banner-social-follow.d.cts +7 -1
  77. package/dist/banner-social-follow.d.ts +7 -1
  78. package/dist/banner-social-follow.js +396 -29
  79. package/dist/banner-survey-incentive.cjs +377 -1
  80. package/dist/banner-survey-incentive.d.cts +7 -1
  81. package/dist/banner-survey-incentive.d.ts +7 -1
  82. package/dist/banner-survey-incentive.js +378 -2
  83. package/dist/community-initiatives.cjs +43 -10
  84. package/dist/community-initiatives.js +43 -10
  85. package/dist/components.cjs +76 -36
  86. package/dist/components.js +76 -36
  87. package/dist/contact-floating-banner.cjs +378 -2
  88. package/dist/contact-floating-banner.d.cts +7 -1
  89. package/dist/contact-floating-banner.d.ts +7 -1
  90. package/dist/contact-floating-banner.js +379 -2
  91. package/dist/cta-accent-background.cjs +28 -1
  92. package/dist/cta-accent-background.js +28 -1
  93. package/dist/cta-app-download-newsletter.cjs +30 -2
  94. package/dist/cta-app-download-newsletter.js +30 -2
  95. package/dist/cta-documentation-links.cjs +28 -2
  96. package/dist/cta-documentation-links.js +28 -2
  97. package/dist/cta-feature-cards-grid.cjs +34 -3
  98. package/dist/cta-feature-cards-grid.js +34 -3
  99. package/dist/cta-feature-checklist.cjs +27 -1
  100. package/dist/cta-feature-checklist.js +27 -1
  101. package/dist/cta-feature-list.cjs +33 -2
  102. package/dist/cta-feature-list.js +33 -2
  103. package/dist/cta-gradient-logos-floating.cjs +28 -1
  104. package/dist/cta-gradient-logos-floating.js +28 -1
  105. package/dist/cta-minimal-separator.cjs +27 -1
  106. package/dist/cta-minimal-separator.js +27 -1
  107. package/dist/cta-platform-demo.cjs +28 -1
  108. package/dist/cta-platform-demo.js +28 -1
  109. package/dist/cta-simple-centered.cjs +28 -1
  110. package/dist/cta-simple-centered.js +28 -1
  111. package/dist/cta-split-gradient-image.cjs +28 -1
  112. package/dist/cta-split-gradient-image.js +28 -1
  113. package/dist/cta-split-image-logos.cjs +29 -2
  114. package/dist/cta-split-image-logos.js +29 -2
  115. package/dist/cta-split-image.cjs +29 -2
  116. package/dist/cta-split-image.js +29 -2
  117. package/dist/cta-stacked-cards.cjs +28 -1
  118. package/dist/cta-stacked-cards.js +28 -1
  119. package/dist/faq-badge-support.cjs +33 -5
  120. package/dist/faq-badge-support.js +33 -5
  121. package/dist/faq-bordered-badge.cjs +31 -3
  122. package/dist/faq-bordered-badge.js +31 -3
  123. package/dist/faq-card-categories.cjs +60 -4
  124. package/dist/faq-card-categories.js +60 -4
  125. package/dist/faq-categorized-sections.cjs +31 -3
  126. package/dist/faq-categorized-sections.js +31 -3
  127. package/dist/faq-centered-accordion.cjs +31 -3
  128. package/dist/faq-centered-accordion.js +31 -3
  129. package/dist/faq-gradient-categories.cjs +31 -3
  130. package/dist/faq-gradient-categories.js +31 -3
  131. package/dist/faq-icon-benefits.cjs +40 -5
  132. package/dist/faq-icon-benefits.js +40 -5
  133. package/dist/faq-muted-cards.cjs +29 -2
  134. package/dist/faq-muted-cards.js +29 -2
  135. package/dist/faq-numbered-grid.cjs +32 -3
  136. package/dist/faq-numbered-grid.js +32 -3
  137. package/dist/faq-numbered-list.cjs +32 -3
  138. package/dist/faq-numbered-list.js +32 -3
  139. package/dist/faq-profile-sidebar.cjs +36 -6
  140. package/dist/faq-profile-sidebar.js +36 -6
  141. package/dist/faq-sidebar-navigation.cjs +30 -3
  142. package/dist/faq-sidebar-navigation.js +30 -3
  143. package/dist/faq-simple-accordion.cjs +29 -2
  144. package/dist/faq-simple-accordion.js +29 -2
  145. package/dist/feature-accordion-image.cjs +28 -2
  146. package/dist/feature-accordion-image.js +28 -2
  147. package/dist/feature-badge-grid-six.cjs +27 -1
  148. package/dist/feature-badge-grid-six.js +27 -1
  149. package/dist/feature-bento-image-grid.cjs +27 -1
  150. package/dist/feature-bento-image-grid.js +27 -1
  151. package/dist/feature-bento-utilities.cjs +56 -4
  152. package/dist/feature-bento-utilities.js +56 -4
  153. package/dist/feature-capabilities-grid.cjs +29 -3
  154. package/dist/feature-capabilities-grid.js +29 -3
  155. package/dist/feature-card-grid-linked.cjs +29 -2
  156. package/dist/feature-card-grid-linked.js +29 -2
  157. package/dist/feature-carousel-progress.cjs +28 -2
  158. package/dist/feature-carousel-progress.js +28 -2
  159. package/dist/feature-category-image-cards.cjs +28 -2
  160. package/dist/feature-category-image-cards.js +28 -2
  161. package/dist/feature-checklist-image.cjs +30 -2
  162. package/dist/feature-checklist-image.js +30 -2
  163. package/dist/feature-checklist-three-column.cjs +35 -5
  164. package/dist/feature-checklist-three-column.js +35 -5
  165. package/dist/feature-icon-grid-accent.cjs +28 -2
  166. package/dist/feature-icon-grid-accent.js +28 -2
  167. package/dist/feature-icon-grid-bordered.cjs +9 -4
  168. package/dist/feature-icon-grid-bordered.js +9 -4
  169. package/dist/feature-icon-grid-muted.cjs +28 -2
  170. package/dist/feature-icon-grid-muted.js +28 -2
  171. package/dist/feature-icon-tabs-content.cjs +56 -5
  172. package/dist/feature-icon-tabs-content.js +56 -5
  173. package/dist/feature-image-cards-three-column.cjs +27 -1
  174. package/dist/feature-image-cards-three-column.js +27 -1
  175. package/dist/feature-integration-cards.cjs +28 -2
  176. package/dist/feature-integration-cards.js +28 -2
  177. package/dist/feature-pattern-grid-links.cjs +28 -2
  178. package/dist/feature-pattern-grid-links.js +28 -2
  179. package/dist/feature-utility-cards-grid.cjs +9 -4
  180. package/dist/feature-utility-cards-grid.js +9 -4
  181. package/dist/footer-comprehensive-links.cjs +231 -151
  182. package/dist/footer-comprehensive-links.js +231 -151
  183. package/dist/hero-ad-campaign-expert.cjs +24 -2
  184. package/dist/hero-ad-campaign-expert.js +24 -2
  185. package/dist/hero-adaptable-product-grid.cjs +27 -1
  186. package/dist/hero-adaptable-product-grid.js +27 -1
  187. package/dist/hero-ai-powered-carousel.cjs +27 -1
  188. package/dist/hero-ai-powered-carousel.js +27 -1
  189. package/dist/hero-announcement-badge.cjs +27 -1
  190. package/dist/hero-announcement-badge.js +27 -1
  191. package/dist/hero-architecture-fullscreen.cjs +50 -2
  192. package/dist/hero-architecture-fullscreen.js +50 -2
  193. package/dist/hero-badge-image-split.cjs +27 -1
  194. package/dist/hero-badge-image-split.js +27 -1
  195. package/dist/hero-business-carousel-dots.cjs +27 -1
  196. package/dist/hero-business-carousel-dots.js +27 -1
  197. package/dist/hero-centered-gradient-cta.cjs +28 -2
  198. package/dist/hero-centered-gradient-cta.js +28 -2
  199. package/dist/hero-centered-image-grid.cjs +27 -1
  200. package/dist/hero-centered-image-grid.js +27 -1
  201. package/dist/hero-centered-screenshot.cjs +50 -2
  202. package/dist/hero-centered-screenshot.js +50 -2
  203. package/dist/hero-coming-soon-countdown.cjs +37 -7
  204. package/dist/hero-coming-soon-countdown.js +37 -7
  205. package/dist/hero-community-survey-cta.cjs +27 -1
  206. package/dist/hero-community-survey-cta.js +27 -1
  207. package/dist/hero-conversation-intelligence.cjs +50 -2
  208. package/dist/hero-conversation-intelligence.js +50 -2
  209. package/dist/hero-conversion-video-play.cjs +55 -3
  210. package/dist/hero-conversion-video-play.js +55 -3
  211. package/dist/hero-creative-studio-stacked.cjs +28 -2
  212. package/dist/hero-creative-studio-stacked.js +28 -2
  213. package/dist/hero-crm-streamlined.cjs +27 -1
  214. package/dist/hero-crm-streamlined.js +27 -1
  215. package/dist/hero-customer-support-layered.cjs +51 -3
  216. package/dist/hero-customer-support-layered.js +51 -3
  217. package/dist/hero-dashed-border-features.cjs +27 -1
  218. package/dist/hero-dashed-border-features.js +27 -1
  219. package/dist/hero-design-showcase-logos.cjs +27 -1
  220. package/dist/hero-design-showcase-logos.js +27 -1
  221. package/dist/hero-design-system-3d.cjs +32 -2
  222. package/dist/hero-design-system-3d.js +32 -2
  223. package/dist/hero-developer-tools-code.cjs +27 -1
  224. package/dist/hero-developer-tools-code.js +27 -1
  225. package/dist/hero-digital-agency-fullscreen.cjs +33 -3
  226. package/dist/hero-digital-agency-fullscreen.js +33 -3
  227. package/dist/hero-ecommerce-product-showcase.cjs +32 -6
  228. package/dist/hero-ecommerce-product-showcase.js +32 -6
  229. package/dist/hero-enterprise-security.cjs +34 -4
  230. package/dist/hero-enterprise-security.js +34 -4
  231. package/dist/hero-event-registration.cjs +35 -5
  232. package/dist/hero-event-registration.js +35 -5
  233. package/dist/hero-feature-cards-grid.cjs +82 -4
  234. package/dist/hero-feature-cards-grid.js +82 -4
  235. package/dist/hero-gradient-avatars-rating.cjs +30 -4
  236. package/dist/hero-gradient-avatars-rating.js +30 -4
  237. package/dist/hero-gradient-client-focused.cjs +27 -1
  238. package/dist/hero-gradient-client-focused.js +27 -1
  239. package/dist/hero-grid-pattern-efficiency.cjs +28 -2
  240. package/dist/hero-grid-pattern-efficiency.js +28 -2
  241. package/dist/hero-grid-pattern-solutions.cjs +27 -1
  242. package/dist/hero-grid-pattern-solutions.js +27 -1
  243. package/dist/hero-image-left-content.cjs +27 -1
  244. package/dist/hero-image-left-content.js +27 -1
  245. package/dist/hero-innovation-image-grid.cjs +27 -1
  246. package/dist/hero-innovation-image-grid.js +27 -1
  247. package/dist/hero-logo-centered-screenshot.cjs +27 -1
  248. package/dist/hero-logo-centered-screenshot.js +27 -1
  249. package/dist/hero-marketplace-scattered-images.cjs +27 -1
  250. package/dist/hero-marketplace-scattered-images.js +27 -1
  251. package/dist/hero-mentorship-video-split.cjs +7 -3
  252. package/dist/hero-mentorship-video-split.js +7 -3
  253. package/dist/hero-minimal-centered-dark.cjs +55 -3
  254. package/dist/hero-minimal-centered-dark.js +55 -3
  255. package/dist/hero-mobile-app-download.cjs +34 -4
  256. package/dist/hero-mobile-app-download.js +34 -4
  257. package/dist/hero-newsletter-minimal.cjs +29 -3
  258. package/dist/hero-newsletter-minimal.js +29 -3
  259. package/dist/hero-overlay-cta-grid.cjs +33 -3
  260. package/dist/hero-overlay-cta-grid.js +33 -3
  261. package/dist/hero-pattern-badge-logos.cjs +28 -2
  262. package/dist/hero-pattern-badge-logos.js +28 -2
  263. package/dist/hero-pattern-logo-tech-stack.cjs +33 -3
  264. package/dist/hero-pattern-logo-tech-stack.js +33 -3
  265. package/dist/hero-platform-features-grid.cjs +28 -2
  266. package/dist/hero-platform-features-grid.js +28 -2
  267. package/dist/hero-portfolio-creative.cjs +29 -3
  268. package/dist/hero-portfolio-creative.js +29 -3
  269. package/dist/hero-pricing-comparison.cjs +52 -4
  270. package/dist/hero-pricing-comparison.js +52 -4
  271. package/dist/hero-product-showcase-floating.cjs +34 -4
  272. package/dist/hero-product-showcase-floating.js +34 -4
  273. package/dist/hero-productivity-launcher-video.cjs +29 -3
  274. package/dist/hero-productivity-launcher-video.js +29 -3
  275. package/dist/hero-saas-dashboard-preview.cjs +34 -4
  276. package/dist/hero-saas-dashboard-preview.js +34 -4
  277. package/dist/hero-shared-inbox-layered.cjs +51 -3
  278. package/dist/hero-shared-inbox-layered.js +51 -3
  279. package/dist/hero-simple-centered-image.cjs +27 -1
  280. package/dist/hero-simple-centered-image.js +27 -1
  281. package/dist/hero-software-growth-video-dialog.cjs +50 -2
  282. package/dist/hero-software-growth-video-dialog.js +50 -2
  283. package/dist/hero-spiral-pattern-cards.cjs +28 -2
  284. package/dist/hero-spiral-pattern-cards.js +28 -2
  285. package/dist/hero-split-icon-cards.cjs +34 -4
  286. package/dist/hero-split-icon-cards.js +34 -4
  287. package/dist/hero-split-image-newsletter.cjs +28 -2
  288. package/dist/hero-split-image-newsletter.js +28 -2
  289. package/dist/hero-split-spiral-shapes.cjs +28 -2
  290. package/dist/hero-split-spiral-shapes.js +28 -2
  291. package/dist/hero-startup-launch-cta.cjs +28 -2
  292. package/dist/hero-startup-launch-cta.js +28 -2
  293. package/dist/hero-stats-social-proof.cjs +34 -4
  294. package/dist/hero-stats-social-proof.js +34 -4
  295. package/dist/hero-tech-carousel.cjs +27 -1
  296. package/dist/hero-tech-carousel.js +27 -1
  297. package/dist/hero-ui-library-showcase.cjs +27 -1
  298. package/dist/hero-ui-library-showcase.js +27 -1
  299. package/dist/hero-video-background-dark.cjs +28 -2
  300. package/dist/hero-video-background-dark.js +28 -2
  301. package/dist/hero-video-dialog-gradient.cjs +27 -1
  302. package/dist/hero-video-dialog-gradient.js +27 -1
  303. package/dist/hero-welcome-asymmetric-images.cjs +30 -2
  304. package/dist/hero-welcome-asymmetric-images.js +30 -2
  305. package/dist/index.cjs +104 -36
  306. package/dist/index.d.cts +1 -1
  307. package/dist/index.d.ts +1 -1
  308. package/dist/index.js +102 -37
  309. package/dist/link-page-bento-layout.cjs +57 -28
  310. package/dist/link-page-bento-layout.d.cts +1 -5
  311. package/dist/link-page-bento-layout.d.ts +1 -5
  312. package/dist/link-page-bento-layout.js +57 -28
  313. package/dist/link-page-grid-cards.cjs +52 -23
  314. package/dist/link-page-grid-cards.d.cts +1 -5
  315. package/dist/link-page-grid-cards.d.ts +1 -5
  316. package/dist/link-page-grid-cards.js +52 -23
  317. package/dist/link-page-minimal-profile.cjs +46 -18
  318. package/dist/link-page-minimal-profile.d.cts +1 -5
  319. package/dist/link-page-minimal-profile.d.ts +1 -5
  320. package/dist/link-page-minimal-profile.js +46 -18
  321. package/dist/link-page-newsletter-social.cjs +53 -28
  322. package/dist/link-page-newsletter-social.d.cts +1 -5
  323. package/dist/link-page-newsletter-social.d.ts +1 -5
  324. package/dist/link-page-newsletter-social.js +53 -28
  325. package/dist/link-tree-block.cjs +122 -34
  326. package/dist/link-tree-block.d.cts +1 -8
  327. package/dist/link-tree-block.d.ts +1 -8
  328. package/dist/link-tree-block.js +122 -34
  329. package/dist/media-hover-ctas.cjs +28 -2
  330. package/dist/media-hover-ctas.js +28 -2
  331. package/dist/process-expandable-timeline.cjs +66 -10
  332. package/dist/process-expandable-timeline.js +66 -10
  333. package/dist/process-hover-cards.cjs +39 -6
  334. package/dist/process-hover-cards.js +39 -6
  335. package/dist/process-icon-timeline.cjs +53 -3
  336. package/dist/process-icon-timeline.js +53 -3
  337. package/dist/process-mission-principles.cjs +44 -6
  338. package/dist/process-mission-principles.js +44 -6
  339. package/dist/process-numbered-services.cjs +76 -22
  340. package/dist/process-numbered-services.js +76 -22
  341. package/dist/process-roadmap-timeline.cjs +63 -9
  342. package/dist/process-roadmap-timeline.js +63 -9
  343. package/dist/process-scroll-image.cjs +71 -32
  344. package/dist/process-scroll-image.js +71 -32
  345. package/dist/process-steps-grid.cjs +61 -5
  346. package/dist/process-steps-grid.js +61 -5
  347. package/dist/process-sticky-steps.cjs +49 -69
  348. package/dist/process-sticky-steps.d.cts +1 -13
  349. package/dist/process-sticky-steps.d.ts +1 -13
  350. package/dist/process-sticky-steps.js +49 -69
  351. package/dist/project-zigzag-layout.cjs +379 -3
  352. package/dist/project-zigzag-layout.d.cts +8 -1
  353. package/dist/project-zigzag-layout.d.ts +8 -1
  354. package/dist/project-zigzag-layout.js +380 -3
  355. package/dist/registry.cjs +2759 -2476
  356. package/dist/registry.js +2759 -2476
  357. package/dist/team-media-showcase.cjs +59 -4
  358. package/dist/team-media-showcase.d.cts +4 -0
  359. package/dist/team-media-showcase.d.ts +4 -0
  360. package/dist/team-media-showcase.js +59 -4
  361. package/dist/testimonials-carousel-image.d.cts +6 -0
  362. package/dist/testimonials-carousel-image.d.ts +6 -0
  363. package/dist/utils.cjs +58 -0
  364. package/dist/utils.d.cts +113 -1
  365. package/dist/utils.d.ts +113 -1
  366. package/dist/utils.js +56 -1
  367. package/package.json +1 -1
@@ -39,6 +39,54 @@ function getNestedCardTextColor(parentBg, options) {
39
39
  const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
40
40
  return isDark ? "text-foreground" : "";
41
41
  }
42
+ function getTextColor(parentBg, variant = "default", options) {
43
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
44
+ if (isDark) {
45
+ switch (variant) {
46
+ case "default":
47
+ return "text-foreground";
48
+ case "muted":
49
+ return "text-foreground/80";
50
+ case "subtle":
51
+ return "text-foreground/60";
52
+ case "accent":
53
+ return "text-accent-foreground";
54
+ }
55
+ } else {
56
+ switch (variant) {
57
+ case "default":
58
+ return "text-foreground";
59
+ case "muted":
60
+ return "text-muted-foreground";
61
+ case "subtle":
62
+ return "text-muted-foreground/70";
63
+ case "accent":
64
+ return "text-primary";
65
+ }
66
+ }
67
+ }
68
+ function getBorderColor(parentBg, variant = "default", options) {
69
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
70
+ if (isDark) {
71
+ switch (variant) {
72
+ case "default":
73
+ return "border-foreground/20";
74
+ case "muted":
75
+ return "border-foreground/10";
76
+ case "accent":
77
+ return "border-accent-foreground";
78
+ }
79
+ } else {
80
+ switch (variant) {
81
+ case "default":
82
+ return "border-border";
83
+ case "muted":
84
+ return "border-muted";
85
+ case "accent":
86
+ return "border-primary";
87
+ }
88
+ }
89
+ }
42
90
  var svgCache = /* @__PURE__ */ new Map();
43
91
  function DynamicIcon({
44
92
  name,
@@ -583,7 +631,7 @@ function ProcessIconTimeline({
583
631
  ),
584
632
  children: [
585
633
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title })),
586
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mb-4 text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsx("div", { className: "mb-4 text-muted-foreground", children: step.description })),
634
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description })),
587
635
  step.highlights?.length ? /* @__PURE__ */ jsx(
588
636
  "div",
589
637
  {
@@ -640,7 +688,8 @@ function ProcessIconTimeline({
640
688
  "p",
641
689
  {
642
690
  className: cn(
643
- "text-lg text-muted-foreground",
691
+ "text-lg",
692
+ getTextColor(background, "muted"),
644
693
  descriptionClassName
645
694
  ),
646
695
  children: description
@@ -652,7 +701,8 @@ function ProcessIconTimeline({
652
701
  "div",
653
702
  {
654
703
  className: cn(
655
- "absolute left-6 top-0 bottom-0 w-px bg-border lg:left-1/2 lg:-translate-x-1/2",
704
+ "absolute left-6 top-0 bottom-0 w-px lg:left-1/2 lg:-translate-x-1/2",
705
+ getBorderColor(background, "default"),
656
706
  timelineLineClassName
657
707
  )
658
708
  }
@@ -44,6 +44,36 @@ function getNestedCardTextColor(parentBg, options) {
44
44
  const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
45
45
  return isDark ? "text-foreground" : "";
46
46
  }
47
+ function getTextColor(parentBg, variant = "default", options) {
48
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
49
+ if (isDark) {
50
+ switch (variant) {
51
+ case "default":
52
+ return "text-foreground";
53
+ case "muted":
54
+ return "text-foreground/80";
55
+ case "subtle":
56
+ return "text-foreground/60";
57
+ case "accent":
58
+ return "text-accent-foreground";
59
+ }
60
+ } else {
61
+ switch (variant) {
62
+ case "default":
63
+ return "text-foreground";
64
+ case "muted":
65
+ return "text-muted-foreground";
66
+ case "subtle":
67
+ return "text-muted-foreground/70";
68
+ case "accent":
69
+ return "text-primary";
70
+ }
71
+ }
72
+ }
73
+ function getAccentColor(parentBg, options) {
74
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
75
+ return isDark ? "text-accent-foreground" : "text-primary";
76
+ }
47
77
  var maxWidthStyles = {
48
78
  sm: "max-w-screen-sm",
49
79
  md: "max-w-screen-md",
@@ -452,7 +482,7 @@ function ProcessMissionPrinciples({
452
482
  "div",
453
483
  {
454
484
  className: cn(
455
- "grid gap-6 md:grid-cols-2 lg:grid-cols-3",
485
+ "grid gap-6 md:grid-cols-2 lg:grid-cols-3 px-4 md:px-0",
456
486
  principlesGridClassName
457
487
  ),
458
488
  children: principles.map((principle, index) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -478,7 +508,7 @@ function ProcessMissionPrinciples({
478
508
  ),
479
509
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-4", children: [
480
510
  principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title })),
481
- principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground leading-relaxed", children: principle.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground leading-relaxed", children: principle.description }))
511
+ principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }))
482
512
  ] })
483
513
  ]
484
514
  },
@@ -486,7 +516,14 @@ function ProcessMissionPrinciples({
486
516
  ))
487
517
  }
488
518
  );
489
- }, [principlesSlot, principles, background, principlesGridClassName, principleCardClassName, principleBadgeClassName]);
519
+ }, [
520
+ principlesSlot,
521
+ principles,
522
+ background,
523
+ principlesGridClassName,
524
+ principleCardClassName,
525
+ principleBadgeClassName
526
+ ]);
490
527
  return /* @__PURE__ */ jsxRuntime.jsx(
491
528
  Section,
492
529
  {
@@ -501,7 +538,8 @@ function ProcessMissionPrinciples({
501
538
  "span",
502
539
  {
503
540
  className: cn(
504
- "mb-4 inline-block text-sm font-semibold uppercase tracking-wider text-primary",
541
+ "mb-4 inline-block text-sm font-semibold uppercase tracking-wider",
542
+ getAccentColor(background),
505
543
  missionLabelClassName
506
544
  ),
507
545
  children: missionLabel
@@ -521,7 +559,7 @@ function ProcessMissionPrinciples({
521
559
  "p",
522
560
  {
523
561
  className: cn(
524
- "text-lg text-muted-foreground leading-relaxed",
562
+ "text-lg leading-relaxed",
525
563
  missionDescriptionClassName
526
564
  ),
527
565
  children: missionDescription
@@ -533,7 +571,7 @@ function ProcessMissionPrinciples({
533
571
  "span",
534
572
  {
535
573
  className: cn(
536
- "mb-8 inline-block text-sm font-semibold uppercase tracking-wider text-primary",
574
+ "mb-8 inline-block text-sm font-semibold uppercase tracking-wider",
537
575
  principlesLabelClassName
538
576
  ),
539
577
  children: principlesLabel
@@ -38,6 +38,36 @@ function getNestedCardTextColor(parentBg, options) {
38
38
  const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
39
39
  return isDark ? "text-foreground" : "";
40
40
  }
41
+ function getTextColor(parentBg, variant = "default", options) {
42
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
43
+ if (isDark) {
44
+ switch (variant) {
45
+ case "default":
46
+ return "text-foreground";
47
+ case "muted":
48
+ return "text-foreground/80";
49
+ case "subtle":
50
+ return "text-foreground/60";
51
+ case "accent":
52
+ return "text-accent-foreground";
53
+ }
54
+ } else {
55
+ switch (variant) {
56
+ case "default":
57
+ return "text-foreground";
58
+ case "muted":
59
+ return "text-muted-foreground";
60
+ case "subtle":
61
+ return "text-muted-foreground/70";
62
+ case "accent":
63
+ return "text-primary";
64
+ }
65
+ }
66
+ }
67
+ function getAccentColor(parentBg, options) {
68
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
69
+ return isDark ? "text-accent-foreground" : "text-primary";
70
+ }
41
71
  var maxWidthStyles = {
42
72
  sm: "max-w-screen-sm",
43
73
  md: "max-w-screen-md",
@@ -446,7 +476,7 @@ function ProcessMissionPrinciples({
446
476
  "div",
447
477
  {
448
478
  className: cn(
449
- "grid gap-6 md:grid-cols-2 lg:grid-cols-3",
479
+ "grid gap-6 md:grid-cols-2 lg:grid-cols-3 px-4 md:px-0",
450
480
  principlesGridClassName
451
481
  ),
452
482
  children: principles.map((principle, index) => /* @__PURE__ */ jsxs(
@@ -472,7 +502,7 @@ function ProcessMissionPrinciples({
472
502
  ),
473
503
  /* @__PURE__ */ jsxs("div", { className: "pt-4", children: [
474
504
  principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title }) : /* @__PURE__ */ jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title })),
475
- principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground leading-relaxed", children: principle.description }) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground leading-relaxed", children: principle.description }))
505
+ principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }))
476
506
  ] })
477
507
  ]
478
508
  },
@@ -480,7 +510,14 @@ function ProcessMissionPrinciples({
480
510
  ))
481
511
  }
482
512
  );
483
- }, [principlesSlot, principles, background, principlesGridClassName, principleCardClassName, principleBadgeClassName]);
513
+ }, [
514
+ principlesSlot,
515
+ principles,
516
+ background,
517
+ principlesGridClassName,
518
+ principleCardClassName,
519
+ principleBadgeClassName
520
+ ]);
484
521
  return /* @__PURE__ */ jsx(
485
522
  Section,
486
523
  {
@@ -495,7 +532,8 @@ function ProcessMissionPrinciples({
495
532
  "span",
496
533
  {
497
534
  className: cn(
498
- "mb-4 inline-block text-sm font-semibold uppercase tracking-wider text-primary",
535
+ "mb-4 inline-block text-sm font-semibold uppercase tracking-wider",
536
+ getAccentColor(background),
499
537
  missionLabelClassName
500
538
  ),
501
539
  children: missionLabel
@@ -515,7 +553,7 @@ function ProcessMissionPrinciples({
515
553
  "p",
516
554
  {
517
555
  className: cn(
518
- "text-lg text-muted-foreground leading-relaxed",
556
+ "text-lg leading-relaxed",
519
557
  missionDescriptionClassName
520
558
  ),
521
559
  children: missionDescription
@@ -527,7 +565,7 @@ function ProcessMissionPrinciples({
527
565
  "span",
528
566
  {
529
567
  className: cn(
530
- "mb-8 inline-block text-sm font-semibold uppercase tracking-wider text-primary",
568
+ "mb-8 inline-block text-sm font-semibold uppercase tracking-wider",
531
569
  principlesLabelClassName
532
570
  ),
533
571
  children: principlesLabel
@@ -61,6 +61,58 @@ function getNestedCardTextColor(parentBg, options) {
61
61
  const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
62
62
  return isDark ? "text-foreground" : "";
63
63
  }
64
+ function getTextColor(parentBg, variant = "default", options) {
65
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
66
+ if (isDark) {
67
+ switch (variant) {
68
+ case "default":
69
+ return "text-foreground";
70
+ case "muted":
71
+ return "text-foreground/80";
72
+ case "subtle":
73
+ return "text-foreground/60";
74
+ case "accent":
75
+ return "text-accent-foreground";
76
+ }
77
+ } else {
78
+ switch (variant) {
79
+ case "default":
80
+ return "text-foreground";
81
+ case "muted":
82
+ return "text-muted-foreground";
83
+ case "subtle":
84
+ return "text-muted-foreground/70";
85
+ case "accent":
86
+ return "text-primary";
87
+ }
88
+ }
89
+ }
90
+ function getAccentColor(parentBg, options) {
91
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
92
+ return isDark ? "text-accent-foreground" : "text-primary";
93
+ }
94
+ function getBorderColor(parentBg, variant = "default", options) {
95
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
96
+ if (isDark) {
97
+ switch (variant) {
98
+ case "default":
99
+ return "border-foreground/20";
100
+ case "muted":
101
+ return "border-foreground/10";
102
+ case "accent":
103
+ return "border-accent-foreground";
104
+ }
105
+ } else {
106
+ switch (variant) {
107
+ case "default":
108
+ return "border-border";
109
+ case "muted":
110
+ return "border-muted";
111
+ case "accent":
112
+ return "border-primary";
113
+ }
114
+ }
115
+ }
64
116
  function normalizePhoneNumber(input) {
65
117
  const trimmed = input.trim();
66
118
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -974,7 +1026,7 @@ function ProcessNumberedServices({
974
1026
  serviceBadgeClassName,
975
1027
  capabilitiesClassName,
976
1028
  background,
977
- spacing,
1029
+ spacing = "py-6 md:py-32",
978
1030
  pattern,
979
1031
  patternOpacity,
980
1032
  // Backwards compatibility
@@ -998,22 +1050,11 @@ function ProcessNumberedServices({
998
1050
  className: actionClassName,
999
1051
  ...pressableProps
1000
1052
  } = action;
1001
- return /* @__PURE__ */ jsxRuntime.jsx(
1002
- Pressable,
1003
- {
1004
- asButton: true,
1005
- className: cn(
1006
- "mt-4 inline-flex items-center gap-2 p-0 text-primary hover:text-primary/80",
1007
- actionClassName
1008
- ),
1009
- ...pressableProps,
1010
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1011
- icon,
1012
- label,
1013
- iconAfter ?? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
1014
- ] })
1015
- }
1016
- );
1053
+ return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: cn(actionClassName), ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1054
+ icon,
1055
+ label,
1056
+ iconAfter && iconAfter
1057
+ ] }) });
1017
1058
  };
1018
1059
  }, []);
1019
1060
  const renderServices = React.useMemo(() => {
@@ -1032,7 +1073,10 @@ function ProcessNumberedServices({
1032
1073
  "div",
1033
1074
  {
1034
1075
  className: cn(
1035
- "flex size-16 items-center justify-center rounded-full border-2 border-primary bg-primary/5 text-xl font-bold text-primary transition-colors group-hover:bg-primary group-hover:text-primary-foreground",
1076
+ "flex size-16 items-center justify-center rounded-full border-2 text-xl font-bold transition-colors",
1077
+ getBorderColor(background, "accent"),
1078
+ getAccentColor(background),
1079
+ "bg-primary/5 group-hover:bg-primary group-hover:text-primary-foreground",
1036
1080
  serviceBadgeClassName
1037
1081
  ),
1038
1082
  children: service.number ?? `0${index + 1}`
@@ -1040,7 +1084,7 @@ function ProcessNumberedServices({
1040
1084
  ) }),
1041
1085
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-4", children: [
1042
1086
  service.title && (typeof service.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title })),
1043
- service.description && (typeof service.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground leading-relaxed", children: service.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground leading-relaxed", children: service.description })),
1087
+ service.description && (typeof service.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: service.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: service.description })),
1044
1088
  renderServiceAction(service)
1045
1089
  ] }),
1046
1090
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:col-span-7", children: service.capabilities?.length ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -1064,7 +1108,7 @@ function ProcessNumberedServices({
1064
1108
  {
1065
1109
  name: "lucide/check-circle-2",
1066
1110
  size: 18,
1067
- className: "text-primary"
1111
+ className: getAccentColor(background)
1068
1112
  }
1069
1113
  ),
1070
1114
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: capability })
@@ -1078,7 +1122,16 @@ function ProcessNumberedServices({
1078
1122
  },
1079
1123
  index
1080
1124
  )) });
1081
- }, [servicesSlot, services, background, servicesClassName, serviceItemClassName, serviceBadgeClassName, capabilitiesClassName, renderServiceAction]);
1125
+ }, [
1126
+ servicesSlot,
1127
+ services,
1128
+ background,
1129
+ servicesClassName,
1130
+ serviceItemClassName,
1131
+ serviceBadgeClassName,
1132
+ capabilitiesClassName,
1133
+ renderServiceAction
1134
+ ]);
1082
1135
  return /* @__PURE__ */ jsxRuntime.jsx(
1083
1136
  Section,
1084
1137
  {
@@ -1103,7 +1156,8 @@ function ProcessNumberedServices({
1103
1156
  "p",
1104
1157
  {
1105
1158
  className: cn(
1106
- "text-lg text-muted-foreground",
1159
+ "text-lg",
1160
+ getTextColor(background, "muted"),
1107
1161
  descriptionClassName
1108
1162
  ),
1109
1163
  children: description
@@ -40,6 +40,58 @@ function getNestedCardTextColor(parentBg, options) {
40
40
  const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
41
41
  return isDark ? "text-foreground" : "";
42
42
  }
43
+ function getTextColor(parentBg, variant = "default", options) {
44
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
45
+ if (isDark) {
46
+ switch (variant) {
47
+ case "default":
48
+ return "text-foreground";
49
+ case "muted":
50
+ return "text-foreground/80";
51
+ case "subtle":
52
+ return "text-foreground/60";
53
+ case "accent":
54
+ return "text-accent-foreground";
55
+ }
56
+ } else {
57
+ switch (variant) {
58
+ case "default":
59
+ return "text-foreground";
60
+ case "muted":
61
+ return "text-muted-foreground";
62
+ case "subtle":
63
+ return "text-muted-foreground/70";
64
+ case "accent":
65
+ return "text-primary";
66
+ }
67
+ }
68
+ }
69
+ function getAccentColor(parentBg, options) {
70
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
71
+ return isDark ? "text-accent-foreground" : "text-primary";
72
+ }
73
+ function getBorderColor(parentBg, variant = "default", options) {
74
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
75
+ if (isDark) {
76
+ switch (variant) {
77
+ case "default":
78
+ return "border-foreground/20";
79
+ case "muted":
80
+ return "border-foreground/10";
81
+ case "accent":
82
+ return "border-accent-foreground";
83
+ }
84
+ } else {
85
+ switch (variant) {
86
+ case "default":
87
+ return "border-border";
88
+ case "muted":
89
+ return "border-muted";
90
+ case "accent":
91
+ return "border-primary";
92
+ }
93
+ }
94
+ }
43
95
  function normalizePhoneNumber(input) {
44
96
  const trimmed = input.trim();
45
97
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -953,7 +1005,7 @@ function ProcessNumberedServices({
953
1005
  serviceBadgeClassName,
954
1006
  capabilitiesClassName,
955
1007
  background,
956
- spacing,
1008
+ spacing = "py-6 md:py-32",
957
1009
  pattern,
958
1010
  patternOpacity,
959
1011
  // Backwards compatibility
@@ -977,22 +1029,11 @@ function ProcessNumberedServices({
977
1029
  className: actionClassName,
978
1030
  ...pressableProps
979
1031
  } = action;
980
- return /* @__PURE__ */ jsx(
981
- Pressable,
982
- {
983
- asButton: true,
984
- className: cn(
985
- "mt-4 inline-flex items-center gap-2 p-0 text-primary hover:text-primary/80",
986
- actionClassName
987
- ),
988
- ...pressableProps,
989
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
990
- icon,
991
- label,
992
- iconAfter ?? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
993
- ] })
994
- }
995
- );
1032
+ return /* @__PURE__ */ jsx(Pressable, { asButton: true, className: cn(actionClassName), ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
1033
+ icon,
1034
+ label,
1035
+ iconAfter && iconAfter
1036
+ ] }) });
996
1037
  };
997
1038
  }, []);
998
1039
  const renderServices = useMemo(() => {
@@ -1011,7 +1052,10 @@ function ProcessNumberedServices({
1011
1052
  "div",
1012
1053
  {
1013
1054
  className: cn(
1014
- "flex size-16 items-center justify-center rounded-full border-2 border-primary bg-primary/5 text-xl font-bold text-primary transition-colors group-hover:bg-primary group-hover:text-primary-foreground",
1055
+ "flex size-16 items-center justify-center rounded-full border-2 text-xl font-bold transition-colors",
1056
+ getBorderColor(background, "accent"),
1057
+ getAccentColor(background),
1058
+ "bg-primary/5 group-hover:bg-primary group-hover:text-primary-foreground",
1015
1059
  serviceBadgeClassName
1016
1060
  ),
1017
1061
  children: service.number ?? `0${index + 1}`
@@ -1019,7 +1063,7 @@ function ProcessNumberedServices({
1019
1063
  ) }),
1020
1064
  /* @__PURE__ */ jsxs("div", { className: "lg:col-span-4", children: [
1021
1065
  service.title && (typeof service.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title }) : /* @__PURE__ */ jsx("div", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title })),
1022
- service.description && (typeof service.description === "string" ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground leading-relaxed", children: service.description }) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground leading-relaxed", children: service.description })),
1066
+ service.description && (typeof service.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: service.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: service.description })),
1023
1067
  renderServiceAction(service)
1024
1068
  ] }),
1025
1069
  /* @__PURE__ */ jsx("div", { className: "lg:col-span-7", children: service.capabilities?.length ? /* @__PURE__ */ jsx(
@@ -1043,7 +1087,7 @@ function ProcessNumberedServices({
1043
1087
  {
1044
1088
  name: "lucide/check-circle-2",
1045
1089
  size: 18,
1046
- className: "text-primary"
1090
+ className: getAccentColor(background)
1047
1091
  }
1048
1092
  ),
1049
1093
  /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: capability })
@@ -1057,7 +1101,16 @@ function ProcessNumberedServices({
1057
1101
  },
1058
1102
  index
1059
1103
  )) });
1060
- }, [servicesSlot, services, background, servicesClassName, serviceItemClassName, serviceBadgeClassName, capabilitiesClassName, renderServiceAction]);
1104
+ }, [
1105
+ servicesSlot,
1106
+ services,
1107
+ background,
1108
+ servicesClassName,
1109
+ serviceItemClassName,
1110
+ serviceBadgeClassName,
1111
+ capabilitiesClassName,
1112
+ renderServiceAction
1113
+ ]);
1061
1114
  return /* @__PURE__ */ jsx(
1062
1115
  Section,
1063
1116
  {
@@ -1082,7 +1135,8 @@ function ProcessNumberedServices({
1082
1135
  "p",
1083
1136
  {
1084
1137
  className: cn(
1085
- "text-lg text-muted-foreground",
1138
+ "text-lg",
1139
+ getTextColor(background, "muted"),
1086
1140
  descriptionClassName
1087
1141
  ),
1088
1142
  children: description