@chaibuilder/sdk 4.0.0-beta.4 → 4.0.0-beta.41
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.
- package/README.md +72 -50
- package/dist/{2SSKDMRQ-Difo_1pg.js → 2SSKDMRQ-CdpXONNF.js} +3 -3
- package/dist/{2SSKDMRQ-CopJgtZb.cjs → 2SSKDMRQ-Dq_oq6gn.cjs} +1 -1
- package/dist/{AP7HFJJL-BPuPBqj4.js → AP7HFJJL-CZb0rAxI.js} +1 -1
- package/dist/{AP7HFJJL-DYxDgaOs.cjs → AP7HFJJL-Do14BULM.cjs} +1 -1
- package/dist/{IconPicker-B2-oriq2.js → IconPicker-CvZSjXc6.js} +2 -2
- package/dist/{IconPicker-C0oycHbs.cjs → IconPicker-DUN9bxmQ.cjs} +1 -1
- package/dist/STRINGS-BExFecZW.js +8 -0
- package/dist/STRINGS-FNnfjF5H.cjs +1 -0
- package/dist/{WDYDFRGG-DbejaRPK.cjs → WDYDFRGG-DfczfcZ8.cjs} +1 -1
- package/dist/{WDYDFRGG-KK8pkcW1.js → WDYDFRGG-Dxa2zFdt.js} +4 -4
- package/dist/{actions-registery-y_ENc8zj.js → actions-registery-CMKfEXxX.js} +3397 -3202
- package/dist/actions-registery-CqhNZFV3.cjs +481 -0
- package/dist/actions.cjs +1 -1
- package/dist/actions.d.ts +0 -158
- package/dist/actions.js +3 -3
- package/dist/{active-in-another-tab-DkR2HWI4.js → active-in-another-tab-BREv3Xj8.js} +5 -5
- package/dist/{active-in-another-tab-Cu_ASKtx.cjs → active-in-another-tab-C9o276yY.cjs} +1 -1
- package/dist/{add-new-language-page-CBY0RR6q.js → add-new-language-page-C4PSVDV5.js} +4 -4
- package/dist/{add-new-language-page-BXuwluuU.cjs → add-new-language-page-jHLJjrl1.cjs} +1 -1
- package/dist/{add-new-page-C_PzKby8.cjs → add-new-page-BPPMxBYi.cjs} +1 -1
- package/dist/add-new-page-DomZuT16.js +31 -0
- package/dist/{ai-panel-content--YM01Aly.js → ai-panel-content-CsmUoTCg.js} +6 -6
- package/dist/{ai-panel-content-rRmJdH7L.cjs → ai-panel-content-DlS51Qef.cjs} +1 -1
- package/dist/ai-panel-default-lang-BRVlAMMU.js +317 -0
- package/dist/ai-panel-default-lang-DVKDEnbe.cjs +3 -0
- package/dist/ai-panel-other-lang-B-2xJz2W.cjs +1 -0
- package/dist/ai-panel-other-lang-BPVS6lO_.js +132 -0
- package/dist/{ai-prompt-input-DueQYNf-.js → ai-prompt-input-B0FMhaLB.js} +30 -34
- package/dist/{ai-prompt-input-N9PcYCFa.cjs → ai-prompt-input-CY2pBPzO.cjs} +1 -1
- package/dist/{ai-translation-prompt-B36F3d7K.js → ai-translation-prompt-6LlaU9LO.js} +2 -2
- package/dist/{ai-translation-prompt-IAdWMNZb.cjs → ai-translation-prompt-BwhKmgC3.cjs} +1 -1
- package/dist/apply-binding-BuwI_Uf5.cjs +41 -0
- package/dist/apply-binding-RQRSIe56.js +942 -0
- package/dist/change-password-modal-BlSTfit6.js +137 -0
- package/dist/change-password-modal-wbCcGfDM.cjs +1 -0
- package/dist/{code-display-DloSPyPr.cjs → code-display-BR-gij5j.cjs} +1 -1
- package/dist/{code-display-Ck81Id9K.js → code-display-DdWcOQ_i.js} +1 -1
- package/dist/code-editor-BC_saYAw.cjs +1 -0
- package/dist/code-editor-Be5VT6om.js +57 -0
- package/dist/{continue-editing-in-this-client-DmGFLHXw.cjs → continue-editing-in-this-client-Bs_3q1hH.cjs} +1 -1
- package/dist/{continue-editing-in-this-client-Dm9cCj7K.js → continue-editing-in-this-client-Z1rBUPU8.js} +3 -3
- package/dist/core-czmLeR0h.cjs +1 -0
- package/dist/core-nSRy3D7z.js +54 -0
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +285 -103
- package/dist/core.js +71 -42
- package/dist/{css-import-modal-9P_0uNa4.js → css-import-modal-DMZRgpy0.js} +8 -8
- package/dist/{css-import-modal-Rh1QAVxo.cjs → css-import-modal-QaTHJ7CT.cjs} +1 -1
- package/dist/delete-page-BoP3I06P.js +84 -0
- package/dist/delete-page-CjXYHAsS.cjs +1 -0
- package/dist/{design-token-usage-MNYsFlPG.js → design-token-usage-DFanW2r-.js} +26 -26
- package/dist/{design-token-usage-CXglXgcJ.cjs → design-token-usage-kEPgi-3C.cjs} +1 -1
- package/dist/{digital-asset-manager-CqCWBO0s.js → digital-asset-manager-BbI7Ye34.js} +6 -6
- package/dist/digital-asset-manager-N8tcW28y.cjs +1 -0
- package/dist/{duplicate-page-DzZByALW.cjs → duplicate-page-B-4nFU4j.cjs} +1 -1
- package/dist/{duplicate-page-BknLfqr0.js → duplicate-page-C6y7FdRQ.js} +7 -7
- package/dist/{dynamic-page-selector-WA007Sni.cjs → dynamic-page-selector-Cq4U-49i.cjs} +1 -1
- package/dist/{dynamic-page-selector-DoW7OyUB.js → dynamic-page-selector-DQCWphi0.js} +16 -16
- package/dist/fonts/bungee/Bungee-Regular.woff2 +0 -0
- package/dist/fonts/dm_sans/dm-sans-variable.woff2 +0 -0
- package/dist/fonts/geist/Geist-VariableFont_wght.ttf +0 -0
- package/dist/fonts/geist/Geist-VariableFont_wght.woff2 +0 -0
- package/dist/fonts/geist/geist-variable.woff2 +0 -0
- package/dist/fonts/geist-mono/GeistMono-VariableFont_wght.woff2 +0 -0
- package/dist/fonts/inter/inter-latin.woff2 +0 -0
- package/dist/fonts/inter/inter-variable.woff2 +1449 -0
- package/dist/fonts/lato/lato-variable.woff2 +0 -0
- package/dist/fonts/lavishly_yours/lavishly-yours.woff2 +11 -0
- package/dist/fonts/merriweather/merriweather-variable.woff2 +11 -0
- package/dist/fonts/montserrat/montserrat-variable.woff2 +0 -0
- package/dist/fonts/nunito_sans/nunito-sans-variable.woff2 +11 -0
- package/dist/fonts/open_sans/open-sans-variable.woff2 +0 -0
- package/dist/fonts/oswald/oswald-variable.woff2 +0 -0
- package/dist/fonts/playfair_display/playfair-display-variable.woff2 +11 -0
- package/dist/fonts/poppins/poppins-variable.woff2 +0 -0
- package/dist/fonts/raleway/raleway-variable.woff2 +0 -0
- package/dist/fonts/roboto/roboto-variable.woff2 +11 -0
- package/dist/fonts/source_sans_3/source-sans-3-variable.woff2 +11 -0
- package/dist/fonts/ubuntu/ubuntu-variable.woff2 +0 -0
- package/dist/fonts-B3UYxuJI.js +25 -0
- package/dist/fonts-D5fTqvSS.cjs +1 -0
- package/dist/{get-chai-builder-tailwind-config-BFePCEIS.cjs → get-chai-builder-tailwind-config-7CxFxEYL.cjs} +1 -1
- package/dist/{get-chai-builder-tailwind-config-BXf_xLHk.js → get-chai-builder-tailwind-config-DC4sDOYK.js} +5 -5
- package/dist/{get-chai-builder-theme-BApShjRz.cjs → get-chai-builder-theme-B5RkBTsB.cjs} +1 -1
- package/dist/{get-chai-builder-theme-DDVRJQ6Z.js → get-chai-builder-theme-BpuwSLeS.js} +1 -1
- package/dist/{image-compression-DsZ1oqpb.js → image-compression-DPFITwOL.js} +2 -2
- package/dist/image-compression-UaU7Bwqe.cjs +1 -0
- package/dist/{image-editor-CqwaVxO2.cjs → image-editor-565A0NpE.cjs} +1 -1
- package/dist/{image-editor-CQnNtak2.js → image-editor-Dz_HQ0I8.js} +1 -1
- package/dist/index-3pEi7VzS.cjs +5 -0
- package/dist/index-C3CV1lXL.cjs +160 -0
- package/dist/index-CDVuf3C1.js +5118 -0
- package/dist/{index-rAcNbjk_.js → index-wBr2Ml98.js} +6152 -6102
- package/dist/{json-diff-viewer-CLuUHiPU.cjs → json-diff-viewer-CMYFM6D6.cjs} +7 -7
- package/dist/{json-diff-viewer-CMvGUvJ2.js → json-diff-viewer-DG7a5-2B.js} +87 -85
- package/dist/{lang-panel-CnwTb05j.js → lang-panel-BvGiJJ8s.js} +26 -26
- package/dist/lang-panel-D97iJH-l.cjs +1 -0
- package/dist/library-blocks/bento/agency-showcase/agency-showcase.html +175 -0
- package/dist/library-blocks/bento/agency-showcase/agency-showcase.webp +0 -0
- package/dist/library-blocks/bento/creative-portfolio/creative-portfolio.html +116 -0
- package/dist/library-blocks/bento/creative-portfolio/creative-portfolio.webp +0 -0
- package/dist/library-blocks/bento/product-features/product-features.html +159 -0
- package/dist/library-blocks/bento/product-features/product-features.webp +0 -0
- package/dist/library-blocks/bento/saas-dashboard/saas-dashboard.html +182 -0
- package/dist/library-blocks/bento/saas-dashboard/saas-dashboard.webp +0 -0
- package/dist/library-blocks/bento/startup-metrics/startup-metrics.html +170 -0
- package/dist/library-blocks/bento/startup-metrics/startup-metrics.webp +0 -0
- package/dist/library-blocks/blocks-list.json +149 -0
- package/dist/library-blocks/feature/agency-services/agency-services.html +194 -0
- package/dist/library-blocks/feature/agency-services/agency-services.webp +0 -0
- package/dist/library-blocks/feature/consulting-firm/consulting-firm.html +219 -0
- package/dist/library-blocks/feature/consulting-firm/consulting-firm.webp +0 -0
- package/dist/library-blocks/feature/design-studio/design-studio.html +190 -0
- package/dist/library-blocks/feature/design-studio/design-studio.webp +0 -0
- package/dist/library-blocks/feature/freelancer-toolkit/freelancer-toolkit.html +195 -0
- package/dist/library-blocks/feature/freelancer-toolkit/freelancer-toolkit.webp +0 -0
- package/dist/library-blocks/feature/marketing-agency/marketing-agency.html +212 -0
- package/dist/library-blocks/feature/marketing-agency/marketing-agency.webp +0 -0
- package/dist/library-blocks/footer/creative-agency/creative-agency.html +64 -0
- package/dist/library-blocks/footer/creative-agency/creative-agency.webp +0 -0
- package/dist/library-blocks/footer/minimal-portfolio/minimal-portfolio.html +106 -0
- package/dist/library-blocks/footer/minimal-portfolio/minimal-portfolio.webp +0 -0
- package/dist/library-blocks/footer/saas-startup/saas-startup.html +117 -0
- package/dist/library-blocks/footer/saas-startup/saas-startup.webp +0 -0
- package/dist/library-blocks/hero/creative-agency/creative-agency.html +117 -0
- package/dist/library-blocks/hero/creative-agency/creative-agency.webp +0 -0
- package/dist/library-blocks/hero/developer-focused/developer-focused.html +124 -0
- package/dist/library-blocks/hero/developer-focused/developer-focused.webp +0 -0
- package/dist/library-blocks/hero/minimal-saas/minimal-saas.html +98 -0
- package/dist/library-blocks/hero/minimal-saas/minimal-saas.webp +0 -0
- package/dist/library-blocks/hero/portfolio-showcase/portfolio-showcase.html +148 -0
- package/dist/library-blocks/hero/portfolio-showcase/portfolio-showcase.webp +0 -0
- package/dist/library-blocks/hero/startup-landing/startup-landing.html +130 -0
- package/dist/library-blocks/hero/startup-landing/startup-landing.webp +0 -0
- package/dist/library-blocks/navbar/creative-agency/creative-agency.html +139 -0
- package/dist/library-blocks/navbar/creative-agency/creative-agency.webp +0 -0
- package/dist/library-blocks/navbar/minimal-portfolio/minimal-portfolio.html +164 -0
- package/dist/library-blocks/navbar/minimal-portfolio/minimal-portfolio.webp +0 -0
- package/dist/library-blocks/navbar/saas-startup/saas-startup.html +129 -0
- package/dist/library-blocks/navbar/saas-startup/saas-startup.webp +0 -0
- package/dist/manage-design-tokens-4Gu6TMKZ.js +446 -0
- package/dist/manage-design-tokens-Do9Kptp3.cjs +1 -0
- package/dist/manage-design-tokens-modal-Btbdgoun.cjs +1 -0
- package/dist/manage-design-tokens-modal-CkyFE8NW.js +161 -0
- package/dist/{mark-as-template-DBLshWb5.js → mark-as-template-Djhnj93U.js} +11 -11
- package/dist/{mark-as-template-CpWEBJGd.cjs → mark-as-template-QPJ0DqxL.cjs} +1 -1
- package/dist/{nested-path-selector-content-C2sD9dkq.cjs → nested-path-selector-content-BcmSxXxL.cjs} +1 -1
- package/dist/{nested-path-selector-content-6OBJ8LG8.js → nested-path-selector-content-DkPIHcVj.js} +2 -2
- package/dist/{no-language-page-content-CzENgtnu.js → no-language-page-content-DTq-5StU.js} +9 -9
- package/dist/{no-language-page-content-BvPDdccK.cjs → no-language-page-content-ZQz4Kr0-.cjs} +1 -1
- package/dist/{no-language-page-dialog-CbYI2cVg.js → no-language-page-dialog-2rA-YBbC.js} +2 -2
- package/dist/{no-language-page-dialog-CgW4yJBC.cjs → no-language-page-dialog-BsLkwJID.cjs} +1 -1
- package/dist/{page-creator-Cc83uQqw.js → page-creator-Dzpc0_dN.js} +143 -143
- package/dist/page-creator-lcDUpPjh.cjs +1 -0
- package/dist/{page-lock-CT7SmQqp.cjs → page-lock-B2GU-1YM.cjs} +1 -1
- package/dist/{page-lock-BJUkyxdh.js → page-lock-ulFtdOkt.js} +2 -2
- package/dist/{page-locked-dialog-DsEbWRed.js → page-locked-dialog-B9VpkvhN.js} +22 -22
- package/dist/page-locked-dialog-CJ53Z6sQ.cjs +1 -0
- package/dist/page-manager-new-CkoS0B1i.cjs +1 -0
- package/dist/page-manager-new-OoC8W7Yn.js +408 -0
- package/dist/{page-manager-search-and-filter-Bfm0j1gg.cjs → page-manager-search-and-filter-BosoN3wg.cjs} +1 -1
- package/dist/{page-manager-search-and-filter-zq-LfhQ1.js → page-manager-search-and-filter-JfSTGlvp.js} +30 -29
- package/dist/{page-revisions-content-D38G2tJM.js → page-revisions-content-DsFh5itr.js} +133 -122
- package/dist/page-revisions-content-Dtd-t1N3.cjs +1 -0
- package/dist/pages.cjs +1 -1
- package/dist/pages.d.ts +330 -96
- package/dist/pages.js +23 -19
- package/dist/plugin-BSjgGgwo.js +248 -0
- package/dist/plugin-DHpuZZXz.cjs +22 -0
- package/dist/publish-pages-content-C7oS7pkz.cjs +1 -0
- package/dist/{publish-pages-content-CS7f41Ac.js → publish-pages-content-DJc7iu8d.js} +39 -39
- package/dist/{register-chai-top-bar-ESJHs5s-.js → register-chai-top-bar-D6GjnauV.js} +87 -87
- package/dist/register-chai-top-bar-DyW9GPzV.cjs +1 -0
- package/dist/render.cjs +2 -2
- package/dist/render.d.ts +20 -18
- package/dist/render.js +133 -132
- package/dist/{rte-widget-modal-BKNx2wln.cjs → rte-widget-modal-BKQaoxh9.cjs} +1 -1
- package/dist/{rte-widget-modal-D6Zik0Ta.js → rte-widget-modal-BdBYmqgs.js} +10 -10
- package/dist/runtime-client.cjs +1 -0
- package/dist/runtime-client.d.ts +158 -0
- package/dist/runtime-client.js +32 -0
- package/dist/runtime.cjs +11 -1
- package/dist/runtime.d.ts +153 -270
- package/dist/runtime.js +107 -71
- package/dist/{save-to-lib-WwOzbgiF.js → save-to-lib-5nwSdZ9R.js} +153 -147
- package/dist/save-to-lib-D0WdH4lq.cjs +1 -0
- package/dist/sdk.css +1 -1
- package/dist/{selected-block-display-B1SG_UXw.js → selected-block-display-D8ROZHHv.js} +12 -12
- package/dist/{selected-block-display-BOgnQRLF.cjs → selected-block-display-DjYeUPdU.cjs} +1 -1
- package/dist/{seo-panel-BkOgRoWd.js → seo-panel-BbyRNAEo.js} +27 -27
- package/dist/seo-panel-DRjSxmk5.cjs +2 -0
- package/dist/shared-json-ld-BbNLdzCO.cjs +1 -0
- package/dist/{shared-json-ld-uka9TOgA.js → shared-json-ld-EPbpTI9V.js} +88 -88
- package/dist/{slug-input-Cyd6NR6J.cjs → slug-input-CIzxXknM.cjs} +1 -1
- package/dist/{slug-input-DHLmUNrH.js → slug-input-DSbJecNr.js} +8 -8
- package/dist/supabase-actions.cjs +1 -1
- package/dist/supabase-actions.d.ts +45 -0
- package/dist/supabase-actions.js +380 -275
- package/dist/{take-over-request-Ca0X-qyf.js → take-over-request-BOGDk0H4.js} +13 -13
- package/dist/take-over-request-BXntCMdj.cjs +1 -0
- package/dist/{translation-warning-modal-pSZVKcNW.cjs → translation-warning-modal-DhJaOyLo.cjs} +1 -1
- package/dist/{translation-warning-modal-DrpFeI83.js → translation-warning-modal-reVr0L9e.js} +9 -9
- package/dist/types.cjs +1 -0
- package/dist/types.d.ts +756 -0
- package/dist/types.js +1 -0
- package/dist/{unmark-as-template-BMqgelv-.js → unmark-as-template-BM85Y7WK.js} +11 -11
- package/dist/{unmark-as-template-DF1Ms4VN.cjs → unmark-as-template-DOPyeU7R.cjs} +1 -1
- package/dist/unpublish-page-DHfds-1-.js +28 -0
- package/dist/{unpublish-page-Bsq2yEqQ.cjs → unpublish-page-Dz028Bzp.cjs} +1 -1
- package/dist/unpublished-partials-modal-BO5ZZdTw.js +52 -0
- package/dist/unpublished-partials-modal-CMqQa9-m.cjs +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +6 -6
- package/dist/utils.js +2 -2
- package/dist/web-blocks.cjs +1 -1
- package/dist/web-blocks.js +360 -351
- package/dist/{web-preview-kres0aG7.cjs → web-preview-5MzixBt5.cjs} +1 -1
- package/dist/{web-preview-D6h1L2nV.js → web-preview-BNjG8s8A.js} +2 -2
- package/package.json +34 -35
- package/dist/actions-registery-JdxhXhT6.cjs +0 -418
- package/dist/add-new-page-DJLJFLAd.js +0 -31
- package/dist/ai-panel-default-lang-BZl0tPYo.js +0 -341
- package/dist/ai-panel-default-lang-D2zhXvKP.cjs +0 -3
- package/dist/ai-panel-other-lang-Bfjk2CYZ.js +0 -162
- package/dist/ai-panel-other-lang-Y4bEKHoG.cjs +0 -1
- package/dist/apply-binding-BvWfJCSZ.js +0 -841
- package/dist/apply-binding-IsUf6UWJ.cjs +0 -1
- package/dist/code-editor-Bb7JumZy.js +0 -51
- package/dist/code-editor-DQB8lAOk.cjs +0 -1
- package/dist/core-Dr7QYemB.js +0 -56
- package/dist/core-Y0lXLwkq.cjs +0 -1
- package/dist/delete-design-token-BG8yHcS5.cjs +0 -1
- package/dist/delete-design-token-COvR4G1S.js +0 -40
- package/dist/delete-page-CNucxe4P.js +0 -71
- package/dist/delete-page-DAvEjHwF.cjs +0 -1
- package/dist/digital-asset-manager-CB5MRBcW.cjs +0 -1
- package/dist/fonts/GeistMonoVF.woff +0 -0
- package/dist/fonts/GeistVF.woff +0 -0
- package/dist/fonts-B-Xt29pe.cjs +0 -1
- package/dist/fonts-DRly3Wzd.js +0 -78
- package/dist/image-compression-DZ9WMmyn.cjs +0 -1
- package/dist/index-B-rSiAp_.cjs +0 -1
- package/dist/index-C0-pgg_p.cjs +0 -5
- package/dist/index-C99FhuF1.cjs +0 -160
- package/dist/index-Dno42B0a.js +0 -4734
- package/dist/index-Dxfyt4d4.js +0 -39
- package/dist/lang-panel-fDCYm5Jm.cjs +0 -1
- package/dist/manage-design-tokens-BsSZE9Vs.js +0 -241
- package/dist/manage-design-tokens-BvH5KTJX.cjs +0 -1
- package/dist/page-creator-g8GqgcKH.cjs +0 -1
- package/dist/page-locked-dialog-Co5b9XIZ.cjs +0 -1
- package/dist/page-manager-new-5rFP5DyQ.js +0 -395
- package/dist/page-manager-new-BOkJImo2.cjs +0 -1
- package/dist/page-revisions-content-ag-MHBGr.cjs +0 -1
- package/dist/plugin-BGlQf0iy.cjs +0 -22
- package/dist/plugin-C-ht41UZ.js +0 -245
- package/dist/publish-pages-content-BiX-GMLw.cjs +0 -1
- package/dist/register-chai-top-bar-BqwKw4uy.cjs +0 -1
- package/dist/save-to-lib-ffjCZYJ5.cjs +0 -1
- package/dist/seo-panel-FjS1UF_y.cjs +0 -2
- package/dist/shared-json-ld-yJkXjENy.cjs +0 -1
- package/dist/take-over-request-CmpJVe9T.cjs +0 -1
- package/dist/theme-panel-footer-BUXIu252.js +0 -26
- package/dist/theme-panel-footer-CKO9YYwZ.cjs +0 -1
- package/dist/unpublish-page-BJ0Bsvt2.js +0 -28
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
<section chai-name="Startup Metrics Bento" class="relative bg-card px-6 py-20 lg:py-28">
|
|
2
|
+
<div
|
|
3
|
+
class="absolute inset-0 -z-10 bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(var(--primary-foreground),0.04)_0%,transparent_100%)]"></div>
|
|
4
|
+
|
|
5
|
+
<div class="mx-auto max-w-7xl">
|
|
6
|
+
<div chai-name="Section Header" class="mb-14 max-w-xl">
|
|
7
|
+
<span
|
|
8
|
+
class="mb-3 inline-flex items-center gap-2 rounded-full border border-border bg-background px-3 py-1 text-xs font-semibold text-muted-foreground">
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="12"
|
|
12
|
+
height="12"
|
|
13
|
+
viewBox="0 0 24 24"
|
|
14
|
+
fill="none"
|
|
15
|
+
stroke="currentColor"
|
|
16
|
+
stroke-width="2"
|
|
17
|
+
stroke-linecap="round"
|
|
18
|
+
stroke-linejoin="round"
|
|
19
|
+
class="text-primary">
|
|
20
|
+
<path d="M3 3v16a2 2 0 0 0 2 2h16" />
|
|
21
|
+
<path d="m19 9-5 5-4-4-3 3" />
|
|
22
|
+
</svg>
|
|
23
|
+
By the Numbers
|
|
24
|
+
</span>
|
|
25
|
+
<h2 class="mb-4 text-3xl font-extrabold leading-tight tracking-tight text-foreground sm:text-4xl lg:text-5xl">
|
|
26
|
+
Results that <span class="text-primary">speak volumes.</span>
|
|
27
|
+
</h2>
|
|
28
|
+
<p class="text-base text-muted-foreground">
|
|
29
|
+
We don't just build products — we build growth engines. Here's the proof.
|
|
30
|
+
</p>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div chai-name="Bento Grid" class="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4 lg:grid-rows-2">
|
|
34
|
+
<div class="group rounded-md border border-border bg-background p-8 transition-all hover:shadow-lg">
|
|
35
|
+
<div class="mb-6 text-5xl font-black tracking-tight text-foreground">$4.2M</div>
|
|
36
|
+
<div class="text-sm font-medium text-muted-foreground">Annual recurring revenue</div>
|
|
37
|
+
<div class="mt-4 flex items-center gap-1 text-xs font-semibold text-primary">
|
|
38
|
+
<svg
|
|
39
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
40
|
+
width="12"
|
|
41
|
+
height="12"
|
|
42
|
+
viewBox="0 0 24 24"
|
|
43
|
+
fill="none"
|
|
44
|
+
stroke="currentColor"
|
|
45
|
+
stroke-width="2.5"
|
|
46
|
+
stroke-linecap="round"
|
|
47
|
+
stroke-linejoin="round">
|
|
48
|
+
<path d="m18 15-6-6-6 6" />
|
|
49
|
+
</svg>
|
|
50
|
+
+127% YoY
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<div
|
|
55
|
+
class="group overflow-hidden rounded-md border border-border bg-background transition-all hover:shadow-lg lg:col-span-2 lg:row-span-2">
|
|
56
|
+
<div class="p-8">
|
|
57
|
+
<div class="mb-2 flex items-center gap-2">
|
|
58
|
+
<div class="h-2 w-2 animate-pulse rounded-full bg-primary"></div>
|
|
59
|
+
<span class="font-mono text-xs font-bold uppercase tracking-widest text-primary">Live Dashboard</span>
|
|
60
|
+
</div>
|
|
61
|
+
<h3 class="mb-1 text-lg font-bold text-foreground">Growth Overview</h3>
|
|
62
|
+
<p class="text-sm text-muted-foreground">Real-time metrics from the last 12 months.</p>
|
|
63
|
+
</div>
|
|
64
|
+
<img
|
|
65
|
+
src="https://picsum.photos/seed/growth-dashboard/700/400"
|
|
66
|
+
alt="Growth dashboard showing revenue charts, user acquisition, and retention metrics"
|
|
67
|
+
class="w-full border-t border-border object-cover"
|
|
68
|
+
width="700"
|
|
69
|
+
height="400" />
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<div
|
|
73
|
+
class="group rounded-md border border-border bg-primary p-8 text-primary-foreground transition-all hover:shadow-lg">
|
|
74
|
+
<div class="mb-6 text-5xl font-black tracking-tight">98.7%</div>
|
|
75
|
+
<div class="text-sm font-medium text-primary-foreground/70">Customer satisfaction score</div>
|
|
76
|
+
<div class="mt-4 flex gap-1">
|
|
77
|
+
<svg
|
|
78
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
79
|
+
width="14"
|
|
80
|
+
height="14"
|
|
81
|
+
viewBox="0 0 24 24"
|
|
82
|
+
fill="currentColor"
|
|
83
|
+
class="text-primary-foreground">
|
|
84
|
+
<polygon
|
|
85
|
+
points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
|
|
86
|
+
</svg>
|
|
87
|
+
<svg
|
|
88
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
89
|
+
width="14"
|
|
90
|
+
height="14"
|
|
91
|
+
viewBox="0 0 24 24"
|
|
92
|
+
fill="currentColor"
|
|
93
|
+
class="text-primary-foreground">
|
|
94
|
+
<polygon
|
|
95
|
+
points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
|
|
96
|
+
</svg>
|
|
97
|
+
<svg
|
|
98
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
99
|
+
width="14"
|
|
100
|
+
height="14"
|
|
101
|
+
viewBox="0 0 24 24"
|
|
102
|
+
fill="currentColor"
|
|
103
|
+
class="text-primary-foreground">
|
|
104
|
+
<polygon
|
|
105
|
+
points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
|
|
106
|
+
</svg>
|
|
107
|
+
<svg
|
|
108
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
109
|
+
width="14"
|
|
110
|
+
height="14"
|
|
111
|
+
viewBox="0 0 24 24"
|
|
112
|
+
fill="currentColor"
|
|
113
|
+
class="text-primary-foreground">
|
|
114
|
+
<polygon
|
|
115
|
+
points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
|
|
116
|
+
</svg>
|
|
117
|
+
<svg
|
|
118
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
119
|
+
width="14"
|
|
120
|
+
height="14"
|
|
121
|
+
viewBox="0 0 24 24"
|
|
122
|
+
fill="currentColor"
|
|
123
|
+
class="text-primary-foreground/40">
|
|
124
|
+
<polygon
|
|
125
|
+
points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
|
|
126
|
+
</svg>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<div class="group rounded-md border border-border bg-background p-8 transition-all hover:shadow-lg">
|
|
131
|
+
<div class="mb-6 text-5xl font-black tracking-tight text-foreground">12K+</div>
|
|
132
|
+
<div class="text-sm font-medium text-muted-foreground">Active teams worldwide</div>
|
|
133
|
+
<div class="mt-4 flex -space-x-2">
|
|
134
|
+
<img
|
|
135
|
+
src="https://picsum.photos/seed/team-av1/32/32"
|
|
136
|
+
alt="Team member"
|
|
137
|
+
class="h-7 w-7 rounded-full border-2 border-background object-cover"
|
|
138
|
+
width="32"
|
|
139
|
+
height="32" />
|
|
140
|
+
<img
|
|
141
|
+
src="https://picsum.photos/seed/team-av2/32/32"
|
|
142
|
+
alt="Team member"
|
|
143
|
+
class="h-7 w-7 rounded-full border-2 border-background object-cover"
|
|
144
|
+
width="32"
|
|
145
|
+
height="32" />
|
|
146
|
+
<img
|
|
147
|
+
src="https://picsum.photos/seed/team-av3/32/32"
|
|
148
|
+
alt="Team member"
|
|
149
|
+
class="h-7 w-7 rounded-full border-2 border-background object-cover"
|
|
150
|
+
width="32"
|
|
151
|
+
height="32" />
|
|
152
|
+
<div
|
|
153
|
+
class="flex h-7 w-7 items-center justify-center rounded-full border-2 border-background bg-muted text-[9px] font-bold text-muted-foreground">
|
|
154
|
+
+
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<div
|
|
160
|
+
class="group rounded-md border border-border bg-foreground p-8 text-background transition-all hover:shadow-lg">
|
|
161
|
+
<div class="mb-6 text-5xl font-black tracking-tight">0.3s</div>
|
|
162
|
+
<div class="text-sm font-medium text-background/70">Average response time</div>
|
|
163
|
+
<div class="mt-4 h-1.5 w-full overflow-hidden rounded-full bg-background/20">
|
|
164
|
+
<div class="h-full w-[95%] rounded-full bg-background/60"></div>
|
|
165
|
+
</div>
|
|
166
|
+
<div class="mt-1 text-right text-[10px] text-background/50">99.99% uptime</div>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</section>
|
|
Binary file
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "library-blocks/hero/minimal-saas/minimal-saas",
|
|
4
|
+
"name": "Minimal SaaS Hero",
|
|
5
|
+
"description": "A clean and minimal hero section for SaaS products with a focus on simplicity and clarity.",
|
|
6
|
+
"group": "Hero",
|
|
7
|
+
"preview": "/library-blocks/hero/minimal-saas/minimal-saas.webp"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "library-blocks/hero/developer-focused/developer-focused",
|
|
11
|
+
"name": "Developer Focused Hero",
|
|
12
|
+
"description": "A hero section designed for developers with a focus on technical features and capabilities.",
|
|
13
|
+
"group": "Hero",
|
|
14
|
+
"preview": "/library-blocks/hero/developer-focused/developer-focused.webp"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "library-blocks/hero/creative-agency/creative-agency",
|
|
18
|
+
"name": "Creative Agency Hero",
|
|
19
|
+
"description": "An editorial-style asymmetric hero with overlapping imagery and bold typography for creative studios and agencies.",
|
|
20
|
+
"group": "Hero",
|
|
21
|
+
"preview": "/library-blocks/hero/creative-agency/creative-agency.webp"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "library-blocks/hero/startup-landing/startup-landing",
|
|
25
|
+
"name": "Startup Landing Hero",
|
|
26
|
+
"description": "A vibrant centered hero with product screenshot, announcement badge, and stats row for modern startups.",
|
|
27
|
+
"group": "Hero",
|
|
28
|
+
"preview": "/library-blocks/hero/startup-landing/startup-landing.webp"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "library-blocks/hero/portfolio-showcase/portfolio-showcase",
|
|
32
|
+
"name": "Portfolio Showcase Hero",
|
|
33
|
+
"description": "A refined split-layout hero with an image mosaic grid for portfolios and design showcases.",
|
|
34
|
+
"group": "Hero",
|
|
35
|
+
"preview": "/library-blocks/hero/portfolio-showcase/portfolio-showcase.webp"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "library-blocks/feature/agency-services/agency-services",
|
|
39
|
+
"name": "Agency Services",
|
|
40
|
+
"description": "Bento-style asymmetric grid showcasing agency services with brand strategy, web design, product design, growth marketing, and creative content.",
|
|
41
|
+
"group": "Feature",
|
|
42
|
+
"preview": "/library-blocks/feature/agency-services/agency-services.webp"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "library-blocks/feature/freelancer-toolkit/freelancer-toolkit",
|
|
46
|
+
"name": "Freelancer Toolkit",
|
|
47
|
+
"description": "Feature cards for freelancer tools including smart proposals, instant invoicing, time tracking, and client portal.",
|
|
48
|
+
"group": "Feature",
|
|
49
|
+
"preview": "/library-blocks/feature/freelancer-toolkit/freelancer-toolkit.webp"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "library-blocks/feature/design-studio/design-studio",
|
|
53
|
+
"name": "Design Studio",
|
|
54
|
+
"description": "Split layout with stacked feature cards on the left and a visual showcase grid on the right for design studios.",
|
|
55
|
+
"group": "Feature",
|
|
56
|
+
"preview": "/library-blocks/feature/design-studio/design-studio.webp"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "library-blocks/feature/marketing-agency/marketing-agency",
|
|
60
|
+
"name": "Marketing Agency",
|
|
61
|
+
"description": "Three-column numbered feature section for full-funnel marketing agencies with SEO, paid acquisition, and social community.",
|
|
62
|
+
"group": "Feature",
|
|
63
|
+
"preview": "/library-blocks/feature/marketing-agency/marketing-agency.webp"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "library-blocks/feature/consulting-firm/consulting-firm",
|
|
67
|
+
"name": "Consulting Firm",
|
|
68
|
+
"description": "Mixed grid layout for consulting firms featuring digital transformation, revenue strategy, organizational design, risk compliance, and innovation lab.",
|
|
69
|
+
"group": "Feature",
|
|
70
|
+
"preview": "/library-blocks/feature/consulting-firm/consulting-firm.webp"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "library-blocks/bento/saas-dashboard/saas-dashboard",
|
|
74
|
+
"name": "SaaS Dashboard",
|
|
75
|
+
"description": "Asymmetric bento grid with a wide analytics card, stat highlight, security badge, team collaboration image card, and integrations card for SaaS products.",
|
|
76
|
+
"group": "Bento",
|
|
77
|
+
"preview": "/library-blocks/bento/saas-dashboard/saas-dashboard.webp"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "library-blocks/bento/creative-portfolio/creative-portfolio",
|
|
81
|
+
"name": "Creative Portfolio",
|
|
82
|
+
"description": "Image-heavy mosaic bento with a large featured project, hover-reveal smaller projects, and a stats accent card for creative portfolios.",
|
|
83
|
+
"group": "Bento",
|
|
84
|
+
"preview": "/library-blocks/bento/creative-portfolio/creative-portfolio.webp"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "library-blocks/bento/product-features/product-features",
|
|
88
|
+
"name": "Product Features",
|
|
89
|
+
"description": "Symmetric 6-column bento grid with a tall center card featuring an image, icon-led feature cards, and an inverted accent card.",
|
|
90
|
+
"group": "Bento",
|
|
91
|
+
"preview": "/library-blocks/bento/product-features/product-features.webp"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "library-blocks/bento/startup-metrics/startup-metrics",
|
|
95
|
+
"name": "Startup Metrics",
|
|
96
|
+
"description": "Stats-focused bento grid with large numbers, a live dashboard image card, star ratings, avatar stacks, and progress bars for startups.",
|
|
97
|
+
"group": "Bento",
|
|
98
|
+
"preview": "/library-blocks/bento/startup-metrics/startup-metrics.webp"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "library-blocks/bento/agency-showcase/agency-showcase",
|
|
102
|
+
"name": "Agency Showcase",
|
|
103
|
+
"description": "Featured layout bento with a large case study hero image spanning 2 columns, award card, team model stats, and global reach accent card.",
|
|
104
|
+
"group": "Bento",
|
|
105
|
+
"preview": "/library-blocks/bento/agency-showcase/agency-showcase.webp"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "library-blocks/navbar/saas-startup/saas-startup",
|
|
109
|
+
"name": "SaaS Startup Navbar",
|
|
110
|
+
"description": "A clean sticky navbar with logo, centered navigation links, sign-in and CTA buttons, and a mobile hamburger menu for SaaS products and startups.",
|
|
111
|
+
"group": "Navbar",
|
|
112
|
+
"preview": "/library-blocks/navbar/saas-startup/saas-startup.webp"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": "library-blocks/navbar/creative-agency/creative-agency",
|
|
116
|
+
"name": "Creative Agency Navbar",
|
|
117
|
+
"description": "An editorial-style navbar with serif logo, uppercase mono navigation, availability indicator, and a bold dark CTA button for creative studios and agencies.",
|
|
118
|
+
"group": "Navbar",
|
|
119
|
+
"preview": "/library-blocks/navbar/creative-agency/creative-agency.webp"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "library-blocks/navbar/minimal-portfolio/minimal-portfolio",
|
|
123
|
+
"name": "Minimal Portfolio Navbar",
|
|
124
|
+
"description": "A lightweight minimal navbar with personal branding, sparse navigation, social icons, and a contact CTA for portfolios and freelancers.",
|
|
125
|
+
"group": "Navbar",
|
|
126
|
+
"preview": "/library-blocks/navbar/minimal-portfolio/minimal-portfolio.webp"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "library-blocks/footer/saas-startup/saas-startup",
|
|
130
|
+
"name": "SaaS Startup Footer",
|
|
131
|
+
"description": "A multi-column footer with brand section, newsletter signup, product/company/legal link columns, social icons, and a bottom copyright bar for SaaS products.",
|
|
132
|
+
"group": "Footer",
|
|
133
|
+
"preview": "/library-blocks/footer/saas-startup/saas-startup.webp"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "library-blocks/footer/creative-agency/creative-agency",
|
|
137
|
+
"name": "Creative Agency Footer",
|
|
138
|
+
"description": "A bold agency footer with a large CTA headline section, four-column layout with services, company links, contact details, availability indicator, and social links.",
|
|
139
|
+
"group": "Footer",
|
|
140
|
+
"preview": "/library-blocks/footer/creative-agency/creative-agency.webp"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"id": "library-blocks/footer/minimal-portfolio/minimal-portfolio",
|
|
144
|
+
"name": "Minimal Portfolio Footer",
|
|
145
|
+
"description": "A centered minimal footer with personal branding, contact and resume CTAs, navigation links, social icons, and copyright for portfolios and freelancers.",
|
|
146
|
+
"group": "Footer",
|
|
147
|
+
"preview": "/library-blocks/footer/minimal-portfolio/minimal-portfolio.webp"
|
|
148
|
+
}
|
|
149
|
+
]
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
<section chai-name="Agency Services Feature" class="relative overflow-hidden bg-background px-6 py-20 lg:py-28">
|
|
2
|
+
<div class="mx-auto max-w-7xl">
|
|
3
|
+
<div chai-name="Section Header" class="mb-16 flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between">
|
|
4
|
+
<div>
|
|
5
|
+
<div class="mb-3 flex items-center gap-2">
|
|
6
|
+
<div class="h-1 w-8 rounded-full bg-primary"></div>
|
|
7
|
+
<span class="font-mono text-xs font-bold uppercase tracking-[0.2em] text-primary">What We Do</span>
|
|
8
|
+
</div>
|
|
9
|
+
<h2 class="max-w-lg font-serif text-3xl font-light leading-tight text-foreground sm:text-4xl lg:text-5xl">
|
|
10
|
+
Services built for
|
|
11
|
+
<em class="not-italic text-primary">ambitious</em> brands.
|
|
12
|
+
</h2>
|
|
13
|
+
</div>
|
|
14
|
+
<p class="max-w-sm text-sm leading-relaxed text-muted-foreground lg:text-right">
|
|
15
|
+
From concept to launch, we deliver end-to-end creative solutions that drive measurable business growth.
|
|
16
|
+
</p>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<div chai-name="Bento Grid" class="grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 lg:grid-rows-2">
|
|
20
|
+
<div
|
|
21
|
+
class="group relative overflow-hidden rounded-md border border-border bg-card p-8 transition-all hover:border-primary/30 hover:shadow-lg lg:row-span-2">
|
|
22
|
+
<div class="mb-8 flex h-14 w-14 items-center justify-center rounded-md bg-primary/10">
|
|
23
|
+
<svg
|
|
24
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
25
|
+
width="28"
|
|
26
|
+
height="28"
|
|
27
|
+
viewBox="0 0 24 24"
|
|
28
|
+
fill="none"
|
|
29
|
+
stroke="currentColor"
|
|
30
|
+
stroke-width="1.5"
|
|
31
|
+
stroke-linecap="round"
|
|
32
|
+
stroke-linejoin="round"
|
|
33
|
+
class="text-primary">
|
|
34
|
+
<path d="M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" />
|
|
35
|
+
<path
|
|
36
|
+
d="M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z" />
|
|
37
|
+
</svg>
|
|
38
|
+
</div>
|
|
39
|
+
<h3 class="mb-3 text-xl font-bold text-foreground">Brand Strategy & Identity</h3>
|
|
40
|
+
<p class="mb-6 text-sm leading-relaxed text-muted-foreground">
|
|
41
|
+
We craft brand narratives that resonate. From naming and positioning to complete visual identity systems —
|
|
42
|
+
every touchpoint tells your story.
|
|
43
|
+
</p>
|
|
44
|
+
<ul class="space-y-2 text-sm text-muted-foreground">
|
|
45
|
+
<li class="flex items-center gap-2">
|
|
46
|
+
<div class="h-1 w-1 rounded-full bg-primary"></div>
|
|
47
|
+
Brand Audit & Research
|
|
48
|
+
</li>
|
|
49
|
+
<li class="flex items-center gap-2">
|
|
50
|
+
<div class="h-1 w-1 rounded-full bg-primary"></div>
|
|
51
|
+
Visual Identity Design
|
|
52
|
+
</li>
|
|
53
|
+
<li class="flex items-center gap-2">
|
|
54
|
+
<div class="h-1 w-1 rounded-full bg-primary"></div>
|
|
55
|
+
Brand Guidelines
|
|
56
|
+
</li>
|
|
57
|
+
<li class="flex items-center gap-2">
|
|
58
|
+
<div class="h-1 w-1 rounded-full bg-primary"></div>
|
|
59
|
+
Tone & Voice Strategy
|
|
60
|
+
</li>
|
|
61
|
+
</ul>
|
|
62
|
+
<div class="mt-8 overflow-hidden rounded-md border border-border">
|
|
63
|
+
<img
|
|
64
|
+
src="https://picsum.photos/seed/brand-identity/400/250"
|
|
65
|
+
alt="Brand identity design process with mood boards and color palettes"
|
|
66
|
+
class="w-full object-cover transition-transform duration-500 group-hover:scale-105"
|
|
67
|
+
width="400"
|
|
68
|
+
height="250" />
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<div
|
|
73
|
+
class="group relative overflow-hidden rounded-md border border-border bg-card p-8 transition-all hover:border-primary/30 hover:shadow-lg">
|
|
74
|
+
<div class="mb-6 flex h-14 w-14 items-center justify-center rounded-md bg-accent">
|
|
75
|
+
<svg
|
|
76
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
77
|
+
width="28"
|
|
78
|
+
height="28"
|
|
79
|
+
viewBox="0 0 24 24"
|
|
80
|
+
fill="none"
|
|
81
|
+
stroke="currentColor"
|
|
82
|
+
stroke-width="1.5"
|
|
83
|
+
stroke-linecap="round"
|
|
84
|
+
stroke-linejoin="round"
|
|
85
|
+
class="text-accent-foreground">
|
|
86
|
+
<rect width="18" height="18" x="3" y="3" rx="2" />
|
|
87
|
+
<path d="M3 9h18" />
|
|
88
|
+
<path d="M9 21V9" />
|
|
89
|
+
</svg>
|
|
90
|
+
</div>
|
|
91
|
+
<h3 class="mb-2 text-lg font-bold text-foreground">Web Design & Development</h3>
|
|
92
|
+
<p class="text-sm leading-relaxed text-muted-foreground">
|
|
93
|
+
Pixel-perfect responsive websites built with modern frameworks. Performance-first, conversion-optimized.
|
|
94
|
+
</p>
|
|
95
|
+
<div class="mt-4 flex flex-wrap gap-2">
|
|
96
|
+
<span class="rounded-full bg-muted px-3 py-1 text-xs font-medium text-muted-foreground">React</span>
|
|
97
|
+
<span class="rounded-full bg-muted px-3 py-1 text-xs font-medium text-muted-foreground">Next.js</span>
|
|
98
|
+
<span class="rounded-full bg-muted px-3 py-1 text-xs font-medium text-muted-foreground">Tailwind</span>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<div
|
|
103
|
+
class="group relative overflow-hidden rounded-md border border-border bg-card p-8 transition-all hover:border-primary/30 hover:shadow-lg">
|
|
104
|
+
<div class="mb-6 flex h-14 w-14 items-center justify-center rounded-md bg-secondary">
|
|
105
|
+
<svg
|
|
106
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
107
|
+
width="28"
|
|
108
|
+
height="28"
|
|
109
|
+
viewBox="0 0 24 24"
|
|
110
|
+
fill="none"
|
|
111
|
+
stroke="currentColor"
|
|
112
|
+
stroke-width="1.5"
|
|
113
|
+
stroke-linecap="round"
|
|
114
|
+
stroke-linejoin="round"
|
|
115
|
+
class="text-secondary-foreground">
|
|
116
|
+
<path
|
|
117
|
+
d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
|
|
118
|
+
<circle cx="12" cy="12" r="4" />
|
|
119
|
+
</svg>
|
|
120
|
+
</div>
|
|
121
|
+
<h3 class="mb-2 text-lg font-bold text-foreground">Product Design & UX</h3>
|
|
122
|
+
<p class="text-sm leading-relaxed text-muted-foreground">
|
|
123
|
+
User-centered design for SaaS, mobile apps, and digital platforms. Research-driven, beautifully executed.
|
|
124
|
+
</p>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<div
|
|
128
|
+
class="group relative overflow-hidden rounded-md border border-border bg-card p-8 transition-all hover:border-primary/30 hover:shadow-lg">
|
|
129
|
+
<div class="mb-6 flex h-14 w-14 items-center justify-center rounded-md bg-primary/10">
|
|
130
|
+
<svg
|
|
131
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
132
|
+
width="28"
|
|
133
|
+
height="28"
|
|
134
|
+
viewBox="0 0 24 24"
|
|
135
|
+
fill="none"
|
|
136
|
+
stroke="currentColor"
|
|
137
|
+
stroke-width="1.5"
|
|
138
|
+
stroke-linecap="round"
|
|
139
|
+
stroke-linejoin="round"
|
|
140
|
+
class="text-primary">
|
|
141
|
+
<path d="M3 3v16a2 2 0 0 0 2 2h16" />
|
|
142
|
+
<path d="m19 9-5 5-4-4-3 3" />
|
|
143
|
+
</svg>
|
|
144
|
+
</div>
|
|
145
|
+
<h3 class="mb-2 text-lg font-bold text-foreground">Growth Marketing</h3>
|
|
146
|
+
<p class="text-sm leading-relaxed text-muted-foreground">
|
|
147
|
+
Data-driven campaigns across paid, organic, and social channels. We optimize every dollar for maximum ROI.
|
|
148
|
+
</p>
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
<div
|
|
152
|
+
class="group relative overflow-hidden rounded-md border border-border bg-primary p-8 text-primary-foreground transition-all hover:shadow-lg">
|
|
153
|
+
<div class="mb-6 flex h-14 w-14 items-center justify-center rounded-md bg-primary-foreground/10">
|
|
154
|
+
<svg
|
|
155
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
156
|
+
width="28"
|
|
157
|
+
height="28"
|
|
158
|
+
viewBox="0 0 24 24"
|
|
159
|
+
fill="none"
|
|
160
|
+
stroke="currentColor"
|
|
161
|
+
stroke-width="1.5"
|
|
162
|
+
stroke-linecap="round"
|
|
163
|
+
stroke-linejoin="round"
|
|
164
|
+
class="text-primary-foreground">
|
|
165
|
+
<path
|
|
166
|
+
d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z" />
|
|
167
|
+
</svg>
|
|
168
|
+
</div>
|
|
169
|
+
<h3 class="mb-2 text-lg font-bold">Creative Content</h3>
|
|
170
|
+
<p class="text-sm leading-relaxed text-primary-foreground/80">
|
|
171
|
+
Photography, video production, motion graphics, and copywriting that captures attention and drives engagement.
|
|
172
|
+
</p>
|
|
173
|
+
<a
|
|
174
|
+
href="#"
|
|
175
|
+
class="mt-4 inline-flex items-center gap-1 text-sm font-semibold text-primary-foreground underline underline-offset-4">
|
|
176
|
+
See our reel
|
|
177
|
+
<svg
|
|
178
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
179
|
+
width="14"
|
|
180
|
+
height="14"
|
|
181
|
+
viewBox="0 0 24 24"
|
|
182
|
+
fill="none"
|
|
183
|
+
stroke="currentColor"
|
|
184
|
+
stroke-width="2"
|
|
185
|
+
stroke-linecap="round"
|
|
186
|
+
stroke-linejoin="round">
|
|
187
|
+
<path d="m7 7 10 10" />
|
|
188
|
+
<path d="M17 7v10H7" />
|
|
189
|
+
</svg>
|
|
190
|
+
</a>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
</section>
|
|
Binary file
|