{"id":23,"date":"2025-07-02T20:27:00","date_gmt":"2025-07-02T20:27:00","guid":{"rendered":"https:\/\/haipestudio.com\/?page_id=23"},"modified":"2025-10-06T10:53:48","modified_gmt":"2025-10-06T10:53:48","slug":"ai-customer-agents","status":"publish","type":"page","link":"https:\/\/haipestudio.com\/en\/services\/ai-customer-agents\/","title":{"rendered":"AI Customer Agents"},"content":{"rendered":"\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n  <section class=\"main-cta main-cta--h1 \" aria-labelledby=\"main-cta-heading\" >\n          <header class=\"main-cta__header\">\n                          <h1            id=\"main-cta-heading\"\n            class=\"main-cta__title main-cta__title--h1\"\n            >\n            AI Customer Agents          <\/h1>\n              <\/header>\n    \n    <div class=\"main-cta__content\">\n              <div class=\"main-cta__description \"><p>Advanced AI agents that handle customer service, sales conversations, and complex decision-making processes without human intervention.<\/p>\n<\/div>\n      \n          <\/div>\n  <\/section>\n  <script>\n    document.addEventListener('DOMContentLoaded', function() {\n      document.querySelectorAll('a[data-ph-event]').forEach(function(el) {\n        el.addEventListener('click', function() {\n          if (typeof posthog !== 'undefined') {\n            posthog.capture(el.dataset.phEvent, {\n              title: el.dataset.phTitle,\n              url: el.href,\n              section: 'main-cta'\n            });\n            console.log('PostHog event captured:', el.dataset.phEvent, el.dataset.phTitle);\n          }\n        });\n      });\n    });\n  <\/script>\n\n\n\n\n<section id=\"\" class=\"service-packages\">\n  <div class=\"service-packages__container\">\n    \n          <div class=\"service-packages__grid\">\n                  \n                      <div class=\"service-packages__card\">\n              <!-- Card Header -->\n              <div class=\"service-packages__card-header\">\n                <!-- Icon -->\n                <div class=\"service-packages__icon\">\n                                      <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M29.997 29.6922L27.7918 25.8727C27.8343 25.8366 27.8761 25.7991 27.9163 25.759C28.349 25.3286 28.5488 24.7563 28.4789 24.148L28.4347 23.7603C28.3903 23.374 28.5333 23.0285 28.8389 22.7866L29.144 22.5433C29.6211 22.1646 29.8839 21.6199 29.8839 21.0094C29.8839 20.3976 29.6211 19.8523 29.1436 19.4735L28.8376 19.2312C28.5333 18.9902 28.3902 18.6441 28.4347 18.2563L28.4789 17.8694C28.5486 17.2618 28.3488 16.6901 27.9171 16.2606C27.4853 15.8289 26.9141 15.6292 26.3086 15.6988L25.921 15.7431C25.5349 15.788 25.1885 15.6441 24.9457 15.339L24.704 15.0355C24.3245 14.5572 23.7797 14.2938 23.1701 14.2938C22.5593 14.2938 22.014 14.5572 21.6349 15.035L21.3926 15.3391C21.15 15.6441 20.8036 15.7875 20.4171 15.7431L20.0301 15.6988C19.4247 15.6293 18.8532 15.8289 18.4213 16.2606C18.35 16.332 18.2856 16.4075 18.2271 16.486C18.0125 16.4587 17.7978 16.4439 17.5861 16.4439H17.0989L16.6842 16.1081C17.7904 15.743 18.7197 14.6623 19.3421 13.0048C20.1797 12.7 20.7795 11.8964 20.7795 10.9555V10.8688C20.7795 9.9899 20.2365 9.20383 19.454 8.86515C19.5829 8.50871 19.6983 8.11783 19.8003 7.69015C19.8025 7.68108 19.8043 7.67196 19.806 7.66277C20.1345 5.75065 19.746 4.0389 18.6824 2.71252C17.4216 1.14008 15.2401 0.16696 12.6973 0.042522C10.9133 -0.045353 9.22477 0.381897 7.8144 1.27765C6.51202 2.10477 5.51527 3.30033 5.0079 4.64408C4.44108 6.1454 4.51733 7.65727 5.1764 8.98071C4.51427 9.36433 4.08402 10.0809 4.08402 10.8687V10.9553C4.08402 12.1575 5.06208 13.1356 6.26421 13.1356H7.35915C7.73696 13.9764 8.25027 14.7138 8.86321 15.3031L7.45352 16.4438H6.96796C4.19802 16.4438 1.94446 18.6974 1.94446 21.4674V26.0523C1.94446 26.2936 2.14002 26.4891 2.38121 26.4891H11.3472C11.3475 26.4891 11.3478 26.4891 11.3481 26.4891C11.3485 26.4891 11.3488 26.4891 11.3492 26.4891H13.2048C13.2052 26.4891 13.2055 26.4891 13.2059 26.4891C13.2062 26.4891 13.2065 26.4891 13.2068 26.4891H18.1908L16.3415 29.6922C16.2531 29.8452 16.2657 30.0364 16.3732 30.1765C16.4808 30.3166 16.6625 30.3782 16.8328 30.3325L18.6265 29.8515L19.1075 31.6451C19.1533 31.8158 19.2973 31.942 19.4724 31.965C19.4915 31.9676 19.5105 31.9688 19.5295 31.9688C19.684 31.9688 19.8289 31.8866 19.9076 31.7503L22.3363 27.5429C22.5911 27.6622 22.8727 27.7251 23.1701 27.7251C23.4668 27.7251 23.7479 27.6622 24.0023 27.543L26.4327 31.7505C26.5114 31.8867 26.6563 31.9688 26.8108 31.9688C26.8298 31.9688 26.8489 31.9675 26.8681 31.965C27.0432 31.9419 27.1871 31.8155 27.2328 31.6448L27.7122 29.8515L29.5056 30.3325C29.676 30.3782 29.8576 30.3166 29.9653 30.1765C30.0728 30.0363 30.0853 29.8452 29.997 29.6922ZM17.8701 17.3284C17.8425 17.5035 17.8383 17.6846 17.8595 17.869L17.9036 18.2566C17.9481 18.6441 17.805 18.9903 17.5006 19.2313L17.1936 19.4744C16.717 19.8543 16.4544 20.3995 16.4544 21.0095C16.4544 21.6182 16.717 22.1627 17.1936 22.5426L17.5006 22.7876C17.805 23.0286 17.9481 23.374 17.9036 23.7608L17.8595 24.1476C17.7972 24.6898 17.9505 25.204 18.292 25.6155H13.929L14.3461 24.8213C14.3875 24.7425 14.4038 24.6528 14.3929 24.5643L14.0711 21.9761L13.7602 19.4595L13.824 19.1665L13.8993 19.2466C13.9847 19.3376 14.1008 19.3845 14.2178 19.3845C14.3101 19.3845 14.403 19.3553 14.4815 19.2957L17.091 17.3174H17.5861C17.68 17.3174 17.775 17.3218 17.8701 17.3284ZM11.6117 25.6156L11.0448 24.5363L11.6225 19.876H12.9315L13.2043 22.0836L13.5092 24.5364L12.9424 25.6156H11.6117ZM15.417 16.2059L16.2363 16.8693L14.267 18.3623L13.8995 17.971C13.8938 17.9647 13.8881 17.9585 13.8821 17.9525L12.7985 16.7989C13.5744 16.7392 14.3091 16.4916 14.9728 16.0928C15.1192 16.1436 15.2676 16.1805 15.417 16.2059ZM12.2761 17.5185L13.0983 18.3938L12.9658 19.0025H11.5885L11.4556 18.3923L12.2761 17.5185ZM16.1158 15.3505C16.0539 15.3602 15.9919 15.3653 15.9299 15.3682C16.5732 14.7684 17.1111 14.0078 17.5028 13.1356H18.3447C17.7723 14.4198 16.9791 15.216 16.1158 15.3505ZM19.906 10.8687V10.9553C19.906 11.6758 19.319 12.262 18.5975 12.262H17.8338C17.9619 11.8526 18.0601 11.4251 18.1244 10.9835C18.5037 10.6568 18.8307 10.2196 19.11 9.66771C19.5796 9.87065 19.906 10.3415 19.906 10.8687ZM5.82508 4.95265C6.59977 2.9009 8.86508 0.90446 12.2283 0.90446C12.3684 0.90446 12.5106 0.90796 12.6545 0.915022C14.9478 1.02721 16.8966 1.88152 18.001 3.2589C18.914 4.39752 19.2324 5.82483 18.9474 7.50115C18.7446 8.34727 18.4855 9.0344 18.1733 9.55783C18.1588 9.5264 18.1408 9.49702 18.1195 9.47015C17.9876 7.36952 17.4553 5.78302 16.529 4.74633C16.4461 4.65358 16.3277 4.60058 16.2033 4.60058C16.2026 4.60058 16.202 4.60058 16.2012 4.60058C16.0761 4.60121 15.9572 4.65546 15.8748 4.74952C14.9495 5.80583 13.8035 6.40983 12.3728 6.59483C10.0591 6.27883 8.48121 6.57133 7.54952 7.48833C7.0184 8.01102 6.72283 8.72515 6.66546 9.61921C6.66433 9.62308 6.66346 9.62702 6.66246 9.6309C5.51246 8.30946 5.19527 6.62083 5.82508 4.95265ZM6.26427 12.2621C5.54377 12.2621 4.95758 11.6759 4.95758 10.9554V10.8688C4.95758 10.3913 5.22177 9.95783 5.62665 9.72977C5.92802 10.1533 6.29577 10.5503 6.7279 10.9131C6.79183 11.3797 6.89321 11.831 7.02821 12.2621H6.26427V12.2621ZM8.05608 12.5518C8.0524 12.5415 8.04852 12.5314 8.04408 12.5215C7.81208 11.9402 7.6504 11.307 7.57327 10.6395C7.57302 10.6373 7.57327 10.6351 7.57296 10.6329C7.56646 10.5806 7.56146 10.5295 7.5564 10.4785C7.54765 10.386 7.5404 10.293 7.5349 10.1994C7.48821 9.26884 7.69827 8.56727 8.16215 8.11077C8.88471 7.39965 10.2798 7.18333 12.3092 7.46771C12.3466 7.47296 12.3847 7.4734 12.4224 7.46877C13.8987 7.28983 15.1574 6.69752 16.1715 5.70583C16.7441 6.54696 17.3041 8.0539 17.2786 10.7218C17.0421 12.5919 16.1411 14.1855 14.892 15.1032C14.5743 14.9231 14.2693 14.6538 13.9881 14.301C14.0318 14.1761 14.0568 14.0425 14.0568 13.9028C14.0568 13.235 13.5134 12.6916 12.8455 12.6916C12.1776 12.6916 11.6343 13.2349 11.6343 13.9028C11.6343 14.5708 12.1776 15.1141 12.8455 15.1141C13.0497 15.1141 13.242 15.0628 13.411 14.9732C13.6142 15.2108 13.8306 15.4169 14.057 15.5901C13.5481 15.8163 13.0011 15.9398 12.4318 15.9398C10.5253 15.94 8.86921 14.5611 8.05608 12.5518ZM12.8455 14.2407C12.6593 14.2407 12.5078 14.0892 12.5078 13.903C12.5078 13.7167 12.6593 13.5652 12.8455 13.5652C13.0318 13.5652 13.1833 13.7167 13.1833 13.903C13.1833 14.0892 13.0318 14.2407 12.8455 14.2407ZM9.5499 15.8713C10.221 16.3449 10.9769 16.6581 11.7822 16.7686L10.2855 18.3623L8.31627 16.8694L9.5499 15.8713ZM2.81808 21.4674C2.81808 19.1791 4.67977 17.3174 6.96802 17.3174H7.4614L10.0709 19.2957C10.1494 19.3553 10.2423 19.3845 10.3345 19.3845C10.4514 19.3845 10.5676 19.3376 10.6531 19.2466L10.7298 19.165L10.7939 19.4594L10.4813 21.976L10.1612 24.5646C10.1503 24.653 10.1666 24.7425 10.208 24.8213L10.6251 25.6155H6.25371V22.2595C6.25371 22.0183 6.05815 21.8228 5.81696 21.8228C5.57577 21.8228 5.38021 22.0183 5.38021 22.2595V25.6155H2.81808V21.4674ZM19.6781 30.4006L19.3571 29.2033C19.2946 28.9704 19.0555 28.8319 18.8221 28.8946L17.6253 29.2155L19.3235 26.274C19.5488 26.3303 19.7863 26.3463 20.0298 26.3182L20.4175 26.274C20.8028 26.2293 21.1493 26.3733 21.392 26.6769L21.6345 26.9832C21.6376 26.9872 21.641 26.9908 21.6441 26.9948L19.6781 30.4006ZM22.319 26.4408L22.0755 26.1333C21.6933 25.6551 21.1483 25.3926 20.554 25.3926C20.4761 25.3926 20.3973 25.3971 20.3179 25.4062L19.9305 25.4505C19.715 25.475 19.5175 25.4438 19.3398 25.3577C19.3377 25.3566 19.3356 25.3556 19.3335 25.3545C19.2281 25.3025 19.1298 25.2313 19.039 25.1405C18.7925 24.894 18.6876 24.5935 18.7274 24.247L18.7716 23.8602C18.8507 23.1726 18.5852 22.5321 18.0442 22.1038L17.7382 21.8598C17.466 21.6428 17.3281 21.3567 17.3281 21.0095C17.3281 20.6611 17.4661 20.3745 17.7371 20.1584L18.043 19.9161C18.5851 19.487 18.8506 18.8458 18.7716 18.1575L18.7275 17.7698C18.6878 17.4248 18.7926 17.1248 19.0391 16.8784C19.2855 16.632 19.5853 16.5273 19.9308 16.5668L20.3176 16.611C21.0038 16.6895 21.6451 16.4248 22.0761 15.8833L22.3188 15.5786C22.5353 15.3058 22.8218 15.1675 23.1702 15.1675C23.5176 15.1675 23.8034 15.3058 24.0199 15.5786C24.02 15.5788 24.0202 15.579 24.0204 15.5793L24.2625 15.8833C24.6936 16.4249 25.3347 16.6904 26.0207 16.6111L26.4082 16.5668C26.7534 16.5268 27.0533 16.6321 27.3005 16.8793C27.5465 17.1241 27.6511 17.4237 27.6113 17.7703L27.5671 18.1572C27.4881 18.846 27.7536 19.4871 28.2957 19.9162L28.6013 20.1581C28.873 20.3736 29.0106 20.6601 29.0106 21.0096C29.0106 21.3578 28.8729 21.6436 28.6005 21.8599L28.2958 22.1029C27.7536 22.5322 27.4881 23.1728 27.5672 23.8598L27.6114 24.2475C27.6513 24.5948 27.5467 24.895 27.2998 25.1407C27.209 25.2316 27.1105 25.3028 27.005 25.3548C27.003 25.3559 27.001 25.3568 26.9991 25.3578C26.8213 25.444 26.6236 25.4752 26.4081 25.4506L26.0212 25.4063C25.3362 25.3278 24.6955 25.5925 24.262 26.1349L24.02 26.4405C23.8036 26.7134 23.5178 26.8516 23.1704 26.8516C22.8216 26.8515 22.5351 26.7132 22.319 26.4408ZM27.5163 28.8946C27.4043 28.8646 27.2851 28.8803 27.1847 28.9383C27.0844 28.9963 27.0111 29.0917 26.9813 29.2037L26.6614 30.4001L24.6944 26.9948C24.6976 26.9908 24.7011 26.9871 24.7043 26.983L24.9453 26.6786C25.1893 26.3734 25.5357 26.2301 25.9214 26.2741L26.3085 26.3183C26.5519 26.3461 26.7895 26.3301 27.0148 26.2739L28.7132 29.2156L27.5163 28.8946ZM27.1503 21.0094C27.1503 18.8147 25.3648 17.0291 23.1701 17.0291C20.9754 17.0291 19.1899 18.8147 19.1899 21.0094C19.1899 23.2041 20.9754 24.9896 23.1701 24.9896C25.3648 24.9896 27.1503 23.2041 27.1503 21.0094ZM23.1701 24.1161C21.457 24.1161 20.0634 22.7225 20.0634 21.0094C20.0634 19.2963 21.457 17.9026 23.1701 17.9026C24.8831 17.9026 26.2768 19.2963 26.2768 21.0094C26.2768 22.7225 24.8831 24.1161 23.1701 24.1161ZM25.6472 20.2023C25.5948 20.0413 25.454 19.9251 25.286 19.9041L24.082 19.7536L23.5654 18.6541C23.4934 18.5009 23.3394 18.403 23.1701 18.403C23.0008 18.403 22.8467 18.5008 22.7748 18.6541L22.2583 19.7536L21.0525 19.9041C20.8845 19.9251 20.7437 20.0413 20.6913 20.2023C20.6389 20.3633 20.6843 20.5401 20.8078 20.656L21.6936 21.4871L21.4663 22.6817C21.4346 22.848 21.5018 23.0175 21.6388 23.1169C21.7148 23.1721 21.8049 23.2001 21.8953 23.2001C21.9676 23.2001 22.0401 23.1822 22.1059 23.146L23.17 22.5601L24.2323 23.1459C24.3807 23.2276 24.5628 23.2163 24.6997 23.117C24.8367 23.0175 24.904 22.848 24.8723 22.6817L24.6449 21.4871L25.5308 20.656C25.6542 20.5401 25.6996 20.3633 25.6472 20.2023ZM23.8721 21.0145C23.763 21.1168 23.714 21.2678 23.7419 21.4147L23.8405 21.9324L23.381 21.679C23.2497 21.6067 23.0906 21.6067 22.9594 21.6789L22.4978 21.933L22.5965 21.4147C22.6245 21.2678 22.5754 21.1168 22.4663 21.0145L22.0838 20.6556L22.6053 20.5905C22.754 20.572 22.8828 20.4785 22.9465 20.3428L23.17 19.8669L23.3936 20.3428C23.4574 20.4785 23.5861 20.5719 23.7348 20.5905L24.2546 20.6555L23.8721 21.0145Z\" fill=\"#663BB7\"\/>\n<\/svg>\n                                  <\/div>\n\n                <!-- Title -->\n                <h3 class=\"service-packages__card-title\">\n                  LeadQualify Agent                <\/h3>\n\n                <!-- Description -->\n                                  <div class=\"service-packages__card-description\">\n                    <p>Turn every WhatsApp or SMS lead into a qualified opportunity. <br \/>Smart routing based on answers ensures no lead slips through the cracks.<\/p>\n                  <\/div>\n                              <\/div>\n\n              <!-- Card Features -->\n                              <div class=\"service-packages__features\">\n                                      \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          ROI Timeline\n                                                      <span class=\"service-packages__feature-title-icon\">\n                              <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#663BB7\"\/>\n<path d=\"M8.00922 3.52893L9.43883 6.32229L12.6376 6.77047L10.3234 8.94366L10.8695 12.0143L8.00922 10.5644L5.14894 12.0132L5.69504 8.94366L3.38086 6.76943L6.57962 6.32124L8.00922 3.52893Z\" fill=\"white\"\/>\n<\/svg>\n                            <\/span>\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  1-2 months                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                          \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          Technology Stack\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  n8n, OpenAI, Twilio                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                      <\/div>\n              \n              <!-- Card Button -->\n                              <div class=\"service-packages__card-button\">\n                  <a href=\"?subject=leadQualify-agent#free-audit\"\n                    class=\"service-packages__button btn-primary\"\n                    >\n                    Get Started Now                    <span class=\"btn-shine\"><\/span>\n                  <\/a>\n                <\/div>\n                          <\/div>\n                            \n                      <div class=\"service-packages__card\">\n              <!-- Card Header -->\n              <div class=\"service-packages__card-header\">\n                <!-- Icon -->\n                <div class=\"service-packages__icon\">\n                                      <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.607 11.262C16.173 10.693 18.952 11.08 21.263 12.338C21.503 12.469 21.81 12.38 21.941 12.138C22.073 11.895 21.983 11.592 21.741 11.46C19.22 10.086 16.189 9.66598 13.39 10.285C13.12 10.345 12.951 10.612 13.01 10.882C13.069 11.152 13.339 11.32 13.607 11.262Z\" fill=\"#663BB7\"\/>\n<path d=\"M22.1841 8.33102C24.4891 9.37402 26.5081 10.996 28.0241 13.021C28.1791 13.228 28.4991 13.29 28.7241 13.122C28.9451 12.956 28.9901 12.643 28.8251 12.422C27.2081 10.262 25.0541 8.53302 22.5961 7.42102C22.3471 7.30802 22.0481 7.41902 21.9351 7.67102C21.8201 7.92102 21.9321 8.21702 22.1841 8.33102Z\" fill=\"#663BB7\"\/>\n<path d=\"M24.3069 7.16499C25.5749 7.87599 26.7479 8.74699 27.7959 9.75399C27.9939 9.94499 28.3119 9.93899 28.5029 9.73999C28.6939 9.54099 28.6889 9.22399 28.4889 9.03299C27.3799 7.96699 26.1369 7.04399 24.7949 6.29199C24.5549 6.15699 24.2499 6.24099 24.1139 6.48299C23.9789 6.72599 24.0649 7.02999 24.3069 7.16499Z\" fill=\"#663BB7\"\/>\n<path d=\"M3.576 13.221C3.728 13.221 3.879 13.152 3.977 13.02C5.491 10.996 7.511 9.37401 9.816 8.33101C10.067 8.21701 10.179 7.92101 10.066 7.66901C9.952 7.41701 9.656 7.30601 9.404 7.41901C6.945 8.53201 4.791 10.262 3.176 12.421C3.01 12.642 3.056 12.955 3.277 13.121C3.367 13.189 3.472 13.221 3.576 13.221Z\" fill=\"#663BB7\"\/>\n<path d=\"M3.85701 9.89199C3.98201 9.89199 4.10801 9.84599 4.20401 9.75399C5.25301 8.74599 6.42701 7.87499 7.69401 7.16499C7.93501 7.02999 8.02101 6.72599 7.88501 6.48399C7.75001 6.24399 7.44701 6.15699 7.20501 6.29299C5.86401 7.04399 4.62101 7.96699 3.51101 9.03399C3.31201 9.22499 3.30601 9.54099 3.49701 9.74099C3.59401 9.84199 3.72601 9.89199 3.85701 9.89199Z\" fill=\"#663BB7\"\/>\n<path d=\"M26.5 25H19V23H29.49C29.755 23 29.974 22.793 29.989 22.529C30 22.349 30 22.18 30 22C30 21.134 29.92 20.263 29.761 19.408C28.618 13.295 23.581 8.74 17.5 8.089V6H20.5C21.327 6 22 5.327 22 4.5C22 3.673 21.327 3 20.5 3H11.5C10.673 3 10 3.673 10 4.5C10 5.327 10.673 6 11.5 6H14.5V8.089C8.419 8.74 3.381 13.295 2.238 19.409C2.08 20.264 2 21.135 2 22C2 22.18 2 22.349 2.011 22.529C2.026 22.793 2.245 23 2.51 23H13V25H5.5C3.57 25 2 26.57 2 28.5C2 28.776 2.224 29 2.5 29H29.5C29.776 29 30 28.776 30 28.5C30 26.57 28.43 25 26.5 25ZM11 4.5C11 4.224 11.224 4 11.5 4H20.5C20.775 4 21 4.224 21 4.5C21 4.776 20.775 5 20.5 5H11.5C11.224 5 11 4.776 11 4.5ZM15.5 6H16.5V8.022C16.333 8.016 16.168 8 16 8C15.832 8 15.667 8.016 15.5 8.022V6ZM16 9C22.052 9 27.266 13.173 28.64 19H3.36C4.733 13.173 9.947 9 16 9ZM3.165 20H28.835C28.936 20.663 29 21.332 29 22H3C3 21.333 3.064 20.663 3.165 20ZM14 23H18V25H14V23ZM3.05 28C3.282 26.86 4.292 26 5.5 26H26.5C27.707 26 28.718 26.86 28.95 28H3.05Z\" fill=\"#663BB7\"\/>\n<\/svg>\n                                  <\/div>\n\n                <!-- Title -->\n                <h3 class=\"service-packages__card-title\">\n                  ClientCare Concierge                <\/h3>\n\n                <!-- Description -->\n                                  <div class=\"service-packages__card-description\">\n                    <p>24\/7 digital concierge that handles FAQs, client requests, and syncs everything back into your systems.<\/p>\n                  <\/div>\n                              <\/div>\n\n              <!-- Card Features -->\n                              <div class=\"service-packages__features\">\n                                      \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          ROI Timeline\n                                                      <span class=\"service-packages__feature-title-icon\">\n                              <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#663BB7\"\/>\n<path d=\"M8.00922 3.52893L9.43883 6.32229L12.6376 6.77047L10.3234 8.94366L10.8695 12.0143L8.00922 10.5644L5.14894 12.0132L5.69504 8.94366L3.38086 6.76943L6.57962 6.32124L8.00922 3.52893Z\" fill=\"white\"\/>\n<\/svg>\n                            <\/span>\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  1-2 months                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                          \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          Technology Stack\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  n8n, OpenAI, Twilio                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                      <\/div>\n              \n              <!-- Card Button -->\n                              <div class=\"service-packages__card-button\">\n                  <a href=\"?subject=clientCare-concierge#free-audit\"\n                    class=\"service-packages__button btn-primary\"\n                    >\n                    Get Started Now                    <span class=\"btn-shine\"><\/span>\n                  <\/a>\n                <\/div>\n                          <\/div>\n                            \n                      <div class=\"service-packages__card\">\n              <!-- Card Header -->\n              <div class=\"service-packages__card-header\">\n                <!-- Icon -->\n                <div class=\"service-packages__icon\">\n                                      <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<g clip-path=\"url(#clip0_3624_12987)\">\n<path d=\"M29.8667 14.3997H29.3334V12.2664C29.331 10.2055 27.6609 8.53537 25.6001 8.53306H16.5333V5.27968C17.8746 5.00587 18.7908 3.76093 18.6531 2.39887C18.5156 1.03681 17.369 0.000244141 16 0.000244141C14.631 0.000244141 13.4844 1.03687 13.3468 2.39887C13.2092 3.76093 14.1253 5.00587 15.4666 5.27968V8.53299H6.4C4.33913 8.53537 2.669 10.2054 2.66669 12.2663V14.3996H2.13337C0.955125 14.3997 0 15.3548 0 16.533V19.733C0 20.9112 0.955125 21.8663 2.13331 21.8663H2.66663V23.9996C2.669 26.0605 4.33906 27.7306 6.39994 27.7329V31.4662C6.39994 31.663 6.50819 31.8437 6.68169 31.9366C6.85519 32.0294 7.06562 32.0191 7.22931 31.9099L13.3626 27.8219C13.4496 27.7642 13.5516 27.7332 13.6559 27.7329H25.6C27.6609 27.7305 29.331 26.0604 29.3333 23.9996V21.8662H29.8666C31.0448 21.8662 31.9999 20.9111 31.9999 19.7329V16.5329C32 15.3548 31.0449 14.3997 29.8667 14.3997ZM14.4 2.66637C14.4 1.78274 15.1164 1.06637 16 1.06637C16.8837 1.06637 17.6 1.78274 17.6 2.66637C17.6 3.54999 16.8837 4.26637 16 4.26637C15.1164 4.26637 14.4 3.54999 14.4 2.66637ZM2.13331 20.7997C1.54419 20.7997 1.06662 20.3221 1.06662 19.733V16.533C1.06662 15.9439 1.54419 15.4663 2.13331 15.4663H2.66663V20.7996H2.13331V20.7997ZM28.2667 23.9997C28.2649 25.4717 27.0721 26.6646 25.6 26.6664H13.656C13.3403 26.6652 13.0314 26.7581 12.7686 26.9331L7.46669 30.4696V27.7331C7.46669 27.1439 6.98913 26.6664 6.4 26.6664C4.928 26.6646 3.73513 25.4717 3.73331 23.9997V12.2664C3.73506 10.7944 4.92794 9.60149 6.4 9.59968H25.6C27.072 9.60143 28.2649 10.7943 28.2667 12.2664V23.9997ZM30.9333 19.733C30.9333 20.3221 30.4557 20.7997 29.8666 20.7997H29.3333V15.4664H29.8666C30.4557 15.4664 30.9333 15.9439 30.9333 16.5331V19.733Z\" fill=\"#663BB7\"\/>\n<path d=\"M9.60004 13.8663C8.12729 13.8663 6.93335 15.0603 6.93335 16.533C6.93335 18.0058 8.12729 19.1997 9.60004 19.1997C11.0728 19.1997 12.2667 18.0058 12.2667 16.533C12.2649 15.061 11.072 13.8681 9.60004 13.8663ZM9.60004 18.133C8.71641 18.133 8.00004 17.4166 8.00004 16.533C8.00004 15.6493 8.71641 14.933 9.60004 14.933C10.4837 14.933 11.2 15.6493 11.2 16.533C11.2 17.4166 10.4837 18.133 9.60004 18.133Z\" fill=\"#663BB7\"\/>\n<path d=\"M22.4 13.8663C20.9272 13.8663 19.7333 15.0603 19.7333 16.533C19.7333 18.0058 20.9272 19.1997 22.4 19.1997C23.8727 19.1997 25.0667 18.0058 25.0667 16.533C25.0648 15.061 23.872 13.8681 22.4 13.8663ZM22.4 18.133C21.5163 18.133 20.8 17.4166 20.8 16.533C20.8 15.6493 21.5163 14.933 22.4 14.933C23.2836 14.933 24 15.6493 24 16.533C24 17.4166 23.2836 18.133 22.4 18.133Z\" fill=\"#663BB7\"\/>\n<path d=\"M18.9547 20.3565C18.7086 20.1997 18.3823 20.2676 18.2193 20.5096C18.1969 20.5432 17.6433 21.333 16.0001 21.333C14.3713 21.333 13.8134 20.5564 13.7814 20.5106C13.621 20.2684 13.2961 20.1991 13.0508 20.3549C12.8055 20.5107 12.7301 20.8342 12.8812 21.0824C12.9148 21.1357 13.7308 22.3997 16.0001 22.3997C18.2694 22.3997 19.0854 21.1362 19.119 21.0824C19.2721 20.8362 19.1989 20.5127 18.9547 20.3565Z\" fill=\"#663BB7\"\/>\n<\/g>\n<defs>\n<clipPath id=\"clip0_3624_12987\">\n<rect width=\"32\" height=\"32\" fill=\"white\"\/>\n<\/clipPath>\n<\/defs>\n<\/svg>\n                                  <\/div>\n\n                <!-- Title -->\n                <h3 class=\"service-packages__card-title\">\n                  VoiceBot Receptionist                <\/h3>\n\n                <!-- Description -->\n                                  <div class=\"service-packages__card-description\">\n                    <p>A natural voice agent that answers calls, routes inquiries, and books appointments, no waiting, no missed calls.<\/p>\n                  <\/div>\n                              <\/div>\n\n              <!-- Card Features -->\n                              <div class=\"service-packages__features\">\n                                      \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          ROI Timeline\n                                                      <span class=\"service-packages__feature-title-icon\">\n                              <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#663BB7\"\/>\n<path d=\"M8.00922 3.52893L9.43883 6.32229L12.6376 6.77047L10.3234 8.94366L10.8695 12.0143L8.00922 10.5644L5.14894 12.0132L5.69504 8.94366L3.38086 6.76943L6.57962 6.32124L8.00922 3.52893Z\" fill=\"white\"\/>\n<\/svg>\n                            <\/span>\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  3-4 months                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                          \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          Technology Stack\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  Twilio, ElevenLabs, Vapi                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                      <\/div>\n              \n              <!-- Card Button -->\n                              <div class=\"service-packages__card-button\">\n                  <a href=\"?subject=voiceBot-receptionist#free-audit\"\n                    class=\"service-packages__button btn-primary\"\n                    >\n                    Get Started Now                    <span class=\"btn-shine\"><\/span>\n                  <\/a>\n                <\/div>\n                          <\/div>\n                            \n                      <div class=\"service-packages__card\">\n              <!-- Card Header -->\n              <div class=\"service-packages__card-header\">\n                <!-- Icon -->\n                <div class=\"service-packages__icon\">\n                                      <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M16.5 20.6201C16.2239 20.6201 16 20.844 16 21.1201V25.75H2V20.8601C2 20.3403 2.2644 19.8628 2.70459 19.5842L5.54321 17.8125L8.80298 19.2095C8.92896 19.2637 9.07129 19.2637 9.19727 19.2095L12.3772 17.8445C12.6309 17.7356 12.7483 17.4416 12.6394 17.1877C12.5303 16.9341 12.2366 16.8157 11.9827 16.9255L8.99976 18.206L5.69702 16.7905C5.54663 16.7261 5.37451 16.739 5.23535 16.8259L2.17261 18.7375C1.43848 19.2019 1 19.9953 1 20.8601V26.25C1 26.5261 1.22388 26.75 1.5 26.75H16.5C16.7761 26.75 17 26.5261 17 26.25V21.1201C17 20.844 16.7761 20.6201 16.5 20.6201Z\" fill=\"#663BB7\"\/>\n<path d=\"M9 15.25C11.2056 15.25 13 13.4556 13 11.25C13 9.04443 11.2056 7.25 9 7.25C6.79443 7.25 5 9.04443 5 11.25C5 13.4556 6.79443 15.25 9 15.25ZM9 8.25C10.6543 8.25 12 9.5957 12 11.25C12 12.9043 10.6543 14.25 9 14.25C7.3457 14.25 6 12.9043 6 11.25C6 9.5957 7.3457 8.25 9 8.25Z\" fill=\"#663BB7\"\/>\n<path d=\"M28 7.75H26C25.7239 7.75 25.5 7.97388 25.5 8.25V14.75H24.5V10.25C24.5 9.97388 24.2761 9.75 24 9.75H22C21.7239 9.75 21.5 9.97388 21.5 10.25V14.75H20.5V11.75C20.5 11.4739 20.2761 11.25 20 11.25H18C17.7239 11.25 17.5 11.4739 17.5 11.75V15.25C17.5 15.5261 17.7239 15.75 18 15.75H20H22H24H26H28C28.2761 15.75 28.5 15.5261 28.5 15.25V8.25C28.5 7.97388 28.2761 7.75 28 7.75ZM18.5 14.75V12.25H19.5V14.75H18.5ZM22.5 14.75V10.75H23.5V14.75H22.5ZM26.5 14.75V8.75H27.5V14.75H26.5Z\" fill=\"#663BB7\"\/>\n<path d=\"M29.5 5.25H16.5C15.6729 5.25 15 5.92285 15 6.75V14.3447L12.5354 20.5654C12.4575 20.7612 12.5108 20.9846 12.6685 21.1243C12.762 21.2073 12.8806 21.25 13 21.25C13.0818 21.25 13.1643 21.23 13.2393 21.189L18.6277 18.25H29.5C30.3272 18.25 31 17.5771 31 16.75V6.75C31 5.92285 30.3272 5.25 29.5 5.25ZM30 16.75C30 17.0256 29.7757 17.25 29.5 17.25H18.5C18.4163 17.25 18.334 17.271 18.2605 17.311L13.9754 19.6489L15.9649 14.6238C15.9881 14.5652 16 14.5029 16 14.4399V6.75C16 6.47437 16.2244 6.25 16.5 6.25H29.5C29.7757 6.25 30 6.47437 30 6.75V16.75Z\" fill=\"#663BB7\"\/>\n<\/svg>\n                                  <\/div>\n\n                <!-- Title -->\n                <h3 class=\"service-packages__card-title\">\n                  Data Insights Reporter                <\/h3>\n\n                <!-- Description -->\n                                  <div class=\"service-packages__card-description\">\n                    <p>Your business data, explained with clarity. Automated analysis, reports, and insights delivered when you need them.<\/p>\n                  <\/div>\n                              <\/div>\n\n              <!-- Card Features -->\n                              <div class=\"service-packages__features\">\n                                      \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          ROI Timeline\n                                                      <span class=\"service-packages__feature-title-icon\">\n                              <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#663BB7\"\/>\n<path d=\"M8.00922 3.52893L9.43883 6.32229L12.6376 6.77047L10.3234 8.94366L10.8695 12.0143L8.00922 10.5644L5.14894 12.0132L5.69504 8.94366L3.38086 6.76943L6.57962 6.32124L8.00922 3.52893Z\" fill=\"white\"\/>\n<\/svg>\n                            <\/span>\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  1-2 months                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                          \n                                                                <div class=\"service-packages__feature\">\n                        <h4 class=\"service-packages__feature-title\">\n                          Technology Stack\n                                                  <\/h4>\n\n                        <ul class=\"service-packages__feature-list\">\n                                                      \n                                                          <li class=\"service-packages__feature-item\">\n                                <span class=\"service-packages__feature-item-icon\">\n                                  <svg width=\"17\" height=\"18\" viewBox=\"0 0 17 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M8.3999 15.7592C12.2659 15.7592 15.3999 12.6251 15.3999 8.75916C15.3999 4.89316 12.2659 1.75916 8.3999 1.75916C4.53391 1.75916 1.3999 4.89316 1.3999 8.75916C1.3999 12.6251 4.53391 15.7592 8.3999 15.7592Z\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M6.2998 8.75913L7.6998 10.1591L10.4998 7.35913\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                                <\/span>\n                                <span class=\"service-packages__feature-item-text\">\n                                  n8n, OpenAI, Data APIs                                <\/span>\n                              <\/li>\n                                                                              <\/ul>\n                      <\/div>\n                                                      <\/div>\n              \n              <!-- Card Button -->\n                              <div class=\"service-packages__card-button\">\n                  <a href=\"?subject=data-insights-reporter#free-audit\"\n                    class=\"service-packages__button btn-primary\"\n                    >\n                    Get Started Now                    <span class=\"btn-shine\"><\/span>\n                  <\/a>\n                <\/div>\n                          <\/div>\n                        <\/div>\n      <\/div>\n<\/section>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    const servicePackagesCards = document.querySelectorAll('.service-packages__card');\n    \n    if (servicePackagesCards.length > 0) {\n        const isMobile = window.innerWidth <= 768;\n        \n        const observerOptions = {\n            threshold: isMobile ? 0.1 : 0.15,\n            rootMargin: isMobile ? '0px 0px -20px 0px' : '0px 0px -30px 0px'\n        };\n        \n        const observerCallback = function(entries, observer) {\n            entries.forEach(entry => {\n                if (entry.isIntersecting) {\n                    \/\/ Add entrance class directly to the card\n                    entry.target.classList.add('service-packages__card--entrance');\n                    \n                    observer.unobserve(entry.target);\n                }\n            });\n        };\n        \n        const observer = new IntersectionObserver(observerCallback, observerOptions);\n        \n        \/\/ Observe each card individually\n        servicePackagesCards.forEach(card => {\n            observer.observe(card);\n        });\n        \n        window.addEventListener('resize', function() {\n            const newIsMobile = window.innerWidth <= 768;\n            if (newIsMobile !== isMobile) {\n                observer.disconnect();\n                const newObserverOptions = {\n                    threshold: newIsMobile ? 0.1 : 0.15,\n                    rootMargin: newIsMobile ? '0px 0px -20px 0px' : '0px 0px -30px 0px'\n                };\n                const newObserver = new IntersectionObserver(observerCallback, newObserverOptions);\n                servicePackagesCards.forEach(card => {\n                    newObserver.observe(card);\n                });\n            }\n        });\n    }\n});\n<\/script>\n\n\n<section class=\"full-width-cta\" aria-labelledby=\"full-width-cta-heading\" >\n\n  <div class=\"full-width-cta__container\">\n    <!-- Background SVG for mobile and desktop -->\n    <div class=\"full-width-cta__background\" aria-hidden=\"true\">\n      <svg width=\"312\" height=\"471\" viewBox=\"0 0 312 471\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M37.939 386.955L53.2172 470.488L224.082 371.839L157.968 317.657L37.939 386.955Z\" fill=\"#FFFFFF\"\/>\n<path d=\"M0.0971518 182.814L25.7494 320.186L106.945 273.308L0.0971518 182.814Z\" fill=\"#FFFFFF\"\/>\n<path d=\"M179.476 93.214L311.261 321.472L10.7543 67.2631L126.059 0.692169L154.48 49.9189L231.889 5.22669L256.885 48.5217L179.476 93.214Z\" \nfill=\"#FFFFFF\"\/>\n<\/svg>\n    <\/div>\n\n    <div class=\"full-width-cta__bg-svg full-width-cta__bg-svg--left\" aria-hidden=\"true\">\n      <svg width=\"312\" height=\"471\" viewBox=\"0 0 312 471\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M37.939 386.955L53.2172 470.488L224.082 371.839L157.968 317.657L37.939 386.955Z\" fill=\"#FFFFFF\"\/>\n<path d=\"M0.0971518 182.814L25.7494 320.186L106.945 273.308L0.0971518 182.814Z\" fill=\"#FFFFFF\"\/>\n<path d=\"M179.476 93.214L311.261 321.472L10.7543 67.2631L126.059 0.692169L154.48 49.9189L231.889 5.22669L256.885 48.5217L179.476 93.214Z\" \nfill=\"#FFFFFF\"\/>\n<\/svg>\n    <\/div>\n\n    <div class=\"full-width-cta__bg-svg full-width-cta__bg-svg--right\" aria-hidden=\"true\">\n      <svg width=\"312\" height=\"471\" viewBox=\"0 0 312 471\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M37.939 386.955L53.2172 470.488L224.082 371.839L157.968 317.657L37.939 386.955Z\" fill=\"#FFFFFF\"\/>\n<path d=\"M0.0971518 182.814L25.7494 320.186L106.945 273.308L0.0971518 182.814Z\" fill=\"#FFFFFF\"\/>\n<path d=\"M179.476 93.214L311.261 321.472L10.7543 67.2631L126.059 0.692169L154.48 49.9189L231.889 5.22669L256.885 48.5217L179.476 93.214Z\" \nfill=\"#FFFFFF\"\/>\n<\/svg>\n    <\/div>\n\n    <div class=\"full-width-cta__content-wrapper\">\n              <header class=\"full-width-cta__header\">\n          <h2 id=\"full-width-cta-heading\" class=\"full-width-cta__title\">\n            Not the Right Fit for Your Business?          <\/h2>\n        <\/header>\n      \n              <div class=\"full-width-cta__content\">\n          <div class=\"full-width-cta__description\">\n            <p>Every company has unique needs. If what you see doesn\u2019t align with your goals, let\u2019s explore together how we can adapt our solutions to match your business.<\/p>\n          <\/div>\n        <\/div>\n      \n              <footer class=\"full-width-cta__footer\">\n          <div class=\"full-width-cta__links\">\n                          <a href=\"https:\/\/haipestudio.com\/free-audit\/\"\n                class=\"full-width-cta__button btn-secondary\"\n                                >\n                Talk with us and get a free audit                <span class=\"btn-shine\"><\/span>\n              <\/a>\n            \n                      <\/div>\n        <\/footer>\n          <\/div>\n\n  <\/div>\n\n<\/section>\n\n  <section class=\"main-cta main-cta--h2 \" aria-labelledby=\"main-cta-heading\" >\n          <header class=\"main-cta__header\">\n                          <h2            id=\"main-cta-heading\"\n            class=\"main-cta__title main-cta__title--h2\"\n            >\n            Our Proven Process          <\/h2>\n              <\/header>\n    \n    <div class=\"main-cta__content\">\n              <div class=\"main-cta__description main-cta__description--h2\"><p>From discovery to deployment, we follow a battle-tested methodology that ensures your automation project succeeds.<\/p>\n<\/div>\n      \n          <\/div>\n  <\/section>\n  <script>\n    document.addEventListener('DOMContentLoaded', function() {\n      document.querySelectorAll('a[data-ph-event]').forEach(function(el) {\n        el.addEventListener('click', function() {\n          if (typeof posthog !== 'undefined') {\n            posthog.capture(el.dataset.phEvent, {\n              title: el.dataset.phTitle,\n              url: el.href,\n              section: 'main-cta'\n            });\n            console.log('PostHog event captured:', el.dataset.phEvent, el.dataset.phTitle);\n          }\n        });\n      });\n    });\n  <\/script>\n\n\n\n  <section id=\"\" class=\"journey-block\" aria-label=\"Jornada e etapas do processo\">\n    <div class=\"journey-block__container\">\n      <div class=\"journey-block__grid \">\n                              <article class=\"journey-block__step\" aria-labelledby=\"journey-step-title-0\">\n              <!-- Green Line Background (Mobile\/Desktop) -->\n              <div class=\"journey-block__step-line\">\n                <img decoding=\"async\" src=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-left-up.svg\" alt=\"\" class=\"journey-block__step-line-image\" loading=\"lazy\" title=\"\">\n              <\/div>\n\n              <!-- Step Number\/Icon -->\n              <div class=\"journey-block__step-number\">\n                                  <span class=\"journey-block__step-number-text\" aria-label=\"Etapa 1\">\n                    01                  <\/span>\n                              <\/div>\n\n              <!-- Title -->\n                              <header class=\"journey-block__step-header\">\n                  <h3 id=\"journey-step-title-0\" class=\"journey-block__step-title\">\n                    Discovery  &amp; Audit                  <\/h3>\n                <\/header>\n              \n              <!-- Description -->\n                              <div class=\"journey-block__step-content\">\n                  <div class=\"journey-block__step-description\">\n                    <p>We analyze your current processes and identify automation opportunities<\/p>\n                  <\/div>\n                <\/div>\n              \n\n              <!-- Time -->\n                              <div class=\"journey-block__step-time\">\n                  <time class=\"journey-block__step-time-text\" datetime=\"1-2 days\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.99998 14.6656C11.6819 14.6656 14.6666 11.6808 14.6666 7.99894C14.6666 4.31704 11.6819 1.33228 7.99998 1.33228C4.31808 1.33228 1.33331 4.31704 1.33331 7.99894C1.33331 11.6808 4.31808 14.6656 7.99998 14.6656Z\"\n                        stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                      <path d=\"M8 3.99902V7.99902L10.6667 9.33236\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <\/svg>\n\n                    <span>1-2 days<\/span>\n                  <\/time>\n                <\/div>\n                          <\/article>\n                                        <article class=\"journey-block__step\" aria-labelledby=\"journey-step-title-1\">\n              <!-- Green Line Background (Mobile\/Desktop) -->\n              <div class=\"journey-block__step-line\">\n                <img decoding=\"async\" src=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-left-down.svg\" alt=\"\" class=\"journey-block__step-line-image\" loading=\"lazy\" title=\"\">\n              <\/div>\n\n              <!-- Step Number\/Icon -->\n              <div class=\"journey-block__step-number\">\n                                  <span class=\"journey-block__step-number-text\" aria-label=\"Etapa 2\">\n                    02                  <\/span>\n                              <\/div>\n\n              <!-- Title -->\n                              <header class=\"journey-block__step-header\">\n                  <h3 id=\"journey-step-title-1\" class=\"journey-block__step-title\">\n                    Strategy  &amp; Design                  <\/h3>\n                <\/header>\n              \n              <!-- Description -->\n                              <div class=\"journey-block__step-content\">\n                  <div class=\"journey-block__step-description\">\n                    <p>Custom automation strategy designed specifically for your business goals<\/p>\n                  <\/div>\n                <\/div>\n              \n\n              <!-- Time -->\n                              <div class=\"journey-block__step-time\">\n                  <time class=\"journey-block__step-time-text\" datetime=\"10-20 days\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.99998 14.6656C11.6819 14.6656 14.6666 11.6808 14.6666 7.99894C14.6666 4.31704 11.6819 1.33228 7.99998 1.33228C4.31808 1.33228 1.33331 4.31704 1.33331 7.99894C1.33331 11.6808 4.31808 14.6656 7.99998 14.6656Z\"\n                        stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                      <path d=\"M8 3.99902V7.99902L10.6667 9.33236\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <\/svg>\n\n                    <span>10-20 days<\/span>\n                  <\/time>\n                <\/div>\n                          <\/article>\n                                        <article class=\"journey-block__step\" aria-labelledby=\"journey-step-title-2\">\n              <!-- Green Line Background (Mobile\/Desktop) -->\n              <div class=\"journey-block__step-line\">\n                <img decoding=\"async\" src=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-left-up.svg\" alt=\"\" class=\"journey-block__step-line-image\" loading=\"lazy\" title=\"\">\n              <\/div>\n\n              <!-- Step Number\/Icon -->\n              <div class=\"journey-block__step-number\">\n                                  <span class=\"journey-block__step-number-text\" aria-label=\"Etapa 3\">\n                    03                  <\/span>\n                              <\/div>\n\n              <!-- Title -->\n                              <header class=\"journey-block__step-header\">\n                  <h3 id=\"journey-step-title-2\" class=\"journey-block__step-title\">\n                    Development  &amp; Testing                  <\/h3>\n                <\/header>\n              \n              <!-- Description -->\n                              <div class=\"journey-block__step-content\">\n                  <div class=\"journey-block__step-description\">\n                    <p>Build and rigorously test all automation workflows before deployment<\/p>\n                  <\/div>\n                <\/div>\n              \n\n              <!-- Time -->\n                              <div class=\"journey-block__step-time\">\n                  <time class=\"journey-block__step-time-text\" datetime=\"2-4 weeks\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.99998 14.6656C11.6819 14.6656 14.6666 11.6808 14.6666 7.99894C14.6666 4.31704 11.6819 1.33228 7.99998 1.33228C4.31808 1.33228 1.33331 4.31704 1.33331 7.99894C1.33331 11.6808 4.31808 14.6656 7.99998 14.6656Z\"\n                        stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                      <path d=\"M8 3.99902V7.99902L10.6667 9.33236\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <\/svg>\n\n                    <span>2-4 weeks<\/span>\n                  <\/time>\n                <\/div>\n                          <\/article>\n                                        <article class=\"journey-block__step\" aria-labelledby=\"journey-step-title-3\">\n              <!-- Green Line Background (Mobile\/Desktop) -->\n              <div class=\"journey-block__step-line\">\n                <img decoding=\"async\" src=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-left-down.svg\" alt=\"\" class=\"journey-block__step-line-image\" loading=\"lazy\" title=\"\">\n              <\/div>\n\n              <!-- Step Number\/Icon -->\n              <div class=\"journey-block__step-number\">\n                                  <span class=\"journey-block__step-number-text\" aria-label=\"Etapa 4\">\n                    04                  <\/span>\n                              <\/div>\n\n              <!-- Title -->\n                              <header class=\"journey-block__step-header\">\n                  <h3 id=\"journey-step-title-3\" class=\"journey-block__step-title\">\n                    Implementation  &amp; Training                  <\/h3>\n                <\/header>\n              \n              <!-- Description -->\n                              <div class=\"journey-block__step-content\">\n                  <div class=\"journey-block__step-description\">\n                    <p>Deploy solutions and train your team for maximum adoption and success<\/p>\n                  <\/div>\n                <\/div>\n              \n\n              <!-- Time -->\n                              <div class=\"journey-block__step-time\">\n                  <time class=\"journey-block__step-time-text\" datetime=\"1-2 days\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.99998 14.6656C11.6819 14.6656 14.6666 11.6808 14.6666 7.99894C14.6666 4.31704 11.6819 1.33228 7.99998 1.33228C4.31808 1.33228 1.33331 4.31704 1.33331 7.99894C1.33331 11.6808 4.31808 14.6656 7.99998 14.6656Z\"\n                        stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                      <path d=\"M8 3.99902V7.99902L10.6667 9.33236\" stroke=\"#663BB7\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <\/svg>\n\n                    <span>1-2 days<\/span>\n                  <\/time>\n                <\/div>\n                          <\/article>\n                        <\/div>\n\n      <!-- Tablet Horizontal Lines (2 columns) - Show for 2, 3, or 4 items -->\n              <div class=\"journey-block__tablet-lines\">\n          <!-- First row line (between steps 1 and 2) -->\n          <div class=\"journey-block__tablet-line journey-block__tablet-line--first \">\n            <img decoding=\"async\" src=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-full.svg\" alt=\"\" class=\"journey-block__tablet-line-image\" loading=\"lazy\" title=\"\">\n          <\/div>\n\n          <!-- Second row line (between steps 3 and 4) - Only for 4 items -->\n                      <div class=\"journey-block__tablet-line journey-block__tablet-line--second\">\n              <img decoding=\"async\" src=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-full.svg\" alt=\"\" class=\"journey-block__tablet-line-image\" loading=\"lazy\" title=\"\">\n            <\/div>\n                  <\/div>\n      \n      <!-- Desktop Horizontal Line - Show for 3 or 4 items -->\n              <div class=\"journey-block__desktop-line\">\n          <picture>\n            <source srcset=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-full-max.svg\" media=\"(min-width: 1536px)\">\n            <img decoding=\"async\" src=\"https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio\/blocks\/journey\/img\/line-green-full.svg\" alt=\"\" class=\"journey-block__desktop-line-image\" loading=\"lazy\" title=\"\">\n          <\/picture>\n        <\/div>\n          <\/div>\n  <\/section>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Function to add line breaks before & symbol in titles\n    function addLineBreaksBeforeAmpersand() {\n        const journeyTitles = document.querySelectorAll('.journey-block__step-title');\n        \n        journeyTitles.forEach(function(title) {\n            if (title.textContent.includes('&')) {\n                \/\/ Replace & with <br>& to add line break before it\n                title.innerHTML = title.textContent.replace(\/&\/g, '<br>&');\n            }\n        });\n    }\n    \n    \/\/ Function to handle icon display\n    function handleIconDisplay() {\n        const journeyIcons = document.querySelectorAll('.journey-block__step-icon svg');\n        \n        journeyIcons.forEach(function(icon) {\n            \/\/ Ensure SVG icons are properly styled\n            icon.style.width = '2rem';\n            icon.style.height = '2rem';\n            icon.style.color = 'white';\n        });\n    }\n    \n    \/\/ Function to set desktop line background\n    function setDesktopLineBackground() {\n        const desktopLine = document.querySelector('.journey-block__desktop-line');\n        if (desktopLine) {\n            \/\/ Get the theme directory URI from a data attribute or use a fallback\n            const themeUri = window.themeUri || 'https:\/\/haipestudio.com\/wp-content\/themes\/haipe_studio';\n            const imagePath = `${themeUri}\/blocks\/journey\/img\/line-green-full-02.svg`;\n            \n            desktopLine.style.background = `url('${imagePath}') repeat-x`;\n            desktopLine.style.backgroundSize = 'auto 100%';\n        }\n    }\n\n    \/\/ Intersection Observer for viewport-based animations\n    function initJourneyAnimations() {\n        const journeyBlock = document.querySelector('.journey-block');\n        \n        if (!journeyBlock) return;\n        \n        \/\/ Check if device is mobile\n        const isMobile = window.innerWidth <= 768;\n        \n        const journeyObserver = new IntersectionObserver((entries) => {\n            entries.forEach((entry) => {\n                if (entry.isIntersecting) {\n                    entry.target.classList.add('journey-block-entrance');\n                    \n                    \/\/ Unobserve after animation is triggered\n                    journeyObserver.unobserve(entry.target);\n                }\n            });\n        }, {\n            threshold: 0.1, \/\/ Reduced threshold for earlier trigger\n            rootMargin: isMobile ? '0px 0px -5px 0px' : '0px 0px -50px 0px' \/\/ Less negative margin on mobile\n        });\n        \n        journeyObserver.observe(journeyBlock);\n    }\n    \n    \/\/ Run the functions when DOM is loaded\n    addLineBreaksBeforeAmpersand();\n    handleIconDisplay();\n    setDesktopLineBackground();\n    initJourneyAnimations();\n    \n    \/\/ Handle window resize to update mobile detection\n    let resizeTimeout;\n    window.addEventListener('resize', function() {\n        clearTimeout(resizeTimeout);\n        resizeTimeout = setTimeout(function() {\n            \/\/ Re-initialize animations with updated mobile detection\n            initJourneyAnimations();\n        }, 250);\n    });\n    \n    \/\/ Also run if content is dynamically loaded (for Gutenberg editor)\n    if (typeof wp !== 'undefined' && wp.data) {\n        wp.data.subscribe(function() {\n            \/\/ Small delay to ensure content is rendered\n            setTimeout(function() {\n                addLineBreaksBeforeAmpersand();\n                handleIconDisplay();\n                setDesktopLineBackground();\n                initJourneyAnimations();\n            }, 100);\n        });\n    }\n});\n<\/script>\n\n\n  <section id=\"\"\n    class=\"contact-form-block\"\n    aria-labelledby=\"contact-form-heading\"     aria-label=\"Formul\u00e1rio de contato e informa\u00e7\u00f5es de contato\" style=\"background-color: #F3F1F8;\">\n\n    <div class=\"contact-form-block__container\">\n      <div class=\"contact-form-block__grid\">\n\n        <!-- Left Content - Contact Information -->\n        <div class=\"contact-form-block__content\">\n\n          <!-- Main Title and Topics -->\n                      <header class=\"contact-form-block__header contact-form-block__header--icons\">\n              <h2 id=\"contact-form-heading\" class=\"contact-form-block__title\">\n                Get In Touch              <\/h2>\n\n                              <nav class=\"contact-form-block__topics\" aria-label=\"T\u00f3picos de contato\">\n                  <ul class=\"contact-form-block__topics-list contact-form-block__topics-list--icons\" role=\"list\">\n                                                                  <li class=\"contact-form-block__topics-item\">\n                                                      <!-- Icons Layout -->\n                            <div class=\"contact-form-block__topics-icon\">\n                              <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<rect width=\"48\" height=\"48\" rx=\"24\" fill=\"#663BB7\"\/>\n<path d=\"M34 19L25.5 27.5L20.5 22.5L14 29\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M28 19H34V25\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                            <\/div>\n                          \n                          <div class=\"contact-form-block__topics-content\">\n                            <span class=\"contact-form-block__topics-text\">Prove ROI<\/span>\n                                                          <p class=\"contact-form-block__topics-description\">Free audit to reveal your automation savings.<\/p>\n                                                      <\/div>\n                        <\/li>\n                                                                                        <li class=\"contact-form-block__topics-item\">\n                                                      <!-- Icons Layout -->\n                            <div class=\"contact-form-block__topics-icon\">\n                              <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<rect width=\"48\" height=\"48\" rx=\"24\" fill=\"#663BB7\"\/>\n<path d=\"M21 14H27\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M24 22V26\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M24 34C28.4183 34 32 30.4183 32 26C32 21.5817 28.4183 18 24 18C19.5817 18 16 21.5817 16 26C16 30.4183 19.5817 34 24 34Z\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                            <\/div>\n                          \n                          <div class=\"contact-form-block__topics-content\">\n                            <span class=\"contact-form-block__topics-text\">Streamline Workflows<\/span>\n                                                          <p class=\"contact-form-block__topics-description\">Available Mon\u2013Fri, 9am\u20136pm (Lisbon time).<\/p>\n                                                      <\/div>\n                        <\/li>\n                                                                                        <li class=\"contact-form-block__topics-item\">\n                                                      <!-- Icons Layout -->\n                            <div class=\"contact-form-block__topics-icon\">\n                              <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<rect width=\"48\" height=\"48\" rx=\"24\" fill=\"#663BB7\"\/>\n<path d=\"M24 34C29.5228 34 34 29.5228 34 24C34 18.4772 29.5228 14 24 14C18.4772 14 14 18.4772 14 24C14 29.5228 18.4772 34 24 34Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M21 24L23 26L27 22\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n                            <\/div>\n                          \n                          <div class=\"contact-form-block__topics-content\">\n                            <span class=\"contact-form-block__topics-text\">Clear Roadmap<\/span>\n                                                          <p class=\"contact-form-block__topics-description\">Remote-first, European-based, built for global delivery.<\/p>\n                                                      <\/div>\n                        <\/li>\n                                                            <\/ul>\n                <\/nav>\n                          <\/header>\n          \n\n          <!-- Contact Information -->\n          <div class=\"contact-form-block__info contact-form-block__info--card-layout\" role=\"region\" aria-label=\"Informa\u00e7\u00f5es de contato\">\n            <!-- Second Title -->\n            \n                          <!-- Card Layout -->\n              <div class=\"contact-form-block__card-layout\">\n\n                <figure class=\"contact-form-block__card-layout-background\">\n                  <svg width=\"312\" height=\"471\" viewBox=\"0 0 312 471\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M37.939 386.955L53.2172 470.488L224.082 371.839L157.968 317.657L37.939 386.955Z\" fill=\"#F3F1F8\"\/>\n<path d=\"M0.0971518 182.814L25.7494 320.186L106.945 273.308L0.0971518 182.814Z\" fill=\"#F3F1F8\"\/>\n<path d=\"M179.476 93.214L311.261 321.472L10.7543 67.2631L126.059 0.692169L154.48 49.9189L231.889 5.22669L256.885 48.5217L179.476 93.214Z\" fill=\"#F3F1F8\"\/>\n<\/svg>\n                <\/figure>\n\n                                  <h3 class=\"contact-form-block__card-layout-title\">\n                    Typical Results                  <\/h3>\n                \n                                                      <div class=\"contact-form-block__card-item\">\n                      <div class=\"contact-form-block__card-left\">\n                        Time Savings:                      <\/div>\n                      <div class=\"contact-form-block__card-right\">\n                        15-25 hours\/week                      <\/div>\n                    <\/div>\n                                                                        <div class=\"contact-form-block__card-item\">\n                      <div class=\"contact-form-block__card-left\">\n                        Error Reduction:                      <\/div>\n                      <div class=\"contact-form-block__card-right\">\n                        90%+                      <\/div>\n                    <\/div>\n                                                                        <div class=\"contact-form-block__card-item\">\n                      <div class=\"contact-form-block__card-left\">\n                        ROI Timeline:                      <\/div>\n                      <div class=\"contact-form-block__card-right\">\n                        1-3 months                      <\/div>\n                    <\/div>\n                                                <\/div>\n            \n          <\/div>\n        <\/div>\n\n        <!-- Right Form -->\n        <div id=\"free-audit\" class=\"contact-form-block__form-wrapper contact-form-block__form-wrapper--card\">\n          <div class=\"contact-form-block__form-container\">\n                          <div class=\"contact-form-block__form-content\"\n                role=\"region\"\n                aria-label=\"contact form\"\n                >\n                <div class='fluentform ff-default fluentform_wrapper_8 ffs_default_wrap'><form data-form_id=\"8\" id=\"fluentform_8\" class=\"frm-fluent-form fluent_form_8 ff-el-form-top ff_form_instance_8_1 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_8_1\" method=\"POST\" data-turnstile_key=\"0x4AAAAAAClzAtPyv0uj_MqM\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Services | AI Agents<\/legend><input type='hidden' name='__fluent_form_embded_post_id' value='23' \/><input type=\"hidden\" id=\"_fluentform_8_fluentformnonce\" name=\"_fluentform_8_fluentformnonce\" value=\"e6d58d1435\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/23\" \/><div class='ff-el-group  ff-custom_html' tabindex='-1' data-name=\"custom_html-8_1\" ><h3 class=\"tracking-tight text-2xl font-bold text-slate-900\">Start Your Automation Journey<\/h3><\/div><div data-name=\"ff_cn_id_1\"  class='ff-t-container ff-column-container ff_columns_total_2 '><div class='ff-t-cell ff-t-column-1' style='flex-basis: 50%;'><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_8_input_text' id='label_ff_8_input_text' aria-label=\"Name\">Name<\/label><\/div><div class='ff-el-input--content'><input type=\"text\" name=\"input_text\" class=\"ff-el-form-control\" placeholder=\"Your full name\" data-name=\"input_text\" id=\"ff_8_input_text\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-2' style='flex-basis: 50%;'><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_8_email' id='label_ff_8_email' aria-label=\"Email\">Email<\/label><\/div><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_8_email\" class=\"ff-el-form-control\" placeholder=\"Email Address\" data-name=\"email\" autocomplete=\"email\" inputmode=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><\/div><div data-name=\"ff_cn_id_2\"  class='ff-t-container ff-column-container ff_columns_total_2 '><div class='ff-t-cell ff-t-column-1' style='flex-basis: 50%;'><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_8_phone' id='label_ff_8_phone' aria-label=\"Phone\">Phone<\/label><\/div><div class='ff-el-input--content'><input name=\"phone\" class=\"ff-el-form-control ff-el-phone ff_el_with_extended_validation\" type=\"tel\" data-name=\"phone\" autocomplete=\"tel\" inputmode=\"tel\" id=\"ff_8_phone\"  aria-invalid='false' aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-2' style='flex-basis: 50%;'><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_8_input_text_1' id='label_ff_8_input_text_1' aria-label=\"Company\">Company<\/label><\/div><div class='ff-el-input--content'><input type=\"text\" name=\"input_text_1\" class=\"ff-el-form-control\" placeholder=\"Your company name\" data-name=\"input_text_1\" id=\"ff_8_input_text_1\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_8_dropdown' id='label_ff_8_dropdown' aria-label=\"Agent Type\">Agent Type<\/label><\/div><div class='ff-el-input--content'><select name=\"dropdown\" id=\"ff_8_dropdown\" class=\"ff-el-form-control\" data-name=\"dropdown\" data-calc_value=\"0\"  aria-invalid=\"false\" aria-required=\"true\" aria-labelledby=\"label_ff_8_dropdown\"><option value=\"\">AI Customer Agents<\/option><option value=\"leadQualify-agent\"  >LeadQualify Agent<\/option><option value=\"clientCare-concierge\"  >ClientCare Concierge<\/option><option value=\"voiceBot-receptionist\"  >VoiceBot Receptionist<\/option><option value=\"data-insights-reporter\"  >Data Insights Reporter<\/option><option value=\"item_1\"  >Other<\/option><\/select><\/div><\/div><div class='ff-el-group has-conditions'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_8_type_of_agent' id='label_ff_8_type_of_agent' aria-label=\"Tell us what type of agent do you want.\">Tell us what type of agent do you want.<\/label><\/div><div class='ff-el-input--content'><textarea aria-required=\"true\" aria-labelledby=\"label_ff_8_type_of_agent\" name=\"type_of_agent\" id=\"ff_8_type_of_agent\" class=\"ff-el-form-control\" rows=\"2\" cols=\"2\" data-name=\"type_of_agent\" ><\/textarea><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_8_dropdown_2' id='label_ff_8_dropdown_2' aria-label=\"Company Size\">Company Size<\/label><\/div><div class='ff-el-input--content'><select name=\"dropdown_2\" id=\"ff_8_dropdown_2\" class=\"ff-el-form-control\" data-name=\"dropdown_2\" data-calc_value=\"0\"  aria-invalid=\"false\" aria-required=\"true\" aria-labelledby=\"label_ff_8_dropdown_2\"><option value=\"\">Select company size<\/option><option value=\"1-10 employees\"  >1-10 employees<\/option><option value=\"11-50 employees\"  >11-50 employees<\/option><option value=\"51-200 employees\"  >51-200 employees<\/option><option value=\"200+ employees\"  >200+ employees<\/option><\/select><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label asterisk-right\"><label for='ff_8_description' id='label_ff_8_description' aria-label=\"Biggest Pain Points\">Biggest Pain Points<\/label><\/div><div class='ff-el-input--content'><textarea aria-required=\"false\" aria-labelledby=\"label_ff_8_description\" name=\"description\" id=\"ff_8_description\" class=\"ff-el-form-control\" placeholder=\"Describe your biggest pain points\" rows=\"10\" cols=\"2\" data-name=\"description\" ><\/textarea><\/div><\/div><div class='ff-el-group    ff-el-input--content'><div class='ff-el-form-check ff-el-tc'><label aria-label='Terms and Conditions: I have read and agree to the Terms and Conditions and Privacy Policy Contains 2 links. Use tab navigation to review.' class='ff-el-form-check-label ff_tc_label' for=terms-n-condition_d5bc808384d5a2a547de3c8ed309d6f6><span class='ff_tc_checkbox'><input type=\"checkbox\" name=\"terms-n-condition\" class=\"ff-el-form-check-input\" data-name=\"terms-n-condition\" id=\"terms-n-condition_d5bc808384d5a2a547de3c8ed309d6f6\"  value='on' aria-invalid='false' aria-required=true><\/span> <div class='ff_t_c'><p>I have read and agree to the <a href=\"https:\/\/haipestudio.com\/terms-of-service\/\" target=\"_blank\" rel=\"noopener\">Terms and Conditions<\/a> and <a href=\"https:\/\/haipestudio.com\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">Privacy Policy<\/a><\/p><\/div><\/label><\/div><\/div><div class='ff-el-group ' style='margin-bottom: 0;'><div class='ff-el-input--content'><div data-fluent_id='8' name='cf-turnstile-response'><div\n\t\tdata-sitekey='0x4AAAAAAClzAtPyv0uj_MqM'\n\t\tdata-theme='auto'\n\t\tid='fluentform-turnstile-8-1'\n\t\tclass='ff-el-turnstile cf-turnstile'\n\t\tdata-appearance='interaction-only'><\/div><\/div><\/div><\/div><div class='ff-el-group ff-text-center ff_submit_btn_wrapper'><button type=\"submit\" class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style\"  aria-label=\"Get my free audit\">Get my free audit<\/button><\/div><\/fieldset><\/form><div id='fluentform_8_errors' class='ff-errors-in-stack ff_form_instance_8_1 ff-form-loading_errors ff_form_instance_8_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_8_1 = {\"id\":\"8\",\"ajaxUrl\":\"https:\\\/\\\/haipestudio.com\\\/wp-admin\\\/admin-ajax.php\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"asteriskPlacement\":\"asterisk-right\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"cssClassName\":\"\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_8_1\",\"form_id_selector\":\"fluentform_8\",\"rules\":{\"input_text\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true},\"email\":{\"value\":true,\"message\":\"This field must contain a valid email\",\"global_message\":\"This field must contain a valid email\",\"global\":true}},\"phone\":{\"required\":{\"value\":true,\"global\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\"},\"valid_phone_number\":{\"value\":true,\"global\":true,\"message\":\"Phone number is not valid\",\"global_message\":\"Phone number is not valid\"}},\"input_text_1\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"dropdown\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"type_of_agent\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"dropdown_2\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"description\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"terms-n-condition\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"cf-turnstile-response\":[]},\"debounce_time\":300,\"conditionals\":{\"type_of_agent\":{\"type\":\"any\",\"status\":true,\"conditions\":[{\"field\":\"dropdown\",\"value\":\"item_1\",\"operator\":\"=\"}],\"condition_groups\":[{\"rules\":[{\"field\":\"\",\"value\":\"\",\"operator\":\"\"}],\"title\":\"\",\"isEditingTitle\":false,\"isPreviewOpen\":false,\"isGroupOpen\":true}]}},\"file_upload_settings\":[]};\n                            <\/script>\n                          <\/div>\n                      <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n<script>\nclass HaipeCustomSelect {\n\tconstructor(element, options = {}) {\n\t\tthis.element = element;\n\t\tthis.options = {\n\t\t\tplaceholder: 'Select...',\n\t\t\tallowCustom: false,\n\t\t\tsearchable: false,\n\t\t\t...options\n\t\t};\n\t\t\n\t\tthis.isOpen = false;\n\t\tthis.selectedValue = '';\n\t\tthis.selectedText = '';\n\t\tthis.selectedValues = []; \/\/ For multiple selection\n\t\tthis.selectedTexts = []; \/\/ For multiple selection\n\t\tthis.isMultiple = this.element.hasAttribute('multiple');\n\t\tthis.originalSelect = null;\n\t\t\n\t\tthis.init();\n\t}\n\t\n\tinit() {\n\t\t\/\/ Store reference to original select\n\t\tthis.originalSelect = this.element;\n\t\t\n\t\t\/\/ Store original options for restoration\n\t\tthis.originalOptions = Array.from(this.originalSelect.options).map(opt => ({\n\t\t\tvalue: opt.value,\n\t\t\ttext: opt.textContent,\n\t\t\tselected: opt.selected\n\t\t}));\n\t\t\n\t\t\/\/ Initialize selected values for multiple select\n\t\tif (this.isMultiple) {\n\t\t\tthis.selectedValues = [];\n\t\t\tthis.selectedTexts = [];\n\t\t\t\n\t\t\t\/\/ Get initially selected options\n\t\t\tArray.from(this.originalSelect.selectedOptions).forEach(option => {\n\t\t\t\tif (option.value && option.value !== '') {\n\t\t\t\t\tthis.selectedValues.push(option.value);\n\t\t\t\t\tthis.selectedTexts.push(option.textContent);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t\n\t\t\/\/ Create custom select structure\n\t\tthis.createCustomSelect();\n\t\t\n\t\t\/\/ Bind events\n\t\tthis.bindEvents();\n\t\t\n\t\t\/\/ Set initial state\n\t\tthis.updateDisplay();\n\t}\n\t\n\tcreateCustomSelect() {\n\t\t\/\/ Store a reference to the original select before any modifications\n\t\tthis.originalSelectElement = this.originalSelect;\n\t\t\n\t\t\/\/ For multiple selects, keep original select visible but hidden from view\n\t\t\/\/ For single selects, hide completely\n\t\tif (this.isMultiple) {\n\t\t\t\/\/ Keep original select accessible but visually hidden\n\t\t\tthis.originalSelect.style.position = 'absolute';\n\t\t\tthis.originalSelect.style.left = '-9999px';\n\t\t\tthis.originalSelect.style.opacity = '0';\n\t\t\tthis.originalSelect.style.pointerEvents = 'none';\n\t\t\tthis.originalSelect.style.zIndex = '-1';\n\t\t} else {\n\t\t\t\/\/ Hide original select completely for single selects\n\t\t\tthis.originalSelect.style.display = 'none';\n\t\t}\n\t\t\n\t\t\/\/ Create wrapper\n\t\tthis.wrapper = document.createElement('div');\n\t\tthis.wrapper.className = 'haipe-custom-select';\n\t\tif (this.isMultiple) {\n\t\t\tthis.wrapper.classList.add('haipe-custom-select--multiple');\n\t\t}\n\t\t\n\t\t\/\/ Create label if original has one\n\t\tif (this.originalSelect.previousElementSibling && \n\t\t\tthis.originalSelect.previousElementSibling.tagName === 'LABEL') {\n\t\t\tconst label = document.createElement('label');\n\t\t\tlabel.className = 'haipe-custom-select__label';\n\t\t\tlabel.textContent = this.originalSelect.previousElementSibling.textContent;\n\t\t\tthis.wrapper.appendChild(label);\n\t\t}\n\t\t\n\t\t\/\/ Create input\n\t\tthis.input = document.createElement('input');\n\t\tthis.input.type = 'text';\n\t\tthis.input.className = 'haipe-custom-select__input';\n\t\tthis.input.placeholder = this.options.placeholder;\n\t\tthis.input.readOnly = true;\n\t\t\n\t\t\/\/ Create selected items container for multiple selection\n\t\tif (this.isMultiple) {\n\t\t\tthis.selectedContainer = document.createElement('div');\n\t\t\tthis.selectedContainer.className = 'haipe-custom-select__selected-container';\n\t\t}\n\t\t\n\t\t\/\/ Check if original select has a placeholder option and set initial display\n\t\tconst hasPlaceholder = this.originalSelect.querySelector('option[value=\"\"]') || \n\t\t\t\t\t\t\t   this.originalSelect.querySelector('option[data-placeholder]') ||\n\t\t\t\t\t\t\t   this.originalSelect.querySelector('option.placeholder-option');\n\t\t\n\t\tif (hasPlaceholder && !this.originalSelect.value) {\n\t\t\tthis.input.value = '';\n\t\t}\n\t\t\n\t\t\/\/ Create chevron icon using existing SVG file\n\t\tthis.chevron = document.createElement('div');\n\t\tthis.chevron.className = 'haipe-custom-select__chevron';\n\t\tthis.chevron.innerHTML = `<svg width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M5.9997 6.99838C5.86636 6.99838 5.74136 6.97738 5.6247 6.93538C5.50803 6.89404 5.3997 6.82338 5.2997 6.72338L0.674696 2.09838C0.491363 1.91504 0.40403 1.68571 0.412696 1.41038C0.420696 1.13571 0.516363 0.906711 0.699696 0.723377C0.883029 0.540044 1.11636 0.448377 1.3997 0.448377C1.68303 0.448377 1.91636 0.540044 2.0997 0.723377L5.9997 4.62338L9.9247 0.698377C10.108 0.515043 10.3374 0.427377 10.6127 0.435377C10.8874 0.444044 11.1164 0.540044 11.2997 0.723377C11.483 0.906711 11.5747 1.14004 11.5747 1.42338C11.5747 1.70671 11.483 1.94004 11.2997 2.12338L6.6997 6.72338C6.5997 6.82338 6.49136 6.89404 6.3747 6.93538C6.25803 6.97738 6.13303 6.99838 5.9997 6.99838Z\" fill=\"#4D5356\"\/>\n<\/svg>\n`;\n\t\t\n\t\t\/\/ Make chevron clickable to toggle dropdown\n\t\tthis.chevron.addEventListener('click', (e) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\t\n\t\t\tif (this.isOpen) {\n\t\t\t\tthis.closeDropdown();\n\t\t\t} else {\n\t\t\t\tthis.openDropdown();\n\t\t\t}\n\t\t});\n\t\t\n\t\t\/\/ Create dropdown\n\t\tthis.dropdown = document.createElement('div');\n\t\tthis.dropdown.className = 'haipe-custom-select__dropdown';\n\t\t\n\t\t\/\/ Create options\n\t\tthis.createOptions();\n\t\t\n\t\t\/\/ Create hint text if original has data-hint\n\t\tif (this.originalSelect.dataset.hint) {\n\t\t\tconst hint = document.createElement('span');\n\t\t\thint.className = 'haipe-custom-select__hint';\n\t\t\thint.textContent = this.originalSelect.dataset.hint;\n\t\t\tthis.wrapper.appendChild(hint);\n\t\t}\n\t\t\n\t\t\/\/ Assemble\n\t\tif (this.isMultiple) {\n\t\t\tthis.wrapper.appendChild(this.selectedContainer);\n\t\t}\n\t\tthis.wrapper.appendChild(this.input);\n\t\tthis.wrapper.appendChild(this.chevron);\n\t\tthis.wrapper.appendChild(this.dropdown);\n\t\t\n\t\t\/\/ Insert after original select\n\t\tthis.originalSelect.parentNode.insertBefore(this.wrapper, this.originalSelect.nextSibling);\n\t}\n\t\n\tcreateOptions() {\n\t\t\/\/ Clear existing options\n\t\tthis.dropdown.innerHTML = '';\n\t\t\n\t\t\/\/ Get options from original select, filtering out placeholder options\n\t\tconst options = Array.from(this.originalSelect.options).filter(option => {\n\t\t\t\/\/ Filter out options that are placeholders (empty value or specific placeholder indicators)\n\t\t\treturn option.value !== '' && \n\t\t\t\t   option.value !== null && \n\t\t\t\t   !option.hasAttribute('data-placeholder') &&\n\t\t\t\t   !option.classList.contains('placeholder-option');\n\t\t});\n\t\t\n\t\toptions.forEach((option, index) => {\n\t\t\tconst optionElement = document.createElement('div');\n\t\t\toptionElement.className = 'haipe-custom-select__option';\n\t\t\toptionElement.textContent = option.textContent;\n\t\t\t\/\/ Store both value and text for better matching\n\t\t\toptionElement.dataset.value = option.value;\n\t\t\toptionElement.dataset.text = option.textContent;\n\t\t\t\n\t\t\tif (option.disabled) {\n\t\t\t\toptionElement.classList.add('haipe-custom-select__option--disabled');\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Check if option is selected (for both single and multiple)\n\t\t\tif (this.isMultiple) {\n\t\t\t\tif (this.selectedValues.includes(option.value) || this.selectedValues.includes(option.textContent)) {\n\t\t\t\t\toptionElement.classList.add('haipe-custom-select__option--selected');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (option.value === this.originalSelect.value) {\n\t\t\t\t\toptionElement.classList.add('haipe-custom-select__option--selected');\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\toptionElement.addEventListener('click', (e) => {\n\t\t\t\tif (!option.disabled) {\n\t\t\t\t\t\/\/ Use the actual option value, not text content\n\t\t\t\t\tthis.selectOption(option.value, option.textContent);\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tthis.dropdown.appendChild(optionElement);\n\t\t});\n\t}\n\t\n\tbindEvents() {\n\t\t\/\/ Input click - toggle dropdown (open if closed, close if open)\n\t\tthis.input.addEventListener('click', (e) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\t\n\t\t\tif (this.isOpen) {\n\t\t\t\tthis.closeDropdown();\n\t\t\t} else {\n\t\t\t\tthis.openDropdown();\n\t\t\t}\n\t\t});\n\t\t\n\t\t\/\/ Removed focus event to prevent conflict with click event\n\t\t\n\t\t\/\/ For multiple select, also make the selected container clickable\n\t\tif (this.isMultiple) {\n\t\t\tthis.selectedContainer.addEventListener('click', (e) => {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\t\n\t\t\t\tif (this.isOpen) {\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t} else {\n\t\t\t\t\tthis.openDropdown();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t\n\t\t\/\/ Disable custom input - only allow selection from dropdown\n\t\t\/\/ Removed custom input functionality to prevent typing\n\t\t\n\t\t\/\/ Click outside to close\n\t\tdocument.addEventListener('click', (e) => {\n\t\t\tconst isInput = e.target === this.input;\n\t\t\tconst isInsideWrapper = this.wrapper && this.wrapper.contains(e.target);\n\t\t\tconst isChevron = e.target === this.chevron || this.chevron.contains(e.target);\n\t\t\tconst isDropdown = e.target === this.dropdown || this.dropdown.contains(e.target);\n\t\t\tconst isSelectedContainer = this.isMultiple && (e.target === this.selectedContainer || this.selectedContainer.contains(e.target));\n\t\t\t\n\t\t\tconst shouldIgnore = isInput || isInsideWrapper || isChevron || isDropdown || isSelectedContainer;\n\t\t\t\n\t\t\tif (!shouldIgnore) {\n\t\t\t\tthis.closeDropdown();\n\t\t\t}\n\t\t});\n\t\t\n\t\t\/\/ Keyboard navigation\n\t\tthis.input.addEventListener('keydown', (e) => {\n\t\t\tswitch (e.key) {\n\t\t\t\tcase 'Enter':\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (this.isOpen) {\n\t\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.openDropdown();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Escape':\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tthis.openDropdown();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Tab':\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\t}\n\t\n\ttoggleDropdown() {\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown();\n\t\t} else {\n\t\t\tthis.openDropdown();\n\t\t}\n\t}\n\t\n\topenDropdown() {\n\t\tif (this.isOpen) return;\n\t\t\n\t\tthis.isOpen = true;\n\t\tthis.dropdown.classList.add('haipe-custom-select__dropdown--open');\n\t\tthis.chevron.classList.add('haipe-custom-select__chevron--open');\n\t\tthis.input.classList.add('ring-2', 'ring-haipe_purple-500\/20');\n\t\t\n\t\t\/\/ Ensure dropdown is visible and positioned correctly\n\t\tthis.dropdown.style.display = 'block';\n\t}\n\t\n\tcloseDropdown() {\n\t\tif (!this.isOpen) return;\n\t\t\n\t\tthis.isOpen = false;\n\t\tthis.dropdown.classList.remove('haipe-custom-select__dropdown--open');\n\t\tthis.chevron.classList.remove('haipe-custom-select__chevron--open');\n\t\tthis.input.classList.remove('ring-2', 'ring-haipe_purple-500\/20');\n\t}\n\t\n\tselectOption(value, text) {\n\t\t\/\/ Don't allow selecting placeholder values\n\t\tif (!value || value === '' || value === null) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif (this.isMultiple) {\n\t\t\t\/\/ Handle multiple selection\n\t\t\t\/\/ Check if value is already selected (by value or text)\n\t\t\tconst optionIndexByValue = this.selectedValues.indexOf(value);\n\t\t\tconst optionIndexByText = this.selectedValues.indexOf(text);\n\t\t\tconst optionIndex = optionIndexByValue > -1 ? optionIndexByValue : optionIndexByText;\n\t\t\t\n\t\t\tif (optionIndex > -1) {\n\t\t\t\t\/\/ Remove if already selected\n\t\t\t\tthis.selectedValues.splice(optionIndex, 1);\n\t\t\t\tthis.selectedTexts.splice(optionIndex, 1);\n\t\t\t} else {\n\t\t\t\t\/\/ Add if not selected - use the actual option value from the original select\n\t\t\t\t\/\/ Find the corresponding option in the original select\n\t\t\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\t\t\tconst originalOption = Array.from(originalSelect.options).find(opt => \n\t\t\t\t\topt.value === value || opt.textContent.trim() === value.trim() || opt.textContent.trim() === text.trim()\n\t\t\t\t);\n\t\t\t\t\n\t\t\t\tif (originalOption) {\n\t\t\t\t\tthis.selectedValues.push(originalOption.value);\n\t\t\t\t\tthis.selectedTexts.push(originalOption.textContent);\n\t\t\t\t} else {\n\t\t\t\t\t\/\/ Fallback to the provided values\n\t\t\t\t\tthis.selectedValues.push(value);\n\t\t\t\t\tthis.selectedTexts.push(text);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Update option visual state\n\t\t\tconst selectedOption = this.dropdown.querySelector(`[data-value=\"${value}\"]`);\n\t\t\tif (selectedOption) {\n\t\t\t\tif (optionIndex > -1) {\n\t\t\t\t\tselectedOption.classList.remove('haipe-custom-select__option--selected');\n\t\t\t\t} else {\n\t\t\t\t\tselectedOption.classList.add('haipe-custom-select__option--selected');\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t\/\/ Handle single selection\n\t\t\tthis.selectedValue = value;\n\t\t\tthis.selectedText = text;\n\t\t\t\n\t\t\t\/\/ Remove selected class from all options\n\t\t\tthis.dropdown.querySelectorAll('.haipe-custom-select__option').forEach(option => {\n\t\t\t\toption.classList.remove('haipe-custom-select__option--selected');\n\t\t\t});\n\t\t\t\n\t\t\t\/\/ Add selected class to the chosen option\n\t\t\tconst selectedOption = this.dropdown.querySelector(`[data-value=\"${value}\"]`);\n\t\t\tif (selectedOption) {\n\t\t\t\tselectedOption.classList.add('haipe-custom-select__option--selected');\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Close dropdown for single selection\n\t\t\tthis.closeDropdown();\n\t\t}\n\t\t\n\t\t\/\/ Update display\n\t\tthis.updateDisplay();\n\t\t\n\t\t\/\/ Update original select\n\t\tthis.updateOriginalSelect();\n\t\t\n\t\t\/\/ Trigger change event\n\t\tthis.triggerChangeEvent();\n\t}\n\t\n\tupdateDisplay() {\n\t\tif (this.isMultiple) {\n\t\t\t\/\/ Handle multiple selection display\n\t\t\tif (this.selectedValues.length > 0) {\n\t\t\t\t\/\/ Clear selected container\n\t\t\t\tthis.selectedContainer.innerHTML = '';\n\t\t\t\t\n\t\t\t\t\/\/ Add selected items as chips\n\t\t\t\tthis.selectedTexts.forEach((text, index) => {\n\t\t\t\t\tconst chip = document.createElement('div');\n\t\t\t\t\tchip.className = 'haipe-custom-select__chip';\n\t\t\t\t\tchip.innerHTML = `\n\t\t\t\t\t\t<span class=\"haipe-custom-select__chip-text\">${text}<\/span>\n\t\t\t\t\t\t<button type=\"button\" class=\"haipe-custom-select__chip-remove\" data-value=\"${this.selectedValues[index]}\">\n\t\t\t\t\t\t\t<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n\t\t\t\t\t\t\t\t<path d=\"M9 3L3 9M3 3L9 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n\t\t\t\t\t\t\t<\/svg>\n\t\t\t\t\t\t<\/button>\n\t\t\t\t\t`;\n\t\t\t\t\t\n\t\t\t\t\t\/\/ Add remove event listener\n\t\t\t\t\tconst removeBtn = chip.querySelector('.haipe-custom-select__chip-remove');\n\t\t\t\t\tremoveBtn.addEventListener('click', (e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tthis.removeSelectedItem(this.selectedValues[index]);\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tthis.selectedContainer.appendChild(chip);\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tthis.input.style.display = 'none';\n\t\t\t\tthis.selectedContainer.classList.add('has-selection');\n\t\t\t} else {\n\t\t\t\tthis.selectedContainer.innerHTML = '';\n\t\t\t\tthis.input.style.display = 'block';\n\t\t\t\tthis.input.value = '';\n\t\t\t\tthis.selectedContainer.classList.remove('has-selection');\n\t\t\t}\n\t\t} else {\n\t\t\t\/\/ Handle single selection display\n\t\t\tif (this.selectedText && this.selectedValue && this.selectedValue !== '') {\n\t\t\t\tthis.input.value = this.selectedText;\n\t\t\t\tthis.input.classList.add('border-haipe_purple-500');\n\t\t\t\tthis.input.classList.remove('placeholder-shown');\n\t\t\t} else {\n\t\t\t\tthis.input.value = '';\n\t\t\t\tthis.input.classList.remove('border-haipe_purple-500');\n\t\t\t\tthis.input.classList.add('placeholder-shown');\n\t\t\t}\n\t\t}\n\t}\n\t\n\tremoveSelectedItem(value) {\n\t\tconst index = this.selectedValues.indexOf(value);\n\t\tif (index > -1) {\n\t\t\tthis.selectedValues.splice(index, 1);\n\t\t\tthis.selectedTexts.splice(index, 1);\n\t\t\t\n\t\t\t\/\/ Update option visual state\n\t\t\tconst selectedOption = this.dropdown.querySelector(`[data-value=\"${value}\"]`);\n\t\t\tif (selectedOption) {\n\t\t\t\tselectedOption.classList.remove('haipe-custom-select__option--selected');\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Update display\n\t\t\tthis.updateDisplay();\n\t\t\t\n\t\t\t\/\/ Update original select\n\t\t\tthis.updateOriginalSelect();\n\t\t\t\n\t\t\t\/\/ Trigger change event\n\t\t\tthis.triggerChangeEvent();\n\t\t}\n\t}\n\t\n\tupdateOriginalSelect() {\n\t\tif (this.isMultiple) {\n\t\t\t\/\/ Use the stored reference to the original select element\n\t\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\t\t\n\t\t\t\/\/ Check if the select has options, if not, restore them\n\t\t\tif (originalSelect.options.length === 0) {\n\t\t\t\tthis.restoreOriginalSelectOptions(originalSelect);\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Clear all selections first\n\t\t\tArray.from(originalSelect.options).forEach(option => {\n\t\t\t\toption.selected = false;\n\t\t\t});\n\t\t\t\n\t\t\t\/\/ Set selected options\n\t\t\tthis.selectedValues.forEach(value => {\n\t\t\t\t\/\/ Try exact match first\n\t\t\t\tlet option = originalSelect.querySelector(`option[value=\"${value}\"]`);\n\t\t\t\t\n\t\t\t\t\/\/ If not found, try to find by text content (trimmed)\n\t\t\t\tif (!option) {\n\t\t\t\t\tconst options = Array.from(originalSelect.options);\n\t\t\t\t\toption = options.find(opt => opt.textContent.trim() === value.trim());\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ If still not found, try to find by value (trimmed)\n\t\t\t\tif (!option) {\n\t\t\t\t\tconst options = Array.from(originalSelect.options);\n\t\t\t\t\toption = options.find(opt => opt.value.trim() === value.trim());\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (option) {\n\t\t\t\t\toption.selected = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\t\/\/ Force trigger change event for multiple select\n\t\t\tconst changeEvent = new Event('change', { bubbles: true });\n\t\t\toriginalSelect.dispatchEvent(changeEvent);\n\t\t\t\n\t\t\t\/\/ Also trigger input event for better compatibility\n\t\t\tconst inputEvent = new Event('input', { bubbles: true });\n\t\t\toriginalSelect.dispatchEvent(inputEvent);\n\t\t\t\n\t\t\t\/\/ Trigger custom event for Fluent Forms\n\t\t\tconst fluentEvent = new CustomEvent('fluentform:field:change', { \n\t\t\t\tbubbles: true, \n\t\t\t\tdetail: { \n\t\t\t\t\tfield: originalSelect,\n\t\t\t\t\tvalue: this.selectedValues \n\t\t\t\t} \n\t\t\t});\n\t\t\toriginalSelect.dispatchEvent(fluentEvent);\n\t\t} else {\n\t\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\t\toriginalSelect.value = this.selectedValue;\n\t\t}\n\t}\n\t\n\trestoreOriginalSelectOptions(originalSelect) {\n\t\t\/\/ Clear existing options first\n\t\toriginalSelect.innerHTML = '';\n\t\t\n\t\t\/\/ Restore from stored original options\n\t\tthis.originalOptions.forEach(optData => {\n\t\t\tconst option = document.createElement('option');\n\t\t\toption.value = optData.value;\n\t\t\toption.textContent = optData.text;\n\t\t\toption.selected = optData.selected;\n\t\t\t\n\t\t\t\/\/ Add to original select\n\t\t\toriginalSelect.appendChild(option);\n\t\t});\n\t}\n\t\n\ttriggerChangeEvent() {\n\t\t\/\/ Create and dispatch change event\n\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\tconst event = new Event('change', { bubbles: true });\n\t\toriginalSelect.dispatchEvent(event);\n\t}\n\t\n\t\/\/ Public methods\n\tsetValue(value) {\n\t\tif (this.isMultiple) {\n\t\t\t\/\/ For multiple select, value should be an array\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\/\/ Clear current selections\n\t\t\t\tthis.selectedValues = [];\n\t\t\t\tthis.selectedTexts = [];\n\t\t\t\t\n\t\t\t\t\/\/ Add new selections\n\t\t\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\t\t\tvalue.forEach(val => {\n\t\t\t\t\tconst option = originalSelect.querySelector(`option[value=\"${val}\"]`);\n\t\t\t\t\tif (option) {\n\t\t\t\t\t\tthis.selectedValues.push(option.value);\n\t\t\t\t\t\tthis.selectedTexts.push(option.textContent);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t\/\/ Update display and original select\n\t\t\t\tthis.updateDisplay();\n\t\t\t\tthis.updateOriginalSelect();\n\t\t\t\tthis.createOptions(); \/\/ Recreate options to update visual state\n\t\t\t}\n\t\t} else {\n\t\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\t\tconst option = originalSelect.querySelector(`option[value=\"${value}\"]`);\n\t\t\tif (option) {\n\t\t\t\tthis.selectOption(option.value, option.textContent);\n\t\t\t}\n\t\t}\n\t}\n\t\n\tgetValue() {\n\t\tif (this.isMultiple) {\n\t\t\treturn this.selectedValues;\n\t\t} else {\n\t\t\treturn this.selectedValue;\n\t\t}\n\t}\n\t\n\tdisable() {\n\t\tthis.input.classList.add('haipe-custom-select__input--disabled');\n\t\tthis.input.disabled = true;\n\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\toriginalSelect.disabled = true;\n\t}\n\t\n\tenable() {\n\t\tthis.input.classList.remove('haipe-custom-select__input--disabled');\n\t\tthis.input.disabled = false;\n\t\tconst originalSelect = this.originalSelectElement || this.originalSelect;\n\t\toriginalSelect.disabled = false;\n\t}\n}\n\n\/\/ Function to wait for element to exist\nfunction waitForElement(selector, callback, maxWaitTime = 10000) {\n\tconst startTime = Date.now();\n\t\n\tfunction checkElement() {\n\t\tconst element = document.querySelector(selector);\n\t\t\n\t\tif (element) {\n\t\t\tcallback(element);\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t\/\/ Check if we've exceeded max wait time\n\t\tif (Date.now() - startTime > maxWaitTime) {\n\t\t\tconsole.warn(`Element ${selector} not found after ${maxWaitTime}ms`);\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t\/\/ Check again in 100ms\n\t\tsetTimeout(checkElement, 100);\n\t}\n\t\n\tcheckElement();\n}\n\n\/\/ Function to initialize custom selects when DOM is ready\ndocument.addEventListener('DOMContentLoaded', function() {\n\tinitializeCustomSelects();\n\tinitializeSuccessMessage();\n\thandleSubjectParameter();\n\tinterceptSubjectLinks();\n\tinterceptFormSubmission();\n});\n\n\/\/ Function to intercept form submission and ensure sync\nfunction interceptFormSubmission() {\n\t\/\/ Listen for form submission\n\tdocument.addEventListener('submit', function(event) {\n\t\tconst form = event.target;\n\t\t\n\t\t\/\/ Check if it's a Fluent Forms form\n\t\tif (form.closest('.fluentform')) {\n\t\t\t\/\/ Force sync all custom selects before submission\n\t\t\tconst customSelects = form.querySelectorAll('select[data-custom-select-initialized=\"true\"]');\n\t\t\tcustomSelects.forEach(select => {\n\t\t\t\tif (select.customSelectInstance) {\n\t\t\t\t\tselect.customSelectInstance.updateOriginalSelect();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, true); \/\/ Use capture phase to intercept before Fluent Forms\n}\n\n\t\/\/ Function to initialize custom selects\nfunction initializeCustomSelects() {\n\t\/\/ Find all select elements in Fluent Forms\n\tconst fluentFormSelects = document.querySelectorAll('.fluentform select');\n\t\n\tfluentFormSelects.forEach(select => {\n\t\t\/\/ Check if it's not already converted\n\t\tif (!select.dataset.customSelectInitialized) {\n\t\t\tselect.dataset.customSelectInitialized = 'true';\n\t\t\t\n\t\t\t\/\/ For multiple selects, completely disable Choices.js\n\t\t\tif (select.hasAttribute('multiple')) {\n\t\t\t\t\/\/ Find and hide all Choices.js related elements\n\t\t\t\tconst choicesContainer = select.closest('.choices');\n\t\t\t\tif (choicesContainer) {\n\t\t\t\t\tchoicesContainer.style.display = 'none';\n\t\t\t\t\tchoicesContainer.style.visibility = 'hidden';\n\t\t\t\t\tchoicesContainer.style.opacity = '0';\n\t\t\t\t\tchoicesContainer.style.position = 'absolute';\n\t\t\t\t\tchoicesContainer.style.left = '-9999px';\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ Also hide any other Choices.js elements that might exist\n\t\t\t\tconst choicesElements = document.querySelectorAll('.choices[data-type*=\"select-multiple\"]');\n\t\t\t\tchoicesElements.forEach(el => {\n\t\t\t\t\tel.style.display = 'none';\n\t\t\t\t\tel.style.visibility = 'hidden';\n\t\t\t\t\tel.style.opacity = '0';\n\t\t\t\t\tel.style.position = 'absolute';\n\t\t\t\t\tel.style.left = '-9999px';\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t\/\/ Ensure the original select is visible for our custom select to work with\n\t\t\t\tselect.style.display = 'block';\n\t\t\t\tselect.style.visibility = 'visible';\n\t\t\t\tselect.style.opacity = '1';\n\t\t\t\tselect.style.position = 'static';\n\t\t\t\tselect.style.left = 'auto';\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Get placeholder text - check for Fluent Forms placeholder or first option if it's a placeholder\n\t\t\tlet placeholderText = select.dataset.placeholder || select.getAttribute('placeholder') || 'Select...';\n\t\t\t\n\t\t\t\/\/ Check if first option is a placeholder (common in Fluent Forms)\n\t\t\tif (select.options[0] && (select.options[0].value === '' || select.options[0].disabled)) {\n\t\t\t\tplaceholderText = select.options[0].textContent;\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Create custom select instance\n\t\t\tconst customSelect = new HaipeCustomSelect(select, {\n\t\t\t\tallowCustom: false,\n\t\t\t\tplaceholder: placeholderText\n\t\t\t});\n\t\t\t\n\t\t\t\/\/ Store reference for potential external access\n\t\t\tselect.customSelectInstance = customSelect;\n\t\t}\n\t});\n}\n\n\t\/\/ Function to initialize custom selects for dynamically added forms\nwindow.initializeHaipeCustomSelects = function() {\n\t\/\/ Wait for Fluent Forms to be ready\n\twaitForElement('.fluentform', function() {\n\t\tconst fluentFormSelects = document.querySelectorAll('.fluentform select:not([data-custom-select-initialized])');\n\t\t\n\t\tfluentFormSelects.forEach(select => {\n\t\t\tselect.dataset.customSelectInitialized = 'true';\n\t\t\t\n\t\t\t\/\/ For multiple selects, completely disable Choices.js\n\t\t\tif (select.hasAttribute('multiple')) {\n\t\t\t\t\/\/ Find and hide all Choices.js related elements\n\t\t\t\tconst choicesContainer = select.closest('.choices');\n\t\t\t\tif (choicesContainer) {\n\t\t\t\t\tchoicesContainer.style.display = 'none';\n\t\t\t\t\tchoicesContainer.style.visibility = 'hidden';\n\t\t\t\t\tchoicesContainer.style.opacity = '0';\n\t\t\t\t\tchoicesContainer.style.position = 'absolute';\n\t\t\t\t\tchoicesContainer.style.left = '-9999px';\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ Also hide any other Choices.js elements that might exist\n\t\t\t\tconst choicesElements = document.querySelectorAll('.choices[data-type*=\"select-multiple\"]');\n\t\t\t\tchoicesElements.forEach(el => {\n\t\t\t\t\tel.style.display = 'none';\n\t\t\t\t\tel.style.visibility = 'hidden';\n\t\t\t\t\tel.style.opacity = '0';\n\t\t\t\t\tel.style.position = 'absolute';\n\t\t\t\t\tel.style.left = '-9999px';\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t\/\/ Ensure the original select is visible for our custom select to work with\n\t\t\t\tselect.style.display = 'block';\n\t\t\t\tselect.style.visibility = 'visible';\n\t\t\t\tselect.style.opacity = '1';\n\t\t\t\tselect.style.position = 'static';\n\t\t\t\tselect.style.left = 'auto';\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Get placeholder text - check for Fluent Forms placeholder or first option if it's a placeholder\n\t\t\tlet placeholderText = select.dataset.placeholder || select.getAttribute('placeholder') || 'Select...';\n\t\t\t\n\t\t\t\/\/ Check if first option is a placeholder (common in Fluent Forms)\n\t\t\tif (select.options[0] && (select.options[0].value === '' || select.options[0].disabled)) {\n\t\t\t\tplaceholderText = select.options[0].textContent;\n\t\t\t}\n\t\t\t\n\t\t\tconst customSelect = new HaipeCustomSelect(select, {\n\t\t\t\tallowCustom: false,\n\t\t\t\tplaceholder: placeholderText\n\t\t\t});\n\t\t\t\n\t\t\tselect.customSelectInstance = customSelect;\n\t\t});\n\t});\n};\n\n\/\/ Listen for Fluent Forms dynamic content\nif (typeof jQuery !== 'undefined') {\n\tjQuery(document).on('fluentform_loaded', function() {\n\t\t\/\/ Wait a bit for the DOM to be fully updated\n\t\tsetTimeout(function() {\n\t\t\twindow.initializeHaipeCustomSelects();\n\t\t\thandleSubjectParameter(); \/\/ Also handle subject parameter for dynamically loaded forms\n\t\t}, 100);\n\t});\n}\n\n\/\/ Function to initialize success message functionality\nfunction initializeSuccessMessage() {\n\t\/\/ Watch for success message appearance\n\tconst observer = new MutationObserver(function(mutations) {\n\t\tmutations.forEach(function(mutation) {\n\t\t\tmutation.addedNodes.forEach(function(node) {\n\t\t\t\tif (node.nodeType === 1 && node.classList && node.classList.contains('ff-message-success')) {\n\t\t\t\t\tsetupSuccessMessage(node);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\t\/\/ Start observing\n\tobserver.observe(document.body, {\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n}\n\n\/\/ Function to setup success message with button functionality\nfunction setupSuccessMessage(successElement) {\n\t\/\/ Find the submit again button\n\tconst submitAgainBtn = successElement.querySelector('#resendFormBtn');\n\t\n\tif (submitAgainBtn) {\n\t\tsubmitAgainBtn.addEventListener('click', function(e) {\n\t\t\te.preventDefault();\n\t\t\t\n\t\t\tconsole.log('Submit Again button clicked');\n\t\t\t\n\t\t\t\/\/ Hide the success message\n\t\t\tsuccessElement.style.display = 'none';\n\t\t\t\n\t\t\t\/\/ Find the form container\n\t\t\tconst formContainer = successElement.closest('.fluentform');\n\t\t\tif (formContainer) {\n\t\t\t\tconsole.log('Form container found:', formContainer);\n\t\t\t\t\n\t\t\t\t\/\/ Remove success state classes that might be hiding the form\n\t\t\t\tformContainer.classList.remove('ff-form-success', 'ff-submission-success');\n\t\t\t\t\n\t\t\t\t\/\/ Try to use Fluent Forms native reset if available\n\t\t\t\tif (window.FluentForm && formContainer.dataset.formId) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst formId = formContainer.dataset.formId;\n\t\t\t\t\t\tconsole.log('Trying Fluent Forms native reset for form ID:', formId);\n\t\t\t\t\t\t\n\t\t\t\t\t\t\/\/ Try to trigger a native reset\n\t\t\t\t\t\tif (window.FluentForm.resetForm) {\n\t\t\t\t\t\t\twindow.FluentForm.resetForm(formId);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.log('Native reset failed:', error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ Check what elements exist in the form container\n\t\t\t\tconst allElements = formContainer.querySelectorAll('*');\n\t\t\t\tconsole.log('All elements in form container:', allElements.length);\n\t\t\t\t\n\t\t\t\t\/\/ Look for hidden elements\n\t\t\t\tconst hiddenElements = formContainer.querySelectorAll('[style*=\"display: none\"], [style*=\"display:none\"], .hidden');\n\t\t\t\tconsole.log('Hidden elements found:', hiddenElements);\n\t\t\t\t\n\t\t\t\t\/\/ Try to find the original form\n\t\t\t\tconst form = formContainer.querySelector('form');\n\t\t\t\tif (form) {\n\t\t\t\t\tconsole.log('Form element found:', form);\n\t\t\t\t\tform.style.display = 'block';\n\t\t\t\t\tform.reset();\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('No form element found');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ Try to show all form-related elements that might be hidden\n\t\t\t\tconst formElements = formContainer.querySelectorAll('.ff-el-form, .ff-el-group, .ff-el-input, .ff_submit_btn_wrapper');\n\t\t\t\tconsole.log('Form elements found:', formElements);\n\t\t\t\t\n\t\t\t\tformElements.forEach(element => {\n\t\t\t\t\tif (element !== successElement) {\n\t\t\t\t\t\tconsole.log('Showing element:', element);\n\t\t\t\t\t\telement.style.display = 'block';\n\t\t\t\t\t\telement.style.visibility = 'visible';\n\t\t\t\t\t\telement.style.opacity = '1';\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t\/\/ Also try to remove any hidden classes\n\t\t\t\tformContainer.querySelectorAll('.hidden, .ff-hidden, .ff-el-hidden').forEach(el => {\n\t\t\t\t\tel.classList.remove('hidden', 'ff-hidden', 'ff-el-hidden');\n\t\t\t\t\tel.style.display = 'block';\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t\/\/ Force show all form elements with important CSS\n\t\t\t\tconst allFormElements = formContainer.querySelectorAll('[class*=\"ff-el-\"]');\n\t\t\t\tallFormElements.forEach(el => {\n\t\t\t\t\tif (el !== successElement && !el.classList.contains('ff-message-success')) {\n\t\t\t\t\t\tel.style.setProperty('display', 'block', 'important');\n\t\t\t\t\t\tel.style.setProperty('visibility', 'visible', 'important');\n\t\t\t\t\t\tel.style.setProperty('opacity', '1', 'important');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t\/\/ Try to trigger a form reset event\n\t\t\t\tconst resetEvent = new Event('reset', { bubbles: true });\n\t\t\t\tif (form) {\n\t\t\t\t\tform.dispatchEvent(resetEvent);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ Alternative: try to reload the form using Fluent Forms events\n\t\t\t\tif (typeof jQuery !== 'undefined') {\n\t\t\t\t\tjQuery(document).trigger('fluentform_reset', [formContainer]);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ Ensure all original select elements are properly hidden\n\t\t\t\tconst allSelects = formContainer.querySelectorAll('select');\n\t\t\t\tallSelects.forEach(select => {\n\t\t\t\t\tif (select.hasAttribute('multiple')) {\n\t\t\t\t\t\t\/\/ For multiple selects, keep accessible but visually hidden\n\t\t\t\t\t\tselect.style.position = 'absolute';\n\t\t\t\t\t\tselect.style.left = '-9999px';\n\t\t\t\t\t\tselect.style.opacity = '0';\n\t\t\t\t\t\tselect.style.pointerEvents = 'none';\n\t\t\t\t\t\tselect.style.zIndex = '-1';\n\t\t\t\t\t\tselect.style.visibility = 'hidden';\n\t\t\t\t\t\tselect.style.display = 'block'; \/\/ Keep in DOM for form submission\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\/\/ For single selects, hide completely\n\t\t\t\t\t\tselect.style.display = 'none';\n\t\t\t\t\t\tselect.style.visibility = 'hidden';\n\t\t\t\t\t\tselect.style.opacity = '0';\n\t\t\t\t\t\tselect.style.position = 'absolute';\n\t\t\t\t\t\tselect.style.left = '-9999px';\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tconsole.log('Form reset completed');\n\t\t\t}\n\t\t});\n\t}\n}\n\n\/\/ Function to intercept subject links and prevent page reload\nfunction interceptSubjectLinks() {\n\t\/\/ Listen for clicks on links with subject parameter\n\tdocument.addEventListener('click', function(event) {\n\t\tconst link = event.target.closest('a[href*=\"subject=\"]');\n\t\t\n\t\tif (link && link.href.includes('subject=')) {\n\t\t\t\/\/ Prevent default link behavior (page reload)\n\t\t\tevent.preventDefault();\n\t\t\t\n\t\t\t\/\/ Extract subject parameter from URL\n\t\t\tconst url = new URL(link.href);\n\t\t\tconst subjectParam = url.searchParams.get('subject');\n\t\t\t\n\t\t\tif (subjectParam) {\n\t\t\t\t\/\/ Update current page URL without reload\n\t\t\t\tupdateUrlParameter('subject', subjectParam);\n\t\t\t\t\n\t\t\t\t\/\/ Scroll to form if there's a hash\n\t\t\t\tif (url.hash) {\n\t\t\t\t\tconst targetElement = document.querySelector(url.hash);\n\t\t\t\t\tif (targetElement) {\n\t\t\t\t\t\ttargetElement.scrollIntoView({ behavior: 'smooth' });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\/\/ Handle subject parameter\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\thandleSubjectParameter();\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t}\n\t});\n}\n\n\/\/ Function to update URL parameter without page reload\nfunction updateUrlParameter(param, value) {\n\tconst currentUrl = new URL(window.location);\n\t\n\tif (value) {\n\t\tcurrentUrl.searchParams.set(param, value);\n\t} else {\n\t\tcurrentUrl.searchParams.delete(param);\n\t}\n\t\n\t\/\/ Update URL without page reload\n\twindow.history.pushState({}, '', currentUrl.toString());\n\t\n\t\/\/ Update data attribute\n\tconst formContent = document.querySelector('.contact-form-block__form-content');\n\tif (formContent) {\n\t\tif (value) {\n\t\t\tformContent.setAttribute('data-subject-param', value);\n\t\t} else {\n\t\t\tformContent.removeAttribute('data-subject-param');\n\t\t}\n\t}\n}\n\n\/\/ Function to handle subject parameter from URL\nfunction handleSubjectParameter() {\n\t\/\/ Find form content with subject parameter\n\tconst formContent = document.querySelector('.contact-form-block__form-content[data-subject-param]');\n\t\n\tif (!formContent) {\n\t\treturn; \/\/ No subject parameter found\n\t}\n\t\n\tconst subjectParam = formContent.getAttribute('data-subject-param');\n\t\n\t\/\/ Wait for FluentForm to be ready and custom selects to be initialized\n\twaitForElement('.fluentform', function() {\n\t\tsetTimeout(function() {\n\t\t\t\/\/ Find all select elements in the form\n\t\t\tconst formSelects = formContent.querySelectorAll('.fluentform select');\n\t\t\t\n\t\t\tformSelects.forEach(function(select) {\n\t\t\t\t\n\t\t\t\t\/\/ Look for select with options that match our subject value\n\t\t\t\tconst options = Array.from(select.options);\n\t\t\t\tconst matchingOption = options.find(option => {\n\t\t\t\t\tconst optionValue = option.value.trim();\n\t\t\t\t\t\n\t\t\t\t\t\/\/ Match only with the option value (exact match)\n\t\t\t\t\treturn optionValue === subjectParam;\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tif (matchingOption && matchingOption.value !== '') {\t\t\t\t\t\n\t\t\t\t\t\/\/ Set the original select value\n\t\t\t\t\tselect.value = matchingOption.value;\n\t\t\t\t\t\n\t\t\t\t\t\/\/ If custom select is already initialized, update it\n\t\t\t\t\tif (select.customSelectInstance) {\n\t\t\t\t\t\tselect.customSelectInstance.setValue(matchingOption.value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\/\/ If not initialized yet, wait a bit and try again\n\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\tif (select.customSelectInstance) {\n\t\t\t\t\t\t\t\tselect.customSelectInstance.setValue(matchingOption.value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\/\/ Trigger change event to notify any other scripts\n\t\t\t\t\tconst changeEvent = new Event('change', { bubbles: true });\n\t\t\t\t\tselect.dispatchEvent(changeEvent);\n\t\t\t\t}\n\t\t\t});\n\t\t}, 200);\n\t});\n}\n\n\/\/ Listen for Fluent Forms events to handle form reset and validation\nif (typeof jQuery !== 'undefined') {\n\tjQuery(document).on('fluentform_submission_completed', function(event, data) {\n\t\t\/\/ Store reference to the form for potential reset\n\t\tif (data && data.form) {\n\t\t\tdata.form.haipeFormData = {\n\t\t\t\toriginalForm: data.form.querySelector('form'),\n\t\t\t\tformElements: data.form.querySelectorAll('.ff-el-form, .ff-el-group')\n\t\t\t};\n\t\t}\n\t});\n\t\n\t\/\/ Listen for form validation events\n\tjQuery(document).on('fluentform_validation_start', function(event, form) {\n\t\t\/\/ Force sync all custom selects before validation\n\t\tconst customSelects = form.querySelectorAll('select[data-custom-select-initialized=\"true\"]');\n\t\tcustomSelects.forEach(select => {\n\t\t\tif (select.customSelectInstance) {\n\t\t\t\tselect.customSelectInstance.updateOriginalSelect();\n\t\t\t}\n\t\t});\n\t});\n\t\n\t\/\/ Listen for field validation\n\tjQuery(document).on('fluentform_field_validation', function(event, field, errors) {\n\t\tif (field.tagName === 'SELECT' && field.hasAttribute('multiple')) {\n\t\t\t\/\/ Check if the field has a custom select instance\n\t\t\tif (field.customSelectInstance) {\n\t\t\t\tconst selectedValues = field.customSelectInstance.getValue();\n\t\t\t\t\n\t\t\t\t\/\/ If we have values but validation fails, force sync\n\t\t\t\tif (selectedValues && selectedValues.length > 0) {\n\t\t\t\t\tfield.customSelectInstance.updateOriginalSelect();\n\t\t\t\t\t\n\t\t\t\t\t\/\/ Trigger validation again\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tjQuery(field).trigger('change');\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":15,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"folder":[],"class_list":["post-23","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/pages\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":0,"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/pages\/23\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/pages\/15"}],"wp:attachment":[{"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/haipestudio.com\/en\/wp-json\/wp\/v2\/folder?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}