{"slug":"a-rival-standard-emerges-for-proving-what-your-agent-is-allowed-to-do","citations":[{"url":"https://decagon.ai/blog/introducing-the-personal-agent-consent-trust-protocol-pact","committed_hash":"sha256:6b4875affd4bb192b37e84ed7cecaab5537c3796c2effc15004f5b98f9b95222","committed_hash_short":"sha256:6b4875af…f9b95222","mime_type":"text/html","committed_at":"2026-10-14T01:00:21.583788+00:00","content_snapshot":"<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Thu Oct 08 2026 21:47:06 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain=\"webflow2.decagon.ai\" data-wf-page=\"683e5da0b6d8a19de4875b7d\" data-wf-site=\"683e5da0b6d8a19de4875ae7\" data-wf-intellimize-customer-id=\"117618409\" lang=\"en\" data-wf-collection=\"683e5da0b6d8a19de4875b7f\" data-wf-item-slug=\"introducing-the-personal-agent-consent-trust-protocol-pact\"><head><meta charset=\"utf-8\"/><link href=\"https://cdn.prod.website-files.com\" rel=\"preconnect\" crossorigin=\"anonymous\"/><title>Introducing the Personal Agent Consent &amp; Trust Protocol (PACT) | Decagon</title><meta content=\"Today, we’re open-sourcing the Personal Agent Consent &amp; Trust Protocol (PACT), co-developed and supported by Instinct.\" name=\"description\"/><meta content=\"Introducing the Personal Agent Consent &amp; Trust Protocol (PACT) | Decagon\" property=\"og:title\"/><meta content=\"Today, we’re open-sourcing the Personal Agent Consent &amp; Trust Protocol (PACT), co-developed and supported by Instinct.\" property=\"og:description\"/><meta content=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail.png\" property=\"og:image\"/><meta content=\"Introducing the Personal Agent Consent &amp; Trust Protocol (PACT) | Decagon\" name=\"twitter:title\"/><meta content=\"Today, we’re open-sourcing the Personal Agent Consent &amp; Trust Protocol (PACT), co-developed and supported by Instinct.\" name=\"twitter:description\"/><meta content=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail.png\" name=\"twitter:image\"/><meta property=\"og:type\" content=\"website\"/><meta content=\"summary_large_image\" name=\"twitter:card\"/><meta content=\"width=device-width, initial-scale=1\" name=\"viewport\"/><meta content=\"Webflow\" name=\"generator\"/><link href=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/css/decagon-staging-2025.webflow.shared.da95ec707.min.css\" rel=\"stylesheet\" type=\"text/css\" integrity=\"sha384-2pXscHZBJeTz+XTf9EvnK5hru+ep9QmUyZXMBWSq+EdI4k1uBSKm48upo17bERVD\" crossorigin=\"anonymous\"/><link href=\"https://fonts.googleapis.com\" rel=\"preconnect\"/><link href=\"https://fonts.gstatic.com\" rel=\"preconnect\" crossorigin=\"anonymous\"/><script src=\"https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js\" type=\"text/javascript\"></script><script type=\"text/javascript\">WebFont.load({  google: {    families: [\"Open Sans:300,300italic,400,400italic,600,600italic,700,700italic,800,800italic\",\"Inter:300,400,500,600,700\"]  }});</script><script type=\"text/javascript\">!function(o,c){var n=c.documentElement,t=\" w-mod-\";n.className+=t+\"js\",(\"ontouchstart\"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+\"touch\")}(window,document);</script><link href=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/683e5da0b6d8a19de4875b5f_favicon.ico\" rel=\"shortcut icon\" type=\"image/x-icon\"/><link href=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/683e5da0b6d8a19de4875b60_webclip.png\" rel=\"apple-touch-icon\"/><link href=\"https://decagon.ai/blog/introducing-the-personal-agent-consent-trust-protocol-pact\" rel=\"canonical\"/><script>\n(function () {\n  var author1Name = \"Harry Gao\";\n  var author2Name = \"Gram Liu\";\n\n  var authors = [];\n\n  if (author1Name && author1Name.trim()) {\n    authors.push({\n      \"@type\": \"Person\",\n      \"name\": author1Name.trim()\n    });\n  }\n\n  if (author2Name && author2Name.trim()) {\n    authors.push({\n      \"@type\": \"Person\",\n      \"name\": author2Name.trim()\n    });\n  }\n\n  var blogSchema = {\n    \"@context\": \"https://schema.org\",\n    \"@type\": \"BlogPosting\",\n    \"mainEntityOfPage\": {\n      \"@type\": \"WebPage\",\n      \"@id\": \"https://decagon.ai/blog/introducing-the-personal-agent-consent-trust-protocol-pact\"\n    },\n    \"headline\": \"Introducing the Personal Agent Consent &amp; Trust Protocol (PACT)\",\n    \"name\": \"Introducing the Personal Agent Consent &amp; Trust Protocol (PACT)\",\n    \"description\": \"Today, we’re open-sourcing the Personal Agent Consent &amp; Trust Protocol (PACT), co-developed and supported by Instinct.\",\n    \"url\": \"https://decagon.ai/blog/introducing-the-personal-agent-consent-trust-protocol-pact\",\n    \"image\": \"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail.png\",\n    \"datePublished\": \"2026-10-06T15:00:00.000Z\",\n    \"dateModified\": \"2026-10-06T19:15:10.839Z\",\n    \"author\": authors,\n    \"publisher\": {\n      \"@type\": \"Organization\",\n      \"name\": \"Decagon\",\n      \"url\": \"https://decagon.ai\",\n      \"logo\": {\n        \"@type\": \"ImageObject\",\n        \"url\": \"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/699c5e4a1c168aaad1872dca_resource-decagon-logo.svg\"\n      }\n    },\n    \"articleSection\": \"Product\",\n    \"inLanguage\": \"en\"\n  };\n\n  var blogScript = document.createElement(\"script\");\n  blogScript.type = \"application/ld+json\";\n  blogScript.text = JSON.stringify(blogSchema);\n  document.head.appendChild(blogScript);\n})();\n</script>\n\n<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"BreadcrumbList\",\n  \"itemListElement\": [\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"name\": \"Home\",\n      \"item\": \"https://decagon.ai\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"name\": \"Blog\",\n      \"item\": \"https://decagon.ai/resources/blog\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"name\": \"Introducing the Personal Agent Consent &amp; Trust Protocol (PACT)\"\n    }\n  ]\n}\n</script><style>.anti-flicker, .anti-flicker * {visibility: hidden !important; opacity: 0 !important;}</style><style>[data-wf-hidden-variation], [data-wf-hidden-variation] * {\n        display: none !important;\n      }</style><script type=\"text/javascript\">localStorage.removeItem('intellimize_opt_out_117618409'); if (localStorage.getItem('intellimize_data_tracking_type') !== 'always') { localStorage.setItem('intellimize_data_tracking_type', 'always'); }</script><script type=\"text/javascript\">(function(e){var s={r:[]};e.wf={r:s.r,ready:t=>{s.r.push(t)}}})(window)</script><script type=\"text/javascript\">(function(e){var s={p:[],r:[]};e.intellimize={p:s.p,r:s.r,push:function(t){s.p.push(t)},ready:function(t){s.r.push(t)}}})(window)</script><script type=\"text/javascript\">(function(t,p){var n=document.documentElement;n.className+=\" \"+p,setTimeout(function(){n.className=n.className.replace(RegExp(\" ?\"+p),\"\")},t)})(4000, 'anti-flicker')</script><link href=\"https://cdn.intellimize.co/snippet/117618409.js\" rel=\"preload\" as=\"script\"/><script type=\"text/javascript\">var wfClientScript=document.createElement(\"script\");wfClientScript.src=\"https://cdn.intellimize.co/snippet/117618409.js\",wfClientScript.async=!0,wfClientScript.onerror=function(){document.documentElement.className=document.documentElement.className.replace(RegExp(\" ?anti-flicker\"),\"\")},document.head.appendChild(wfClientScript);</script><link href=\"https://api.intellimize.co\" rel=\"preconnect\" crossorigin=\"true\"/><link href=\"https://log.intellimize.co\" rel=\"preconnect\" crossorigin=\"true\"/><link href=\"https://117618409.intellimizeio.com\" rel=\"preconnect\"/><style>\n.chat_settings-loader-wrapper,\n.chat_settings-options {\n  display: none;\n}\n</style>\n\n<!-- Navbar scoll, bg-->\n <script defer>\n    document.addEventListener(\"DOMContentLoaded\", function () {\n      const header = document.querySelector(\".header\");\n      if (!header) return; // Проверка на существование элемента\n\n      function onScroll() {\n        if (window.scrollY > 0) {\n          header.classList.add(\"scrolled\");\n        } else {\n          header.classList.remove(\"scrolled\");\n        }\n      }\n\n      window.addEventListener(\"scroll\", onScroll);\n      onScroll(); // Проверка при загрузке страницы\n    });\n  </script>\n  \n  <!-- Google Tag Manager -->\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n})(window,document,'script','dataLayer','GTM-KGGJWVL8');</script>\n<!-- End Google Tag Manager -->\n\n<script>!function(){var e=[\"identify\",\"page\",\"startAutoPage\",\"stopAutoPage\",\"startAutoIdentify\",\"stopAutoIdentify\"];function t(o){return Object.assign([],e.reduce(function(r,n){return r[n]=function(){return o.push([n,[].slice.call(arguments)]),o},r},{}))}window.unify||(window.unify=t(window.unify)),window.unifyBrowser||(window.unifyBrowser=t(window.unifyBrowser));var n=document.createElement(\"script\");n.async=!0,n.setAttribute(\"src\",\"https://tag.unifyintent.com/v1/Vk7B6gLexcTQRCkuqpsnpy/script.js\"),n.setAttribute(\"data-api-key\",\"wk_eKTv2FTb_7g5EijF7NTMiXHBRPs6wzzUk2Y6mZppj\"),n.setAttribute(\"id\",\"unifytag\"),(document.body||document.head).appendChild(n)}();</script>\n\n<script defer src=\"//analytics.roadwayai.com/tag.js\"></script>\n\n<script async src=\"https://analytics.sayprimer.com/primerAnalytics.js?clientId=9c48092b-f2f6-461f-9648-e0c6fd55a681\"></script>\n\n<!-- Meta Pixel Code -->\n<script>\n!function(f,b,e,v,n,t,s)\n{if(f.fbq)return;n=f.fbq=function(){n.callMethod?\nn.callMethod.apply(n,arguments):n.queue.push(arguments)};\nif(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\nn.queue=[];t=b.createElement(e);t.async=!0;\nt.src=v;s=b.getElementsByTagName(e)[0];\ns.parentNode.insertBefore(t,s)}(window, document,'script',\n'https://connect.facebook.net/en_US/fbevents.js');\nfbq('init', '1596965764728493');\nfbq('track', 'PageView');\n</script>\n<noscript><img height=\"1\" width=\"1\" style=\"display:none\"\nsrc=\"https://www.facebook.com/tr?id=1596965764728493&ev=PageView&noscript=1\"\n/></noscript>\n<!-- End Meta Pixel Code -->\n\n<!-- X conversion tracking base code -->\n<script>\n!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);\n},s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js',\na=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');\ntwq('config','rbn1l');\n</script>\n<!-- End X conversion tracking base code -->\n\n<!-- Podscribe view pixel -->\n<script>\n(function (w, d) {\n    var id = 'podscribe-capture',\n    n = 'script';\n    var e = d.createElement(n);\n    e.id = id;\n    e.async = true;\n    e.src = 'https://d34r8q7sht0t9k.cloudfront.net/tag.js';\n    var s = d.getElementsByTagName(n)[0];\n    s.parentNode.insertBefore(e, s);\n    e.addEventListener('load', function() {\n      w.podscribe('init', { user_id: '64788448-20d1-708d-af8e-3a18f58a3bf2', advertiser: 'decagonai' });\n      w.podscribe('view'); \n    })\n  })(window, document);\n</script>\n<!-- /Podscribe view pixel -->\n\n<script>\n\t!function(e,t){if(e.__dft_ran)return;e.__dft_ran=!0;e.__defaultPixel__=e.__defaultPixel__||{},e.__defaultPixel__.key=\"d07c868e-a058-4f50-979d-1a66c586ed83\",e.__defaultPixel__.q=e.__defaultPixel__.q||[],e.__defaultPixel__.setConsent=e.__defaultPixel__.setConsent||function(c){e.__defaultPixel__.q.push([\"setConsent\",c])};!function e(o){o=o||1;var n=t.createElement(\"script\");n.async=!0,n.src=\"https://handshake.default.com/index.js\",n.onload=function(){console.log(\"[Pixel] Script loaded successfully\"+(o>1?\" after \"+o+\" attempts\":\"\"))},n.onerror=function(){console.warn(\"[Pixel] Failed to load script (attempt \"+o+\"/3)\"),o<3?setTimeout((function(){e(o+1)}),2e3*o):(window.__dft_ran=!1,console.error(\"[Pixel] Script failed to load after 3 attempts\"))},t.head.appendChild(n)}()}(window,document);\n</script>\n\n<script>\n  window.oaiq = window.oaiq || function () {\n    (window.oaiq.q = window.oaiq.q || []).push(arguments);\n  };\n  oaiq(\"init\", { pixelId: \"Fp2s6LtxnRiKKFz5zm4CRE\" });\n</script>\n<script async src=\"https://bzrcdn.openai.com/sdk/oaiq.min.js\"></script>\n\n<!-- Marker Script -->\n<script>\n  if (window.location.hostname === \"decagon-staging-2025.webflow.io\") {\n    window.markerConfig = {\n      project: \"6a0cbc7c7786a1d2ab483230\",\n      source: \"snippet\"\n    };\n\n    !function(e, r, a) {\n      if (!e.__Marker) {\n        e.__Marker = {};\n        var t = [],\n          n = { __cs: t };\n\n        [\n          \"show\",\n          \"hide\",\n          \"isVisible\",\n          \"capture\",\n          \"cancelCapture\",\n          \"unload\",\n          \"reload\",\n          \"isExtensionInstalled\",\n          \"setReporter\",\n          \"clearReporter\",\n          \"setCustomData\",\n          \"on\",\n          \"off\"\n        ].forEach(function(e) {\n          n[e] = function() {\n            var r = Array.prototype.slice.call(arguments);\n            r.unshift(e);\n            t.push(r);\n          };\n        });\n\n        e.Marker = n;\n\n        var s = r.createElement(\"script\");\n        s.async = 1;\n        s.src = \"https://edge.marker.io/latest/shim.js\";\n\n        var i = r.getElementsByTagName(\"script\")[0];\n        i.parentNode.insertBefore(s, i);\n      }\n    }(window, document);\n  }\n</script>\n\n<script>\n  window.oaiq = window.oaiq || function () {\n    (window.oaiq.q = window.oaiq.q || []).push(arguments);\n  };\n  oaiq(\"init\", { pixelId: \"Fp2s6LtxnRiKKFz5zm4CRE\" });\n</script>\n<script async src=\"https://bzrcdn.openai.com/sdk/oaiq.min.js\"></script>\n\n<!--MNTN Tracking Pixel-->\n<!-- INSTALL ON ALL PAGES OF SITE-->\n<script type=\"text/javascript\">\n\t(function(){\"use strict\";var e=null,b=\"4.0.0\",\n\tn=\"67909\",\n\tadditional=\"term=value\",\n\tt,r,i;try{t=top.document.referer!==\"\"?encodeURIComponent(top.document.referrer.substring(0,2048)):\"\"}catch(o){t=document.referrer!==null?document.referrer.toString().substring(0,2048):\"\"}try{r=window&&window.top&&document.location&&window.top.location===document.location?document.location:window&&window.top&&window.top.location&&\"\"!==window.top.location?window.top.location:document.location}catch(u){r=document.location}try{i=parent.location.href!==\"\"?encodeURIComponent(parent.location.href.toString().substring(0,2048)):\"\"}catch(a){try{i=r!==null?encodeURIComponent(r.toString().substring(0,2048)):\"\"}catch(f){i=\"\"}}var l,c=document.createElement(\"script\"),h=null,p=document.getElementsByTagName(\"script\"),d=Number(p.length)-1,v=document.getElementsByTagName(\"script\")[d];if(typeof l===\"undefined\"){l=Math.floor(Math.random()*1e17)}h=\"dx.mountain.com/spx?\"+\"dxver=\"+b+\"&shaid=\"+n+\"&tdr=\"+t+\"&plh=\"+i+\"&cb=\"+l+additional;c.type=\"text/javascript\";c.src=(\"https:\"===document.location.protocol?\"https://\":\"http://\")+h;v.parentNode.insertBefore(c,v)})()\n</script><META NAME=\"robots\" CONTENT=\"index\">\n\n<!-- Twitter card metadata -->\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n<meta name=\"twitter:title\" content=\"Introducing the Personal Agent Consent &amp; Trust Protocol (PACT)\">\n<meta name=\"twitter:description\" content=\"Today, we’re open-sourcing the Personal Agent Consent &amp; Trust Protocol (PACT), co-developed and supported by Instinct.\">\n<meta name=\"twitter:image\" content=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail.png\">\n\n\n<!-- Finsweet Attributes v2 (self-hosted) -->\n<script async type=\"module\"\n  src=\"https://storage.googleapis.com/decagon-public-assets/marketing/finsweet/attributes.js\"\n  fs-toc\n  fs-socialshare\n></script>\n\n<script>\n(function () {\n  var externalLink = \"\";\n  if (externalLink && externalLink.trim() !== \"\") {\n    window.location.replace(externalLink);\n  }\n})();\n</script>\n</head><body><div class=\"page-wrapper cl--background-color-tertiary\"><div class=\"styles\"><div class=\"global-styles w-embed\"><style>\n\n  /* Scrollbar on video popup */\n  html{\n  \tscrollbar-gutter: stable;\n  }\n\n  /* Make text look crisper and more legible in all browsers */\n  body {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    font-smoothing: antialiased;\n    text-rendering: optimizeLegibility;\n  }\n\n  /* Focus state style for keyboard navigation for the focusable elements */\n  *[tabindex]:focus-visible,\n    input[type=\"file\"]:focus-visible {\n     outline: 0.125rem solid #4d65ff;\n     outline-offset: 0.125rem;\n  }\n\n  /* Get rid of top margin on first element in any rich text element */\n  .w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {\n    margin-top: 0 !important;\n  }\n\n  /* Get rid of bottom margin on last element in any rich text element */\n  .w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {\n  \tmargin-bottom: 0 !important;\n  }\n\n  /* Create a class of .div-square which maintains a 1:1 dimension of a div */\n  .div-square::after {\n  \tcontent: \"\";\n  \tdisplay: block;\n  \tpadding-bottom: 100%;\n  }\n\n  /* Make sure containers never lose their center alignment */\n  .container-medium,.container-small, .container-large, .container-huge {\n  \tmargin-right: auto !important;\n    margin-left: auto !important;\n  }\n\n  /*\n  Make the following elements inherit typography styles from the parent and not have hardcoded values.\n  Important: You will not be able to style for example \"All Links\" in Designer with this CSS applied.\n  Uncomment this CSS to use it in the project. Leave this message for future hand-off.\n  */\n  /*\n  a,\n  .w-input,\n  .w-select,\n  .w-tab-link,\n  .w-nav-link,\n  .w-dropdown-btn,\n  .w-dropdown-toggle,\n  .w-dropdown-link {\n    color: inherit;\n    text-decoration: inherit;\n    font-size: inherit;\n  }\n  */\n\n  /* Apply \"...\" after 3 lines of text */\n  .ts-3lines {\n  \tdisplay: -webkit-box;\n  \toverflow: hidden;\n  \t-webkit-line-clamp: 3;\n  \t-webkit-box-orient: vertical;\n  }\n\n  /* Apply \"...\" after 2 lines of text */\n  .ts-2lines {\n  \tdisplay: -webkit-box;\n  \toverflow: hidden;\n  \t-webkit-line-clamp: 2;\n  \t-webkit-box-orient: vertical;\n  }\n  /* Apply \"...\" after 1 lines of text */\n  .ts-1line {\n  \tdisplay: -webkit-box;\n  \toverflow: hidden;\n  \t-webkit-line-clamp: 1;\n  \t-webkit-box-orient: vertical;\n  }\n  /* Adds inline flex display */\n  .display-inlineflex {\n    display: inline-flex;\n  }\n\n  /* These classes are never overwritten */\n  .hide {\n    display: none !important;\n  }\n\n  @media screen and (max-width: 991px),\n    @media screen and (max-width: 767px),\n    @media screen and (max-width: 479px){\n      .hide, .hide-tablet{\n        display: none !important;\n      }\n    }\n    @media screen and (max-width: 767px)\n      .hide-mobile-landscape{\n        display: none !important;\n      }\n    }\n    @media screen and (max-width: 479px)\n      .hide-mobile{\n        display: none !important;\n      }\n    }\n\n  /* Removes native scrollbar */\n  .no-scrollbar,\n  [data-scrollbar=\"none\"] {\n      -ms-overflow-style: none;  /* For Internet Explorer and Edge */\n      overflow: -moz-scrollbars-none; /* For Firefox */\n  }\n\n  .no-scrollbar::-webkit-scrollbar,\n  [data-scrollbar=\"none\"]::-webkit-scrollbar {\n      display: none; /* For Chrome, Safari, and Opera */\n  }\n\n  /*BUTTON .IS-LINK HOVER STATE*/\n  .button.is-link .icon-regular,\n  .button.is-link-white .icon-regular {\n    transition: transform 0.3s ease;\n  }\n\n  .button.is-link:hover .icon-regular,\n  .button.is-link-white:hover .icon-regular {\n    transform: translateX(4px);\n  }\n\n  a.button .icon-regular {\n    transition: transform 0.3s ease;\n  }\n\n  a.button:hover .icon-regular {\n    transform: translateX(4px);\n  }\n\n  /* ===== Published site (NOT Designer/Editor) ===== */\n  /* Hide elements that should only show after submit */\n  html:not(.wf-design-mode):not(.w-editor) [dc-form-action=\"show\"] {\n    display: none;\n  }\n\n  /* ===== Designer/Editor Position Context ===== */\n  html.wf-design-mode [dc-form-action],\n  .w-editor [dc-form-action] {\n    position: relative;\n  }\n\n  /* ===== Dashed Outline (instead of gray overlay) ===== */\n  html.wf-design-mode [dc-form-action=\"show\"],\n  .w-editor [dc-form-action=\"show\"] {\n    outline: 2px dashed rgba(220, 38, 38, 0.8); /* red outline for show */\n    outline-offset: 4px;\n  }\n\n  html.wf-design-mode [dc-form-action=\"hide\"],\n  .w-editor [dc-form-action=\"hide\"] {\n    outline: 2px dashed rgba(37, 99, 235, 0.8); /* blue outline for hide */\n    outline-offset: 4px;\n  }\n\n\n  /* ===== Base Overlay Label Style ===== */\n  html.wf-design-mode [dc-form-action]::after,\n  .w-editor [dc-form-action]::after {\n    pointer-events: none;\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    z-index: 9999;\n    padding: 6px 10px;\n    border-radius: 6px;\n    font: 600 12px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n    text-align: center;\n    max-width: 80%;\n    white-space: normal;\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\n    color: #1f2937; /* dark gray text for softer look */\n    backdrop-filter: blur(4px);\n  }\n\n  /* ===== Specific Messaging ===== */\n  html.wf-design-mode [dc-form-action=\"show\"]::after,\n  .w-editor [dc-form-action=\"show\"]::after {\n    background: rgba(220, 38, 38, 0.45); /* soft red */\n    border: 1px solid rgba(185, 28, 28, 0.6);\n    content: \"This element is controlled by dc-form-action=show — hidden on published site, becomes visible after successful form submission or if the course form is already filled.\";\n  }\n\n  html.wf-design-mode [dc-form-action=\"hide\"]::after,\n  .w-editor [dc-form-action=\"hide\"]::after {\n    background: rgba(37, 99, 235, 0.45); /* soft blue */\n    border: 1px solid rgba(30, 58, 138, 0.6);\n  \tcontent: \"This element is controlled by dc-form-action=hide — visible on published site, gets hidden after successful form submission or if the course form is already filled.\";\n  }\n\n  /* ===== Globla directions (Margin) ===== */\n\n  .margin-top {\n    margin-right: 0rem !important;\n    margin-bottom: 0rem !important;\n    margin-left: 0rem !important;\n  }\n\n  /* CL Margin Top */\n\n  .cl--margin-top {\n    margin-right: 0rem !important;\n    margin-bottom: 0rem !important;\n    margin-left: 0rem !important;\n  }\n\n  .margin-right {\n    margin-top: 0rem !important;\n    margin-bottom: 0rem !important;\n    margin-left: 0rem !important;\n  }\n\n  .margin-bottom {\n    margin-top: 0rem !important;\n    margin-right: 0rem !important;\n    margin-left: 0rem !important;\n  }\n\n  .margin-left {\n    margin-top: 0rem !important;\n    margin-right: 0rem !important;\n    margin-bottom: 0rem !important;\n  }\n\n    .heading_wrap h1,\n    .heading_wrap h2,\n    .heading_wrap h3,\n    .heading_wrap h4,\n    .heading_wrap h5,\n    .heading_wrap h6,\n    .heading_wrap p,\n    .heading_wrap blockquote,\n    .heading_wrap label,\n    .eyebrow_text_optional h1,\n    .eyebrow_text_optional h2,\n    .eyebrow_text_optional h3,\n    .eyebrow_text_optional h4,\n    .eyebrow_text_optional h5,\n    .eyebrow_text_optional h6,\n    .eyebrow_text_optional p,\n    .eyebrow_text_optional blockquote,\n    .eyebrow_text_optional label{\n      font-family: inherit;\n      font-size: inherit;\n      font-weight: inherit;\n      line-height: inherit;\n      letter-spacing: inherit;\n      text-transform: inherit;\n      color: inherit;\n      text-wrap: inherit;\n      margin-top: 0;\n      margin-bottom: 0;\n    }\n\n\n    /* Number Attributes */\n    [data-number=\"-1\"] {\n      --number: initial;\n    }\n\n    [data-number=\"0\"] {\n      --number: 0;\n    }\n\n    [data-number=\"1\"] {\n      --number: 1\n    }\n\n    [data-number=\"2\"] {\n      --number: 2\n    }\n\n    [data-number=\"3\"] {\n      --number: 3\n    }\n\n    [data-number=\"4\"] {\n      --number: 4\n    }\n\n    [data-number=\"5\"] {\n      --number: 5\n    }\n\n    [data-number=\"6\"] {\n      --number: 6\n    }\n\n    [data-number=\"7\"] {\n      --number: 7\n    }\n\n    [data-number=\"8\"] {\n      --number: 8\n    }\n\n    [data-number=\"9\"] {\n      --number: 9\n    }\n\n    [data-number=\"10\"] {\n      --number: 10\n    }\n\n    [data-number=\"11\"] {\n      --number: 11\n    }\n\n    [data-number=\"12\"] {\n      --number: 12\n    }\n\n    [data-number=\"13\"] {\n      --number: 13\n    }\n\n    [data-number=\"14\"] {\n      --number: 14\n    }\n\n    [data-number=\"15\"] {\n      --number: 15\n    }\n\n    [data-number=\"16\"] {\n      --number: 16\n    }\n\n    [data-number=\"17\"] {\n      --number: 17\n    }\n\n    [data-number=\"18\"] {\n      --number: 18\n    }\n\n    [data-number=\"19\"] {\n      --number: 19\n    }\n\n    [data-number=\"20\"] {\n      --number: 20\n    }\n\n    [data-number=\"21\"] {\n      --number: 21\n    }\n\n    [data-number=\"22\"] {\n      --number: 22\n    }\n\n    [data-number=\"23\"] {\n      --number: 23\n    }\n\n    [data-number=\"24\"] {\n      --number: 24\n    }\n\n    [data-number=\"25\"] {\n      --number: 25\n    }\n\n    [data-number=\"26\"] {\n      --number: 26\n    }\n\n    [data-number=\"27\"] {\n      --number: 27\n    }\n\n    [data-number=\"28\"] {\n      --number: 28\n    }\n\n    [data-number=\"29\"] {\n      --number: 29\n    }\n\n    [data-number=\"30\"] {\n      --number: 30\n    }\n\n    [data-number=\"31\"] {\n      --number: 31\n    }\n\n    [data-number=\"32\"] {\n      --number: 32\n    }\n\n    [data-number=\"33\"] {\n      --number: 33\n    }\n\n    [data-number=\"34\"] {\n      --number: 34\n    }\n\n    [data-number=\"35\"] {\n      --number: 35\n    }\n\n    [data-number=\"36\"] {\n      --number: 36\n    }\n\n    [data-number=\"37\"] {\n      --number: 37\n    }\n\n    [data-number=\"38\"] {\n      --number: 38\n    }\n\n    [data-number=\"39\"] {\n      --number: 39\n    }\n\n    [data-number=\"40\"] {\n      --number: 40\n    }\n\n    [data-number=\"41\"] {\n      --number: 41\n    }\n\n    [data-number=\"42\"] {\n      --number: 42\n    }\n\n    [data-number=\"43\"] {\n      --number: 43\n    }\n\n    [data-number=\"44\"] {\n      --number: 44\n    }\n\n    [data-number=\"45\"] {\n      --number: 45\n    }\n\n    [data-number=\"46\"] {\n      --number: 46\n    }\n\n    [data-number=\"47\"] {\n      --number: 47\n    }\n\n    [data-number=\"48\"] {\n      --number: 48\n    }\n\n    [data-number=\"49\"] {\n      --number: 49\n    }\n\n    [data-number=\"50\"] {\n      --number: 50\n    }\n\n    [data-number=\"51\"] {\n      --number: 51\n    }\n\n    [data-number=\"52\"] {\n      --number: 52\n    }\n\n    [data-number=\"53\"] {\n      --number: 53\n    }\n\n    [data-number=\"54\"] {\n      --number: 54\n    }\n\n    [data-number=\"55\"] {\n      --number: 55\n    }\n\n    [data-number=\"56\"] {\n      --number: 56\n    }\n\n    [data-number=\"57\"] {\n      --number: 57\n    }\n\n    [data-number=\"58\"] {\n      --number: 58\n    }\n\n    [data-number=\"59\"] {\n      --number: 59\n    }\n\n    [data-number=\"60\"] {\n      --number: 60\n    }\n\n    [data-number=\"61\"] {\n      --number: 61\n    }\n\n    [data-number=\"62\"] {\n      --number: 62\n    }\n\n    [data-number=\"63\"] {\n      --number: 63\n    }\n\n    [data-number=\"64\"] {\n      --number: 64\n    }\n\n    [data-number=\"65\"] {\n      --number: 65\n    }\n\n    [data-number=\"66\"] {\n      --number: 66\n    }\n\n    [data-number=\"67\"] {\n      --number: 67\n    }\n\n    [data-number=\"68\"] {\n      --number: 68\n    }\n\n    [data-number=\"69\"] {\n      --number: 69\n    }\n\n    [data-number=\"70\"] {\n      --number: 70\n    }\n\n    [data-number=\"71\"] {\n      --number: 71\n    }\n\n    [data-number=\"72\"] {\n      --number: 72\n    }\n\n    [data-number=\"73\"] {\n      --number: 73\n    }\n\n    [data-number=\"74\"] {\n      --number: 74\n    }\n\n    [data-number=\"75\"] {\n      --number: 75\n    }\n\n    [data-number=\"76\"] {\n      --number: 76\n    }\n\n    [data-number=\"77\"] {\n      --number: 77\n    }\n\n    [data-number=\"78\"] {\n      --number: 78\n    }\n\n    [data-number=\"79\"] {\n      --number: 79\n    }\n\n    [data-number=\"80\"] {\n      --number: 80\n    }\n\n    [data-number=\"81\"] {\n      --number: 81\n    }\n\n    [data-number=\"82\"] {\n      --number: 82\n    }\n\n    [data-number=\"83\"] {\n      --number: 83\n    }\n\n    [data-number=\"84\"] {\n      --number: 84\n    }\n\n    [data-number=\"85\"] {\n      --number: 85\n    }\n\n    [data-number=\"86\"] {\n      --number: 86\n    }\n\n    [data-number=\"87\"] {\n      --number: 87\n    }\n\n    [data-number=\"88\"] {\n      --number: 88\n    }\n\n    [data-number=\"89\"] {\n      --number: 89\n    }\n\n    [data-number=\"90\"] {\n      --number: 90\n    }\n\n    [data-number=\"91\"] {\n      --number: 91\n    }\n\n    [data-number=\"92\"] {\n      --number: 92\n    }\n\n    [data-number=\"93\"] {\n      --number: 93\n    }\n\n    [data-number=\"94\"] {\n      --number: 94\n    }\n\n    [data-number=\"95\"] {\n      --number: 95\n    }\n\n    [data-number=\"96\"] {\n      --number: 96\n    }\n\n    [data-number=\"97\"] {\n      --number: 97\n    }\n\n    [data-number=\"98\"] {\n      --number: 98\n    }\n\n    [data-number=\"99\"] {\n      --number: 99\n    }\n\n    [data-number=\"100\"] {\n      --number: 100\n    }\n     .embed_quote_content{\n      margin-bottom: var(--_cl-sizes---spacing--medium);\n    }\n</style></div><div class=\"project-styles w-embed\"><style>\n  .button:hover .button-arrow {\n    transform: translateX(2px);\n  }\n\n  .button.is-back:hover .button-arrow-back {\n    transform: translateX(-2px);\n  }\n\n  .button-circle:hover .circle {\n    background-color: rgba(87, 84, 255, 0.1);\n  }\n\n  .text-rich-text p,\n  .text-rich-text h2,\n  .text-rich-text h3,\n  .text-rich-text h4,\n  .text-rich-text h5,\n  .text-rich-text h6,\n  .text-rich-text ul,\n  .text-rich-text ol,\n  .text-rich-text blockquote {\n    max-width: 43.75rem;\n    width: 100%;\n    margin-right: auto;\n  }\n\n  .content-rich-text h1,\n  .content-rich-text h2,\n  .content-rich-text h3,\n  .content-rich-text h4,\n  .content-rich-text h5,\n  .content-rich-text h6,\n  .content-rich-text p,\n  .content-rich-text blockquote,\n  .content-rich-text label {\n    font-family: inherit;\n    font-size: inherit;\n    font-weight: inherit;\n    line-height: inherit;\n    letter-spacing: inherit;\n    text-transform: inherit;\n    text-wrap: inherit;\n    margin-top: 0;\n    margin-bottom: 0;\n    color: inherit;\n  }\n\n  .dots-background {\n    background-image: radial-gradient(circle 2px at 10px 10px, hsla(0, 0%, 0%, 0.015) 2px, transparent 2.5px), radial-gradient(circle 2px at 10px 10px, hsla(0, 0%, 0%, 0.015) 2px, transparent 2.5px);\n    background-size: 20px 20px;\n  }\n\n  .text-rich-text ol ul {\n    list-style-type: disc;\n    /* Solid circle for sub-items */\n    padding-left: 30px;\n    /* Indentation for nested list */\n  }\n\n  .gradient-bg_1 {\n    background: var(--_colors---background--prismic-gradient);\n  }\n\n  /*ACORDION TITLE GRADIENTS*/\n  .is-purple-gradient {\n    background: linear-gradient(90deg, #d499fe 0%, #5754ff 50%, #4eebf3 100%);\n    background-clip: text;\n    -webkit-background-clip: text;\n    color: transparent;\n    -webkit-text-fill-color: transparent;\n  }\n\n  .is-cyan-gradient {\n    background: linear-gradient(90deg, #4eebf3 0%, #087277 40%, #004e7c 70%, #5754ff 100%);\n    background-clip: text;\n    -webkit-background-clip: text;\n    color: transparent;\n    -webkit-text-fill-color: transparent;\n  }\n\n  .is-orange-gradient {\n    background: conic-gradient(from -8deg at 14.03% -91.07%, #0b7da2 0deg, var(--Prism-Purple--1, #5754ff) 72.0000010728836deg, var(--Prism-Orange-0, #ff6f22) 251.99999570846558deg, var(--Prism-Grey-0, #e0e1e0) 306.00000858306885deg, var(--Prism-Cyan-0, #89f1f7) 331.2000060081482deg);\n    background-clip: text;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n  }\n\n  .product-hero_gradient {\n    background: linear-gradient(90deg, #7a7dff, #b184f5, #e4a2b8);\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n  }\n\n  .text-gradient-custom-1 {\n    background: radial-gradient(129.66% 103.48% at 39.03% 110.11%, rgba(255, 111, 34, 0.8) 0%, rgba(161, 120, 234, 0.8) 58.97%, rgba(87, 84, 255, 0.8) 100%);\n    background-clip: text;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n  }\n\n  .text-gradient-custom-2 {\n    background: linear-gradient(90deg, #5f6bff 0%, #a080f8 60%, #f08aae 100%);\n    background-clip: text;\n    -webkit-background-clip: text;\n    color: transparent;\n    -webkit-text-fill-color: transparent;\n  }\n\n  /*HERO IMAGE*/\n  @media screen and (min-width: 1280px) and (max-width: 1450px) {\n    .home_hero-layout {\n      background-image: url(https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/68549ca4c73da25aa25770c6_Background.avif) !important;\n    }\n  }\n\n  .icon-card_item {\n    overflow: hidden; /* optional for clipping the scale */\n  }\n\n  .icon-card_item:hover .icon-card_image-bg {\n    transform: scale(1.2);\n    transition: transform 0.3s ease;\n  }\n\n  .icon-card_image-bg {\n    transition: transform 0.3s ease;\n  }\n\n  .text-rich-text figcaption {\n    color: #131313 !important;\n  }\n\n  \n</style></div><div class=\"do-not-delete w-embed\"><style>\n    .footer_menu-link {\n      position: relative;\n      /* Needed for the ::after pseudo-element to be positioned correctly */\n      display: inline-block;\n      /* Ensures the ::after element is relative to the link's content width */\n      text-decoration: none;\n      /* Removes default underline, as we're adding a custom one */\n      /* Any existing padding or margin on the links should be preserved or adjusted if needed */\n    }\n\n    .footer_menu-link::after {\n      content: '';\n      position: absolute;\n      left: 0;\n      width: 100%;\n      /* Makes the pseudo-element span the full width of the link */\n      height: 1px;\n      /* Thickness of the hover line */\n      background-color: currentColor;\n      /* The line will take the color of the link's text */\n      bottom: -1px;\n      /* Positions the line slightly below the text. Adjust as needed. */\n      transform: scaleX(0);\n      /* Initially, the line is scaled to zero width */\n      transform-origin: right center;\n      /* For hover-out: makes the line shrink towards its right, so it disappears from left to right */\n      transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n      /* Smooth transition for the transform property */\n    }\n\n    .footer_menu-link:hover::after {\n      transform: scaleX(1);\n      /* On hover, scale the line to its full width */\n      transform-origin: left center;\n      /* For hover-in: makes the line expand from its left */\n    }\n\n    /* Add this media query to remove hover effects on tablet and below */\n    @media screen and (max-width: 991px) {\n      .footer_menu-link:hover::after {\n        transform: scaleX(0); /* Keep the line hidden */\n        transition: none; /* Remove transition to prevent any animation */\n      }\n    }\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n    const width = window.innerWidth;\n\n    if (width >= 992) {\n      document.querySelectorAll(\".hide-desktop\").forEach(el => el.remove());\n    }\n\n    if (width <= 991) {\n      document.querySelectorAll(\".hide-tablet\").forEach(el => el.remove());\n    }\n  });\n</style></div><div><div><div class=\"w-embed\"><style>\n\n/** Button Hover Styles **/\n\n.cl--button[data-wf--cl-element-button--style-theme=\"primary\"]:hover .cl--button-wrapper {\n  background-image: linear-gradient(var(--_cl-primitives---color--primary--black),var(--_cl-primitives---color--primary--platinum-800));\n}\n\n.cl--button[data-wf--cl-element-button--style-theme=\"secondary\"]:hover .cl--button-wrapper {\n  background-image: linear-gradient(var(--_cl-primitives---color--primary--indigo-300),var(--_cl-primitives---color--primary--indigo-100));\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"tertiary\"]:hover,\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"quaternary\"]:hover,\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"alternate\"]:hover,\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"simple\"]:hover,\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"simple-indigo\"]:hover {\n  background: inherit;\n}\n\n.cl--button[data-wf--cl-element-button--style-theme=\"simple\"]:hover .cl--button-wrapper,\n.cl--button[data-wf--cl-element-button--style-theme=\"simple-indigo\"]:hover .cl--button-wrapper {\n  background: inherit;\n  gap: var(--_cl-sizes---spacing--tiny);\n}\n\n/** Disabled **/\n\n.cl--button[data-disabled=\"True\"] {\n  background-image: none;\n  padding: 0;\n  box-shadow: none;\n  cursor: not-allowed;\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"primary\"] {\n  border: 1px solid var(--_cl-primitives---color--transparent--black-5);\n  background: var(--_cl-primitives---color--transparent--black-5);\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"primary\"] .cl--button-wrapper {\n  background: transparent;\n  color: var(--_cl-primitives---color--transparent--black-15);\n}\n\n/* Disabled - Secondary */\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"secondary\"] {\n  border: 1px solid var(--_cl-primitives---color--transparent--platinum-300-25);\n  background: var(--_cl-primitives---color--transparent--platinum-200-15);\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"secondary\"] .cl--button-wrapper {\n  background: transparent;\n  color: var(--_cl-primitives---color--transparent--platinum-400-50);\n}\n\n/* Disabled - Tertiary */\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"tertiary\"] {\n  border-color: var(--_cl-primitives---color--transparent--black-15);\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"tertiary\"] .cl--button-wrapper {\n  color: var(--_cl-primitives---color--transparent--black-15);\n}\n\n/* Disabled - Quaternary */\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"quaternary\"] {\n  border-color: var(--_cl-primitives---color--transparent--black-25);\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"quaternary\"] .cl--button-wrapper {\n  color: var(--_cl-primitives---color--transparent--black-25);\n}\n\n/* Disabled - Alternate */\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"alternate\"] {\n  border-color: var(--_cl-primitives---color--transparent--platinum-400-25);\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"alternate\"] .cl--button-wrapper {\n  color: var(--_cl-primitives---color--transparent--platinum-400-25);\n}\n\n/* Disabled Simple and Simple Indigo */\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"simple\"],\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"simple-indigo\"] {\n  color: var(--_cl-primitives---color--transparent--black-15);\n}\n\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"simple\"] .cl--button-wrapper,\n.cl--button[data-disabled=\"True\"][data-wf--cl-element-button--style-theme=\"simple-indigo\"] .cl--button-wrapper{\n  gap: var(--_cl-sizes---spacing--tiny);\n}\n\n/** Text size **/\n\n.cl--button[data-text-size=\"True\"] {\n    font-size: var(--_cl-sizes---text--small);\n  \tpadding: 0.8px 1.5px;\n}\n\n.cl--button[data-text-size=\"True\"] svg.cl--button-icon {\n    width: 1rem;\n}\n\n/* Button Padding */\n\n.cl--button[data-text-size=\"True\"][data-wf--cl-element-button--style-theme=\"primary\"] .cl--button-wrapper,\n.cl--button[data-text-size=\"True\"][data-wf--cl-element-button--style-theme=\"secondary\"] .cl--button-wrapper,\n.cl--button[data-text-size=\"True\"][data-wf--cl-element-button--style-theme=\"tertiary\"] .cl--button-wrapper,\n.cl--button[data-text-size=\"True\"][data-wf--cl-element-button--style-theme=\"quaternary\"] .cl--button-wrapper,\n.cl--button[data-text-size=\"True\"][data-wf--cl-element-button--style-theme=\"alternate\"] .cl--button-wrapper {\n  padding: var(--_cl-sizes---spacing--tiny) var(--_cl-sizes---spacing--xsmall);\n}\n\n</style></div></div><div><div class=\"w-embed\"><style>\n\n/*** Arrow Button Styles (Disabled) ***/\n\n.cl--arrow-button[data-disabled=\"true\"][data-wf--cl-element-arrow-button--style-theme=\"primary\"],\n.cl--arrow-button[data-disabled=\"true\"][data-wf--cl-element-arrow-button--style-theme=\"secondary\"] {\n  background-color: transparent;\n  color: var(--_cl-primitives---color--primary--platinum-300);\n  cursor: not-allowed;\n}\n\n.cl--arrow-button[data-disabled=\"true\"]:hover {\n  box-shadow: none;\n}\n\n/** Arrow Trigger **/\n\n.cl--arrow-button[data-trigger=\"previous\"] {\n  transform: rotate(180deg);\n}\n  \n</style></div></div></div><div class=\"component_embeds\"><div class=\"parallax-js w-embed w-script\"><script>\n  /**\n * Attribute Parallax (GLOBAL / NOT SCOPED) for Webflow\n *\n * Works anywhere (no data-parallax-scope needed).\n *\n * Element attributes:\n *   data-parallax=\"y\"  (or \"x\")\n *   data-parallax-speed=\"0.25\"     default 0.2\n *   data-parallax-range=\"120\"      default 120px\n *   data-parallax-offset=\"0\"       default 0px (shifts element center calc)\n *   data-parallax-direction=\"1\"    default 1 (use -1 to invert)\n *   data-parallax-ease=\"0.12\"      default 0.12 (0 = no smoothing)\n *   data-parallax-disable=\"(max-width: 767px)\"  disable via media query\n *   data-parallax-delay=\"0\"        default 0 add delay to when the animation start after it is visible\n *\n * Notes:\n * - Uses IntersectionObserver to only animate items near viewport.\n * - If disabled (media query / reduced motion), it eases back to 0.\n */\n  (function () {\n    const SELECTOR = '[data-parallax]';\n\n    const DEFAULTS = {\n      axis: 'y',\n      speed: 0.2,\n      range: 120,\n      offset: 0,\n      direction: 1,\n      ease: 0.12,\n      delay: 0,\n    };\n\n    const prefersReducedMotion =\n          window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n    let items = [];\n    let rafId = null;\n    let ticking = false;\n\n    function parseNum(val, fallback) {\n      const n = parseFloat(val);\n      return Number.isFinite(n) ? n : fallback;\n    }\n\n    function parseAxis(val) {\n      const v = String(val || '').toLowerCase().trim();\n      return v === 'x' ? 'x' : 'y';\n    }\n\n    function clamp(n, min, max) {\n      return Math.max(min, Math.min(max, n));\n    }\n\n    function shouldDisable(el) {\n      if (prefersReducedMotion) return true;\n      const mq = el.getAttribute('data-parallax-disable');\n      if (!mq) return false;\n      try {\n        return window.matchMedia(mq).matches;\n      } catch {\n        return false;\n      }\n    }\n\n    function getViewportCenter() {\n      return {\n        x: window.scrollX + window.innerWidth / 2,\n        y: window.scrollY + window.innerHeight / 2,\n      };\n    }\n\n    function applyTransform(it, value) {\n      const v = value.toFixed(3);\n      it.el.style.transform =\n        it.axis === 'x'\n        ? `translate3d(${v}px,0,0)`\n      : `translate3d(0,${v}px,0)`;\n    }\n\n    function refreshLayout() {\n      items.forEach((it) => {\n        const r = it.el.getBoundingClientRect();\n        it.top = r.top + window.scrollY;\n        it.left = r.left + window.scrollX;\n        it.width = r.width || 1;\n        it.height = r.height || 1;\n      });\n    }\n\n    function computeFactor(it) {\n      const vp = getViewportCenter();\n      const cx = it.left + it.width / 2 + it.offset;\n      const cy = it.top + it.height / 2 + it.offset;\n\n      return it.axis === 'x'\n        ? (vp.x - cx) / (window.innerWidth / 2)\n      : (vp.y - cy) / (window.innerHeight / 2);\n    }\n\n    function computeTarget(it) {\n      if (shouldDisable(it.el)) return 0;\n      if (!it.active) return 0;\n\n      const raw = computeFactor(it) * it.range * it.speed * it.direction;\n      return clamp(raw, -it.range, it.range);\n    }\n\n    function update() {\n      ticking = false;\n      let active = false;\n\n      items.forEach((it) => {\n        const target = computeTarget(it);\n        const next = it.ease === 0 ? target : it.current + (target - it.current) * it.ease;\n\n        it.current = next;\n        applyTransform(it,it.base+next);\n\n        if (it.active || Math.abs(next) > 0.5) active = true;\n      });\n\n      if (active) rafId = requestAnimationFrame(update);\n      else rafId = null;\n    }\n\n    function requestTick() {\n      if (ticking) return;\n      ticking = true;\n      if (!rafId) rafId = requestAnimationFrame(update);\n    }\n\n    function build() {\n      if (build._io) build._io.disconnect();\n\n      items = Array.from(document.querySelectorAll(SELECTOR)).map((el) => {\n        el.style.willChange = 'transform';\n\n        return {\n          el,\n          axis: parseAxis(el.getAttribute('data-parallax')),\n          speed: parseNum(el.getAttribute('data-parallax-speed'), DEFAULTS.speed),\n          range: parseNum(el.getAttribute('data-parallax-range'), DEFAULTS.range),\n          offset: parseNum(el.getAttribute('data-parallax-offset'), DEFAULTS.offset),\n          direction: parseNum(el.getAttribute('data-parallax-direction'), DEFAULTS.direction),\n          ease: clamp(parseNum(el.getAttribute('data-parallax-ease'), DEFAULTS.ease), 0, 1),\n          delay: parseNum(el.getAttribute('data-parallax-delay'), DEFAULTS.delay),\n          current: 0,\n          active: false,\n          _timer: null,\n          base: parseNum(el.getAttribute('data-parallax-base'), 0)\n        };\n      });\n\n      const io = new IntersectionObserver(\n        (entries) => {\n          entries.forEach((entry) => {\n            const it = items.find((x) => x.el === entry.target);\n            if (!it) return;\n\n            if (entry.isIntersecting) {\n              clearTimeout(it._timer);\n              it._timer = setTimeout(() => {\n                it.active = true;\n                requestTick();\n              }, it.delay);\n            } else {\n              clearTimeout(it._timer);\n              it.active = false;\n            }\n          });\n        },\n        { rootMargin: '200px 0px', threshold: 0 }\n      );\n\n      items.forEach((it) => io.observe(it.el));\n      build._io = io;\n\n      refreshLayout();\n    }\n\n    function start() {\n      build();\n\n      window.addEventListener('scroll', requestTick, { passive: true });\n      window.addEventListener('resize', () => {\n        refreshLayout();\n        requestTick();\n      });\n\n      window.addEventListener('load', () => {\n        refreshLayout();\n        requestTick();\n      });\n\n      window.ParallaxAttr = {\n        refresh() {\n          build();\n          requestTick();\n        },\n      };\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', start);\n    } else {\n      start();\n    }\n  })();\n</script></div><div class=\"play-button_styles w-embed\"><style>\n:root {\n  --start-right: 7%;\n  --end-right: 93%;\n  --rotation-start: 0deg;\n  --rotation-half: 180deg;\n  --rotation-full: 360deg;\n}\n\n@keyframes headingPillGradientAnimation {\n  0% {\n    right: var(--start-right);\n    transform: rotate(var(--rotation-start));\n  }\n  10% {\n    transform: rotate(var(--rotation-half));\n    right: var(--start-right);\n  }\n  50% {\n    transform: rotate(var(--rotation-half));\n    right: var(--end-right);\n  }\n  60% {\n    transform: rotate(var(--rotation-full));\n    right: var(--end-right);\n  }\n  60.01% {\n    transform: rotate(var(--rotation-start));\n    right: var(--end-right);\n  }\n  100% {\n    right: var(--start-right);\n    transform: rotate(var(--rotation-start));\n  }\n}\n\n.product-heading_button-wrapper:hover .product-heading_button{\n\tbackground-color: var(--_colors---background--purple-light);\n}\n</style></div><div class=\"components_global-style w-embed\"><style>\n[hide-if-empty]:empty{\n\tdisplay: none;\n  visibility: hidden;\n}\n\n/* Design Mode Styles */\n.wf-design-mode [data-slot]:empty,\n.w-editor [data-slot]:empty {\n  display: flex;\n  align-items: center;\n  text-align: center;\n  justify-content: center;\n  padding: 0.75rem;\n  min-height: 5rem;\n  min-width: 20rem;\n  font-size: 1rem;\n  line-height: 150%;\n  color: #4F9C58;\n  background-color: rgba(79, 156, 88, 0.1);\n  border: 1px dashed #4F9C58;\n  border-radius: inherit;\n}\n\n.wf-design-mode [data-slot]:empty::before,\n.w-editor [data-slot]:empty::before {\n  content: \"Place component here\";\n}\n\n[data-slot]:empty {\n\tdisplay: none;\n}\n</style></div><div class=\"navbar-announement_style w-embed\"><style>\n.navbar-announcement_component .navbar_component{\n\tposition: relative;\n}\n\n.navbar-announcement_component .navbar_component.container-wrapped{\n\tmargin-top: 0;\n}\n\n@media screen and (min-width: 1280px) {\n    .navbar-announcement_component {\n        z-index: 999 !important;\n        }\n }\n</style></div><div class=\"testimonial-slider_scripts w-embed w-script\"><script src=\"https://storage.googleapis.com/decagon-public-assets/marketing/swiper-bundle.min.js\"></script>\n\n<script>\nvar swiper;\ndocument.addEventListener('DOMContentLoaded', () => {\n  const authorImageUrls = [];\n  document\n    .querySelectorAll('.testimonial-slider_collection-item.w-dyn-item .testimonial-slider_author-image')\n    .forEach((img) => {\n      authorImageUrls.push(img.getAttribute('src'));\n    });\n\n  // Inject CSS to fix link stacking issue with fade effect\n  const style = document.createElement('style');\n  style.innerHTML = `\n    .testimonial-slider_collection-list-wrapper.w-dyn-list .swiper-slide:not(.swiper-slide-active) {\n      pointer-events: none;\n    }\n  `;\n  document.head.appendChild(style);\n\n  swiper = new Swiper('.testimonial-slider_collection-list-wrapper.w-dyn-list', {\n    slidesPerView: 1,\n    loop: true,\n    speed: 350,\n    effect: 'fade',\n    observer: true,\n    observeParents: true,\n    fadeEffect: {\n      crossFade: true,\n    },\n    navigation: {\n      nextEl: '.swiper-button-next.testimonial-slider_pagination-arrow',\n      prevEl: '.swiper-button-prev.testimonial-slider_pagination-arrow',\n    },\n    pagination: {\n      el: '.swiper-pagination.testimonial-slider',\n      clickable: true,\n      bulletClass: 'testimonial-slider_pagination-item',\n      bulletActiveClass: 'is-active',\n      renderBullet: function (index, className) {\n        const imageUrl =\n          authorImageUrls[index] ||\n          'https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/683e5da0b6d8a19de4875cd7_colored-circle.png';\n        return `<div class=\"${className}\" style=\"background-image: url('${imageUrl}'); background-size: cover; background-position: center;\"></div>`;\n      },\n    },\n  });\n});\n\nfunction updateTestimonialSlider() {\n  if (swiper) {\n    // Delay to allow Webflow's menu animation to complete\n    setTimeout(() => {\n      swiper.update();\n    }, 300);\n  }\n}\n</script>\n\n<script>\n// Function to capitalize the first letter of a string\nfunction capitalizeFirstLetter(string) {\n    if (!string) return string;\n    return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n// Function to capitalize text in testimonial descriptions\nfunction capitalizeTestimonialDescriptions() {\n    const descriptions = document.querySelectorAll('.testimonial-slider_stat-description');\n    \n    descriptions.forEach(element => {\n        if (element.textContent.trim()) {\n            element.textContent = capitalizeFirstLetter(element.textContent);\n        }\n    });\n}\n\n// Run the function when the DOM is fully loaded\ndocument.addEventListener('DOMContentLoaded', capitalizeTestimonialDescriptions);\n</script></div><div class=\"footer_year-script w-embed w-script\"><script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n  document.getElementById(\"year-span\").textContent = new Date().getFullYear();\n});\n</script></div><div class=\"component_accordion-image\"><div class=\"hide w-embed w-script\"><script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n\n  const items = document.querySelectorAll(\".accordion-image_item\");\n  const mainContainer = document.querySelector(\".accordion-image_image-container\");\n\n  if (!mainContainer || !items.length) return;\n\n  const mainImage = mainContainer.querySelector(\".accordion-image_image\");\n  const mainVideoWrapper = mainContainer.querySelector(\".main_video\");\n  const mainVideo = mainContainer.querySelector(\".video_loop_2\");\n  const mainVideoSource = mainContainer.querySelector(\".video_loop_2 source\");\n\n  function showVideo() {\n    if (mainVideoWrapper) mainVideoWrapper.classList.add(\"is-visible\");\n    if (mainImage) mainImage.style.display = \"none\";   // ✅ ocultar imagen REAL\n  }\n\n  function showImage() {\n    if (mainVideoWrapper) mainVideoWrapper.classList.remove(\"is-visible\");\n    if (mainImage) mainImage.style.display = \"block\";  // ✅ restaurar imagen\n  }\n\n  function updateMainMedia(activeItem) {\n    if (!activeItem) return;\n\n    const videoURL = activeItem.querySelector(\".video_url\")?.textContent.trim();\n    const videoEl = activeItem.querySelector(\".video_loop\");\n    const videoSource = activeItem.querySelector(\".video_loop source\");\n\n    if (videoURL) {\n\n      /* ITEM CON VIDEO */\n\n      if (videoSource && videoEl && videoSource.src !== videoURL) {\n        videoSource.src = videoURL;\n        videoEl.load();\n      }\n\n      if (mainVideoSource && mainVideo && mainVideoSource.src !== videoURL) {\n        if (mainVideoWrapper) mainVideoWrapper.classList.remove(\"is-visible\");\n\n        setTimeout(() => {\n          mainVideoSource.src = videoURL;\n          mainVideo.load();\n          showVideo();\n        }, 120);\n\n      } else {\n        showVideo();\n      }\n\n    } else {\n\n      /* ITEM SIN VIDEO */\n\n      showImage();\n    }\n  }\n\n  /* ✅ Observer optimizado (NO congela Webflow) */\n\n  const observer = new MutationObserver(() => {\n    const activeItem = document.querySelector(\".accordion-image_item.is-active\");\n    updateMainMedia(activeItem);\n  });\n\n  items.forEach(item => {\n    observer.observe(item, {\n      attributes: true,\n      attributeFilter: [\"class\"]\n    });\n  });\n\n  /* Estado inicial */\n\n  const initialActive =\n    document.querySelector(\".accordion-image_item.is-active\") || items[0];\n\n  updateMainMedia(initialActive);\n});\n</script></div><div class=\"accordion-image_script w-embed w-script\"><!-- \n  This file has been updated to provide a single, robust, and self-contained \n  implementation for the image accordion functionality. It includes responsive logic\n  to change the image layout based on the viewport size.\n-->\n\n<!--\n  This script provides a self-contained, accessible accordion functionality.\n  It handles custom animations, ARIA attributes, automatic numbering, and responsive\n  image swapping.\n-->\n<script>\n  document.addEventListener('DOMContentLoaded', function () {\n    const accordionGroups = document.querySelectorAll('[image-accordion^=\"group\"]');\n    // Use Webflow's mobile landscape breakpoint.\n    const mobileMediaQuery = window.matchMedia('(max-width: 0px)');\n\n    if (accordionGroups.length === 0) {\n      return;\n    }\n\n    /**\n     * Handles the responsive layout changes for all accordion components on the page.\n     * @param {boolean} isMobile - True if the viewport matches the mobile media query.\n     */\n    const handleResponsiveLayout = (isMobile) => {\n      document.querySelectorAll('.accordion-image_component').forEach(component => {\n        const mainImageContainer = component.querySelector('.accordion-image_image-container');\n        const mainImage = component.querySelector('[image-accordion=\"main-image\"]');\n        const tabImages = component.querySelectorAll('[image-accordion=\"tab-image\"]');\n\n        if (isMobile) {\n          // On mobile, hide the main sticky image and show the inline tab images.\n          if (mainImageContainer) mainImageContainer.style.display = 'none';\n          tabImages.forEach(img => img.style.display = 'block');\n        } else {\n          // On desktop, show the main sticky image and hide the inline tab images.\n          if (mainImageContainer) mainImageContainer.style.display = 'block';\n          tabImages.forEach(img => img.style.display = 'none');\n          \n          // When switching to desktop view, ensure the main image is synced\n          // with the currently active accordion item.\n          const activeItem = component.querySelector('.accordion-image_item.is-active');\n          if (activeItem) {\n            const activeTabImage = activeItem.querySelector('[image-accordion=\"tab-image\"]');\n            if (mainImage && activeTabImage && mainImage.src !== activeTabImage.src) {\n              mainImage.src = activeTabImage.src;\n              mainImage.style.opacity = 1;\n            }\n          } else {\n            // If no item is active, fall back to the first item's image.\n            const firstItem = component.querySelector('.accordion-image_item');\n             if (firstItem) {\n                const firstTabImage = firstItem.querySelector('[image-accordion=\"tab-image\"]');\n                if (mainImage && firstTabImage) {\n                    mainImage.src = firstTabImage.src;\n                    mainImage.style.opacity = 1;\n                }\n             }\n          }\n        }\n      });\n    };\n\n    accordionGroups.forEach((group, groupIndex) => {\n      const items = group.querySelectorAll('.accordion-image_item');\n      const isSingleAccordion = group.hasAttribute('image-accordion-single');\n      const shouldOpenFirst = group.hasAttribute('image-accordion-initial');\n\n      // Setup unique IDs and ARIA attributes for each item in the group\n      items.forEach((item, itemIndex) => {\n        const trigger = item.querySelector('[image-accordion=\"trigger\"]');\n        const content = item.querySelector('[image-accordion=\"content\"]');\n\n        if (!trigger || !content) {\n          console.warn('   - Accordion item is missing a trigger or content element:', item);\n          return;\n        }\n\n        // --- Begin: Auto-numbering logic ---\n        const numberElement = trigger.querySelector('[accordion-image-number]');\n        if (numberElement) {\n          const formattedNumber = (itemIndex + 1).toString().padStart(2, '0');\n          numberElement.textContent = formattedNumber;\n        }\n        // --- End: Auto-numbering logic ---\n\n        const uniqueIdSuffix = `${groupIndex + 1}-${itemIndex + 1}`;\n        trigger.id = `accordion-trigger-${uniqueIdSuffix}`;\n        content.id = `accordion-content-${uniqueIdSuffix}`;\n        \n        trigger.setAttribute('aria-controls', content.id);\n        content.setAttribute('aria-labelledby', trigger.id);\n      });\n      \n      // Function to open an accordion with proper animation\n      const openAccordion = (item) => {\n        const trigger = item.querySelector('[image-accordion=\"trigger\"]');\n        const content = item.querySelector('[image-accordion=\"content\"]');\n        if (!trigger || !content) return;\n\n        trigger.setAttribute('aria-expanded', 'true');\n        item.classList.add('is-active');\n        \n        content.style.display = 'block';\n        // The previous height calculation was flawed. The correct approach is to set\n        // display to 'block' and then immediately measure the element's scrollHeight.\n        // This gives us the exact height required to show all the content, including the image.\n        const targetHeight = content.scrollHeight;\n\n        // A minimal timeout allows the browser to apply display: block before we animate maxHeight.\n        setTimeout(() => {\n          content.style.maxHeight = targetHeight + 'px';\n        }, 10);\n\n        // --- Begin: Scalable Image Swap Logic (Desktop Only) ---\n        if (!mobileMediaQuery.matches) {\n          const component = item.closest('.accordion-image_component');\n          if (component) {\n            const mainImage = component.querySelector('[image-accordion=\"main-image\"]');\n            if (mainImage) {\n              const tabImage = item.querySelector('[image-accordion=\"tab-image\"]');\n              if (tabImage && tabImage.src) {\n                const newImageUrl = tabImage.src;\n                if (mainImage.src !== newImageUrl) {\n                  mainImage.style.opacity = 0;\n                  setTimeout(() => {\n                    mainImage.src = newImageUrl;\n                    mainImage.onload = () => {\n                      mainImage.style.opacity = 1;\n                      mainImage.onload = null;\n                    };\n                  }, 300); \n                }\n              } else {\n                console.warn(\"   - Active item has no [image-accordion='tab-image'] found to swap.\");\n              }\n            }\n          }\n        }\n        // --- End: Scalable Image Swap Logic ---\n      };\n\n      // Function to close an accordion with proper animation\n      const closeAccordion = (item) => {\n        const trigger = item.querySelector('[image-accordion=\"trigger\"]');\n        const content = item.querySelector('[image-accordion=\"content\"]');\n        if (!trigger || !content) return;\n\n        trigger.setAttribute('aria-expanded', 'false');\n        item.classList.remove('is-active');\n        \n        content.style.maxHeight = '0px';\n      };\n      \n      // Add click listeners to each trigger\n      items.forEach(item => {\n        const trigger = item.querySelector('[image-accordion=\"trigger\"]');\n        if(trigger) {\n          trigger.addEventListener('click', function () {\n            const isExpanded = this.getAttribute('aria-expanded') === 'true';\n            \n            if (isExpanded) {\n              // Note: In single mode, closing is often disabled. This allows it.\n              closeAccordion(item);\n            } else {\n              if (isSingleAccordion) {\n                items.forEach(otherItem => {\n                  if (otherItem !== item) {\n                    closeAccordion(otherItem);\n                  }\n                });\n              }\n              openAccordion(item);\n            }\n          });\n        }\n      });\n\n      // Set the initial state of the accordions\n      items.forEach((item, index) => {\n        const content = item.querySelector('[image-accordion=\"content\"]');\n        if (!content) return;\n        \n        const trigger = item.querySelector('[image-accordion=\"trigger\"]');\n        trigger.setAttribute('aria-expanded', 'false');\n        item.classList.remove('is-active');\n        content.style.maxHeight = '0px';\n        content.style.display = 'none';\n\n        content.addEventListener('transitionend', () => {\n          if (content.style.maxHeight === '0px') {\n            content.style.display = 'none';\n          }\n        });\n      });\n      \n      if (shouldOpenFirst && items.length > 0) {\n        setTimeout(() => {\n          openAccordion(items[0]);\n        }, 100);\n      }\n    });\n\n    // Set the initial layout based on the current viewport size.\n    handleResponsiveLayout(mobileMediaQuery.matches);\n    // Add a listener to adjust the layout when the viewport size changes.\n    mobileMediaQuery.addEventListener('change', (e) => handleResponsiveLayout(e.matches));\n  });\n</script></div><div class=\"accordion-image_style w-embed\"><style>\n.wf-design-mode [image-accordion=\"content\"],\n.w-editor [image-accordion=\"content\"] {\n\tdisplay: block;\n  max-height: none;\n}\n\n.accordion-image_item.is-active .accordion-image_title:not(.is-lilac){\n  border-top: 1px solid var(--_colors---border--orange);\n  color: var(--_colors---text--orange);\n}\n\n.accordion-image_item.is-active .accordion-image_title.is-purple{\n  border-top: 1px solid var(--_colors---border--purple);\n  color: var(--_colors---text--purple);\n}\n\n.accordion-image_item.is-active .accordion-image_title.is-cyan{\n  border-top: 1px solid var(--_colors---border--cyan);\n  color: var(--_colors---text--cyan);\n}\n\n.accordion-image_item.is-active .accordion-image_title.is-lilac{\n  /*border-top: 1px solid var(--_colors---lilac);*/\n  color: var(--_colors---lilac);\n}\n</style></div><div class=\"accordion-image_script w-embed w-script\"><script>\ndocument.addEventListener('DOMContentLoaded', function() {\n  // Mark all items that have an icon and set a CSS variable with the icon's URL.\n  // This is a more direct and robust way to associate the icon with the element.\n  document.querySelectorAll('.accordion-image_item .accordion-image_heading-icon').forEach(iconEl => {\n    const item = iconEl.closest('.accordion-image_item');\n    if (item) {\n      item.classList.add('has-custom-icon');\n      // Set the icon URL in a CSS custom property, scoped to this specific item.\n      item.style.setProperty('--custom-icon-url', `url('${iconEl.src}')`);\n    }\n  });\n\n  // The generated CSS is now much simpler.\n  // It only needs to be generated once, and it uses the CSS variable.\n  const customCSS = `\n    .accordion-image_item.has-custom-icon .accordion-image_heading-wrapper {\n      position: relative;\n    }\n\n    .accordion-image_item.has-custom-icon .accordion-image_heading-icon {\n      opacity: 0;\n    }\n\n    .accordion-image_item.has-custom-icon .accordion-image_heading-wrapper::before {\n      content: '';\n      display: block;\n      position: absolute;\n      top: auto;\n      left: 0;\n      width: 24px;\n      height: 24px;\n      background-color: #000;\n      -webkit-mask-size: contain;\n      mask-size: contain;\n      -webkit-mask-position: center;\n      mask-position: center;\n      -webkit-mask-repeat: no-repeat;\n      mask-repeat: no-repeat;\n      transition: background-color 0.3s ease;\n      /* Use the CSS variable to set the mask image */\n      -webkit-mask-image: var(--custom-icon-url);\n      mask-image: var(--custom-icon-url);\n    }\n\n    .accordion-image_item.has-custom-icon:hover .accordion-image_heading-wrapper::before,\n    .accordion-image_item.has-custom-icon.is-active .accordion-image_heading-wrapper::before {\n      background-color: currentColor;\n    }\n  `;\n\n  const styleElement = document.createElement('style');\n  styleElement.textContent = customCSS;\n  document.head.appendChild(styleElement);\n});\n</script></div><div class=\"swiper-slider-notes-css w-embed\"><style>\n\n/* ======================================================\n   Webflow Designer + Editor ONLY\n   ====================================================== */\n\n/* 1) Enable scrolling in Designer so CMS cards can be inspected */\nhtml.wf-design-mode .testimonial-slider_collection-list-wrapper,\nhtml.w-editor .testimonial-slider_collection-list-wrapper {\n  overflow: auto !important;\n}\n\n/* 2) Show author images in Designer (hidden in production runtime) */\nhtml.wf-design-mode .testimonial-slider_author-image,\nhtml.w-editor .testimonial-slider_author-image {\n  display: revert !important;\n}\n\n/* 3) Designer helper note above testimonial slider section */\nhtml.wf-design-mode .section_testimonial-slider::before,\nhtml.w-editor .section_testimonial-slider::before {\n  content: \"Designer note: This slider is controlled by Swiper.js at runtime. You can scroll here to preview all CMS cards. The scrollbar will not appear in production where the slider is controlled by the arrows. Author images shown here are temporary (square) and will be replaced with circular avatars in the arrow-controlled component.\";\n\n  display: block;\n  padding: 10px 12px;\n  max-width: 760px;\n\n  font-size: 12px;\n  line-height: 1.4;\n\n  background: rgba(255,0,0,0.08);\n  border: 1px dashed red;\n  border-radius: 6px;\n  color: #b00000;\n  \n  pointer-events: none;\n}\n\n</style></div></div><div class=\"component_announcement-banner\"><div class=\"announcement-banner_styles w-embed\"><style>\n.announcement-banner_component.container-wrapped .announcement-banner_wrapper{\n  max-width: none;\n}\n.announcement-banner_component.container-wrapped.scrolled .announcement-banner_wrapper{\n  max-width: none;\n}\n</style></div><div class=\"announcement-banner_scripts w-embed w-script\"><script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  const navbar = document.querySelector('.navbar_component');\n  const announcementBanner = document.querySelector('.announcement-banner_component');\n  const announcementBannerWrapper = document.querySelector('.announcement-banner_wrapper');\n  const closeButton = document.getElementById('close-announcement');\n\n  if (closeButton && announcementBanner) {\n    closeButton.addEventListener('click', (e) => {\n      // Prevent the default link behavior\n      e.preventDefault();\n      // Remove the entire announcement banner component from the page\n      announcementBanner.remove();\n    });\n  }\n\n  if (navbar && announcementBanner) {\n    const handleScrollClassChange = () => {\n      // When scrolled down more than 10px, add the 'scrolled' class.\n      // Otherwise, remove it.\n      announcementBanner.classList.toggle('scrolled', window.scrollY > 10);\n      announcementBannerWrapper.classList.toggle('scrolled', window.scrollY > 10);\n    };\n\n    // Check on initial load and on every scroll event.\n    handleScrollClassChange();\n    window.addEventListener('scroll', handleScrollClassChange);\n\n    // const updateBannerPosition = () => {\n    //   // Using requestAnimationFrame to prevent layout thrashing and get the latest computed style.\n    //   requestAnimationFrame(() => {\n    //     //const navbarHeight = navbar.offsetHeight;\n    //     //announcementBanner.style.position = 'fixed';\n    //     //announcementBanner.style.top = `${navbarHeight}px`;\n    //   });\n    // };\n\n    // Set initial position on load.\n    //updateBannerPosition();\n\n    // Update when the window is resized.\n    window.addEventListener('resize', handleScrollClassChange);\n\n    // This is the key: Update the banner's position *after* the navbar's\n    // height transition has finished. This happens when scrolling to/from the top.\n    navbar.addEventListener('transitionend', handleScrollClassChange);\n\n    // The observer is a fallback for other changes that might affect navbar height\n    // without a CSS transition, such as the mobile menu opening.\n    const observer = new MutationObserver(handleScrollClassChange);\n    observer.observe(navbar, {\n      attributes: true, // Catches class changes\n      childList: true,  // Catches menu opening/closing\n      subtree: true,\n    });\n  }\n});\n</script></div></div><div class=\"component_video-modal\"><div class=\"video-modal_scripts w-embed w-script\"><script>\ndocument.addEventListener('DOMContentLoaded', (event) => {\n  const videoModal = document.querySelector('.video-modal_component');\n  const closeButton = document.querySelector('.video-modal_close-button');\n  const overlay = document.querySelector('.video-modal_background-overlay');\n  const contentWrapper = document.querySelector('.video-modal_content-wrapper');\n\n  if (!videoModal || !closeButton || !overlay || !contentWrapper) {\n    return;\n  }\n  \n  const closeModal = () => {\n    if (window.getComputedStyle(videoModal).display !== 'none') {\n      closeButton.click();\n    }\n  };\n\n  // ---  CLOSE MODAL WITH ESC KEY ---\n  document.addEventListener('keydown', (e) => {\n    if (e.key === 'Escape') {\n      closeModal();\n    }\n  });\n  \n  // --- CLOSE MODAL BY CLICKING THE OVERLAY ---\n  overlay.addEventListener('click', closeModal);\n  \n  // ---  CLOSE MODAL BY CLICKING THE WRAPPER (BUT NOT THE VIDEO) ---\n  contentWrapper.addEventListener('click', (e) => {\n    if (e.target === contentWrapper) {\n      closeModal();\n    }\n  });\n});\n</script></div><div class=\"w-embed w-script\"><script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n\tconst play_button = jQuery(\".product-heading_play-button\");\n\tconst video_modal = jQuery(\".video-modal_component\");\n\tconst video_background = jQuery('.video-modal_background-overlay');\n  const close_button = jQuery(\".video-modal_close-button\");\n\n\t// Open modal\n\tplay_button.click(function(){\n    \tvideo_modal.css(\"display\", \"flex\");\n      video_background.css(\"opacity\", \"1\");\n    \t// Close modal\n    \tclose_button.click(function(){\n\t\t\tvideo_modal.css(\"display\", \"none\");\n\t\t\t\tvideo_background.css(\"opacity\", \"0\");   \t\t\n    \t});\n\t});\n\n});\n</script></div><div><div class=\"w-embed\"><style>\n\n\t.wf-design-mode .video_modal {\n    background: var(--_button-styles---filled--purple--surface);\n    border-radius: var(--_sizes---radius--regular);\n    min-height: 500px;\n    height: 100%;\n  }\n  \n  .wf-design-mode .video_modal::before {\n  \tcontent: \"The video displays here\";\n    position: absolute;\n    left: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n    font-family: var(--_typography---font-family--body);\n    color: white;\n  }\n  \n  .wf-design-mode .video_modal:not(.in-modal)::before {\n  \ttop: 35%;\n  }\n\n</style></div><div class=\"w-embed w-iframe w-script\"><script src=\"https://cdn.jsdelivr.net/npm/hls.js@latest\"></script>\n<script src=\"https://www.youtube.com/iframe_api\"></script>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n\n  const mainWrapper = document.querySelector(\".main-wrapper\");\n\n  // Store YouTube player instances\n  const ytPlayers = new Map();\n\n  document.querySelectorAll(\".video-wrapper\").forEach(function(wrapper) {\n\n    /* ==============================\n       1. GET VIDEO URL\n    ============================== */\n\n    const urlElement = wrapper.querySelector(\".url_video\");\n    if (!urlElement) return;\n\n    const url = urlElement.textContent.trim();\n    if (!url) return;\n\n    /* ==============================\n       2. HANDLE MP4 / HLS (NORMAL VIDEO)\n    ============================== */\n\n    const videos = wrapper.querySelectorAll(\"video\");\n\n    videos.forEach(function(video) {\n\n      // MP4 handling\n      if (url.includes(\".mp4\")) {\n        const source = video.querySelector(\"source\");\n        if (source) {\n          source.src = url;\n          video.load();\n        }\n        return;\n      }\n\n      // HLS handling (.m3u8)\n      if (url.includes(\".m3u8\")) {\n\n        if (window.Hls && Hls.isSupported()) {\n\n          const hls = new Hls();\n          hls.loadSource(url);\n          hls.attachMedia(video);\n\n        } else if (video.canPlayType(\"application/vnd.apple.mpegurl\")) {\n\n          video.src = url;\n\n        }\n\n        return;\n      }\n\n    });\n\n    /* ==============================\n       3. HANDLE YOUTUBE (ONLY IN MODAL)\n    ============================== */\n\n    const modalVideo = wrapper.querySelector(\".popup_video .video_modal.in-modal video\");\n\n    if (\n      modalVideo &&\n      (url.includes(\"youtube.com\") || url.includes(\"youtu.be\"))\n    ) {\n\n      let videoId = \"\";\n\n      try {\n        // Extract video ID from URL\n        if (url.includes(\"youtube.com\")) {\n          const urlObj = new URL(url);\n          videoId = urlObj.searchParams.get(\"v\");\n        } else {\n          videoId = url.split(\"/\").pop();\n        }\n      } catch(e) {\n        return;\n      }\n\n      if (!videoId) return;\n\n      // Hide ONLY modal video (do not remove it)\n      modalVideo.style.display = \"none\";\n\n      // Prevent duplicate iframe insertion\n      const modalContainer = wrapper.querySelector(\".popup_video .video_modal.in-modal\");\n      if (!modalContainer || modalContainer.querySelector(\"iframe\")) return;\n\n      // Create YouTube container\n      const youtubeContainer = document.createElement(\"div\");\n      youtubeContainer.id = \"yt-player-\" + Math.random().toString(36).substr(2, 9);\n\n      youtubeContainer.style.width = \"100%\";\n      youtubeContainer.style.height = \"100%\";\n\n      // Append inside modal container ONLY\n      modalContainer.appendChild(youtubeContainer);\n\n      /* ==============================\n         INIT YOUTUBE PLAYER\n      ============================== */\n\n      function initYouTubePlayer() {\n        if (window.YT && YT.Player) {\n\n          const player = new YT.Player(youtubeContainer.id, {\n            videoId: videoId,\n            playerVars: {\n              playsinline: 1,\n              loop: 1,\n              playlist: videoId\n            }\n          });\n\n          ytPlayers.set(wrapper, player);\n        }\n      }\n\n      // Wait until YouTube API is ready (safe for multiple players)\n      function waitForYT(callback) {\n        if (window.YT && YT.Player) {\n          callback();\n        } else {\n          const interval = setInterval(() => {\n            if (window.YT && YT.Player) {\n              clearInterval(interval);\n              callback();\n            }\n          }, 100);\n        }\n      }\n\n      waitForYT(initYouTubePlayer);\n    }\n\n    /* ==============================\n       4. MODAL CONTROL\n    ============================== */\n\n    const openButton = wrapper.querySelector(\".open-modal\");\n    const modal = wrapper.querySelector(\".popup_video\");\n    const closeButton = wrapper.querySelector(\".close_modal-button\");\n\n    const popupVideo = modal ? modal.querySelector(\"video\") : null;\n\n    if (!openButton || !modal || !closeButton) return;\n\n    openButton.addEventListener(\"click\", function() {\n\n      modal.classList.add(\"modal_open\");\n\n      if (mainWrapper) {\n        mainWrapper.classList.add(\"relative-wrapper\");\n      }\n\n      setTimeout(function() {\n\n        // Play normal video\n        if (popupVideo) {\n          popupVideo.muted = false;\n          popupVideo.volume = 1;\n          popupVideo.play();\n        }\n\n        // Resume YouTube video\n        const player = ytPlayers.get(wrapper);\n        if (player && player.playVideo) {\n          player.playVideo();\n        }\n\n      }, 100);\n\n    });\n\n    closeButton.addEventListener(\"click\", function() {\n\n      modal.classList.remove(\"modal_open\");\n\n      // Pause normal video\n      if (popupVideo) {\n        popupVideo.pause();\n        popupVideo.muted = true;\n      }\n\n      // Pause YouTube video (keeps current time)\n      const player = ytPlayers.get(wrapper);\n      if (player && player.pauseVideo) {\n        player.pauseVideo();\n      }\n\n      if (mainWrapper) {\n        mainWrapper.classList.remove(\"relative-wrapper\");\n      }\n\n    });\n\n  });\n\n});\n</script></div></div></div></div></div><div class=\"hide\"><div class=\"w-embed\"><style>\n  /* Show slot placement spacer */\n  .wf-design-mode [data-slot]:empty,\n  .w-editor [data-slot]:empty {\n    display: flex;\n    align-items: center;\n    text-align: center;\n    justify-content: center;\n    padding: 0.75rem;\n    min-height: 5rem;\n    min-width: 20rem;\n    font-size: 1rem;\n    line-height: 150%;\n    color: #4f9c58;\n    background-color: rgba(79, 156, 88, 0.1);\n    border: 1px dashed #4f9c58;\n    border-radius: inherit;\n  }\n\n  .wf-design-mode [data-slot]:empty::before,\n  .w-editor [data-slot]:empty::before {\n    content: 'Place component here';\n  }\n\n  .wf-design-mode [data-slot='timeline']:empty::before,\n  .w-editor [data-slot='timeline']:empty::before {\n    content: 'Add Module / Timeline Item here';\n  }\n\n  .wf-design-mode [data-slot='timeline-v2']:empty::before,\n  .w-editor [data-slot='timeline-v2']:empty::before {\n    content: 'Add Module / Timeline Item V2 here';\n  }\n\n  .wf-design-mode [data-slot='channel-highlight']:empty::before,\n  .w-editor [data-slot='channel-highlight']:empty::before {\n    content: 'Add Module / Channel Highlight Item here';\n  }\n\n  .wf-design-mode [data-slot='accordion-item']:empty::before,\n  .w-editor [data-slot='accordion-item']:empty::before {\n    content: 'Add Module / Accordion Item here';\n  }\n\n  .wf-design-mode [data-slot='accordion-content']:empty::before,\n  .w-editor [data-slot='accordion-content']:empty::before {\n    content: 'Add Module / Accordion Content here';\n  }\n\n  .wf-design-mode [data-slot='column-card']:empty::before,\n  .w-editor [data-slot='column-card']:empty::before {\n    content: 'Add Module / Column Card here | Column Icon Card Here ';\n  }\n\n  .wf-design-mode [data-slot='hightlight-card']:empty::before,\n  .w-editor [data-slot='hightlight-card']:empty::before {\n    content: 'Add Module / Highlight Card ';\n  }\n\n  /*** Heading Wrap ***/\n\n  .heading_wrap.cl--text-weight-book,\n  .heading_wrap.cl--text-weight-book * {\n    font-family: var(--_cl-typography---font-family--book);\n  }\n\n  /*** Rich Content Styles ***/\n\n  .content-rich-text strong,\n  .content-rich-text a {\n    font-weight: 400;\n  }\n\n  .content-rich-text a {\n    color: inherit;\n  }\n\n  .content-rich-text[data-color='indigo-500'] strong {\n    color: var(--_cl-primitives---color--primary--indigo-500);\n  }\n\n  .content-rich-text[data-color='indigo-600'] strong {\n    color: var(--_cl-primitives---color--primary--indigo-600);\n  }\n\n  .content-rich-text[data-color='violet-600'] strong {\n    color: var(--_cl-primitives---color--accent--violet-600);\n  }\n\n  .content-rich-text[data-color='orange-600'] strong {\n    color: var(--_cl-primitives---color--accent--orange-600);\n  }\n\n  .content-rich-text[data-color='cyan-600'] strong {\n    color: var(--_cl-primitives---color--accent--cyan-600);\n  }\n\n  .heading_wrap h1,\n  .heading_wrap h2,\n  .heading_wrap h3,\n  .heading_wrap h4,\n  .heading_wrap h5,\n  .heading_wrap h6,\n  .heading_wrap p,\n  .heading_wrap blockquote,\n  .heading_wrap label,\n  .paragraph_wrap p,\n  .paragraph_wrap a,\n  .paragraph_wrap blockquote,\n  .paragraph_wrap label,\n  .eyebrow_text_optional h1,\n  .eyebrow_text_optional h2,\n  .eyebrow_text_optional h3,\n  .eyebrow_text_optional h4,\n  .eyebrow_text_optional h5,\n  .eyebrow_text_optional h6,\n  .eyebrow_text_optional p,\n  .eyebrow_text_optional blockquote,\n  .eyebrow_text_optional label {\n    font-family: inherit;\n    font-size: inherit;\n    font-weight: inherit;\n    line-height: inherit;\n    letter-spacing: inherit;\n    text-transform: inherit;\n    color: inherit !important;\n    text-wrap: inherit;\n    margin-top: 0;\n    margin-bottom: 0;\n    text-decoration-thickness: from-font;\n  }\n\n  /* Number Attributes */\n  [data-number='-1'] {\n    --number: initial;\n  }\n\n  [data-number='0'] {\n    --number: 0;\n  }\n\n  [data-number='1'] {\n    --number: 1;\n  }\n\n  [data-number='2'] {\n    --number: 2;\n  }\n\n  [data-number='3'] {\n    --number: 3;\n  }\n\n  [data-number='4'] {\n    --number: 4;\n  }\n\n  [data-number='5'] {\n    --number: 5;\n  }\n\n  [data-number='6'] {\n    --number: 6;\n  }\n\n  [data-number='7'] {\n    --number: 7;\n  }\n\n  [data-number='8'] {\n    --number: 8;\n  }\n\n  [data-number='9'] {\n    --number: 9;\n  }\n\n  [data-number='10'] {\n    --number: 10;\n  }\n\n  [data-number='11'] {\n    --number: 11;\n  }\n\n  [data-number='12'] {\n    --number: 12;\n  }\n\n  [data-number='13'] {\n    --number: 13;\n  }\n\n  [data-number='14'] {\n    --number: 14;\n  }\n\n  [data-number='15'] {\n    --number: 15;\n  }\n\n  [data-number='16'] {\n    --number: 16;\n  }\n\n  [data-number='17'] {\n    --number: 17;\n  }\n\n  [data-number='18'] {\n    --number: 18;\n  }\n\n  [data-number='19'] {\n    --number: 19;\n  }\n\n  [data-number='20'] {\n    --number: 20;\n  }\n\n  [data-number='21'] {\n    --number: 21;\n  }\n\n  [data-number='22'] {\n    --number: 22;\n  }\n\n  [data-number='23'] {\n    --number: 23;\n  }\n\n  [data-number='24'] {\n    --number: 24;\n  }\n\n  [data-number='25'] {\n    --number: 25;\n  }\n\n  [data-number='26'] {\n    --number: 26;\n  }\n\n  [data-number='27'] {\n    --number: 27;\n  }\n\n  [data-number='28'] {\n    --number: 28;\n  }\n\n  [data-number='29'] {\n    --number: 29;\n  }\n\n  [data-number='30'] {\n    --number: 30;\n  }\n\n  [data-number='31'] {\n    --number: 31;\n  }\n\n  [data-number='32'] {\n    --number: 32;\n  }\n\n  [data-number='33'] {\n    --number: 33;\n  }\n\n  [data-number='34'] {\n    --number: 34;\n  }\n\n  [data-number='35'] {\n    --number: 35;\n  }\n\n  [data-number='36'] {\n    --number: 36;\n  }\n\n  [data-number='37'] {\n    --number: 37;\n  }\n\n  [data-number='38'] {\n    --number: 38;\n  }\n\n  [data-number='39'] {\n    --number: 39;\n  }\n\n  [data-number='40'] {\n    --number: 40;\n  }\n\n  [data-number='41'] {\n    --number: 41;\n  }\n\n  [data-number='42'] {\n    --number: 42;\n  }\n\n  [data-number='43'] {\n    --number: 43;\n  }\n\n  [data-number='44'] {\n    --number: 44;\n  }\n\n  [data-number='45'] {\n    --number: 45;\n  }\n\n  [data-number='46'] {\n    --number: 46;\n  }\n\n  [data-number='47'] {\n    --number: 47;\n  }\n\n  [data-number='48'] {\n    --number: 48;\n  }\n\n  [data-number='49'] {\n    --number: 49;\n  }\n\n  [data-number='50'] {\n    --number: 50;\n  }\n\n  [data-number='51'] {\n    --number: 51;\n  }\n\n  [data-number='52'] {\n    --number: 52;\n  }\n\n  [data-number='53'] {\n    --number: 53;\n  }\n\n  [data-number='54'] {\n    --number: 54;\n  }\n\n  [data-number='55'] {\n    --number: 55;\n  }\n\n  [data-number='56'] {\n    --number: 56;\n  }\n\n  [data-number='57'] {\n    --number: 57;\n  }\n\n  [data-number='58'] {\n    --number: 58;\n  }\n\n  [data-number='59'] {\n    --number: 59;\n  }\n\n  [data-number='60'] {\n    --number: 60;\n  }\n\n  [data-number='61'] {\n    --number: 61;\n  }\n\n  [data-number='62'] {\n    --number: 62;\n  }\n\n  [data-number='63'] {\n    --number: 63;\n  }\n\n  [data-number='64'] {\n    --number: 64;\n  }\n\n  [data-number='65'] {\n    --number: 65;\n  }\n\n  [data-number='66'] {\n    --number: 66;\n  }\n\n  [data-number='67'] {\n    --number: 67;\n  }\n\n  [data-number='68'] {\n    --number: 68;\n  }\n\n  [data-number='69'] {\n    --number: 69;\n  }\n\n  [data-number='70'] {\n    --number: 70;\n  }\n\n  [data-number='71'] {\n    --number: 71;\n  }\n\n  [data-number='72'] {\n    --number: 72;\n  }\n\n  [data-number='73'] {\n    --number: 73;\n  }\n\n  [data-number='74'] {\n    --number: 74;\n  }\n\n  [data-number='75'] {\n    --number: 75;\n  }\n\n  [data-number='76'] {\n    --number: 76;\n  }\n\n  [data-number='77'] {\n    --number: 77;\n  }\n\n  [data-number='78'] {\n    --number: 78;\n  }\n\n  [data-number='79'] {\n    --number: 79;\n  }\n\n  [data-number='80'] {\n    --number: 80;\n  }\n\n  [data-number='81'] {\n    --number: 81;\n  }\n\n  [data-number='82'] {\n    --number: 82;\n  }\n\n  [data-number='83'] {\n    --number: 83;\n  }\n\n  [data-number='84'] {\n    --number: 84;\n  }\n\n  [data-number='85'] {\n    --number: 85;\n  }\n\n  [data-number='86'] {\n    --number: 86;\n  }\n\n  [data-number='87'] {\n    --number: 87;\n  }\n\n  [data-number='88'] {\n    --number: 88;\n  }\n\n  [data-number='89'] {\n    --number: 89;\n  }\n\n  [data-number='90'] {\n    --number: 90;\n  }\n\n  [data-number='91'] {\n    --number: 91;\n  }\n\n  [data-number='92'] {\n    --number: 92;\n  }\n\n  [data-number='93'] {\n    --number: 93;\n  }\n\n  [data-number='94'] {\n    --number: 94;\n  }\n\n  [data-number='95'] {\n    --number: 95;\n  }\n\n  [data-number='96'] {\n    --number: 96;\n  }\n\n  [data-number='97'] {\n    --number: 97;\n  }\n\n  [data-number='98'] {\n    --number: 98;\n  }\n\n  [data-number='99'] {\n    --number: 99;\n  }\n\n  [data-number='100'] {\n    --number: 100;\n  }\n</style></div><div><div class=\"w-embed\"><style>\n  @media(max-width: 1200px) and (min-width: 991px) {\n    /* Footer */\n    .cl--footer_links-wrapper {\n      grid-template-columns: 1fr;\n    }\n  \n    .footer_left {\n      max-width: none;\n      width: 100%;\n    }\n  \n    .cl--footer_menu-col {\n      min-width: 100%;\n      max-width: 100%;\n    }\n  \n    .cl--footer_menu-layout {\n      grid-template-columns: 1fr 1fr 1fr 1fr;\n      display: grid;\n    }\n  }\n</style></div></div><div><div class=\"w-embed\"><style>\n  \n.quote_carousel-content .w-dyn-item {\n  opacity: 0;\n  visibility: hidden;\n  position: absolute;\n  inset: 0;\n  transition: opacity .4s ease;\n}\n\n.wf-design-mode .quote_carousel-content .w-dyn-item {\n  opacity: 1;\n  visibility: visible;\n  position: relative;\n}\n\n.quote_carousel-content .w-dyn-item.carousel-active {\n  opacity: 1;\n  visibility: visible;\n  position: relative;\n}\n\n.carousel_tab-item:hover img.carousel_tab-logo,\n.carousel_tab-item.carousel-active img.carousel_tab-logo {\n    filter: grayscale(0);\n    opacity: 1;\n}\n\n/*** Quote Carousel Styles ***/\n\n.carousel_tab-item:hover .carousel_tab-logo {\n  opacity: 100%;\n  filter: grayscale(0);\n}\n\n/* Media Query */\n\n@media(max-width: 991px){\n\t.carousel_tab-item.w-dyn-item:not(.carousel-active) .carousel_tab-logo {\n\t\twidth: 0;\n\t}\n\n  \t.carousel_tab-item.carousel-active img.carousel_tab-logo {\n      height: 1.875rem;\n    }\n}\n  \n</style></div><div class=\"w-embed w-script\"><script>\n  document.addEventListener('DOMContentLoaded', () => {\n    // ==========================\n    // ELEMENTS\n    // ==========================\n    const tabItems = document.querySelectorAll('.quote_carousel-tab .carousel_tab-item.w-dyn-item');\n\n    const contentItems = document.querySelectorAll('.quote_carousel-content .w-dyn-item');\n\n    // ==========================\n    // ACCESSIBILITY\n    // ==========================\n    const tabList = document.querySelector('.quote_carousel-tab');\n\n    if (tabList) {\n      tabList.setAttribute('role', 'tablist');\n      tabList.setAttribute('aria-orientation', 'horizontal');\n    }\n\n    tabItems.forEach((item, index) => {\n      const button = item.querySelector('.carousel_tab-link');\n\n      if (!button) return;\n\n      button.setAttribute('role', 'tab');\n      button.setAttribute('id', `tab-${index}`);\n      button.setAttribute('aria-controls', `panel-${index}`);\n      button.setAttribute('aria-selected', 'false');\n      button.setAttribute('tabindex', '-1');\n    });\n\n    contentItems.forEach((panel, index) => {\n      panel.setAttribute('role', 'tabpanel');\n      panel.setAttribute('id', `panel-${index}`);\n      panel.setAttribute('aria-labelledby', `tab-${index}`);\n      panel.setAttribute('hidden', '');\n    });\n\n    const nextButton = document.querySelector('[data-trigger=\"next\"]');\n\n    const prevButton = document.querySelector('[data-trigger=\"previous\"]');\n\n    // SECTION TO OBSERVE\n    const carouselSection = document.querySelector('.quote-carousel');\n\n    if (!tabItems.length || !contentItems.length) return;\n\n    // ==========================\n    // SETTINGS\n    // ==========================\n    const DURATION = 10000;\n\n    let currentIndex = 0;\n    let autoplay;\n    let isVisible = true;\n\n    // ==========================\n    // RESET ALL BARS\n    // ==========================\n    function resetBars() {\n      document.querySelectorAll('.carousel_tab_animated-bar').forEach((bar) => {\n        bar.style.transition = 'none';\n        bar.style.width = '0%';\n      });\n    }\n\n    // ==========================\n    // ANIMATE ACTIVE BAR\n    // ==========================\n    function animateBar(index) {\n      const activeBar = tabItems[index]?.querySelector('.carousel_tab_animated-bar');\n\n      if (!activeBar) return;\n\n      activeBar.style.transition = 'none';\n      activeBar.style.width = '0%';\n\n      activeBar.offsetHeight;\n\n      activeBar.style.transition = `width ${DURATION}ms linear`;\n\n      activeBar.style.width = '100%';\n    }\n\n    // ==========================\n    // SET ACTIVE\n    // ==========================\n    function setActive(index) {\n      // Reset all tabs\n      tabItems.forEach((item) => {\n        item.classList.remove('carousel-active');\n\n        const button = item.querySelector('.carousel_tab-link');\n\n        if (button) {\n          button.setAttribute('aria-selected', 'false');\n          button.setAttribute('tabindex', '-1');\n        }\n      });\n\n      // Reset all panels\n      contentItems.forEach((item) => {\n        item.classList.remove('carousel-active');\n        item.setAttribute('hidden', '');\n      });\n\n      // Activate selected tab\n      if (tabItems[index]) {\n        tabItems[index].classList.add('carousel-active');\n\n        const activeButton = tabItems[index].querySelector('.carousel_tab-link');\n\n        if (activeButton) {\n          activeButton.setAttribute('aria-selected', 'true');\n          activeButton.setAttribute('tabindex', '0');\n        }\n      }\n\n      // Activate selected panel\n      if (contentItems[index]) {\n        contentItems[index].classList.add('carousel-active');\n        contentItems[index].removeAttribute('hidden');\n      }\n\n      resetBars();\n\n      // Only animate when the carousel is visible\n      if (isVisible) {\n        animateBar(index);\n      }\n\n      currentIndex = index;\n    }\n\n    // ==========================\n    // NEXT\n    // ==========================\n    function nextSlide() {\n      let nextIndex = currentIndex + 1;\n\n      if (nextIndex >= tabItems.length) {\n        nextIndex = 0;\n      }\n\n      setActive(nextIndex);\n    }\n\n    // ==========================\n    // PREVIOUS\n    // ==========================\n    function prevSlide() {\n      let prevIndex = currentIndex - 1;\n\n      if (prevIndex < 0) {\n        prevIndex = tabItems.length - 1;\n      }\n\n      setActive(prevIndex);\n    }\n\n    // ==========================\n    // AUTOPLAY\n    // ==========================\n    function startAutoplay() {\n      clearInterval(autoplay);\n\n      autoplay = setInterval(() => {\n        if (isVisible) {\n          nextSlide();\n        }\n      }, DURATION);\n    }\n\n    function stopAutoplay() {\n      clearInterval(autoplay);\n    }\n\n    function resetAutoplay() {\n      stopAutoplay();\n\n      if (isVisible) {\n        startAutoplay();\n      }\n    }\n\n    // ==========================\n    // TAB CLICKS\n    // ==========================\n    tabItems.forEach((item, index) => {\n      item.addEventListener('click', () => {\n        setActive(index);\n        resetAutoplay();\n      });\n    });\n\n    // ==========================\n    // NEXT BUTTON\n    // ==========================\n    if (nextButton) {\n      nextButton.addEventListener('click', () => {\n        nextSlide();\n        resetAutoplay();\n      });\n    }\n\n    // ==========================\n    // PREVIOUS BUTTON\n    // ==========================\n    if (prevButton) {\n      prevButton.addEventListener('click', () => {\n        prevSlide();\n        resetAutoplay();\n      });\n    }\n\n    // ==========================\n    // VISIBILITY OBSERVER\n    // ==========================\n    if (carouselSection) {\n      const observer = new IntersectionObserver(\n        (entries) => {\n          entries.forEach((entry) => {\n            if (entry.isIntersecting) {\n              isVisible = true;\n\n              animateBar(currentIndex);\n              startAutoplay();\n            } else {\n              isVisible = false;\n\n              stopAutoplay();\n            }\n          });\n        },\n        {\n          threshold: 0.3,\n        },\n      );\n\n      observer.observe(carouselSection);\n    }\n\n    // ==========================\n    // INIT\n    // ==========================\n    setActive(0);\n\n    startAutoplay();\n  });\n</script></div></div><div><div class=\"w-embed\"><style>\n\n/* Media Query */\n\n@media(max-width: 990px){\n  \t.timeline_item-right img.cl--image {\n    \ttransform: none !important;\n\t}\n}\n\n</style></div><div class=\"w-embed w-script\"><script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n  const timeline = document.querySelector(\".timeline_custom-line\");\n  const progressBar = document.querySelector(\".timeline_progress-bar\");\n  const timelineItems = document.querySelectorAll(\".timeline-item\");\n\n  if (!timeline || !progressBar) return;\n\n  function updateProgress() {\n    const rect = timeline.getBoundingClientRect();\n    const windowHeight = window.innerHeight;\n\n    // Animation start point\n    const start = windowHeight;\n\n    // Animation end point\n    const end = -rect.height;\n\n    // Current scroll distance\n    const scrollProgress = start - rect.top;\n\n    // Total scroll distance\n    const totalDistance = start - end;\n\n    // Calculate progress percentage\n    let progress = (scrollProgress / totalDistance) * 100;\n\n    // Clamp progress between 0 and 100\n    progress = Math.max(0, Math.min(progress, 100));\n\n    // Update progress bar height\n    progressBar.style.height = `${progress}%`;\n  }\n\n  function updateActiveItems() {\n    const timelineRect = timeline.getBoundingClientRect();\n    const progressHeight = progressBar.offsetHeight;\n  \n    timelineItems.forEach((item) => {\n      const point = item.querySelector(\".timeline_point-element\");\n  \n      if (!point) return;\n  \n      const pointRect = point.getBoundingClientRect();\n  \n      // Point position relative to the top of the timeline\n      const pointPosition =\n        pointRect.top -\n        timelineRect.top +\n        pointRect.height / 2;\n  \n      // Activate when the progress line reaches the center of the point\n      if (progressHeight >= pointPosition) {\n        point.classList.add(\"is-active\");\n      } else {\n        point.classList.remove(\"is-active\");\n      }\n    });\n  }\n\n  function handleScroll() {\n    updateProgress();\n    updateActiveItems();\n  }\n\n  // Update on scroll and resize\n  window.addEventListener(\"scroll\", handleScroll);\n  window.addEventListener(\"resize\", handleScroll);\n\n  // Initial state\n  handleScroll();\n});\n</script></div></div><div><div class=\"w-embed\"><style>\n  .section_resource-highlight .is-relative:hover img {\n    transform: scale(1.08);\n  }\n\n  .resource_highlight_card-left .is-relative {\n    transition: box-shadow 0.2s;\n  }\n\n  .resource_highlight_card-left .is-relative:hover {\n    box-shadow: 15px 15px 30px 0 var(--Color-Primary-Color-Black---5, rgba(10, 10, 11, 0.05));\n  }\n</style></div></div><div><div class=\"w-embed\"><!-- Bottom CTA Styles -->\n\n<style>\n\n.bottom_cta-bg {\n\tbackground: conic-gradient(\n  from -45deg at 50% 50%,\n  #5754FF 10.213379859924316deg,\n  #30D0EC 43.675546646118164deg,\n  #FF6F22 337.169331908226deg,\n  #D770FF 351.1230455338955deg\n\t);\n}\n\n</style></div></div><div><div class=\"w-embed w-script\"><script>\n  document.addEventListener('DOMContentLoaded', () => {\n    // Speed configuration, in pixels per second (time-based)\n    const normalSpeed = 36;\n    const hoverSpeed = 12;\n    const lerpFactor = 0.05;\n\n    // Select supported marquee wrappers\n    const wrappers = document.querySelectorAll('.carousel_box-wrapper, .dm_cl_list_wrap, .logo_carousel-wrapper');\n\n    wrappers.forEach((wrapper) => {\n      // Select the inner flex list container\n      const list = wrapper.querySelector('.logo_carousel-flex, .dm_carousel-flex, .locations_carousel-flex');\n\n      if (!list) return;\n\n      // Remove any previously cloned elements to avoid duplication on re-runs\n      wrapper.querySelectorAll('[data-marquee-clone=\"true\"]').forEach((clone) => clone.remove());\n\n      if (wrapper.dataset.marqueeInitialized === 'true') return;\n      wrapper.dataset.marqueeInitialized = 'true';\n\n      // Prepare wrapper for horizontal flex layout\n      wrapper.style.overflow = 'hidden';\n      wrapper.style.display = 'flex';\n      wrapper.style.flexWrap = 'nowrap';\n\n      // Keep original list from shrinking\n      list.style.flex = '0 0 auto';\n      list.style.display = 'flex';\n\n      // Prevent logo items from collapsing inside Safari flexbox\n      Array.from(list.children).forEach((item) => {\n        item.style.flexShrink = '0';\n      });\n\n      // Detect list gap from CSS and apply matching gap to wrapper for seamless clone spacing\n      const computedListStyle = window.getComputedStyle(list);\n      const listGap = parseFloat(computedListStyle.gap || computedListStyle.columnGap) || 0;\n      if (listGap > 0) {\n        wrapper.style.gap = `${listGap}px`;\n      }\n\n      // Clone original list for infinite continuous loop\n      const clone = list.cloneNode(true);\n      clone.setAttribute('aria-hidden', 'true');\n      clone.dataset.marqueeClone = 'true';\n      clone.style.flex = '0 0 auto';\n\n      list.parentElement.appendChild(clone);\n\n      let position = 0;\n      let targetSpeed = normalSpeed;\n      let currentSpeed = normalSpeed;\n      let lastTime = null;\n      let totalWidth = 0;\n\n      // Measure exact width with subpixel accuracy + CSS flex gap\n      const updateDimensions = () => {\n        const rectWidth = list.getBoundingClientRect().width;\n        if (rectWidth > 0) {\n          totalWidth = rectWidth + listGap;\n        }\n      };\n\n      updateDimensions();\n\n      // Recalculate dimensions once lazy-loaded images finish rendering\n      wrapper.querySelectorAll('img').forEach((img) => {\n        if (!img.complete) {\n          img.addEventListener('load', updateDimensions, { once: true });\n        }\n      });\n\n      // Observe size changes dynamically (window resize, content updates)\n      new ResizeObserver(updateDimensions).observe(list);\n\n      // Hover controls\n      wrapper.addEventListener('mouseenter', () => (targetSpeed = hoverSpeed));\n      wrapper.addEventListener('mouseleave', () => (targetSpeed = normalSpeed));\n\n      // Main animation loop\n      function animate(now) {\n        const dt = lastTime === null ? 0 : Math.min((now - lastTime) / 1000, 0.1);\n        lastTime = now;\n\n        currentSpeed += (targetSpeed - currentSpeed) * (1 - Math.pow(1 - lerpFactor, dt * 60));\n        position -= currentSpeed * dt;\n\n        // Reset position seamlessly using exact total scroll distance\n        if (totalWidth > 0 && Math.abs(position) >= totalWidth) {\n          position += totalWidth;\n        }\n\n        list.style.transform = `translate3d(${position}px, 0, 0)`;\n        clone.style.transform = `translate3d(${position}px, 0, 0)`;\n\n        requestAnimationFrame(animate);\n      }\n\n      requestAnimationFrame(animate);\n    });\n  });\n</script></div></div><div><div class=\"w-embed\"><style>\n  /* Dim any OTHER rich text in the section. */\n  .section_highlighted-text .content-rich-text:not([data-highlighted-text='true']) {\n    opacity: 0.2;\n  }\n\n  /* Light variant */\n  [data-wf--cl-section-highlighted-text--section-variant='light'] strong {\n    color: var(--_cl-primitives---color--primary--indigo-600, #5754ff);\n  }\n\n  /* Dark Cyan variant */\n  [data-wf--cl-section-highlighted-text--section-variant='dark-cyan'] .content-rich-text.cl--text-gradient {\n    background-image: linear-gradient(91deg, var(--_cl-primitives---color--accent--cyan-500, #6addf1) 0%, var(--_cl-primitives---color--primary--indigo-400, #9b99ff) 45.19%, var(--_cl-primitives---color--accent--violet-400, #e8adff) 95%);\n    background-clip: text;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n  }\n\n  /* Dark Orange variant */\n  [data-wf--cl-section-highlighted-text--section-variant='dark-orange'] .content-rich-text.cl--text-gradient {\n    background-image: linear-gradient(91deg, var(--_cl-primitives---color--accent--orange-400, #ffa270) 5%, var(--_cl-primitives---color--primary--indigo-300, #c3c2ff) 55%, var(--_cl-primitives---color--primary--indigo-400, #9b99ff) 95%);\n    background-clip: text;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n  }\n</style></div><div beginAt=\"1.0\" class=\"w-embed w-script\"><script>\n// Delay comes from the embed wrapper's beginAt attribute (bound to the \"Animation Delay\" prop).\nconst hlEmbedHost = document.currentScript && document.currentScript.parentElement;\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n  const hlBeginAtAttr = parseFloat(hlEmbedHost && hlEmbedHost.getAttribute(\"beginAt\"));\n  const richTexts = document.querySelectorAll('[data-highlighted-text=\"true\"]');\n  const reduceMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n  function sampleGradientColors(bgImage, W, H) {\n    try {\n      var am = bgImage.match(/linear-gradient\\(\\s*([\\d.]+)deg/);\n      if (!am) return null;\n      var deg = parseFloat(am[1]);\n      var re = /(rgba?\\(\\s*[\\d.]+\\s*,\\s*[\\d.]+\\s*,\\s*[\\d.]+(?:\\s*,\\s*[\\d.]+)?\\s*\\))\\s*([\\d.]+%)?/g;\n      var stops = [], m;\n      while ((m = re.exec(bgImage)) !== null) {\n        var nums = m[1].match(/[\\d.]+/g);\n        stops.push({ r: +nums[0], g: +nums[1], b: +nums[2], a: nums[3] !== undefined ? +nums[3] : 1, pos: m[2] ? parseFloat(m[2]) / 100 : null });\n      }\n      if (stops.length < 2) return null;\n      if (stops[0].pos === null) stops[0].pos = 0;\n      if (stops[stops.length - 1].pos === null) stops[stops.length - 1].pos = 1;\n      for (var i = 1; i < stops.length - 1; i++) {\n        if (stops[i].pos === null) stops[i].pos = i / (stops.length - 1);\n      }\n      var canvas = document.createElement('canvas');\n      canvas.width = W; canvas.height = H;\n      var ctx = canvas.getContext('2d');\n      var rad = deg * Math.PI / 180;\n      var sinA = Math.sin(rad), cosA = Math.cos(rad);\n      var half = (Math.abs(W * sinA) + Math.abs(H * cosA)) / 2;\n      var grad = ctx.createLinearGradient(\n        W / 2 - half * sinA, H / 2 + half * cosA,\n        W / 2 + half * sinA, H / 2 - half * cosA\n      );\n      stops.forEach(function(s) {\n        grad.addColorStop(s.pos, 'rgba(' + s.r + ',' + s.g + ',' + s.b + ',' + s.a + ')');\n      });\n      ctx.fillStyle = grad;\n      ctx.fillRect(0, 0, W, H);\n      return ctx.getImageData(0, 0, W, H).data;\n    } catch (e) { return null; }\n  }\n\n  function applyGradientPerChar(richText) {\n    // Read the real gradient, not our temporary override\n    richText.style.removeProperty('background-image');\n    var computed = window.getComputedStyle(richText);\n    var bgImage = computed.backgroundImage;\n    var bgClip = computed.webkitBackgroundClip || computed.backgroundClip;\n    if (!bgImage || bgImage === 'none' || bgClip !== 'text') return;\n\n    var parentRect = richText.getBoundingClientRect();\n    var W = Math.ceil(parentRect.width) || 1;\n    var H = Math.ceil(parentRect.height) || 1;\n    var pixelData = sampleGradientColors(bgImage, W, H);\n    // The parent's clipped gradient paints behind every char at full strength and hides the fade\n    richText.style.backgroundImage = 'none';\n\n    richText.querySelectorAll('.hl-char').forEach(function (char) {\n      var charRect = char.getBoundingClientRect();\n      if (pixelData) {\n        // Solid color per char sampled from gradient - avoids compositor layers\n        var x = Math.min(Math.max(Math.round(charRect.left - parentRect.left + charRect.width / 2), 0), W - 1);\n        var y = Math.min(Math.max(Math.round(charRect.top - parentRect.top + charRect.height / 2), 0), H - 1);\n        var idx = (y * W + x) * 4;\n        var color = 'rgb(' + pixelData[idx] + ',' + pixelData[idx + 1] + ',' + pixelData[idx + 2] + ')';\n        char.style.color = color;\n        char.style.webkitTextFillColor = color;\n      } else {\n        // Fallback: per-char background (gradient accurate but has compositor layer cost)\n        var offsetX = charRect.left - parentRect.left;\n        var offsetY = charRect.top - parentRect.top;\n        char.style.backgroundImage = bgImage;\n        char.style.backgroundSize = W + 'px ' + H + 'px';\n        char.style.backgroundPosition = '-' + offsetX + 'px -' + offsetY + 'px';\n        char.style.webkitBackgroundClip = 'text';\n        char.style.backgroundClip = 'text';\n        char.style.webkitTextFillColor = 'transparent';\n      }\n    });\n  }\n\n  function removeGradientPerChar(richText, characterElements) {\n    richText.style.removeProperty('background-image');\n    characterElements.forEach(function (char) {\n      char.style.removeProperty('color');\n      char.style.removeProperty('-webkit-text-fill-color');\n      char.style.removeProperty('background-image');\n      char.style.removeProperty('background-size');\n      char.style.removeProperty('background-position');\n      char.style.removeProperty('-webkit-background-clip');\n      char.style.removeProperty('background-clip');\n      char.style.opacity = '1';\n    });\n  }\n\n  richTexts.forEach((richText) => {\n    /* ----------------------------- TUNING KNOBS ----------------------------- */\n    const beginAt = isNaN(hlBeginAtAttr) ? 1.0 : hlBeginAtAttr;\n    const startLaterVh = 0.2;\n    const runwayVh = 0.9;\n    const finishGuard = 0.10;\n    const feather = 0.20;\n    const dimFloor = 0.1;\n    const smoothing = 0.08;\n    const smoothingReverse = 0.3;\n    const smoothingCatchUp = 0.4;\n    const frontLoad = 1;\n    /* ------------------------------------------------------------------------ */\n\n    const easeInOutQuad = (t) =>\n      t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;\n\n    const wrapWordsInTextNode = (textNode, animated) => {\n      const text = textNode.nodeValue;\n      if (!text || !text.trim() || text.trim() === \"‍\") return;\n      const fragment = document.createDocumentFragment();\n      const parts = text.split(/(\\s+)/);\n      parts.forEach((part) => {\n        if (!part) return;\n        if (/^\\s+$/.test(part)) {\n          fragment.appendChild(document.createTextNode(part));\n          return;\n        }\n        const wordSpan = document.createElement(\"span\");\n        wordSpan.classList.add(\"hl-word\");\n        for (const character of part) {\n          const characterSpan = document.createElement(\"span\");\n          characterSpan.classList.add(\"hl-char\");\n          characterSpan.textContent = character;\n          if (animated) characterSpan.style.opacity = reduceMotion ? 1 : dimFloor;\n          wordSpan.appendChild(characterSpan);\n        }\n        fragment.appendChild(wordSpan);\n      });\n      textNode.replaceWith(fragment);\n    };\n\n    const processElement = (element, animated) => {\n      const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT, {\n        acceptNode(node) {\n          if (!node.nodeValue.trim()) return NodeFilter.FILTER_REJECT;\n          if (node.parentElement.closest(\".hl-char\")) return NodeFilter.FILTER_REJECT;\n          return NodeFilter.FILTER_ACCEPT;\n        }\n      });\n      const textNodes = [];\n      while (walker.nextNode()) textNodes.push(walker.currentNode);\n      textNodes.forEach((textNode) => wrapWordsInTextNode(textNode, animated));\n    };\n\n    const processParagraphs = (container, animated) => {\n      container.querySelectorAll(\"p\").forEach((paragraph) => {\n        const text = paragraph.textContent.trim();\n        if (!text || text === \"‍\") return;\n        processElement(paragraph, animated);\n      });\n    };\n    processParagraphs(richText, true);\n    // Split the dim copy the same way so both layers break lines identically\n    richText.parentElement.querySelectorAll(\".content-rich-text:not([data-highlighted-text])\").forEach((ghost) => processParagraphs(ghost, false));\n\n    if (!reduceMotion) {\n      applyGradientPerChar(richText);\n    }\n\n    const characterElements = richText.querySelectorAll(\".hl-char\");\n    const total = characterElements.length;\n    if (!total) return;\n\n    if (reduceMotion) {\n      characterElements.forEach((c) => (c.style.opacity = 1));\n      return;\n    }\n\n    let targetProgress = 0;\n    let currentProgress = 0;\n    let rafId = null;\n    let needsUpdate = false;\n    const charState = new Float32Array(total).fill(0);\n    let gradientApplied = true;\n\n    const resampleGradient = () => {\n      if (gradientApplied) applyGradientPerChar(richText);\n    };\n    if (document.fonts && document.fonts.ready) document.fonts.ready.then(resampleGradient);\n    let resizeTimer = null;\n    window.addEventListener(\"resize\", () => {\n      clearTimeout(resizeTimer);\n      resizeTimer = setTimeout(resampleGradient, 150);\n    });\n\n    const updateTarget = () => {\n      const rect = richText.getBoundingClientRect();\n      const viewportHeight = window.innerHeight;\n      const begin = viewportHeight * (beginAt - startLaterVh);\n      const latestTop = viewportHeight * finishGuard - rect.height;\n      const maximumRunway = Math.max(begin - latestTop, 1);\n      const runway = Math.min(viewportHeight * runwayVh, maximumRunway);\n      targetProgress = Math.min(Math.max((begin - rect.top) / runway, 0), 1);\n    };\n\n    const paint = (progress) => {\n      const fl = Math.pow(progress, frontLoad);\n      for (let index = 0; index < total; index++) {\n        const characterStart = (index / total) * (1 - feather);\n        const charEnd = characterStart + feather;\n        if (fl >= charEnd + 0.001) {\n          if (charState[index] !== 1) {\n            charState[index] = 1;\n            characterElements[index].style.opacity = '1';\n          }\n          continue;\n        }\n        if (fl <= characterStart - 0.001) {\n          if (charState[index] !== 0) {\n            charState[index] = 0;\n            characterElements[index].style.opacity = dimFloor;\n          }\n          continue;\n        }\n        charState[index] = 0.5;\n        let characterProgress = (fl - characterStart) / feather;\n        characterProgress = Math.min(Math.max(characterProgress, 0), 1);\n        const eased = easeInOutQuad(characterProgress);\n        characterElements[index].style.opacity = dimFloor + (1 - dimFloor) * eased;\n      }\n    };\n\n    const render = () => {\n      if (needsUpdate) {\n        needsUpdate = false;\n        updateTarget();\n      }\n      if (!gradientApplied && targetProgress < 1) {\n        gradientApplied = true;\n        applyGradientPerChar(richText);\n        charState.fill(0.5);\n      }\n      let s;\n      if (targetProgress < currentProgress) {\n        s = smoothingReverse;\n      } else if (targetProgress === 1) {\n        s = smoothingCatchUp;\n      } else {\n        s = smoothing;\n      }\n      currentProgress += (targetProgress - currentProgress) * s;\n      const settled = Math.abs(targetProgress - currentProgress) < 0.001;\n      if (settled) currentProgress = targetProgress;\n      paint(currentProgress);\n      if (settled && currentProgress === 1 && gradientApplied) {\n        gradientApplied = false;\n        removeGradientPerChar(richText, characterElements);\n      }\n      rafId = settled ? null : requestAnimationFrame(render);\n    };\n\n    const startLoop = () => {\n      if (!rafId) rafId = requestAnimationFrame(render);\n    };\n\n    const onScroll = () => {\n      needsUpdate = true;\n      startLoop();\n    };\n\n    needsUpdate = true;\n    startLoop();\n\n    window.addEventListener(\"scroll\", onScroll, { passive: true });\n    window.addEventListener(\"resize\", onScroll);\n  });\n});\n</script></div></div><div><div class=\"w-embed\"><style>\n  \n  @media(min-width: 768px){\n    .collection-grid .mix_grid_collection-item:nth-child(3n) {\n      grid-area: span 1 / span 2 / span 1 / span 2;\n    }\n\n    .collection-grid .mix_grid_collection-item:nth-child(3n) .mix_grid_collection_item-wrapper {\n      display: flex;\n      flex-direction: row;\n      gap: var(--_cl-sizes---spacing--regular);\n    }\n  \n    .collection-grid .mix_grid_collection-item:nth-child(3n) .mix_grid_collection_item-wrapper .mix_grid_collection_item-image {\n      height: 100%;\n      width: 50%;\n    }\n  \n    /* Large Quote */\n  \n    .collection-grid .mix_grid_collection-item:nth-child(6) .mix_grid_quote-wrapper {\n    \tflex-direction: row;\n    }\n  \n    .collection-grid .mix_grid_collection-item:nth-child(6) .mix_grid_quote-wrapper .mix_grid_quote-content {\n      width: 46rem;\n      margin-left: auto;\n      gap: var(--_cl-sizes---spacing--regular);\n    }\n  \n    .collection-grid .mix_grid_collection-item:nth-child(6) .mix_grid_quote-wrapper .mix_grid_quote-content .mix_grid_quote-author {\n      max-width: none;\n    }\n  \n    .collection-grid .mix_grid_collection-item:nth-child(3n) .mix_grid_collection_item-wrapper .mix_grid_collection_item-content {\n      width: 50%;\n      padding: var(--_cl-sizes---spacing--regular);\n      justify-content: space-between;\n    }\n  }\n\n    @media (max-width: 991px){\n    .collection-grid .mix_grid_collection-item:nth-child(3) .mix_grid_collection_item-wrapper .mix_grid_collection_item-image {\n      height: 100%;\n    }\n  }\n\n  @media(max-width: 920px) and (min-width: 768px){\n    .collection-grid .mix_grid_collection-item:nth-child(2) .mix_grid_quote-wrapper .mix_grid_quote_author-wrapper,\n    .collection-grid .mix_grid_collection-item:nth-child(4) .mix_grid_quote-wrapper .mix_grid_quote_author-wrapper {\n      flex-wrap: wrap;\n      gap: var(--_cl-sizes---spacing--xsmall);\n    }\n\n    .collection-grid .mix_grid_collection-item:nth-child(2) .mix_grid_quote-wrapper .mix_grid_quote_author-wrapper .mix_grid_icon-wrapper,\n    .collection-grid .mix_grid_collection-item:nth-child(4) .mix_grid_quote-wrapper .mix_grid_quote_author-wrapper .mix_grid_icon-wrapper {\n      margin-left: auto;\n    }\n\n    .collection-grid .mix_grid_collection-item:nth-child(2) .mix_grid_quote-wrapper .mix_grid_quote_author-wrapper .mix_grid_quote-author,\n    .collection-grid .mix_grid_collection-item:nth-child(4) .mix_grid_quote-wrapper .mix_grid_quote_author-wrapper .mix_grid_quote-author {\n      align-items: flex-start;\n    }\n  }\n\n  .collection-grid .mix_grid_collection-item:nth-child(2) .mix_grid_collection_item-wrapper,\n  .collection-grid .mix_grid_collection-item:nth-child(4) .mix_grid_collection_item-wrapper,\n  .collection-grid .mix_grid_collection-item:nth-child(6) .mix_grid_collection_item-wrapper {\n    display: none !important;\n    visibility: hidden;\n  }\n\n  .collection-grid .mix_grid_collection-item:nth-child(2) .mix_grid_quote-wrapper,\n  .collection-grid .mix_grid_collection-item:nth-child(4) .mix_grid_quote-wrapper,\n  .collection-grid .mix_grid_collection-item:nth-child(6) .mix_grid_quote-wrapper {\n  \tdisplay: flex;\n  }\n</style></div></div><div><div class=\"w-embed\"><style>\n  @media(min-width: 991px){\n    .content-post .w-richtext p,\n    .content-post .w-richtext ul,\n    .content-post .w-richtext ol,\n    .content-post .w-richtext h1,\n    .content-post .w-richtext h2,\n    .content-post .w-richtext h3,\n    .content-post .w-richtext h4,\n    .content-post .w-richtext h5,\n    .content-post .w-richtext h6,\n    .content-post .w-richtext blockquote {\n      width: 40rem;\n      margin: 0 auto;\n    }\n\n    .content-post .w-richtext figure {\n      width: 57rem;\n      margin: 0 auto;\n    }\n  }\n\n  .content-post .w-richtext figure img {\n    border-radius: var(--_cl-radius---xsmall);\n  }\n\n  .content-post .w-richtext a {\n    color: inherit;\n    text-decoration: underline;\n    text-decoration-thickness: 0.5px;\n    text-underline-position: from-font;\n  }\n\n  .content-post .w-richtext ol {\n    padding-left: 35px;\n  }\n\n  .content-post .w-richtext ul li,\n  .content-post .w-richtext ol li {\n    color: var(--_cl-primitives---color--primary--platinum-900);\n  }\n  \n  .content-post .w-richtext strong {\n    font-weight: var(--_cl-typography---font-weight--bold);\n  }\n\n  .content-post .content-rich-text p,\n  .content-post .content-rich-text ul,\n  .content-post .w-richtext figure{\n    margin-bottom: var(--_cl-sizes---spacing--small);\n  }\n  \n  .content-post .content-rich-text h2 {\n    font-size: var(--_cl-sizes---heading--h4);\n    margin-bottom: var(--_cl-sizes---spacing--small);\n    color: var(--_cl-primitives---color--primary--black);\n  }\n</style></div></div><div><div class=\"w-embed\"><style>\n\n/*** Arrow Button Styles (Disabled) ***/\n\n.cl--arrow-button[data-disabled=\"true\"][data-wf--cl-element-arrow-button--style-theme=\"primary\"],\n.cl--arrow-button[data-disabled=\"true\"][data-wf--cl-element-arrow-button--style-theme=\"secondary\"] {\n  background-color: transparent;\n  color: var(--_cl-primitives---color--primary--platinum-300);\n  cursor: not-allowed;\n}\n\n.cl--arrow-button[data-disabled=\"true\"]:hover {\n  box-shadow: none;\n}\n\n/** Arrow Trigger **/\n\n.cl--arrow-button[data-trigger=\"previous\"] {\n  transform: rotate(180deg);\n}\n  \n</style></div></div></div><div data-header=\"True\" data-wf--cl-section-navbar--style-header-theme=\"default\" class=\"cl--header\"><div class=\"hide\"><div class=\"w-embed\"><style>\n  /** New Navbar Styles **/\n\n  a.cl--header-logo.w-inline-block svg {\n    overflow: visible;\n  }\n\n  [data-header='True'] .cl--header_link_text-main p {\n    white-space: nowrap;\n    transition: 0.2s all ease;\n  }\n\n  [data-header='True'] .cl--header_menu .cl--button-text {\n    font-size: var(--_cl-sizes---text--medium);\n  }\n\n  [data-header='True'] .cl--header_menu .cl--button {\n    color: var(--_cl-primitives---color--primary--platinum-800);\n  }\n\n  [data-header='True'] .cl--header_menu .cl--button:hover {\n    color: var(--_cl-primitives---color--primary--platinum-900) !important;\n  }\n\n  [data-header='True'] .cl--header_menu-cms .cl--button {\n    color: var(--_cl-primitives---color--primary--platinum-700);\n  }\n\n  [data-header='True'] .cl--header_menu-cms .cl--button-text {\n    font-size: var(--_cl-sizes---text--small);\n    color: inherit;\n  }\n\n  [data-header='True'] .cl--header-link {\n    padding: 0 !important;\n  }\n\n  [data-header='True'] .border-radius-small::before {\n    display: none;\n  }\n\n  [data-header='True'] .cl--header-links {\n    gap: var(--_cl-sizes---spacing--xsmall);\n  }\n\n  [data-header='True'] .cl--header_link-col {\n    gap: var(--_cl-sizes---spacing--xxsmall);\n  }\n\n  [data-header='True'] .cl--header-nav.w-nav-menu {\n    align-self: auto;\n  }\n\n  [data-header='True'] .cl--header-nav.w-nav-menu > a {\n    align-self: center;\n  }\n\n  /** Navbar CMS Text Color **/\n\n  .cl--header_menu-cms .cl--button .cl--button-text,\n  .cl--header_menu-cms .cl--button .cl_icon_wrapper svg {\n    color: var(--_cl-primitives---color--primary--black);\n  }\n\n  .cl--header_menu-box.social-links a:nth-child(1) .cl--icon-medium.w-embed {\n    filter: none;\n    position: relative;\n  }\n\n  .cl--header_menu-box.social-links a:nth-child(1) .cl--icon-medium.w-embed svg:nth-child(2) {\n    position: absolute;\n    left: 0.2px;\n    top: 0.2px;\n    opacity: 0;\n    transform: scale(0.9);\n  }\n\n  /* Social hover effects — mouse/trackpad only */\n  @media (hover: hover) and (pointer: fine) {\n    .cl--header_menu-box.social-links a:nth-child(1):hover .cl--icon-medium.w-embed svg:nth-child(1) {\n      opacity: 0;\n    }\n\n    .cl--header_menu-box.social-links a:nth-child(1):hover .cl--icon-medium.w-embed svg:nth-child(2) {\n      opacity: 1;\n    }\n\n    .cl--header_menu-box.social-links a:nth-child(2):hover .cl--icon-medium.w-embed svg path {\n      fill: white;\n    }\n  }\n\n  /** End of New Navbar Styles **/\n\n  /* Lock page scroll while mobile nav is open */\n\n  html.nav-open {\n    overflow: hidden;\n  }\n\n  /* Remove current state */\n\n  .cl--header .w--current {\n    background: transparent !important;\n    color: inherit !important;\n  }\n\n  /* v3 — header top margin */\n\n  .page-wrapper:has(.cl--header[data-wf--cl-section-navbar--style-header-theme='default-v3']) .main-wrapper {\n    margin-top: var(--_cl-sizes---spacing--xxsmall);\n  }\n\n  .page-wrapper.homepage:not(:has(.announcement_component)) .main-wrapper {\n    margin-top: var(--_cl-sizes---spacing--xxsmall);\n  }\n\n  @media(min-width: 767px){ \n    .page-wrapper:not(.homepage):not(:has(.announcement_component)) [data-header=\"True\"] {\n      padding-top: var(--_cl-sizes---spacing--xsmall);\n    }\n  }\n\n  /* v2 — header top margin when announcement banner is closed */\n\n  .page-wrapper:has(.announcement_component.close):has(.cl--header[data-wf--cl-section-navbar--style-header-theme='default-v2']) .main-wrapper {\n    margin-top: var(--_cl-sizes---spacing--xxsmall);\n  }\n\n  /* =========================================================\n     New Border Long Links\n     ========================================================= */\n\n  .cl--header_menu_long-link::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    padding: 1px;\n    border-radius: inherit;\n\n    -webkit-mask:\n      linear-gradient(#fff 0 0) content-box,\n      linear-gradient(#fff 0 0);\n\n    mask:\n      linear-gradient(#fff 0 0) content-box,\n      linear-gradient(#fff 0 0);\n\n    -webkit-mask-composite: xor;\n    mask-composite: exclude;\n\n    pointer-events: none;\n  }\n\n  .cl--header_menu_border-gradient:not(.v2) .cl--header_menu_long-link::before {\n    background: linear-gradient(86deg, var(--_cl-primitives---color--primary--indigo-300), var(--_cl-primitives---color--accent--orange-300));\n  }\n\n  .cl--header_menu_border-gradient.v2 .cl--header_menu_long-link::before {\n    background: linear-gradient(86deg, var(--_cl-primitives---color--primary--indigo-200), var(--_cl-primitives---color--accent--orange-200));\n  }\n\n  /* =========================================================\n     Header link hover — pointer devices only\n     ========================================================= */\n\n  @media (hover: hover) {\n    .cl--header_menu_long-link.border-radius-small:hover .is-white {\n      background: var(--_cl-primitives---color--primary--indigo-1000);\n    }\n\n    .cl--header_menu_long-link.border-radius-small:hover .cl--header_link-icon svg {\n      filter: brightness(100);\n    }\n\n    .cl--header_menu_long-link.border-radius-small .cl--icon-xsmall.w-embed {\n      position: relative;\n      right: 0;\n      transition: 0.2s all ease;\n    }\n\n    .cl--header_menu_long-link.border-radius-small:hover .cl--icon-xsmall.w-embed {\n      right: -0.25rem;\n    }\n\n    /**.cl--header_menu_border-gradient:not(.v2):hover .cl--header_menu_long-link::before {\n      background: linear-gradient(86deg, var(--_cl-primitives---color--primary--indigo-400), var(--_cl-primitives---color--accent--orange-400));\n    }\n\n    .cl--header_menu_border-gradient:hover .cl--header_menu_long-link {\n      background-image: linear-gradient(86deg, var(--_cl-primitives---color--primary--indigo-300), var(--_cl-primitives---color--accent--orange-300));\n    }**/\n\n    /* Long link V2 */\n\n    .cl--header_menu_border-gradient.v2:hover .cl--header_menu_long-link::before {\n      background: linear-gradient(86deg, var(--_cl-primitives---color--primary--indigo-400), var(--_cl-primitives---color--accent--orange-400));\n    }\n\n    .cl--header_menu_border-gradient:hover .cl--header_menu_long-link.v2 {\n      background-image: linear-gradient(86deg, var(--_cl-primitives---color--primary--indigo-300), var(--_cl-primitives---color--accent--orange-300));\n    }\n\n    @media (hover: hover) and (pointer: fine) {\n      /**.cl--header-link:hover .cl--header_link_icon-border {\n        background-image: linear-gradient(225deg, var(--_cl-primitives---color--primary--indigo-600), var(--_cl-primitives---color--primary--indigo-1000));\n      }**/\n\n      .cl--header-link:hover .cl--header_link-icon {\n        background-color: var(--_cl-primitives---color--primary--indigo-1000);\n      }\n\n      .cl--header-link:hover .cl--icon-medium {\n        filter: brightness(100);\n      }\n\n      .cl--header-link:hover .cl--header_link_text-main p {\n        padding-right: var(--_cl-sizes---spacing--tiny);\n      }\n\n      .cl--header-link:hover .cl--icon-xsmall {\n        opacity: 1;\n      }\n    }\n  }\n\n  /* =========================================================\n     Desktop Header\n     ========================================================= */\n\n  @media (min-width: 991px) {\n    /* =======================================================\n       HEADER BACKGROUND STATES\n       ======================================================= */\n\n    /*\n      TOP\n      Transparent\n    */\n\n    [data-header='True'] .cl--header-wrapper.scroll-inactive {\n      background: transparent !important;\n      backdrop-filter: none !important;\n      -webkit-backdrop-filter: none !important;\n    }\n\n    /*\n      TOP + DROPDOWN OPEN\n      Stay transparent\n    */\n\n    [data-header='True'] .cl--header-wrapper.scroll-inactive[data-header-wrapper='active'] {\n      background: transparent !important;\n      backdrop-filter: none !important;\n      -webkit-backdrop-filter: none !important;\n    }\n\n    /*\n      SCROLLED\n      Glass / blur\n    */\n\n    [data-wf--cl-section-navbar--style-header-theme='default-v2'] .cl--header-wrapper.scroll-active,\n    [data-wf--cl-section-navbar--style-header-theme='default-v3'] .cl--header-wrapper.scroll-active,\n    [data-wf--cl-section-navbar--style-header-theme='default'] .cl--header-wrapper.scroll-active,\n    [data-wf--cl-section-navbar--style-header-theme='simple'] .cl--header-wrapper.scroll-active {\n      background: var(--_cl-primitives---color--transparent--white-25) !important;\n      backdrop-filter: blur(15px) !important;\n      -webkit-backdrop-filter: blur(15px) !important;\n    }\n\n    /*\n      SCROLLED + DROPDOWN OPEN\n      Keep glass / blur\n    */\n\n    [data-header='True'] .cl--header-wrapper.scroll-active[data-header-wrapper='active'] {\n      background: var(--_cl-primitives---color--transparent--white-25) !important;\n      backdrop-filter: blur(15px) !important;\n      -webkit-backdrop-filter: blur(15px) !important;\n    }\n\n    /* =======================================================\n       DARK SECTION HEADER COLORS\n\n       IMPORTANT:\n       These no longer require .scroll-active.\n\n       This means they work:\n       - at top\n       - while dropdown is open\n       - while scrolled\n       ======================================================= */\n\n    .cl--header:not([data-wf--cl-section-navbar--style-header-theme='white-background']):not([data-wf--cl-section-navbar--style-header-theme='black--25-background']) .cl--header-wrapper.header-on-dark .cl--header_nav-toggle {\n      color: var(--_cl-primitives---color--primary--white) !important;\n    }\n\n    /* Dropdown arrows */\n\n    .cl--header:not([data-wf--cl-section-navbar--style-header-theme='white-background']):not([data-wf--cl-section-navbar--style-header-theme='black--25-background']) .cl--header-wrapper.header-on-dark .cl--header_nav-toggle svg path {\n      stroke: currentColor !important;\n    }\n\n    /*\n      Logo\n\n      Your logo is an inline SVG and its paths use:\n      fill=\"currentColor\"\n\n      So color controls the logo.\n    */\n\n    .cl--header:not([data-wf--cl-section-navbar--style-header-theme='white-background']):not([data-wf--cl-section-navbar--style-header-theme='black--25-background']) .cl--header-wrapper.header-on-dark .cl--header_logo-image {\n      color: var(--_cl-primitives---color--primary--white) !important;\n      filter: none !important;\n    }\n\n    /* Sign in / quaternary button on dark section */\n\n    .cl--header:not([data-wf--cl-section-navbar--style-header-theme='white-background']):not([data-wf--cl-section-navbar--style-header-theme='black--25-background']) .cl--header-wrapper.header-on-dark [data-wf--cl-element-button--style-theme='quaternary'] {\n      border-color: var(--_cl-primitives---color--primary--white) !important;\n      color: var(--_cl-primitives---color--primary--white) !important;\n    }\n\n    .cl--header:not([data-wf--cl-section-navbar--style-header-theme='white-background']):not([data-wf--cl-section-navbar--style-header-theme='black--25-background']) .cl--header-wrapper.header-on-dark [data-wf--cl-element-button--style-theme='quaternary']:hover {\n      background-color: var(--_cl-primitives---color--transparent--white-25);\n    }\n\n    /* =======================================================\n       LIGHT SECTION RESET AFTER SCROLL\n       ======================================================= */\n\n    .cl--header-wrapper.scroll-active:not(.header-on-dark) .cl--header_logo-image {\n      color: var(--_cl-primitives---color--primary--black) !important;\n      filter: none !important;\n    }\n\n    /* =======================================================\n       New Header Styles\n       ======================================================= */\n\n    /*\n      Overlay on dropdown hover.\n\n      No background or text color is changed here.\n    */\n\n    [data-header='True']:has(.cl--header_nav-dropdow:hover) .navigation-overlay {\n      opacity: 1;\n      visibility: visible;\n    }\n\n    [data-header='True'] [data-toggle] .cl--header_nav-position {\n      display: none !important;\n    }\n\n    .wf-design-mode [data-header='True'] [data-toggle] .cl--header_nav-position {\n      display: block !important;\n    }\n\n    /* Absolute position for horizontal menu animation */\n\n    .dropdown-inner > [data-menu] {\n      position: absolute;\n      top: 0;\n      left: 0;\n      width: 100%;\n\n      opacity: 0;\n      visibility: hidden;\n      pointer-events: none;\n\n      transition:\n        transform 0.35s cubic-bezier(0.25, 1, 0.5, 1),\n        opacity 0.3s ease,\n        visibility 0.35s ease;\n\n      will-change: transform, opacity;\n    }\n\n    /* Active menu */\n\n    .dropdown-inner > [data-menu].is-active {\n      opacity: 1;\n      visibility: visible;\n      pointer-events: auto;\n      transform: translateX(0);\n    }\n\n    /* Horizontal animation directions */\n\n    .dropdown-inner > [data-menu].slide-left {\n      transform: translateX(-40px);\n      opacity: 0;\n      visibility: hidden;\n    }\n\n    .dropdown-inner > [data-menu].slide-right {\n      transform: translateX(40px);\n      opacity: 0;\n      visibility: hidden;\n    }\n\n    /**.dropdown-inner .cl--header_menu,\n    .dropdown-inner .cl--header_link-col.cl--custom-padding {\n      padding: 0 !important;\n    }**/\n\n    .dropdown-inner .cl--header_link-col.cl--custom-padding {\n      gap: var(--_cl-sizes---spacing--xsmall);\n    }\n\n    .dropdown-inner .cl--header_menu {\n      gap: var(--_cl-sizes---spacing--small);\n    }\n\n    .dropdown-inner .cl--header_links-box:not(.grid-mode-2-columns) {\n      display: flex;\n      flex-direction: column;\n      gap: var(--_cl-sizes---spacing--xxsmall);\n    }\n\n    /* Dropdown widths */\n\n    .navigation-dropdown-wrapper[data-active-menu='1'] {\n      max-width: 62rem !important;\n      padding: 0;\n    }\n\n    .navigation-dropdown-wrapper[data-active-menu='2'],\n    .navigation-dropdown-wrapper[data-active-menu='3'],\n    .navigation-dropdown-wrapper[data-active-menu='4'] {\n      max-width: 53.75rem !important;\n    }\n\n    /* New Video Card */\n\n    .cl--nav-card-image.image-inactive {\n      opacity: 0;\n      pointer-events: none;\n    }\n\n    .dropdown-wrapper .cl--button .cl--button-text {\n      font-size: var(--_cl-sizes---text--small) !important;\n    }\n\n    .dropdown-wrapper .cl--button .cl_icon_wrapper {\n      width: 1rem !important;\n      height: 1rem !important;\n    }\n\n    .cl--nav-card:hover .cl--button-wrapper,\n    .cl--header_menu-cms:hover .cl--button-wrapper {\n      gap: var(--_cl-sizes---spacing--tiny);\n    }\n\n    /** CMS Image Hover **/\n\n    .cl--header_menu-cms:hover .cl--collection-image {\n      transform: scale(1.1);\n    }\n\n    /** End of New Header Styles **/\n\n    /* =======================================================\n       default-v3 scroll styles\n       ======================================================= */\n\n    [data-wf--cl-section-navbar--style-header-theme='default-v3'] .cl--header-wrapper.scroll-active .cl--header_logo-image {\n      filter: unset;\n    }\n\n    [data-wf--cl-section-navbar--style-header-theme='default-v3'] .cl--header-wrapper.scroll-active .cl--button[data-wf--cl-element-button--style-theme='alternate'] {\n      border: 1px solid var(--_cl-primitives---color--primary--black);\n      color: var(--_cl-primitives---color--primary--black);\n      background-color: #0000;\n      background-image: none;\n    }\n\n    [data-wf--cl-section-navbar--style-header-theme='default-v3'] .cl--header-wrapper.scroll-active .cl--button[data-wf--cl-element-button--style-theme='alternate']:hover {\n      background-color: var(--_cl-primitives---color--primary--indigo-100);\n      box-shadow: 0 0 16px 0 var(--_cl-primitives---color--primary--indigo-300);\n      color: var(--_cl-primitives---color--primary--black);\n    }\n\n    [data-wf--cl-section-navbar--style-header-theme='default-v3'] .cl--header-wrapper.scroll-active:not(.header-on-dark) .cl--header_nav-toggle {\n      color: var(--_cl-primitives---color--primary--black);\n    }\n\n    [data-wf--cl-section-navbar--style-header-theme='white--25-background'] .cl--header-wrapper.scroll-active,\n    [data-wf--cl-section-navbar--style-header-theme='black--25-background'] .cl--header-wrapper.scroll-active {\n      backdrop-filter: blur(15px);\n      -webkit-backdrop-filter: blur(15px);\n    }\n\n    /* =======================================================\n       Header Link Hover\n       ======================================================= */\n\n    .cl--header_nav-dropdown.w-dropdown .cl--header_nav-toggle:hover .cl--icon-small {\n      transform: rotate(180deg);\n    }\n\n    /* =======================================================\n       Header Media Query\n       ======================================================= */\n\n    .page-wrapper:has(.announcement_component.close) .cl--header[data-wf--cl-section-navbar--style-header-theme='white-background-careers'] {\n      margin-bottom: -7rem;\n    }\n\n    .page-wrapper:has(.announcement_component.close):has(.cl--header[data-wf--cl-section-navbar--style-header-theme='white-background-careers']) .main-wrapper {\n      margin-top: var(--_cl-sizes---spacing--xxsmall);\n    }\n\n    .page-wrapper:has(.announcement_component.close):has(.cl--header[data-wf--cl-section-navbar--style-header-theme='white-background-careers']) {\n      margin-top: 1.5rem;\n    }\n\n    .cl--icon-mobile,\n    .cl--header_nav-toggle svg path {\n      transition: 0.2s all ease;\n    }\n  }\n\n  /* =========================================================\n     Medium Desktop\n     ========================================================= */\n\n  @media (max-width: 1200px) and (min-width: 991px) {\n    .cl--header-inner.w-nav > a,\n    .cl--header-inner.w-nav > a + nav + div + div {\n      transform: scale(0.8);\n    }\n\n    .cl--header-nav.w-nav-menu {\n      transform: scale(0.9);\n    }\n\n    .cl--header_menu.cl--header_menu-2col {\n      min-width: 35rem;\n    }\n\n    .cl--header-inner.w-nav > a + nav + div + div * {\n      font-size: 0.9rem;\n    }\n  }\n\n  /* =========================================================\n     Header Mobile Shared Styles\n     ========================================================= */\n\n  .cl--header_mobile-buttons .cl--button-wrapper {\n    padding: 0.75rem 1.5rem;\n  }\n\n  .cl--header_mobile-buttons .cl--button-wrapper .cl--button-text {\n    font-size: 1rem;\n    line-height: 1.3;\n  }\n\n  /* =========================================================\n     Mobile\n     ========================================================= */\n\n  @media screen and (max-width: 991px) {\n    .w-nav-overlay {\n      width: 100vw;\n      top: 100%;\n      left: 50%;\n      transform: translateX(-50%);\n      overflow: hidden;\n\n      height: calc(100vh - 100%) !important; /* Fallback */\n      height: calc(100svh - 64px) !important;\n\n      background: white;\n    }\n\n    .cl--header-nav,\n    .w-nav-menu {\n      overflow-y: auto;\n      overscroll-behavior: contain;\n    }\n\n    .cl--header-nav {\n      display: none;\n    }\n\n    .cl--header_mobile-toggle {\n      display: block;\n    }\n\n    .cl--header-wrapper:has(.cl--header_mobile-toggle.w-nav-button.w--open) {\n      transition: background 0.2s ease;\n    }\n\n    .cl--header-wrapper.scroll-active,\n    .cl--header-wrapper.scroll-inactive {\n      transition: all 0.2s ease;\n    }\n\n    .cl--header:has(.scroll-active) .w-nav-menu {\n      height: 100vh !important;\n    }\n\n    .cl--header-wrapper.scroll-active,\n    .cl--header-wrapper:has(.w--open) {\n      background: var(--_cl-primitives---color--primary--white);\n    }\n\n    .cl--header_nav-toggle.w--open .cl--icon-small {\n      transform: rotate(180deg);\n    }\n\n    .cl--header_nav-toggle + .cl--header_nav-position {\n      display: grid;\n      transition: grid-template-rows 0.5s ease;\n    }\n\n    .cl--header_nav-toggle:not(.w--open) + .cl--header_nav-position {\n      grid-template-rows: 0fr;\n    }\n\n    .cl--header_nav-toggle.w--open + .cl--header_nav-position {\n      grid-template-rows: 1fr;\n    }\n\n    .cl--header.w-variant-5208d731-f752-8233-5e21-a69a1f271a70:has(.w-nav-button.w--open) .cl--header_logo-image {\n      filter: invert(0%);\n    }\n\n    [data-wf--cl-section-navbar--style-header-theme='default-v3'] .cl--header-wrapper.scroll-active .cl--header_logo-image,\n    [data-wf--cl-section-navbar--style-header-theme='default-v3'] .cl--header-wrapper.scroll-active .cl--icon-mobile.open-icon {\n      filter: unset;\n    }\n\n    [data-header='True'] .cl--header_nav-toggle {\n      padding: var(--_cl-sizes---spacing--small) var(--_cl-sizes---spacing--none);\n    }\n\n    [data-header='True'] .cl--header_links-box {\n      gap: var(--_cl-sizes---spacing--xxsmall);\n    }\n\n    [data-header='True'] .cl--header_menu,\n    [data-header='True'] .cl--header_link-col,\n    [data-header='True'] .cl--header_links-grid {\n      gap: var(--_cl-sizes---spacing--xsmall);\n    }\n\n    /**[data-header='True'] .cl--header_menu {\n      padding: var(--_cl-sizes---spacing--xxsmall) var(--_cl-sizes---spacing--xxsmall) var(--_cl-sizes---spacing--regular) var(--_cl-sizes---spacing--xxsmall);\n    }**/\n\n    [data-header='True'] .cl--header_mobile_wrap .cl--button {\n      width: 100%;\n    }\n\n    [data-header='True'] .cl--header_mobile-buttons .cl--button-wrapper {\n      padding: var(--_cl-sizes---spacing--xxsmall) var(--_cl-sizes---spacing--small);\n    }\n\n    [data-header='True'] .cl--header_mobile-buttons .cl--button-wrapper .cl--button-text {\n      font-size: 0.875rem;\n    }\n\n    [data-header='True'] .cl--header_mobile-buttons {\n      padding-top: var(--_cl-sizes---spacing--medium);\n      padding-bottom: var(--_cl-sizes---spacing--small);\n    }\n  }\n</style>\n\n<style>\n  /* Webflow puts `transition: all` on the nav menu, so every property\n     change animates — layout properties included. Only the slide needs to. */\n  @media (max-width: 991px) {\n    .cl--header-nav.w-nav-menu {\n      transition: transform 0.2s ease !important;\n    }\n  }\n\n  @media (max-width: 991px) {\n    .cl--header_nav-position {\n      transition: none !important;\n      overflow: hidden !important; /* clip the panel while it translates, so it can't ride up over the navbar */\n    }\n  }\n</style>\n<style>\n  @media (max-width: 1030px) and (min-width: 991px) {\n    .cl--header_menu {\n      min-width: 60px !important;\n    }\n  }\n</style>\n<style>\n  @media (max-width: 991px) {\n    /* on-screen backdrop-filter — the costliest kind, it re-samples everything behind it */\n    .hs-form-private {\n      -webkit-backdrop-filter: none !important;\n      backdrop-filter: none !important;\n      background-color: rgba(255, 255, 255, 0.75) !important; /* was .35 + blur(25px) */\n    }\n    /* decorative glows: 6 x 320px blur(44px), 1 x 679px blur(80px) */\n    .customer_highlight_slider_item-bg,\n    .bottom_cta-bg {\n      display: none !important;\n    }\n\n    /** Custom Padding Dropdown **/\n\n    .cl--header_nav-toggle .side-gap {\n      margin-left: var(--_cl-sizes---spacing--small);\n    }\n\n    .cl--header_nav-toggle .cl--icon-small.w-embed {\n      margin-right: var(--_cl-sizes---spacing--small);\n    }\n  }\n</style>\n<style>\n  /* Definitive fix for displaced logo in Safari iOS (iPhone 13, 16, etc.) */\n  @media screen and (max-width: 991px) {\n    /* Remove Webflow/WebKit pseudo-elements causing layout shifts */\n    .cl--header-inner::before,\n    .cl--header-inner::after,\n    .cl--header-wrapper::before,\n    .cl--header-wrapper::after,\n    .w-nav::before,\n    .w-nav::after,\n    .w-nav-container::before,\n    .w-nav-container::after,\n    .w-nav-brand::before,\n    .w-nav-brand::after,\n    .w-nav-menu::before,\n    .w-nav-menu::after {\n      content: none !important;\n      display: none !important;\n      width: 0 !important;\n      height: 0 !important;\n    }\n\n    @media screen and (max-width: 767px) {\n      /* Control SVG dimensions using height instead of fixed width */\n      .cl--header_logo-image {\n        height: 1.625rem !important;\n        width: auto !important;\n        max-width: 100% !important;\n        display: block !important;\n      }\n\n      /** Hide borders when dropdown is open **/\n\n      .cl--header_nav-dropdown.w-dropdown.w--nav-dropdown-open:has(.w--open) + .cl--header_nav-dropdown.w-dropdown.w--nav-dropdown-open > div {\n        border-color: transparent;\n      }\n\n      /** Change Button Component Size **/\n\n      [data-header='True'] .cl--header_menu .cl--button-text {\n        font-size: 0.75rem;\n      }\n\n      [data-header='True'] .cl--header_menu .cl_icon_wrapper {\n        width: 1rem;\n        height: 1rem;\n      }\n    }\n  }\n</style></div><div class=\"w-embed w-script\"><script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  const toggle = document.querySelector('[data-mobile-toggle]');\n  const openIcon = document.querySelector('[data-open-icon]');\n  const closeIcon = document.querySelector('[data-close-icon]');\n  const header = document.querySelector('[data-header-wrapper]');\n\n  const exitOffset = 100;\n\n  if (closeIcon) {\n    closeIcon.style.display = 'none';\n  }\n\n  if (toggle && openIcon && closeIcon) {\n    const syncMenuState = () => {\n      const isOpen = toggle.classList.contains('w--open');\n      document.documentElement.classList.toggle('nav-open', isOpen);\n\n      openIcon.style.display = isOpen ? 'none' : 'block';\n      closeIcon.style.display = isOpen ? 'block' : 'none';\n\n      if (isOpen) {\n        if (header) {\n          header.classList.remove('scroll-active');\n          header.classList.remove('scroll-inactive');\n        }\n      } else {\n        handleHeaderState();\n      }\n    };\n\n    new MutationObserver(syncMenuState).observe(toggle, {\n      attributes: true,\n      attributeFilter: ['class'],\n    });\n\n    syncMenuState();\n  }\n\n  function handleHeaderState() {\n    if (!header) return;\n\n    if (window.scrollY > 0) {\n      header.classList.remove('scroll-inactive');\n      header.classList.add('scroll-active');\n    } else {\n      header.classList.remove('scroll-active');\n      header.classList.add('scroll-inactive');\n    }\n\n    const darkSections = document.querySelectorAll('[dark-section=\"true\"]');\n\n    let isOnDarkSection = false;\n\n    darkSections.forEach((section) => {\n      const rect = section.getBoundingClientRect();\n      const headerHeight = header.offsetHeight;\n\n      if (rect.top <= headerHeight && rect.bottom >= exitOffset) {\n        isOnDarkSection = true;\n      }\n    });\n\n    if (isOnDarkSection) {\n      header.classList.add('header-on-dark');\n    } else {\n      header.classList.remove('header-on-dark');\n    }\n  }\n\n  window.addEventListener('scroll', handleHeaderState);\n  window.addEventListener('resize', handleHeaderState);\n\n  handleHeaderState();\n});\n</script></div><div class=\"w-embed w-script\"><script>\n  /* =========================================================\n   Decagon navbar dropdown — Ramp-style hover interactions\n   Replaces the previous [data-nav-dropdown] control script.\n\n   1. CLOSE is synchronised: navbar bar background, dark overlay\n      and the dropdown panel all fade out together, same duration\n      + easing (no more bar disappearing before the panel).\n   2. SWITCHING menus is a clean, direction-aware slide inside a\n      clipped, morphing container (like ramp.com) — the panel\n      resizes smoothly and the content glides side-to-side with a\n      quick cross-fade, so you never see the two menus overlap.\n   ========================================================= */\n  document.addEventListener('DOMContentLoaded', () => {\n    const mediaQuery = window.matchMedia('(min-width: 991px)');\n\n    const overlay = document.querySelector('[data-nav-overlay]');\n    const dropdown = document.querySelector('[data-nav-dropdown]');\n    const dropdownWrapper = document.querySelector('.navigation-dropdown-wrapper');\n    const headerWrapper = document.querySelector('[data-header-wrapper]');\n    const dropdownInner = dropdown ? dropdown.querySelector('.dropdown-inner') : null;\n\n    if (!dropdown || !dropdownInner) return;\n\n    /* ---------- Tunable timing (mirrors ramp.com) ---------- */\n    const FADE_MS = 320; // open/close — bar bg, overlay, panel reveal (kept identical)\n    const FADE_EASE = 'cubic-bezier(0.4, 0, 0.2, 1)';\n    const SLIDE_MS = 450; // content horizontal glide between menus\n    const SLIDE_EASE = 'cubic-bezier(0.4, 0, 0.2, 1)';\n    // Container resize (width + height) runs on the SAME clock + curve as the slide,\n    // so the tile and the menu items start and stop on the same frame. (They used to be\n    // 320ms vs 450ms with different curves — the tile landed early and the two curves\n    // fighting each other read as a wobble at the end of the move.)\n    const MORPH_MS = SLIDE_MS;\n    const MORPH_EASE = SLIDE_EASE;\n    const DIST = 0.2; // travel distance of the sliding content, as a fraction of the panel width.\n    // Converted to px at the moment a switch starts: a % transform would be\n    // re-multiplied by the container width WHILE that width is morphing,\n    // which bends the path — px keeps it a single clean ease.\n    const GRACE_MS = 120; // debounce so moving toggle -> panel doesn't flicker close\n    // The side-swipe between menus only plays while the tile is at least this visible.\n    // Below it (tile mid-way through closing, or only just started opening) a swipe reads\n    // as a ghost of the old panel, so we swap content instantly and let the fresh-open\n    // fade + rise carry the new menu in instead.\n    const SWIPE_MIN_OPACITY = 0.5;\n    const RADIUS = 'var(--_cl-radius---small, 10px)'; // panel corner radius (kept during the reveal)\n\n    /* ---------- Inject CSS overrides (so only this embed needs editing) ---------- */\n    const style = document.createElement('style');\n    style.id = 'nav-anim-enhance';\n    style.textContent = `\n    :root {\n      --nav-fade: ${FADE_MS}ms;   --nav-fade-ease: ${FADE_EASE};\n      --nav-morph: ${MORPH_MS}ms;  --nav-morph-ease: ${MORPH_EASE};\n      --nav-slide: ${SLIDE_MS}ms;  --nav-slide-ease: ${SLIDE_EASE};\n    }\n\n    /* (1) Unified open/close — bar bg, overlay and panel share duration + easing */\n    [data-header='True'] .cl--header-wrapper {\n      transition: background-color var(--nav-fade) var(--nav-fade-ease) !important;\n    }\n    .navigation-overlay {\n      transition: opacity var(--nav-fade) var(--nav-fade-ease) !important;\n    }\n    /* Panel reveals FROM THE TOP and retracts back to the top (like ramp.com),\n       using a clip-path wipe — GPU-composited, no grid height-collapse jank. */\n    .navigation-dropdown-wrapper {\n      grid-template-rows: 1fr !important;                    /* keep the grid from collapsing */\n      /* The -40px side insets are load-bearing. clip-path clips the element's\n         box-shadow too, so at inset(0) the shadow below is cut away entirely.\n         Holding the clip region 40px outside the border box gives the shadow\n         room to paint. Do not \"tidy\" these back to 0. */\n      clip-path: inset(0 -40px 100% -40px round ${RADIUS});  /* closed: clipped up into the top */\n      /* Temporary: subtle drop shadow so the tile separates from white-background\n         pages. Ported from the production navbar (.cl--header_nav-position).\n         Remove once all pages use the primary-100 background; the Blog template's\n         white header section is the expected exception. */\n      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\n      will-change: opacity, clip-path;\n      transition: opacity var(--nav-fade) var(--nav-fade-ease),\n                  clip-path var(--nav-fade) var(--nav-fade-ease),\n                  visibility var(--nav-fade) var(--nav-fade-ease),\n                  max-width var(--nav-morph) var(--nav-morph-ease) !important;\n    }\n    .navigation-dropdown-wrapper.is-open {\n      clip-path: inset(-40px round ${RADIUS}) !important;    /* open: fully revealed + shadow room */\n    }\n\n    @media (min-width: 991px) {\n      /* (2) Clipped, morphing container */\n      .dropdown-wrapper { overflow: hidden; }\n      .dropdown-inner   { transition: height var(--nav-morph) var(--nav-morph-ease) !important; }\n\n      /* Panels stack; resting state = hidden with a small rise (used on open-from-closed) */\n      .dropdown-inner > [data-menu] {\n        position: absolute; top: 0; left: 0; width: 100%;\n        opacity: 0; visibility: hidden; pointer-events: none;\n        transform: translateY(8px);\n        transition: opacity var(--nav-fade) var(--nav-fade-ease),\n                    transform var(--nav-fade) var(--nav-fade-ease),\n                    visibility var(--nav-fade) var(--nav-fade-ease);\n        will-change: transform, opacity;\n      }\n      .dropdown-inner > [data-menu].is-active {\n        opacity: 1; visibility: visible; pointer-events: auto;\n        transform: translate(0);\n      }\n    }\n  `;\n    document.head.appendChild(style);\n\n    /* ---------- Clone source menus into the shared panel (id-guarded, no dupes) ---------- */\n    const toggles = [...document.querySelectorAll('[data-toggle]')];\n    toggles.forEach((toggle) => {\n      const id = toggle.getAttribute('data-toggle');\n      if (!id || dropdownInner.querySelector(`[data-menu=\"${id}\"]`)) return;\n      const src = document.querySelector(`[data-menu=\"${id}\"]`);\n      if (src) {\n        const clone = src.cloneNode(true);\n        clone.removeAttribute('style');\n\n        // Configuración de imágenes lazy-loading\n        clone.querySelectorAll('img[loading=\"lazy\"]').forEach((img) => {\n          img.setAttribute('loading', 'eager');\n        });\n\n        // Interacción Hover: Alternar imagen/video (Manteniendo la posición del video)\n        clone.querySelectorAll('.cl--nav-card').forEach((card) => {\n          const img = card.querySelector('.cl--nav-card-image');\n          const vid = card.querySelector('.cl--nav-card-video') || card.querySelector('video');\n\n          if (!vid) return;\n\n          // Atributos de compatibilidad obligatorios\n          vid.muted = true;\n          vid.playsInline = true;\n          vid.removeAttribute('autoplay');\n\n          // HOVER IN: Oculta la imagen estática y reanuda la reproducción\n          card.addEventListener('mouseenter', () => {\n            if (img) img.classList.add('image-inactive');\n            vid.play().catch(() => {});\n          });\n\n          // HOVER OUT: Pausa el video en su cuadro actual y vuelve a mostrar la imagen\n          card.addEventListener('mouseleave', () => {\n            vid.pause(); // Mantiene el timestamp actual\n            if (img) img.classList.remove('image-inactive');\n          });\n        });\n\n        dropdownInner.appendChild(clone);\n      }\n    });\n\n    const menu = (id) => dropdownInner.querySelector(`[data-menu=\"${id}\"]`);\n    const menuIds = [...new Set(toggles.map((t) => t.getAttribute('data-toggle')).filter(Boolean))];\n\n    let closeTimeout = null;\n    let resetTimeout = null; // pending post-close reset => a close fade is in progress\n    let currentId = null;\n\n    const setActiveAttr = (id) => {\n      if (dropdownWrapper) dropdownWrapper.setAttribute('data-active-menu', id);\n    };\n\n    /* ---------- Resting panel width for each menu ----------\n       The tile's max-width is driven by [data-active-menu] in the site CSS, so each menu\n       has its own resting width. The switch needs to know the width it is heading TO in\n       order to keep the on-screen slide distance constant (see edgeShift below).\n       Measured only while the panel is closed and at rest — transitions disabled, no\n       paint in between — so it is invisible. Cached per viewport width. */\n    const innerWidths = {};\n    let innerWidthsKey = null;\n    const measureInnerWidths = () => {\n      if (!dropdownWrapper) return;\n      const key = window.innerWidth;\n      if (innerWidthsKey === key) return;\n      const prevAttr = dropdownWrapper.getAttribute('data-active-menu');\n      dropdownWrapper.style.setProperty('transition', 'none', 'important');\n      menuIds.forEach((id) => {\n        dropdownWrapper.setAttribute('data-active-menu', id);\n        innerWidths[id] = dropdownInner.getBoundingClientRect().width;\n      });\n      if (prevAttr === null) dropdownWrapper.removeAttribute('data-active-menu');\n      else dropdownWrapper.setAttribute('data-active-menu', prevAttr);\n      void dropdownWrapper.offsetWidth; // flush so the restored value is not transitioned\n      dropdownWrapper.style.removeProperty('transition');\n      innerWidthsKey = key;\n    };\n\n    const updateHeight = (m) => {\n      if (m) dropdownInner.style.height = `${m.offsetHeight}px`;\n    };\n\n    // Re-measure the open menu whenever its content can still change size after the\n    // fact: an image finishing its download, or the webfonts swapping in.\n    const refreshHeight = () => {\n      if (currentId) updateHeight(menu(currentId));\n    };\n    dropdownInner.querySelectorAll('img').forEach((img) => {\n      if (!img.complete) img.addEventListener('load', refreshHeight, { once: true });\n    });\n    if (document.fonts && document.fonts.ready) document.fonts.ready.then(refreshHeight);\n\n    const hideMenu = (m) => {\n      m.classList.remove('is-active');\n      m.style.cssText = ''; // fall back to CSS resting (hidden) state\n    };\n\n    // Same as hideMenu but with no fade-out: the menu is gone on the next paint.\n    const hideMenuNow = (m) => {\n      m.style.transition = 'none';\n      m.classList.remove('is-active');\n      void m.offsetWidth;\n      m.style.cssText = '';\n    };\n\n    const clearAllMenus = () => {\n      dropdownInner.querySelectorAll('[data-menu]').forEach(hideMenu);\n    };\n\n    // Apply a size change (tile max-width + inner height) with NO morph. The tile's\n    // opacity / clip-path fades are left untouched — only max-width is pulled out of\n    // its transition list for the duration of the change, which cancels just that one.\n    const NO_MORPH_TRANSITION = 'opacity var(--nav-fade) var(--nav-fade-ease), clip-path var(--nav-fade) var(--nav-fade-ease), visibility var(--nav-fade) var(--nav-fade-ease)';\n    const snapSize = (apply) => {\n      if (dropdownWrapper) dropdownWrapper.style.setProperty('transition', NO_MORPH_TRANSITION, 'important');\n      dropdownInner.style.setProperty('transition', 'none', 'important');\n      apply();\n      void dropdownInner.offsetWidth; // commit at the new size\n      if (dropdownWrapper) dropdownWrapper.style.removeProperty('transition');\n      dropdownInner.style.removeProperty('transition');\n    };\n\n    // Back to the \"nothing open\" state (used after a close finishes, and when a\n    // different menu is requested while a close fade is still running).\n    const resetPanel = () => {\n      clearAllMenus();\n      dropdownInner.style.height = '';\n      currentId = null;\n      if (dropdownWrapper) dropdownWrapper.removeAttribute('data-active-menu');\n    };\n\n    const setActiveMenu = (nextId) => {\n      const next = menu(nextId);\n      if (!next) return;\n\n      // Opening from closed: gentle fade + rise, no side-slide\n      if (!currentId) {\n        measureInnerWidths(); // panel is closed and at rest here — safe to measure\n        clearAllMenus();\n        setActiveAttr(nextId);\n        next.classList.add('is-active');\n        updateHeight(next);\n        currentId = nextId;\n        return;\n      }\n      if (nextId === currentId) {\n        updateHeight(next);\n        return;\n      }\n\n      // Tile barely visible? No swipe. Drop the old menu right now, put the tile at its\n      // final size, and let the new menu fade + rise in as if opening from closed.\n      const tileOpacity = parseFloat(getComputedStyle(dropdown).opacity);\n      if (!(tileOpacity >= SWIPE_MIN_OPACITY)) {\n        const stale = menu(currentId);\n        if (stale && stale !== next) hideMenuNow(stale);\n        snapSize(() => {\n          setActiveAttr(nextId);\n          next.classList.add('is-active');\n          updateHeight(next);\n        });\n        currentId = nextId;\n        return;\n      }\n\n      const goingRight = parseInt(nextId, 10) > parseInt(currentId, 10);\n      const prev = menu(currentId);\n      /* Edge-drift compensation — keeps the slide the SAME visible distance for every pair.\n         The tile is centred, so when it resizes from oldW to newW its left edge (the\n         layout origin of both panels) drifts by (oldW - newW) / 2 during the switch.\n         Without this, Resources -> Company (tile shrinking) showed the content crawling\n         ~44px while Product -> Industries (no resize) showed the full 168px, so the same\n         450ms read as slow in one and right in the other. Baking the drift into the\n         start/end transforms makes the on-screen travel exactly distPx every time. */\n      const oldW = innerWidths[currentId] || dropdownInner.getBoundingClientRect().width;\n      const newW = innerWidths[nextId] || oldW;\n      const edgeShift = Math.round((oldW - newW) / 2); // +ve when the tile shrinks\n      // Slide distance from the WIDER of the two panels, so A -> B and B -> A travel the\n      // same distance (20% of the narrow Company panel used to give a shorter trip back).\n      const distPx = Math.round(Math.max(oldW, newW) * DIST);\n      const inFrom = edgeShift + (goingRight ? distPx : -distPx);\n      const outTo = -edgeShift + (goingRight ? -distPx : distPx);\n\n      // Incoming: enters from the far side, glides to centre + fades in (on top)\n      next.style.transition = 'none';\n      next.classList.add('is-active');\n      next.style.zIndex = '3';\n      next.style.opacity = '0';\n      next.style.visibility = 'visible';\n      next.style.pointerEvents = 'auto';\n      next.style.transform = `translateX(${inFrom}px)`;\n      void next.offsetWidth; // reflow so the start state sticks\n      setActiveAttr(nextId); // start the tile's width morph on the same frame as the slide\n      next.style.transition = `transform var(--nav-slide) var(--nav-slide-ease), opacity var(--nav-fade) var(--nav-fade-ease)`;\n      next.style.transform = 'translateX(0)';\n      next.style.opacity = '1';\n\n      // Outgoing: glides out to the opposite side + fades (underneath)\n      if (prev && prev !== next) {\n        prev.style.zIndex = '2';\n        prev.style.transition = `transform var(--nav-slide) var(--nav-slide-ease), opacity var(--nav-fade) var(--nav-fade-ease)`;\n        prev.style.transform = `translateX(${outTo}px)`;\n        prev.style.opacity = '0';\n        const leaving = prev;\n        setTimeout(() => {\n          if (leaving !== menu(currentId)) hideMenu(leaving);\n        }, SLIDE_MS + 40);\n      }\n\n      updateHeight(next);\n      currentId = nextId;\n    };\n\n    const openNav = (id) => {\n      if (!mediaQuery.matches) return;\n      if (closeTimeout) {\n        clearTimeout(closeTimeout);\n        closeTimeout = null;\n      }\n      if (resetTimeout) {\n        // The panel is mid-way through its close fade: keep its state, reverse the fade.\n        // Whether a requested menu switch may swipe is decided in setActiveMenu from the\n        // tile's actual on-screen opacity (see SWIPE_MIN_OPACITY).\n        clearTimeout(resetTimeout);\n        resetTimeout = null;\n      }\n      if (id) setActiveMenu(id);\n      if (overlay) overlay.classList.add('overlay-active');\n      dropdown.classList.add('is-open');\n      if (headerWrapper) headerWrapper.setAttribute('data-header-wrapper', 'active');\n    };\n\n    const closeNav = () => {\n      if (!mediaQuery.matches) return;\n      if (closeTimeout) clearTimeout(closeTimeout);\n      closeTimeout = setTimeout(() => {\n        // All three exit at the SAME instant with the SAME duration + easing\n        if (headerWrapper) headerWrapper.removeAttribute('data-header-wrapper');\n        if (overlay) overlay.classList.remove('overlay-active');\n        dropdown.classList.remove('is-open');\n\n        // Reset once the close transition has finished\n        if (resetTimeout) clearTimeout(resetTimeout);\n        resetTimeout = setTimeout(() => {\n          resetTimeout = null;\n          if (!dropdown.classList.contains('is-open')) resetPanel();\n        }, FADE_MS + 40);\n      }, GRACE_MS);\n    };\n\n    const handleResize = () => {\n      if (!mediaQuery.matches) {\n        resetPanel();\n        if (headerWrapper) headerWrapper.removeAttribute('data-header-wrapper');\n      }\n    };\n\n    toggles.forEach((toggle) => {\n      toggle.addEventListener('mouseenter', () => openNav(toggle.getAttribute('data-toggle')));\n      toggle.addEventListener('mouseleave', closeNav);\n    });\n    dropdown.addEventListener('mouseenter', () => openNav());\n    dropdown.addEventListener('mouseleave', closeNav);\n    mediaQuery.addEventListener('change', handleResize);\n  });\n</script>\n\n<script>\n  /* Mobile nav accordion — GPU-only reveal (FLIP).\n   grid-template-rows is a LAYOUT property, so animating it costs layout + raster every\n   frame and the phone drops frames. Everything here is `transform` only, which the GPU\n   composites. Only touches the link dropdowns inside the mobile menu — never the hamburger. */\n  document.addEventListener('DOMContentLoaded', () => {\n    const mq = window.matchMedia('(max-width: 991px)');\n    const DUR = 340; // grow/collapse duration (ms)\n    const EASE = 'cubic-bezier(0.4, 0, 0.2, 1)';\n\n    const navBtn = document.querySelector('.cl--header_mobile-toggle, .w-nav-button');\n    /* Read the BUTTON first — html.nav-open is applied by the site's syncMenuState() in\n     reaction to it, so it lingers a tick on close. */\n    const menuOpen = () => (navBtn ? navBtn.classList.contains('w--open') : document.documentElement.classList.contains('nav-open'));\n\n    const items = [...document.querySelectorAll('[data-header-nav] .cl--header_nav-dropdown')]\n      .map((dd) => {\n        const toggle = dd.querySelector('.w-dropdown-toggle');\n        const list = dd.querySelector('.cl--header_nav-position');\n        const inner = list && list.querySelector('.cl--header_menu-wrapper');\n        if (!toggle || !list || !inner) return null;\n        // seed from the REAL state, never null (that caused the first-click glitch)\n        return { dd, toggle, list, inner, anims: [], state: toggle.classList.contains('w--open') };\n      })\n      .filter(Boolean);\n    if (!items.length) return;\n\n    /* Height cache, measured once per viewport as the menu opens, so a tap never forces a\n     synchronous reflow of the heavy homepage first. */\n    const heights = new Map();\n    let measuredAt = null;\n    const measureAll = () => {\n      if (!mq.matches) return;\n      const key = window.innerWidth;\n      if (measuredAt === key) return;\n      let ok = true;\n      items.forEach(({ dd, list, inner }) => {\n        const wasOpen = list.classList.contains('w--open');\n        if (!wasOpen) list.style.setProperty('grid-template-rows', '1fr', 'important');\n        const h = inner.getBoundingClientRect().height;\n        if (!wasOpen) list.style.removeProperty('grid-template-rows');\n        if (h) heights.set(dd, h);\n        else ok = false;\n      });\n      if (ok) measuredAt = key;\n    };\n\n    items.forEach((it) => {\n      const { dd, toggle, list, inner } = it;\n\n      const below = () => {\n        const a = [];\n        let n = dd.nextElementSibling;\n        while (n) {\n          a.push(n);\n          n = n.nextElementSibling;\n        }\n        return a;\n      };\n      const kids = () => [...inner.children];\n      const cancel = () => {\n        it.anims.forEach((a) => {\n          try {\n            a.cancel();\n          } catch (e) {}\n        });\n        it.anims = [];\n      };\n      const reset = () => {\n        cancel();\n        list.style.removeProperty('grid-template-rows');\n        inner.style.removeProperty('opacity'); // clear leftovers from the previous build\n        inner.style.removeProperty('clip-path');\n      };\n\n      const move = (el, from, to, fill) => {\n        const a = el.animate([{ transform: `translateY(${from}px)` }, { transform: `translateY(${to}px)` }], { duration: DUR, easing: EASE, fill: fill || 'none' });\n        it.anims.push(a);\n        return a;\n      };\n\n      /* The collapse, using transforms only:\n         - `inner` (the overflow:hidden clip box) moves UP; the list clips its top edge,\n           so the VISIBLE WINDOW shrinks from the bottom.\n         - its children move DOWN by the same amount, cancelling the motion, so the content\n           appears to stand still while the window closes over it.\n       Net effect = a true accordion collapse: the bottom (the image card) is clipped away\n       first, nothing lingers, and no blank gap opens up. */\n      const collapse = (openState, H) => {\n        const innerFrom = openState ? -H : 0;\n        const innerTo = openState ? 0 : -H;\n        const fill = openState ? 'none' : 'forwards';\n        const lead = move(inner, innerFrom, innerTo, fill);\n        kids().forEach((k) => move(k, -innerFrom, -innerTo, fill)); // counter-move\n        below().forEach((el) => move(el, innerFrom, innerTo, fill)); // close/open the gap\n        return lead;\n      };\n\n      /* Pin the layout open on the way DOWN, before Webflow strips w--open — otherwise the\n       panel collapses and we'd have to re-expand it, repainting the contents first. */\n      toggle.addEventListener(\n        'pointerdown',\n        () => {\n          if (mq.matches && toggle.classList.contains('w--open')) {\n            list.style.setProperty('grid-template-rows', '1fr', 'important');\n          }\n        },\n        true,\n      );\n\n      const run = (open) => {\n        if (!mq.matches) {\n          reset();\n          it.state = null;\n          return;\n        }\n        if (open === it.state) return;\n        it.state = open;\n        cancel();\n\n        // The whole menu is closing — let it slide away untouched.\n        if (!open && !menuOpen()) {\n          reset();\n          return;\n        }\n\n        const H = heights.get(dd) || inner.getBoundingClientRect().height;\n\n        if (open) {\n          if (!H) return;\n          collapse(true, H);\n        } else {\n          list.style.setProperty('grid-template-rows', '1fr', 'important'); // fallback if no pointerdown\n          if (!H) {\n            reset();\n            return;\n          }\n          collapse(false, H).onfinish = () => {\n            list.style.removeProperty('grid-template-rows');\n            cancel();\n          };\n        }\n      };\n\n      new MutationObserver(() => run(toggle.classList.contains('w--open'))).observe(toggle, { attributes: true, attributeFilter: ['class'] });\n    });\n\n    new MutationObserver(() => {\n      if (menuOpen()) {\n        requestAnimationFrame(measureAll);\n      } else {\n        items.forEach((it) => {\n          it.anims.forEach((a) => {\n            try {\n              a.cancel();\n            } catch (e) {}\n          });\n          it.anims = [];\n          it.list.style.removeProperty('grid-template-rows');\n          it.inner.style.removeProperty('opacity');\n          it.inner.style.removeProperty('clip-path');\n          it.state = it.toggle.classList.contains('w--open');\n        });\n      }\n    }).observe(navBtn || document.documentElement, { attributes: true, attributeFilter: ['class'] });\n\n    mq.addEventListener('change', () => {\n      measuredAt = null;\n    });\n    window.addEventListener('resize', () => {\n      measuredAt = null;\n    });\n    if (document.fonts && document.fonts.ready)\n      document.fonts.ready.then(() => {\n        measuredAt = null;\n      });\n  });\n</script></div><div class=\"w-embed w-script\"><style>\n  /* =========================================================\n     Navbar Phase 2 — feedback fixes + Dialogues hover video\n     Lives in its own embed so it can be reviewed / reverted\n     on its own. Pairs with the Dialogues card in Resources.\n     ========================================================= */\n\n  /* Duet row: 20px from the column grid above (was the 16px flex gap), per Figma */\n  @media (min-width: 992px) {\n    .cl--header_menu_border-gradient.v2.order-last {\n      margin-top: 0.25rem;\n    }\n  }\n\n  /* Mobile menu: item subtitles match their titles exactly (Alec, round 2 — replaces\n     the earlier flat 14px). Titles use the fluid --_cl-sizes---text--small token\n     (~12px on phones, ~13px on tablets). Feature card descriptions are left alone. */\n  @media (max-width: 991px) {\n    [data-header='True'] .cl--header_link-text .navbar-subtitles,\n    [data-header='True'] .long-link-inner .navbar-subtitles {\n      font-size: var(--_cl-sizes---text--small);\n    }\n  }\n\n  /* Subtitles, descriptions and section labels (Channels, Build...) across the\n     navbar: Platinum 700 (Alec). */\n  [data-header='True'] .navbar-subtitles,\n  [data-header='True'] .cl--header-menu-heading {\n    color: var(--_cl-primitives---color--primary--platinum-700);\n  }\n\n  /* Feature cards (Product + Resources): title -> description spacing (Alec, Figma):\n     xtiny 4px desktop, xxtiny 2px mobile. */\n  [data-header='True'] .cl--nav-card-content .navbar-subtitles,\n  [data-header='True'] .cl--collection-content .navbar-subtitles {\n    margin-top: var(--_cl-sizes---spacing--xtiny);\n  }\n\n  @media (max-width: 767px) {\n    [data-header='True'] .cl--nav-card-content .navbar-subtitles,\n    [data-header='True'] .cl--collection-content .navbar-subtitles {\n      margin-top: var(--_cl-sizes---spacing--xxtiny);\n    }\n  }\n\n  /* Duet row corners: radius \"tiny\" — 4px desktop, 2px mobile (Alec). The base\n     .cl--header_menu_long-link already uses tiny; the .border-radius-small combo\n     overrode it with a fluid 4-12px. That class stays on the element because the\n     CSS embed's hover rules key off it, so the radius is overridden here instead. */\n  [data-header='True'] .cl--header_menu_long-link.border-radius-small {\n    border-radius: var(--_cl-radius---tiny);\n  }\n\n  @media (max-width: 767px) {\n    [data-header='True'] .cl--header_menu_long-link.border-radius-small {\n      border-radius: 2px;\n    }\n  }\n\n  /* \"Get a demo\" gradient stroke: even 1.5px on all four sides (Alec). The stroke is\n     the outer button's padding showing round the dark .cl--button-wrapper. \"Sign in\"\n     has a real 1px border, so the header row stretches \"Get a demo\" ~2px taller than\n     its content and the extra height showed as a thicker stroke top/bottom (1.8px\n     desktop, 2.5px mobile, vs 1.5px sides). Letting the wrapper stretch with the\n     button puts that height into the dark fill instead; button size is unchanged.\n     Overrides the shared button rule (.cl--button[data-text-size=\"True\"] { padding:\n     0.8px 1.5px }) for this button only. */\n  [data-header='True'] .cl--button[data-wf--cl-element-button--style-theme=\"primary\"] {\n    padding: 1.5px;\n  }\n\n  [data-header='True'] .cl--button[data-wf--cl-element-button--style-theme=\"primary\"] > .cl--button-wrapper {\n    align-self: stretch;\n  }\n\n  /* Menu icon hover blink. The tile goes light -> indigo while the icon goes\n     indigo -> white. Any fade between those has to pass a frame where icon and\n     tile are the same shade, and the icon vanishes. Measured on GPU Chrome:\n     the original filter fade, a synced fade and a steep-eased fade all drop to\n     ~1:1 for 1-4 frames. So tile and icon now invert together in one frame\n     (min 9.35:1). The filter: brightness(100) whitening from the CSS embed is\n     replaced by a real stroke / fill colour.\n     Matched by icon colour so the LinkedIn / X hovers keep their own rules. */\n  @media (hover: hover) and (pointer: fine) {\n    [data-header='True'] .cl--header-link .cl--header_link-icon:has([stroke='#272591' i]),\n    [data-header='True'] .cl--header-link .cl--header_link-icon [stroke='#272591' i],\n    [data-header='True'] .cl--header_menu_long-link .cl--header_link-icon:has([fill='#3A35A7' i]),\n    [data-header='True'] .cl--header_menu_long-link .cl--header_link-icon [fill='#3A35A7' i] {\n      transition: none;\n    }\n\n    [data-header='True'] .cl--header-link:hover .cl--icon-medium:has([stroke='#272591' i]) {\n      filter: none;\n    }\n\n    [data-header='True'] .cl--header-link:hover .cl--header_link-icon [stroke='#272591' i] {\n      stroke: #fff;\n    }\n\n    /* Duet: same fix, filled icon */\n    [data-header='True'] .cl--header_menu_long-link.border-radius-small:hover .cl--header_link-icon svg:has([fill='#3A35A7' i]) {\n      filter: none;\n    }\n\n    [data-header='True'] .cl--header_menu_long-link.border-radius-small:hover .cl--header_link-icon [fill='#3A35A7' i] {\n      fill: #fff;\n    }\n  }\n\n  /* Dialogues card: the still image sits above the video and fades out on hover */\n  [data-nav-hover-video] .cl--collection-image-wrapper {\n    position: relative;\n  }\n\n  [data-nav-hover-video] .cl--collection-image {\n    position: relative;\n    z-index: 2;\n    transition: opacity 0.2s, transform 0.2s;\n  }\n\n  @media (min-width: 991px) {\n    /* Image and video share one frame: 143px tall, the Figma image slot and the\n       Chord card's height. Left alone, the 928x560 still rendered 164px tall while\n       .cl--nav-card-video caps the video at 143px, so the video looked smaller. */\n    [data-nav-hover-video] .cl--collection-image-wrapper {\n      height: 8.9375rem;\n    }\n\n    [data-nav-hover-video] .cl--collection-image {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n    }\n\n    [data-nav-hover-video] .cl--nav-card-video {\n      height: 100%;\n      max-height: none;\n      transition: transform 0.2s;\n    }\n\n    /* The still zooms to 110% on hover (.cl--header_menu-cms:hover .cl--collection-image,\n       in the CSS embed). Zoom the video with it, or the swap reads as a shrink. */\n    [data-nav-hover-video]:hover .cl--nav-card-video {\n      transform: scale(1.1);\n    }\n\n    [data-nav-hover-video] .cl--collection-image.image-inactive {\n      opacity: 0;\n    }\n  }\n</style>\n\n<script>\n  /* Dialogues card hover video (desktop dropdown only).\n     - The <source> ships with data-src, not src (Webflow reserves the\n       preload attribute), so nothing downloads until a visitor opens the\n       menu that holds it, and never on mobile.\n     - Plays while the card is hovered, pauses on leave and resumes from the\n       same point next time. Loops.\n     - Skipped for visitors with prefers-reduced-motion.\n     [data-nav-hover-video] sits on .cl--header_menu-cms, which wraps both\n     the card and its full-size overlay link, so hover registers anywhere\n     on the card. Uses delegation, so it works on the clone the JS New Menu\n     embed builds inside .dropdown-inner, whenever that clone is created. */\n  document.addEventListener('DOMContentLoaded', () => {\n    /* Feature card images: Webflow writes sizes=\"(max-width: 767px) 109px, 100vw\"\n       (derived from the Designer layout), but on phones the card image renders\n       ~340px wide, so 3x phones were served the 500px variant and it looked\n       blurry. Give the browser the real widths. The attribute can't be set in\n       Webflow (reserved), hence here. Runs after the JS New Menu clones the\n       menus, so it covers the desktop clones too. */\n    document\n      .querySelectorAll('.cl--nav-card-image, [data-nav-hover-video] .cl--collection-image')\n      .forEach((img) => img.setAttribute('sizes', '(max-width: 991px) 100vw, 280px'));\n\n    const desktop = window.matchMedia('(min-width: 991px)');\n    const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\n    const CARD = '.dropdown-inner [data-nav-hover-video]';\n\n    const parts = (card) => ({\n      img: card.querySelector('.cl--collection-image'),\n      vid: card.querySelector('video'),\n    });\n\n    // Swap data-src in for src, once, and start buffering\n    const arm = (vid) => {\n      const source = vid.querySelector('source[data-src]');\n      if (!source || source.getAttribute('src')) return;\n      source.setAttribute('src', source.getAttribute('data-src'));\n      vid.load();\n    };\n\n    // Start buffering as soon as the visitor heads for the menu that holds a video\n    document.addEventListener('mouseover', (e) => {\n      const toggle = e.target.closest('[data-toggle]');\n      if (!toggle || !desktop.matches) return;\n      const id = toggle.getAttribute('data-toggle');\n      document\n        .querySelectorAll(`.dropdown-inner [data-menu=\"${id}\"] [data-nav-hover-video] video`)\n        .forEach(arm);\n    });\n\n    document.addEventListener('mouseover', (e) => {\n      const card = e.target.closest(CARD);\n      if (!card || card.contains(e.relatedTarget)) return; // only on entering the card\n      if (!desktop.matches || reduceMotion.matches) return;\n      const { img, vid } = parts(card);\n      if (!vid) return;\n      arm(vid); // in case the card was reached without crossing its toggle\n      vid.muted = true;\n      vid.loop = true;\n      vid.playsInline = true;\n      // Fade the still only once frames are actually playing, so a slow\n      // network shows the image rather than an empty box\n      vid.addEventListener('playing', () => {\n        if (img && card.matches(':hover')) img.classList.add('image-inactive');\n      }, { once: true });\n      vid.play().catch(() => {});\n    });\n\n    document.addEventListener('mouseout', (e) => {\n      const card = e.target.closest(CARD);\n      if (!card || card.contains(e.relatedTarget)) return; // only on leaving the card\n      const { img, vid } = parts(card);\n      if (vid) vid.pause(); // keeps the current position\n      if (img) img.classList.remove('image-inactive');\n    });\n  });\n</script>\n</div></div><div data-header-wrapper=\"\" class=\"cl--header-wrapper z-index-2\"><div class=\"cl--container-large\"><div data-animation=\"default\" data-collapse=\"none\" data-duration=\"200\" data-easing=\"ease\" data-easing2=\"ease\" role=\"banner\" class=\"cl--header-inner w-nav\"><a aria-label=\"Decagon - Home\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d900e\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"57ab95fc-bd49-0d9b-7352-fc45fd6d900e\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" href=\"/\" class=\"cl--header-logo w-inline-block\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 147 32\" fill=\"none\" alt=\"Decagon logo\" class=\"cl--header_logo-image\"><path d=\"M56.7285 8H62.5534C67.3289 8 70.3356 11.0783 70.3356 15.9726C70.3356 20.8669 67.3289 23.945 62.5534 23.945H56.7285V8ZM59.47 10.0706V21.8745H62.5095C65.7038 21.8745 67.594 19.6266 67.594 15.9726C67.594 12.3186 65.7038 10.0706 62.5095 10.0706H59.47ZM77.4669 12.2409C80.8928 12.2409 82.8278 14.3226 82.8278 17.7663V18.8626H74.3388C74.3828 20.9442 75.4992 22.3173 77.4557 22.3173C79.346 22.3173 80.1302 21.2322 80.2963 20.3131H82.5954V20.6454C82.3079 22.1402 80.9703 24.2107 77.4884 24.2107C74.0402 24.2107 71.8297 22.1622 71.8297 18.2203C71.8297 14.2783 74.029 12.2409 77.4669 12.2409ZM80.3514 17.0577C80.329 15.3303 79.4011 14.1123 77.4445 14.1123C75.5215 14.1123 74.5153 15.3635 74.3716 17.0577H80.3514ZM90.047 12.2409C93.3187 12.2409 94.9431 14.1898 95.1427 16.1054V16.4376H92.6887C92.5777 15.3524 91.8597 14.1898 90.0685 14.1898C88.124 14.1898 86.9077 15.6624 86.9077 18.2203C86.9077 20.7893 88.112 22.262 90.0685 22.262C91.9148 22.262 92.5888 21.0772 92.7549 19.8813H95.2082V20.2135C94.9766 22.262 93.3635 24.2107 90.047 24.2107C86.5651 24.2107 84.266 22.0404 84.266 18.2203C84.266 14.4002 86.5763 12.2409 90.047 12.2409ZM97.0449 15.8729V15.5406C97.2885 13.5143 99.1676 12.2409 102.008 12.2409C104.87 12.2409 106.761 13.5143 106.761 16.4708V21.3318C106.761 21.8745 107.015 22.1402 107.568 22.1402H108.132V23.945H106.971C105.556 23.945 104.937 23.2032 104.827 22.2841H104.606C104.031 23.2585 102.97 24.1664 100.703 24.1664C98.1949 24.1664 96.426 22.8046 96.426 20.6785C96.426 18.3975 98.1725 17.4452 100.383 17.2238L103.003 16.969C103.854 16.8915 104.296 16.6479 104.296 15.895C104.296 14.7102 103.456 14.0901 101.963 14.0901C100.483 14.0901 99.4878 14.6991 99.4327 15.8728L97.0449 15.8729ZM101.202 22.3284C102.682 22.3284 104.285 21.4758 104.285 19.073V18.3643H104.064C103.722 18.5636 103.367 18.6743 102.506 18.763L101.035 18.918C99.7865 19.0398 98.9903 19.5048 98.9903 20.5899C98.9903 21.653 99.8527 22.3284 101.202 22.3284ZM114.279 12.2631C116.246 12.2631 117.296 13.1046 117.783 13.8575H118.004V12.5068H120.524V23.4911C120.524 26.8129 118.601 28.64 114.942 28.64C111.339 28.64 109.536 26.8683 109.361 24.7976V24.4655H111.748C111.847 25.7056 112.764 26.7465 114.887 26.7465C117.009 26.7465 117.915 25.6835 117.915 23.6793V22.2841H117.694C117.164 22.9927 116.147 23.7458 114.279 23.7458C111.372 23.7458 109.062 21.8745 109.062 18.01C109.062 14.1455 111.372 12.2631 114.279 12.2631ZM114.864 21.7636C116.755 21.7636 118.015 20.4571 118.015 18.01C118.015 15.5518 116.755 14.2451 114.864 14.2451C112.964 14.2451 111.704 15.5518 111.704 18.01C111.704 20.4571 112.964 21.7636 114.864 21.7636ZM128.517 12.2409C131.988 12.2409 134.442 14.3226 134.442 18.2202C134.442 22.129 131.988 24.2107 128.517 24.2107C125.035 24.2107 122.581 22.129 122.581 18.2202C122.581 14.3226 125.035 12.2409 128.517 12.2409ZM128.517 22.262C130.485 22.262 131.789 20.8556 131.789 18.2202C131.789 15.596 130.485 14.1898 128.517 14.1898C126.539 14.1898 125.235 15.596 125.235 18.2202C125.235 20.8556 126.539 22.262 128.517 22.262ZM136.5 12.5068H139.019V13.9794H139.241C139.617 13.315 140.567 12.2631 142.788 12.2631C145.353 12.2631 147 13.6805 147 16.349V23.945H144.38V16.504C144.38 14.9649 143.474 14.245 142.071 14.245C140.479 14.245 139.119 15.1974 139.119 17.3456V23.945H136.5V12.5068Z\" fill=\"currentColor\"></path><path d=\"M0 9.3032V23.9959L12.7135 31.3423V25.2944L5.23806 20.972V12.3271L0 9.3032ZM1.11833 7.3464L6.35639 10.3703L19.0699 3.02392L13.8318 0L1.11833 7.3464ZM14.9501 25.2946V31.3426L35.139 19.6738V13.6259L14.9501 25.2946ZM23.5443 28.9761L28.7823 32L41.4961 24.6536L36.2578 21.6119L23.5443 28.9761ZM42.615 22.6975V8.0048L29.9019 0.64064V6.70632L37.3771 11.0287V19.6736L42.615 22.6975ZM27.6631 6.70624V0.64064L7.47432 12.3272V18.3751L27.6631 6.70624ZM8.5941 20.332L13.8322 23.3559L34.0212 11.6693L28.783 8.64536L8.5941 20.332Z\" fill=\"currentColor\"></path></svg></a><nav role=\"navigation\" data-header-nav=\"\" class=\"cl--header-nav w-nav-menu\"><div data-delay=\"0\" data-hover=\"true\" data-toggle=\"1\" class=\"cl--header_nav-dropdown w-dropdown\"><div data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9012\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"57ab95fc-bd49-0d9b-7352-fc45fd6d9012\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" class=\"cl--header_nav-toggle w-dropdown-toggle\"><div class=\"cl--header_nav-fade\"></div><div class=\"cl--header_nav-fade right\"></div><div class=\"side-gap\">Product</div><div class=\"cl--icon-small w-embed\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4 6L8 10L12 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><nav class=\"cl--header_nav-position overflow-visible w-dropdown-list\"><div data-menu=\"1\" class=\"cl--header_menu-wrapper\"><div class=\"cl--header_menu outer\"><div class=\"cl--header_menu-inner\"><div aria-label=\"Product overview\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"simple\" class=\"cl--button w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2 no-decor float-left\"><div class=\"cl--button-wrapper w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2\"><div class=\"cl--button-text\">Product overview</div><div data-wf--icon-global-wrapper--variant=\"20\" class=\"cl_icon_wrapper w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div class=\"cl_icon_slot w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div data-wf--icon-global-swap--variant=\"arrow-right\" class=\"cl_icon_component\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M4.99996 10H15.4166M10.4166 15L15.4166 10L10.4166 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></div></div></div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:13fe7545-d5fb-6427-9315-1ac7280f44c5:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2213fe7545-d5fb-6427-9315-1ac7280f44c5%22%7D%5D\" href=\"/product/overview\" class=\"cl--button-link w-inline-block\"></a></div><div class=\"cl--header_nav-line\"></div><div class=\"cl--header-links\"><p class=\"cl--header-menu-heading cl--text-size-medium cl--text-weight-book cl--text-color-platinum600\">Channels</p><div class=\"cl--header_links-grid\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9022:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9022%22%7D%5D\" href=\"/product/voice\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M11 3.66675L11 18.3334\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M7.33325 8.25L7.33325 13.75\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M18.3333 9.16675L18.3333 12.8334\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M3.66675 9.16675L3.66675 12.8334\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M14.6667 6.41675L14.6667 15.5834\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Voice</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Human-like conversation</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9025:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9025%22%7D%5D\" href=\"/product/chat\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M6.4165 11L15.5832 11\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M6.4165 7.33325L11.9165 7.33325\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M2.75 18.4562V4.75C2.75 3.64543 3.64543 2.75 4.75 2.75H17.25C18.3546 2.75 19.25 3.64543 19.25 4.75V13.5833C19.25 14.6879 18.3546 15.5833 17.25 15.5833H7.37792C6.77035 15.5833 6.19572 15.8595 5.81618 16.3339L3.81852 18.831C3.46422 19.2739 2.75 19.0234 2.75 18.4562Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Chat</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Safe, on-brand replies</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9028:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9028%22%7D%5D\" href=\"/product/email\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M6.4165 8.24992L10.9998 11.4583L15.5832 8.24992\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M1.8335 15.4166V6.58325C1.8335 5.47868 2.72893 4.58325 3.8335 4.58325H18.1668C19.2714 4.58325 20.1668 5.47868 20.1668 6.58325V15.4166C20.1668 16.5212 19.2714 17.4166 18.1668 17.4166H3.8335C2.72893 17.4166 1.8335 16.5212 1.8335 15.4166Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Emails</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Contextual resolutions</p></div></a></div></div><div class=\"cl--header_nav-line\"></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d902c\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"57ab95fc-bd49-0d9b-7352-fc45fd6d902c\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" href=\"/product/duet\" class=\"cl--header_menu_border-gradient v2 w-inline-block order-last\"><div class=\"cl--header_menu_long-link border-radius-small\"><div class=\"long-link-wrapper\"><div class=\"cl--header_link-icon is-white\"><div class=\"cl--icon-medium w-embed\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M14.1672 1.00684L15.2662 3.06753L17.3269 4.16656L15.2662 5.26559L14.1672 7.32629L13.0682 5.26559L11.0075 4.16656L13.0682 3.06753L14.1672 1.00684ZM6.66721 3.611L8.88942 7.77767L13.0561 9.99988L8.88942 12.2221L6.66721 16.3888L4.44498 12.2221L0.27832 9.99988L4.44498 7.77767L6.66721 3.611ZM16.3894 13.611L15.0006 11.0069L13.6117 13.611L11.0075 14.9999L13.6117 16.3888L15.0006 18.993L16.3894 16.3888L18.9936 14.9999L16.3894 13.611Z\" fill=\"#3A35A7\"/>\n</svg></div></div><div class=\"long-link-inner\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Duet</p><p class=\"navbar-subtitles\">AI partner to build self-improving agents</p></div></div><div class=\"cl--icon-xsmall w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div></a><div class=\"cl--header-links show-mobile-landscape bottom-padding\"><div class=\"cl--header_links-grid\"><div class=\"cl--header_link-col\"><p class=\"cl--header-menu-heading\">Build</p><div class=\"cl--header_links-box\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9037:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9037%22%7D%5D\" href=\"/product/aop\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M10.4561 2.54009C10.6716 2.0784 11.3281 2.0784 11.5435 2.54009L14.1159 8.05229C14.1755 8.18 14.2782 8.28266 14.4059 8.34227L19.9181 10.9146C20.3798 11.1301 20.3798 11.7866 19.9181 12.002L14.4059 14.5744C14.2782 14.634 14.1755 14.7367 14.1159 14.8644L11.5435 20.3766C11.3281 20.8383 10.6716 20.8383 10.4561 20.3766L7.88377 14.8644C7.82417 14.7367 7.72151 14.634 7.59379 14.5744L2.0816 12.002C1.61991 11.7866 1.6199 11.1301 2.0816 10.9146L7.59379 8.34227C7.72151 8.28266 7.82417 8.18 7.88377 8.05229L10.4561 2.54009Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">AOPs</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Workflows for AI agents</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d903a:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d903a%22%7D%5D\" href=\"/product/integrations\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.73388 15.5833C4.99915 14.6218 5.34743 13.7027 5.77139 12.8333M10.5418 7.14485C11.2588 6.62539 12.0247 6.16553 12.8335 5.77115\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M4.12484 20.1666C2.85918 20.1666 1.83317 19.1406 1.83317 17.8749C1.83317 16.6093 2.85918 15.5833 4.12484 15.5833C5.39049 15.5833 6.4165 16.6093 6.4165 17.8749C6.4165 19.1406 5.39049 20.1666 4.12484 20.1666Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M8.70833 11.0001C7.44268 11.0001 6.41667 9.97407 6.41667 8.70841C6.41667 7.44276 7.44268 6.41675 8.70833 6.41675C9.97399 6.41675 11 7.44276 11 8.70841C11 9.97407 9.97399 11.0001 8.70833 11.0001Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M17.8748 6.41659C16.6092 6.41659 15.5832 5.39057 15.5832 4.12492C15.5832 2.85927 16.6092 1.83325 17.8748 1.83325C19.1405 1.83325 20.1665 2.85927 20.1665 4.12492C20.1665 5.39057 19.1405 6.41659 17.8748 6.41659Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Integrations</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Pre-built connectors</p></div></a></div></div><div class=\"cl--header_nav-line show-mobile-landscape\"></div><div class=\"cl--header_link-col\"><p class=\"cl--header-menu-heading\">Optimize</p><div class=\"cl--header_links-box\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9041:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9041%22%7D%5D\" href=\"/product/experiments\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M5.62971 18.3288C7.88237 19.9061 9.55399 18.3179 10.5043 16.9607L17.1961 7.40391L18.9985 6.42791L12.9914 2.22168L5.2481 13.2802C4.29777 14.6374 3.37704 16.7515 5.62971 18.3288Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M14.7503 10.1011C12.1135 9.32005 10.7139 10.8175 8.07715 10.0365\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Experiments</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Live A/B testing</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9044:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9044%22%7D%5D\" href=\"/product/testing-qa\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M8.25 5.5L18.3333 5.5\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M3.4834 5.31665L4.21673 6.04998L6.05006 4.21665\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M3.4834 10.8167L4.21673 11.55L6.05006 9.71665\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M3.4834 16.3167L4.21673 17.05L6.05006 15.2167\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M8.25 11L18.3333 11\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M8.25 16.5L18.3333 16.5\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Testing &amp; QA</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Simulations at scale</p></div></a></div></div><div class=\"cl--header_nav-line show-mobile-landscape\"></div><div class=\"cl--header_link-col\"><p class=\"cl--header-menu-heading\">Scale</p><div class=\"cl--header_links-box\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d904b:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d904b%22%7D%5D\" href=\"/product/insights-and-reporting\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M18.3332 18.3333H3.6665V3.66658\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M3.6665 15.125L10.9998 8.25L13.7498 11L17.8748 6.875\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Insights &amp; reporting</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Voice of the customer</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d904e:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d904e%22%7D%5D\" href=\"/product/watchtower\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M8.25 19.25H13.75M8.25 19.25V14.6667M8.25 19.25H3.35C3.01863 19.25 2.75 18.9814 2.75 18.65V15.2667C2.75 14.9353 3.01863 14.6667 3.35 14.6667H8.25M13.75 19.25V8.25M13.75 19.25H18.65C18.9814 19.25 19.25 18.9814 19.25 18.65V3.35C19.25 3.01863 18.9814 2.75 18.65 2.75H14.35C14.0186 2.75 13.75 3.01863 13.75 3.35V8.25M13.75 8.25H8.85C8.51863 8.25 8.25 8.51863 8.25 8.85V14.6667\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Watchtower</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Always on QA</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9051:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9051%22%7D%5D\" href=\"/product/suggestions\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M2.75 6.73333V3.35C2.75 3.01863 3.01863 2.75 3.35 2.75H8.56667C8.89804 2.75 9.16667 3.01863 9.16667 3.35V6.73333C9.16667 7.0647 8.89804 7.33333 8.56667 7.33333H3.35C3.01863 7.33333 2.75 7.0647 2.75 6.73333Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n  <path d=\"M12.8335 18.6501V15.2667C12.8335 14.9354 13.1021 14.6667 13.4335 14.6667H18.6502C18.9815 14.6667 19.2502 14.9354 19.2502 15.2667V18.6501C19.2502 18.9815 18.9815 19.2501 18.6502 19.2501H13.4335C13.1021 19.2501 12.8335 18.9815 12.8335 18.6501Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n  <path d=\"M12.8335 11.3167V3.35C12.8335 3.01863 13.1021 2.75 13.4335 2.75H18.6502C18.9815 2.75 19.2502 3.01863 19.2502 3.35V11.3167C19.2502 11.648 18.9815 11.9167 18.6502 11.9167H13.4335C13.1021 11.9167 12.8335 11.648 12.8335 11.3167Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n  <path d=\"M2.75 18.6499V10.6833C2.75 10.3519 3.01863 10.0833 3.35 10.0833H8.56667C8.89804 10.0833 9.16667 10.3519 9.16667 10.6833V18.6499C9.16667 18.9813 8.89804 19.2499 8.56667 19.2499H3.35C3.01863 19.2499 2.75 18.9813 2.75 18.6499Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Suggestions</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">AI powered knowledge</p></div></a></div></div></div></div></div><div class=\"cl--nav-card\"><div class=\"cl--nav-card-image-wrapper\"><div class=\"cl--nav-card-image-inner\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires.webp\" loading=\"lazy\" sizes=\"100vw\" srcset=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires-p-500.webp 500w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires-p-800.webp 800w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires-p-1080.webp 1080w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires.webp 1200w\" alt=\"\" class=\"cl--nav-card-image hide-mobile-landscape\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires.webp\" loading=\"lazy\" sizes=\"100vw\" srcset=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires-p-500.webp 500w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires-p-800.webp 800w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires-p-1080.webp 1080w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac6a8089990d37da739c8f2_image-personal-agent-gateway-v3-hires.webp 1200w\" alt=\"\" class=\"cl--nav-card-image show-mobile-landscape\"/></div></div><div class=\"cl--nav-card-content\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Personal agents are here. Meet them on your terms.</p><p class=\"navbar-subtitles\">Detection of personal agents and a dedicated channel to serve them, with permissions you control.</p></div><div class=\"cl--nav-card-buttom\"><div aria-label=\"See what it can do\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"simple\" class=\"cl--button w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2 no-decor float-left\"><div class=\"cl--button-wrapper w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2\"><div class=\"cl--button-text\">See what it can do</div><div data-wf--icon-global-wrapper--variant=\"20\" class=\"cl_icon_wrapper w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div class=\"cl_icon_slot w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div data-wf--icon-global-swap--variant=\"arrow-right\" class=\"cl_icon_component\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M4.99996 10H15.4166M10.4166 15L15.4166 10L10.4166 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></div></div></div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:22735c54-9599-ea63-f778-2e4bfd68ab59:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2222735c54-9599-ea63-f778-2e4bfd68ab59%22%7D%5D\" href=\"/blog/personal-agents-are-here\" class=\"cl--button-link w-inline-block\"></a></div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:3fe315e6-87ff-6fed-d847-5215d62d6d8c\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"3fe315e6-87ff-6fed-d847-5215d62d6d8c\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" href=\"/blog/personal-agents-are-here\" class=\"cl--nav-card-link w-inline-block\"></a></div></div></div></nav></div><div data-delay=\"0\" data-hover=\"true\" data-toggle=\"2\" class=\"cl--header_nav-dropdown w-dropdown\"><div data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9055\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"57ab95fc-bd49-0d9b-7352-fc45fd6d9055\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" class=\"cl--header_nav-toggle w-dropdown-toggle\"><div class=\"cl--header_nav-fade\"></div><div class=\"cl--header_nav-fade right\"></div><div class=\"side-gap\">Industries</div><div class=\"cl--icon-small w-embed\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4 6L8 10L12 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><nav class=\"cl--header_nav-position w-dropdown-list\"><div data-menu=\"2\" class=\"cl--header_menu-wrapper\"><div class=\"cl--header_menu cl--header_menu-small\"><div class=\"cl--header_menu-box grid-mode\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9065:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9065%22%7D%5D\" href=\"/industry/financial-services\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M2.75 8.70825L11 3.66659L19.25 8.70825\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M4.5835 18.3333H17.4168\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M9.1665 8.25L12.8332 8.25\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M5.5 15.5833L5.5 11\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M9.1665 15.5833L9.1665 11\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M12.8335 15.5833L12.8335 11\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M16.5 15.5833L16.5 11\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Financial services</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Trust in every interaction</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d905f:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d905f%22%7D%5D\" href=\"/industry/travel-hospitality\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 19 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M8.08333 2.125V6.37578C8.08333 6.58266 7.97676 6.77494 7.80133 6.88458L1.032 11.1154C0.856572 11.2251 0.75 11.4173 0.75 11.6242V12.3565C0.75 12.7469 1.11683 13.0333 1.49552 12.9386L7.33781 11.478C7.7165 11.3834 8.08333 11.6698 8.08333 12.0601V14.6861C8.08333 14.8591 8.00864 15.0237 7.87844 15.1376L6.05148 16.7362C5.59316 17.1372 5.95474 17.887 6.55391 17.7781L9.351 17.2695C9.42197 17.2566 9.49469 17.2566 9.56566 17.2695L12.3628 17.7781C12.9619 17.887 13.3235 17.1372 12.8652 16.7362L11.0382 15.1376C10.908 15.0237 10.8333 14.8591 10.8333 14.6861V12.0601C10.8333 11.6698 11.2002 11.3834 11.5789 11.478L17.4211 12.9386C17.7998 13.0333 18.1667 12.7469 18.1667 12.3565V11.6242C18.1667 11.4173 18.0601 11.2251 17.8847 11.1154L11.1153 6.88458C10.9399 6.77494 10.8333 6.58266 10.8333 6.37578V2.125C10.8333 1.36561 10.2177 0.75 9.45833 0.75C8.69894 0.75 8.08333 1.36561 8.08333 2.125Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Travel &amp; hospitality</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Personalized guest experiences</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9068:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9068%22%7D%5D\" href=\"/industry/health-wellness\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M14.6668 5.75652C14.6668 6.30783 14.4491 6.83734 14.0603 7.22902C13.1653 8.13098 12.2972 9.07146 11.3688 9.94073C11.156 10.1371 10.8184 10.1299 10.6147 9.92467L7.93987 7.22902C7.13137 6.41422 7.13137 5.09881 7.93987 4.28402C8.75632 3.46122 10.0864 3.46122 10.9029 4.28402L11.0001 4.382L11.0972 4.28408C11.4887 3.88937 12.0219 3.66675 12.5788 3.66675C13.1357 3.66675 13.6688 3.88935 14.0603 4.28402C14.4491 4.67575 14.6668 5.20524 14.6668 5.75652Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linejoin=\"round\"/>\n  <path d=\"M16.5 18.3333L19.9909 14.8424C20.1035 14.7299 20.1667 14.5773 20.1667 14.4181V9.625C20.1667 8.86561 19.5511 8.25 18.7917 8.25C18.0323 8.25 17.4167 8.86561 17.4167 9.625V13.75\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M16.4998 14.6667L17.2865 13.88C17.3697 13.7968 17.4165 13.6838 17.4165 13.5661C17.4165 13.3979 17.3215 13.2442 17.1711 13.1689L16.8725 13.0197C16.1025 12.6347 15.1726 12.7856 14.5639 13.3943L13.8773 14.0809C13.5022 14.456 13.2915 14.9647 13.2915 15.4951V18.3333\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M5.50016 18.3333L2.00923 14.8424C1.89671 14.7299 1.8335 14.5773 1.8335 14.4181V9.625C1.8335 8.86561 2.4491 8.25 3.2085 8.25C3.96789 8.25 4.5835 8.86561 4.5835 9.625V13.75\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M5.50016 14.6667L4.71355 13.88C4.63028 13.7968 4.5835 13.6838 4.5835 13.5661C4.5835 13.3979 4.67852 13.2442 4.82894 13.1689L5.1275 13.0197C5.89747 12.6347 6.82742 12.7856 7.43614 13.3943L8.12271 14.0809C8.49778 14.456 8.7085 14.9647 8.7085 15.4951V18.3333\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Health &amp; wellness</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Simpler access to care</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9062:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9062%22%7D%5D\" href=\"/industry/technology\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M11 17.4259L11.0092 17.4157\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M16.5 16.5V19.5667C16.5 19.898 16.2314 20.1667 15.9 20.1667H6.1C5.76863 20.1667 5.5 19.898 5.5 19.5667V16.5\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M16.5 5.49992V2.43325C16.5 2.10188 16.2314 1.83325 15.9 1.83325H6.1C5.76863 1.83325 5.5 2.10188 5.5 2.43325V5.49992\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M14.2082 7.79159L17.4165 10.9999L14.2082 14.2083\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M7.79183 7.79159L4.5835 10.9999L7.79183 14.2083\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Technology</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Support that scales</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d905c:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d905c%22%7D%5D\" href=\"/industry/retail\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M2.75 9.16675V17.2501C2.75 18.3547 3.64543 19.2501 4.75 19.2501H17.25C18.3546 19.2501 19.25 18.3547 19.25 17.2501V9.16675\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n<path d=\"M13.5972 19.2501V13.7501C13.5972 12.7376 12.7764 11.9167 11.7638 11.9167H9.9305C8.91798 11.9167 8.09717 12.7376 8.09717 13.7501V19.2501\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-miterlimit=\"16\"/>\n<path d=\"M19.9852 8.53085L18.4578 3.18517C18.3842 2.92759 18.1488 2.75 17.8809 2.75H14.2085L14.6421 7.95377C14.6577 8.14043 14.759 8.30901 14.9201 8.40462C15.2829 8.61995 15.9655 9.00217 16.5002 9.16667C17.4098 9.44654 18.7299 9.3544 19.5131 9.26111C19.865 9.21919 20.0825 8.87156 19.9852 8.53085Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n<path d=\"M12.8335 9.16667C13.3417 9.01029 13.9837 8.65717 14.3575 8.4377C14.5496 8.32492 14.6552 8.11103 14.6367 7.88904L14.2085 2.75H7.79183L7.36358 7.88904C7.34508 8.11103 7.45072 8.32492 7.64281 8.4377C8.0166 8.65717 8.65861 9.01029 9.16683 9.16667C10.5354 9.58777 11.4649 9.58777 12.8335 9.16667Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n<path d=\"M3.5425 3.18517L2.01516 8.53085C1.91781 8.87156 2.13532 9.21919 2.48719 9.26111C3.27039 9.3544 4.59056 9.44654 5.50016 9.16667C6.03479 9.00217 6.71747 8.61995 7.08022 8.40462C7.24129 8.30901 7.34263 8.14043 7.35818 7.95377L7.79183 2.75H4.11941C3.85152 2.75 3.61609 2.92759 3.5425 3.18517Z\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Retail</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Personalized shopping journeys</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d906e:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d906e%22%7D%5D\" href=\"/industry/telecommunication\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M16.6082 13.4768L12.8332 14.2083C10.2833 12.9284 8.70819 11.4583 7.79153 9.16658L8.49732 5.38066L7.16317 1.83325L3.89645 1.83325C2.7689 1.83325 1.88107 2.76313 2.0576 3.87678C2.46693 6.45906 3.62476 10.9581 6.87486 14.2083C10.2883 17.6217 15.1725 19.1443 17.9712 19.7717C19.1343 20.0325 20.1665 19.1241 20.1665 17.9321L20.1665 14.8327L16.6082 13.4768Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Telecommunications</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Effortless service and connection</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d906b:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d906b%22%7D%5D\" href=\"/industry/media\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M19.25 3.35V18.65C19.25 18.9814 18.9814 19.25 18.65 19.25H3.35C3.01863 19.25 2.75 18.9814 2.75 18.65V3.35C2.75 3.01863 3.01863 2.75 3.35 2.75H18.65C18.9814 2.75 19.25 3.01863 19.25 3.35Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M9.14768 7.84621C8.74769 7.61765 8.25 7.90647 8.25 8.36716V13.6327C8.25 14.0934 8.74769 14.3822 9.14768 14.1536L13.755 11.5209C14.1581 11.2905 14.1581 10.7093 13.755 10.479L9.14768 7.84621Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Media</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Stronger subscriber relationships</p></div></a></div></div></div></nav></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9071\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"57ab95fc-bd49-0d9b-7352-fc45fd6d9071\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" href=\"/case-studies\" class=\"cl--header_nav-toggle w-inline-block\"><div class=\"cl--header_nav-fade right\"></div><div class=\"cl--header_nav-fade\"></div><div class=\"side-gap\">Customers</div></a><div data-delay=\"0\" data-hover=\"true\" data-toggle=\"3\" class=\"cl--header_nav-dropdown w-dropdown\"><div data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9075\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"57ab95fc-bd49-0d9b-7352-fc45fd6d9075\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" class=\"cl--header_nav-toggle w-dropdown-toggle\"><div class=\"cl--header_nav-fade\"></div><div class=\"cl--header_nav-fade right\"></div><div class=\"side-gap\">Resources</div><div class=\"cl--icon-small w-embed\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4 6L8 10L12 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><nav class=\"cl--header_nav-position w-dropdown-list\"><div data-menu=\"3\" class=\"cl--header_menu-wrapper\"><div class=\"cl--header_menu cl--header_menu-2col\"><div class=\"cl--header-links\"><div class=\"cl--header_links-grid flex-columns regular-gap\"><div class=\"cl--header_link-col cl--custom-padding bottom-padding\"><div aria-label=\"Resource Hub\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"simple\" class=\"cl--button w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2 no-decor\"><div class=\"cl--button-wrapper w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2\"><div class=\"cl--button-text\">Resource Hub</div><div data-wf--icon-global-wrapper--variant=\"20\" class=\"cl_icon_wrapper w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div class=\"cl_icon_slot w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div data-wf--icon-global-swap--variant=\"arrow-right\" class=\"cl_icon_component\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M4.99996 10H15.4166M10.4166 15L15.4166 10L10.4166 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></div></div></div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:50e2ab80-f6cf-b439-05cb-222f87418729:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2250e2ab80-f6cf-b439-05cb-222f87418729%22%7D%5D\" href=\"/resources\" class=\"cl--button-link w-inline-block\"></a></div><div class=\"line-separator\"></div><div class=\"cl--header_links-box grid-mode-2-columns\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:1afae071-c5a9-a38d-27f0-9f445adc91e8:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%221afae071-c5a9-a38d-27f0-9f445adc91e8%22%7D%5D\" href=\"/resources/blog\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"100%\" height=\"100%\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <g clip-path=\"url(#clip0_6072_38471)\">\n    <path d=\"M2.66671 11.8518V3.66666C2.66671 2.56209 3.56214 1.66666 4.66671 1.66666H15.3334C16.4379 1.66666 17.3334 2.56209 17.3334 3.66666V11.8518M2.66671 11.8518H17.3334M2.66671 11.8518L1.55306 15.789C1.192 17.0654 2.151 18.3333 3.47756 18.3333H16.5225C17.8491 18.3333 18.8081 17.0654 18.447 15.789L17.3334 11.8518\" stroke=\"#272591\" stroke-width=\"1.5\"/>\n    <path d=\"M9.16663 15.8333L10.8333 15.8333\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  </g>\n  <defs>\n    <clipPath id=\"clip0_6072_38471\">\n      <rect width=\"20\" height=\"20\" fill=\"currentColor\"/>\n    </clipPath>\n  </defs>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Blog</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Product news and research</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:1afae071-c5a9-a38d-27f0-9f445adc91ea:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%221afae071-c5a9-a38d-27f0-9f445adc91ea%22%7D%5D\" href=\"/decagon-university\" class=\"cl--header-link w-inline-block last-order\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M2.44831 7.71343L10.2733 3.80091C10.4423 3.71645 10.6411 3.71645 10.81 3.80091L18.635 7.71343C19.0772 7.93454 19.0772 8.56562 18.635 8.78674L10.81 12.6993C10.6411 12.7837 10.4423 12.7837 10.2733 12.6993L2.44831 8.78674C2.00608 8.56562 2.00608 7.93454 2.44831 7.71343Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M20.6248 11.9167L20.6248 8.70841L18.7915 7.79175\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M4.125 9.625V14.4807C4.125 15.253 4.56959 15.9562 5.2672 16.2874L9.68386 18.3844C10.2267 18.6421 10.8566 18.6421 11.3995 18.3844L15.8161 16.2874C16.5137 15.9562 16.9583 15.253 16.9583 14.4807V9.625\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Decagon University</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Platform courses and training</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:1afae071-c5a9-a38d-27f0-9f445adc91ec:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%221afae071-c5a9-a38d-27f0-9f445adc91ec%22%7D%5D\" href=\"/resources/videos\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"100%\" height=\"100%\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M17.5 3.1V16.9C17.5 17.2314 17.2314 17.5 16.9 17.5H3.1C2.76863 17.5 2.5 17.2314 2.5 16.9V3.1C2.5 2.76863 2.76863 2.5 3.1 2.5H16.9C17.2314 2.5 17.5 2.76863 17.5 3.1Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M8.39768 7.17962C7.99769 6.95105 7.5 7.23987 7.5 7.70056V12.2994C7.5 12.7601 7.99769 13.0489 8.39768 12.8204L12.4217 10.5209C12.8248 10.2906 12.8248 9.70938 12.4217 9.47904L8.39768 7.17962Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Videos</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Conversations with AI leaders</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:e1b5123b-919d-8f7c-618e-e374b714429b:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%22e1b5123b-919d-8f7c-618e-e374b714429b%22%7D%5D\" href=\"/glossary\" class=\"cl--header-link w-inline-block last-order\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5835 17.875V4.75C4.5835 3.64543 5.47893 2.75 6.58349 2.75H16.8168C17.1482 2.75 17.4168 3.01863 17.4168 3.35V19.25\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M8.25 6.41675L13.75 6.41675\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M5.9585 13.75L17.4168 13.75\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M5.9585 16.5L17.4168 16.5\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M5.9585 19.25L17.4168 19.25\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M5.9585 16.5C5.04183 16.5 4.5835 15.8844 4.5835 15.125C4.5835 14.3656 5.04183 13.75 5.9585 13.75\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M5.9585 19.25C5.04183 19.25 4.5835 18.6344 4.5835 17.875C4.5835 17.1156 5.04183 16.5 5.9585 16.5\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Glossary</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">AI and CX terms</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:2c1aa3d2-2a39-b1a2-a350-39353ac925c2:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%222c1aa3d2-2a39-b1a2-a350-39353ac925c2%22%7D%5D\" href=\"/resources/guides\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"100%\" height=\"100%\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M10 17.5V6.16666C10 5.06209 10.8954 4.16666 12 4.16666H17.7333C18.0647 4.16666 18.3333 4.43529 18.3333 4.76666V15.5952\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M10 17.5V6.16666C10 5.06209 9.10457 4.16666 8 4.16666H2.26667C1.9353 4.16666 1.66667 4.43529 1.66667 4.76666V15.5952\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M11.6666 15.8333L18.3333 15.8333\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M8.33337 15.8333L1.66671 15.8333\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M9.99996 17.5C9.99996 16.5795 10.7462 15.8333 11.6666 15.8333\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M10 17.5C10 16.5795 9.25385 15.8333 8.33337 15.8333\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Guides</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Insights and best practices</p></div></a></div></div><div data-nav-hover-video=\"dialogues\" class=\"cl--header_menu-cms v2-styles v2-styles\"><div class=\"cl--collection-wrapper v2-styles\"><div class=\"cl--collection-image-wrapper\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac55d7e6f690249c0618a65_image-dialogues-launches.webp\" loading=\"lazy\" sizes=\"100vw\" srcset=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac55d7e6f690249c0618a65_image-dialogues-launches-p-500.webp 500w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac55d7e6f690249c0618a65_image-dialogues-launches-p-800.webp 800w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6ac55d7e6f690249c0618a65_image-dialogues-launches.webp 928w\" alt=\"\" class=\"cl--collection-image\"/><video playsinline=\"\" aria-hidden=\"true\" class=\"cl--nav-card-video\"><source data-src=\"https://storage.googleapis.com/decagon-public-assets/marketing/assets/dialogues_video2.mp4\" type=\"video/mp4\"/></video></div><div class=\"cl--collection-content\"><div aria-label=\"Explore launches at Dialogues\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"simple\" class=\"cl--button w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2 no-decor cl--line-height-regular\"><div class=\"cl--button-wrapper w-variant-ad79c070-f736-95e6-8342-5ef54c82c9f2\"><div class=\"cl--button-text\">Explore launches at Dialogues</div><div data-wf--icon-global-wrapper--variant=\"20\" class=\"cl_icon_wrapper w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div class=\"cl_icon_slot w-variant-e863ee96-c070-64d0-e0ec-e8eb3017a33a\"><div data-wf--icon-global-swap--variant=\"arrow-right\" class=\"cl_icon_component\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M4.99996 10H15.4166M10.4166 15L15.4166 10L10.4166 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg></div></div></div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:12eb02e7-4efa-8f2a-0396-a9d6e4a9be5d:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2212eb02e7-4efa-8f2a-0396-a9d6e4a9be5d%22%7D%5D\" href=\"/blog/dialogues-2026\" class=\"cl--button-link w-inline-block\"></a></div><p class=\"navbar-subtitles\">Voice 3, Modules, and Duet Apprentice.</p></div></div><a aria-label=\"Explore launches at Dialogues\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:d608db16-8b9e-6e65-2a95-b9cc5753f87b\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"d608db16-8b9e-6e65-2a95-b9cc5753f87b\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" href=\"/blog/dialogues-2026\" class=\"collection-list-link w-inline-block\"></a></div></div></div></div></div></nav></div><div data-delay=\"0\" data-hover=\"true\" data-toggle=\"4\" class=\"cl--header_nav-dropdown w-dropdown\"><div data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d9094\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"57ab95fc-bd49-0d9b-7352-fc45fd6d9094\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%5D\" class=\"cl--header_nav-toggle w-dropdown-toggle\"><div class=\"cl--header_nav-fade\"></div><div class=\"cl--header_nav-fade right\"></div><div class=\"side-gap\">Company</div><div class=\"cl--icon-small w-embed\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4 6L8 10L12 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><nav class=\"cl--header_nav-position w-dropdown-list\"><div data-menu=\"4\" class=\"cl--header_menu-wrapper\"><div class=\"cl--header_menu cl--header_menu-small grid-mode-2-column\"><div class=\"cl--header_menu-box grid-mode-2-column\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d909b:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d909b%22%7D%5D\" href=\"/about\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><!--<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M11 19.2499V5.13325C11 4.8295 11.2462 4.58325 11.55 4.58325H20.0017C20.0928 4.58325 20.1667 4.65713 20.1667 4.74825V17.1547\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M11 19.2499V5.13325C11 4.8295 10.7538 4.58325 10.45 4.58325H1.99833C1.90721 4.58325 1.83333 4.65713 1.83333 4.74825V17.1547\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M12.8335 17.4167H20.1668\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M9.1665 17.4167H1.83317\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n  <path d=\"M11.0002 19.2501C11.0002 18.2376 11.821 17.4167 12.8335 17.4167\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M10.9998 19.2501C10.9998 18.2376 10.179 17.4167 9.1665 17.4167\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>-->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 20 20\" fill=\"none\">\n  <path d=\"M10 9.58334V13.75\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M10 6.25833L10.0083 6.24907\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M9.99984 18.3333C14.6022 18.3333 18.3332 14.6024 18.3332 9.99999C18.3332 5.39762 14.6022 1.66666 9.99984 1.66666C5.39746 1.66666 1.6665 5.39762 1.6665 9.99999C1.6665 14.6024 5.39746 18.3333 9.99984 18.3333Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">About</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Our mission and team</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d909f:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d909f%22%7D%5D\" href=\"https://trust.decagon.ai/\" class=\"cl--header-link w-inline-block responsive-last-order\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M12.375 11.9167L13.75 13.2917\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M8.25 10.0834C8.25 11.3491 9.27601 12.3751 10.5417 12.3751C11.1756 12.3751 11.7494 12.1177 12.1643 11.7017C12.5777 11.2872 12.8333 10.7151 12.8333 10.0834C12.8333 8.81776 11.8073 7.79175 10.5417 7.79175C9.27601 7.79175 8.25 8.81776 8.25 10.0834Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  <path d=\"M4.58333 16.4999L2.78581 3.91728C2.76549 3.77503 2.85832 3.64251 2.99859 3.61134L10.8807 1.85977C10.9593 1.8423 11.0407 1.8423 11.1193 1.85977L19.0014 3.61134C19.1417 3.64251 19.2345 3.77503 19.2142 3.91728L17.4167 16.4999C17.3518 16.9536 16.9583 19.7083 11 19.7083C5.04167 19.7083 4.64815 16.9536 4.58333 16.4999Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Trust Center</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Security and compliance</p></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d909d:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d909d%22%7D%5D\" href=\"/careers\" class=\"cl--header-link w-inline-block last-order\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 20 20\" fill=\"none\">\n  <g clip-path=\"url(#clip0_66_3763)\">\n    <path d=\"M0.833496 16.6667V15.8333C0.833496 12.6117 3.44517 10 6.66683 10C9.88849 10 12.5002 12.6117 12.5002 15.8333V16.6667\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n    <path d=\"M10.8335 11.6667C10.8335 9.36548 12.699 7.5 15.0002 7.5C17.3013 7.5 19.1668 9.36548 19.1668 11.6667V12.0833\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n    <path d=\"M6.66683 10C8.50778 10 10.0002 8.50763 10.0002 6.66668C10.0002 4.82573 8.50778 3.33334 6.66683 3.33334C4.82588 3.33334 3.3335 4.82573 3.3335 6.66668C3.3335 8.50763 4.82588 10 6.66683 10Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n    <path d=\"M15 7.5C16.3807 7.5 17.5 6.38071 17.5 5C17.5 3.61929 16.3807 2.5 15 2.5C13.6193 2.5 12.5 3.61929 12.5 5C12.5 6.38071 13.6193 7.5 15 7.5Z\" stroke=\"#272591\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n  </g>\n  <defs>\n    <clipPath id=\"clip0_66_3763\">\n      <rect width=\"20\" height=\"20\" fill=\"currentColor\"/>\n    </clipPath>\n  </defs>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">Careers</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><p class=\"navbar-subtitles\">Open roles</p></div></a></div><div class=\"line-separator is-vertical\"></div><div class=\"cl--header_menu-box social-links\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:06e6e0f8-8b1c-f9e0-d90b-90515070306a:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2206e6e0f8-8b1c-f9e0-d90b-90515070306a%22%7D%5D\" href=\"https://www.linkedin.com/company/decagon-ai/\" target=\"_blank\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <g clip-path=\"url(#clip0_6043_37587)\">\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.22222 20H17.7778C19.0051 20 20 19.0051 20 17.7778V2.22222C20 0.994923 19.0051 0 17.7778 0H2.22222C0.994923 0 0 0.994923 0 2.22222V17.7778C0 19.0051 0.994923 20 2.22222 20Z\" fill=\"#007EBB\" />\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.2223 17.2222H14.2544V12.1672C14.2544 10.7813 13.7278 10.0068 12.6308 10.0068C11.4374 10.0068 10.814 10.8128 10.814 12.1672V17.2222H7.95376V7.59259H10.814V8.8897C10.814 8.8897 11.674 7.29839 13.7174 7.29839C15.76 7.29839 17.2223 8.54568 17.2223 11.1253V17.2222ZM4.54154 6.33166C3.56729 6.33166 2.77783 5.53601 2.77783 4.55472C2.77783 3.57343 3.56729 2.77777 4.54154 2.77777C5.51579 2.77777 6.30478 3.57343 6.30478 4.55472C6.30478 5.53601 5.51579 6.33166 4.54154 6.33166ZM3.06465 17.2222H6.04711V7.59259H3.06465V17.2222Z\" fill=\"white\" />\n  </g>\n  <defs>\n    <clipPath id=\"clip0_6043_37587\">\n      <rect width=\"20\" height=\"20\" fill=\"white\" />\n    </clipPath>\n  </defs>\n</svg>\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 20 20\">\n  <path id=\"Exclusión_1\" data-name=\"Exclusión 1\" d=\"M17.778,20H2.222A2.225,2.225,0,0,1,0,17.778V2.222A2.225,2.225,0,0,1,2.222,0H17.778A2.225,2.225,0,0,1,20,2.222V17.778A2.225,2.225,0,0,1,17.778,20Zm-5.147-9.993c1.062,0,1.624.747,1.624,2.16v5.055h2.968v-6.1c0-2.4-1.31-3.827-3.5-3.827a3.385,3.385,0,0,0-2.9,1.591v-1.3H7.954v9.63h2.86V12.167C10.814,10.774,11.459,10.007,12.631,10.007ZM3.064,7.592v9.63H6.047V7.592ZM4.541,2.777A1.777,1.777,0,1,0,6.3,4.555,1.773,1.773,0,0,0,4.541,2.777Z\" fill=\"white\"/>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">LinkedIn</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div></div></a><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:05193641-c154-8521-b26e-1dd1a848b808:9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"9e5bdf92-2968-8387-d014-0e4a228fbf96\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%229e5bdf92-2968-8387-d014-0e4a228fbf96%22%2C%22instanceId%22%3A%2205193641-c154-8521-b26e-1dd1a848b808%22%7D%5D\" href=\"https://x.com/DecagonAI\" target=\"_blank\" class=\"cl--header-link w-inline-block\"><div class=\"cl--header_link-icon\"><div class=\"cl--icon-medium mobile-small w-embed\"><svg width=\"20\" height=\"18\" viewBox=\"0 0 20 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <g clip-path=\"url(#clip0_6043_37594)\">\n    <path d=\"M15.7333 0H18.8L12.0666 7.63838L19.9333 18H13.76L8.92663 11.7033L3.3933 18H0.326636L7.45997 9.83026L-0.0733643 0H6.2533L10.62 5.75203L15.7333 0ZM14.66 16.2066H16.36L5.35997 1.72694H3.5333L14.66 16.2066Z\" fill=\"black\"/>\n  </g>\n  <defs>\n    <clipPath id=\"clip0_6043_37594\">\n      <rect width=\"20\" height=\"18\" fill=\"white\"/>\n    </clipPath>\n  </defs>\n</svg></div></div><div class=\"cl--header_link-text\"><div class=\"cl--header_link_text-main\"><p class=\"cl--text-size-small cl--text-color-primary cl--text-weight-medium cl--line-height-regular\">X</p><div class=\"cl--icon-xsmall icon-hidden w-embed\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M4.5 3L7.5 6L4.5 9\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div></div></a></div></div></div></nav></div><div class=\"cl--header_mobile-buttons show-tablet\"><div class=\"cl--header_nav-fade\"></div><div class=\"cl--header_nav-fade right\"></div><div class=\"cl--header_mobile_wrap\"><div aria-label=\"Sign in\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"quaternary\" class=\"cl--button w-variant-c02992a9-6ec4-1148-c989-94c110eac60e\"><div class=\"cl--button-wrapper w-variant-c02992a9-6ec4-1148-c989-94c110eac60e\"><div class=\"cl--button-text\">Sign in</div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d90a4:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d90a4%22%7D%5D\" href=\"https://decagon.ai/signin?redirect_url=https%3A%2F%2Fdecagon.ai%2Fadmin%2Fhome\" target=\"_blank\" class=\"cl--button-link w-inline-block\"></a></div><div aria-label=\"Get a demo\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"primary\" class=\"cl--button  \"><div class=\"cl--button-wrapper\"><div class=\"cl--button-text\">Get a demo</div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d90a2:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d90a2%22%7D%5D\" href=\"/get-a-demo\" class=\"cl--button-link w-inline-block\"></a></div></div></div></nav><div data-mobile-toggle=\"\" class=\"cl--header_mobile-toggle w-nav-button\"><div data-open-icon=\"\" class=\"cl--icon-mobile open-icon w-embed\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n  <path\n    d=\"M4 6H20M4 12H20M4 18H20\"\n    stroke=\"#0a0a0b\"\n    stroke-width=\"1.5\"\n    stroke-linecap=\"round\"\n    stroke-linejoin=\"round\"\n  />\n</svg></div><div data-close-icon=\"\" class=\"cl--icon-mobile close-icon w-embed\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M6.75729 17.2426L11.9999 12M17.2426 6.75736L11.9999 12M11.9999 12L6.75729 6.75736M11.9999 12L17.2426 17.2426\" stroke=\"#0A0A0B\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg></div></div><div class=\"cl--header-buttons hide-tablet\"><div aria-label=\"Sign in\" data-disabled=\"False\" data-text-size=\"True\" data-wf--cl-element-button--style-theme=\"quaternary\" class=\"cl--button w-variant-c02992a9-6ec4-1148-c989-94c110eac60e\"><div class=\"cl--button-wrapper w-variant-c02992a9-6ec4-1148-c989-94c110eac60e\"><div class=\"cl--button-text\">Sign in</div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d90aa:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d90aa%22%7D%5D\" href=\"https://decagon.ai/signin?redirect_url=https%3A%2F%2Fdecagon.ai%2Fadmin%2Fhome\" target=\"_blank\" class=\"cl--button-link w-inline-block\"></a></div><div aria-label=\"Get a demo\" data-disabled=\"False\" data-text-size=\"True\" data-wf--cl-element-button--style-theme=\"primary\" class=\"cl--button\"><div class=\"cl--button-wrapper\"><div class=\"cl--button-text\">Get a demo</div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fbb:57ab95fc-bd49-0d9b-7352-fc45fd6d90ac:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d9009%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fbb%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%2257ab95fc-bd49-0d9b-7352-fc45fd6d90ac%22%7D%5D\" href=\"/get-a-demo\" class=\"cl--button-link w-inline-block\"></a></div><div class=\"cl_button_wrapper_desktop_simple\"></div></div><div data-nav-dropdown=\"\" class=\"navigation-dropdown-wrapper\"><div class=\"dropdown-wrapper\"><div class=\"dropdown-inner\"></div></div></div></div></div></div></div><div class=\"cl--outer overflow-auto\"><main class=\"main-wrapper\"><div class=\"hide w-embed w-script\"><script>\n  document.addEventListener('DOMContentLoaded', () => {\n    const players = document.querySelectorAll('.audio-comparison_item');\n\n    if (!players.length) return;\n\n    const AudioContext = window.AudioContext || window.webkitAudioContext;\n    if (!AudioContext) return;\n\n    const audioContext = new AudioContext();\n\n    const formatTime = (seconds) => {\n      if (!Number.isFinite(seconds)) return '0:00';\n\n      const minutes = Math.floor(seconds / 60);\n      const remainingSeconds = Math.floor(seconds % 60)\n        .toString()\n        .padStart(2, '0');\n\n      return `${minutes}:${remainingSeconds}`;\n    };\n\n    players.forEach((player) => {\n      const button = player.querySelector('.audio-comparison_button');\n      const wave = player.querySelector('.audio-comparison_wave');\n      const time = player.querySelector('.audio-comparison_time');\n      const source = player.dataset.audioSrc;\n\n      if (!button || !wave || !time || !source) return;\n\n      const audio = new Audio();\n      audio.crossOrigin = 'anonymous';\n      audio.preload = 'metadata';\n      audio.src = source;\n\n      player._audio = audio;\n\n      const analyser = audioContext.createAnalyser();\n      analyser.fftSize = 512;\n      analyser.smoothingTimeConstant = 0.8;\n\n      const audioSource = audioContext.createMediaElementSource(audio);\n      audioSource.connect(analyser);\n      analyser.connect(audioContext.destination);\n\n      /*\n       * HEIGHT LIMITS (in rem)\n       * Calculated to fit within 2.23956rem without overflowing the container.\n       */\n      const BAR_COUNT = 30;\n      const MIN_HEIGHT = 0.16;\n      const MAX_HEIGHT = 1.8;\n\n      wave.innerHTML = '';\n      const bars = [];\n\n      for (let i = 0; i < BAR_COUNT; i++) {\n        const bar = document.createElement('span');\n        bar.className = 'audio-comparison_bar';\n        bar.style.height = `${MIN_HEIGHT}rem`;\n\n        wave.appendChild(bar);\n\n        bars.push({\n          element: bar,\n          current: MIN_HEIGHT,\n          target: MIN_HEIGHT,\n        });\n      }\n\n      const data = new Uint8Array(analyser.frequencyBinCount);\n\n      const animateWaveform = () => {\n        analyser.getByteFrequencyData(data);\n\n        let total = 0;\n\n        for (let i = 0; i < data.length; i++) {\n          total += data[i];\n        }\n\n        const overall = total / data.length / 255;\n\n        bars.forEach((bar, index) => {\n          const factor = Math.pow(index / BAR_COUNT, 1.3);\n          const start = Math.floor(factor * (data.length * 0.65));\n\n          const end = Math.max(start + 1, Math.floor(Math.pow((index + 1) / BAR_COUNT, 1.3) * (data.length * 0.65)));\n\n          let sum = 0;\n\n          for (let i = start; i < end; i++) {\n            sum += data[i] || 0;\n          }\n\n          const average = sum / (end - start);\n          const frequency = average / 255;\n          const amplitude = Math.max(frequency, overall * 0.45);\n\n          const normalized = Math.pow(amplitude, 0.6);\n\n          bar.target = MIN_HEIGHT + normalized * (MAX_HEIGHT - MIN_HEIGHT);\n\n          bar.current += (bar.target - bar.current) * 0.2;\n\n          bar.element.style.height = `${bar.current}rem`;\n        });\n\n        if (!audio.paused && !audio.ended) {\n          player._animationFrame = requestAnimationFrame(animateWaveform);\n        }\n      };\n\n      button.addEventListener('click', async () => {\n        players.forEach((otherPlayer) => {\n          if (otherPlayer === player) return;\n\n          const otherAudio = otherPlayer._audio;\n\n          if (otherAudio && !otherAudio.paused) {\n            otherAudio.pause();\n          }\n        });\n\n        if (audio.paused) {\n          try {\n            if (audioContext.state === 'suspended') {\n              await audioContext.resume();\n            }\n\n            await audio.play();\n          } catch (error) {\n            console.error('Audio playback failed:', error);\n          }\n        } else {\n          audio.pause();\n        }\n      });\n\n      audio.addEventListener('play', () => {\n        player.classList.add('is-playing');\n\n        cancelAnimationFrame(player._animationFrame);\n\n        animateWaveform();\n      });\n\n      audio.addEventListener('pause', () => {\n        player.classList.remove('is-playing');\n\n        cancelAnimationFrame(player._animationFrame);\n      });\n\n      audio.addEventListener('loadedmetadata', () => {\n        time.textContent = `0:00 / ${formatTime(audio.duration)}`;\n      });\n\n      audio.addEventListener('timeupdate', () => {\n        time.textContent = `${formatTime(audio.currentTime)} / ${formatTime(audio.duration)}`;\n      });\n\n      audio.addEventListener('error', () => {\n        console.error('Audio could not be loaded:', source, audio.error);\n      });\n\n      audio.addEventListener('ended', () => {\n        player.classList.remove('is-playing');\n\n        cancelAnimationFrame(player._animationFrame);\n\n        const resetWaveform = () => {\n          let finished = true;\n\n          bars.forEach((bar) => {\n            bar.target = MIN_HEIGHT;\n\n            bar.current += (bar.target - bar.current) * 0.15;\n\n            bar.element.style.height = `${bar.current}rem`;\n\n            if (Math.abs(bar.current - MIN_HEIGHT) > 0.001) {\n              finished = false;\n            }\n          });\n\n          if (!finished) {\n            player._animationFrame = requestAnimationFrame(resetWaveform);\n          } else {\n            bars.forEach((bar) => {\n              bar.current = MIN_HEIGHT;\n              bar.element.style.height = `${MIN_HEIGHT}rem`;\n            });\n          }\n        };\n\n        resetWaveform();\n      });\n    });\n  });\n</script></div><div class=\"hide w-embed\"><style>\n  .audio-comparison {\n  \tmargin-bottom: 1rem;  \n  }\n  \n  .audio-comparison_bar {\n    width: 3px !important;\n    background-color: var(--_cl-primitives---color--primary--platinum-900);\n    border-radius: var(--_cl-radius---round);\n    justify-self: center;\n  }\n\n  .audio-comparison_item.is-playing .play-button {\n    display: none;\n  }\n\n  .audio-comparison_item.is-playing .pause-button {\n    display: flex;\n  }\n</style></div><section class=\"section_ba\"><div data-wf--cl-global-spacing--spacing=\"xxhuge\" class=\"spacing-component w-variant-56340ee5-5ace-f82f-9fa6-35d9bd910804\"></div><div class=\"padding-global cl--custom-padding-tiny\"><div class=\"cl--container-large\"><div class=\"ba_layout\"><div class=\"ba_content_wrapper\"><div class=\"ba_card_wrapper\"><div class=\"ba_content_left\"><div class=\"ba_category\"><div class=\"resource_tag_btn\"><div class=\"resource_tag_text\">Product</div></div></div><div class=\"ba_title_wrapper\"><h1 class=\"cl--heading-style-h3\">Introducing the Personal Agent Consent &amp; Trust Protocol (PACT)</h1><p class=\"cl--text-size-small cl--text-color-secondary\"><span>Posted on </span><span>October 6, 2026</span></p></div><div class=\"ba_author_wrapper\"><div data-wf--customer-credentials--variant=\"horizontal-middle---small\" class=\"feature-v2_author flex-grow\"><div class=\"feature-v2_headshot_wrapper image-fixed\"><img width=\"Auto\" data-credential=\"headshot\" alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac4809bb68f32f4cb262f33_Screenshot%202026-10-05%20at%2010.01.09%E2%80%AFPM.png\" loading=\"lazy\" class=\"feature-v2_headshot\"/></div><div class=\"feature-v2_author_text\"><div data-credential=\"name\" class=\"feature-v2_author_name cl--text-size-small cl--text-weight-medium\">Harry Gao</div><div data-credential=\"position\" class=\"feature-v2_author_position cl--text-size-small cl--text-color-secondary\">Member of Technical Staff, ASWE</div></div></div><div data-wf--customer-credentials--variant=\"horizontal-middle---small\" class=\"feature-v2_author flex-grow\"><div class=\"feature-v2_headshot_wrapper image-fixed\"><img width=\"Auto\" data-credential=\"headshot\" alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac5316f580ce879ca259792_Screenshot%202026-10-06%20at%2010.35.39%E2%80%AFAM.png\" loading=\"lazy\" class=\"feature-v2_headshot\"/></div><div class=\"feature-v2_author_text\"><div data-credential=\"name\" class=\"feature-v2_author_name cl--text-size-small cl--text-weight-medium\">Gram Liu</div><div data-credential=\"position\" class=\"feature-v2_author_position cl--text-size-small cl--text-color-secondary\">Member of Technical Staff</div></div></div></div></div><div id=\"w-node-f1472ed7-3231-cf71-0c52-07483bfbeb39-521a39b4\" class=\"ba_content_right\"><img width=\"Auto\" loading=\"eager\" alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail.png\" sizes=\"100vw\" srcset=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail-p-500.png 500w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail-p-800.png 800w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail-p-1080.png 1080w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail-p-1600.png 1600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail-p-2000.png 2000w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail-p-2600.png 2600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail-p-3200.png 3200w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac480780f5309afcc808717_PACT%20-%20Blog%20Thumbnail.png 3840w\" class=\"ba_media\"/></div></div></div></div></div></div><div data-wf--cl-global-spacing--spacing=\"large\" class=\"spacing-component w-variant-6113fc2d-8325-6a36-3cd3-fba286ea348a\"></div></section><section class=\"section_ra\"><h2 class=\"sr_only\">Article</h2><div data-wf--cl-global-spacing--spacing=\"large\" class=\"spacing-component w-variant-6113fc2d-8325-6a36-3cd3-fba286ea348a\"></div><div class=\"css-embed w-embed\"><style>\n  .is-form-success {\n    background-color: var(--_cl-primitives---color--primary--indigo-1000);\n    color: var(--_colors---text--white);\n  }\n\n  .is-form-success .cl--text-color-platinum700 {\n    color: var(--_colors---text--white) !important;\n  }\n\n  .is-form-success .cl--button-wrapper {\n    color: var(--_cl-primitives---color--transparent--platinum-400-50) !important;\n    border: 1.5px solid var(--_cl-primitives---color--transparent--platinum-300-25) !important;\n    background: var(--_cl-primitives---color--transparent--platinum-200-15) !important;\n  }\n\n  .is-error {\n    color: #be040d !important;\n  }\n\n  .wf-design-mode .ra_sidebar_form_error,\n  .wf-design-mode .ra_article_custom_element {\n    display: block;\n  }\n\n  .ra_sidebar_toc::-webkit-scrollbar {\n    width: 0.5rem;\n  }\n\n  .ra_sidebar_toc::-webkit-scrollbar-track {\n    background: transparent;\n  }\n\n  .ra_sidebar_toc::-webkit-scrollbar-thumb {\n    background: rgba(0, 0, 0, 0.3);\n    border-radius: 100vh;\n  }\n\n  .embed_quote_content{\n    margin-bottom: var(--_cl-sizes---spacing--medium);\n  }\n</style></div><div class=\"padding-global cl--custom-padding-xxsmall\"><div class=\"cl--container-large\"><div class=\"ra_layout\"><div class=\"ra_sidebar\"><div class=\"ra_sidebar_share_links\"><button data-share-button=\"twitter\" aria-label=\"Share this article on X\" class=\"ra_sidebar_link\"><div data-wf--icon-global-wrapper--variant=\"24\" class=\"cl_icon_wrapper w-variant-e2f5a060-c165-c33d-aab5-99edd2a92b64\"><div class=\"cl_icon_slot\"><div data-wf--icon-global-swap--variant=\"twitter\" class=\"cl_icon_component\"><svg fill=\"none\" viewBox=\"0 0 24 24\" height=\"100%\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"twitter\"><path stroke-width=\"1.5\" stroke=\"currentColor\" d=\"M16.8198 20.7684L3.75317 3.96836C3.44664 3.57425 3.72749 3 4.22678 3H6.70655C6.8917 3 7.06649 3.08548 7.18016 3.23164L20.2468 20.0316C20.5534 20.4258 20.2725 21 19.7732 21H17.2935C17.1083 21 16.9335 20.9145 16.8198 20.7684Z\"></path><path stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" d=\"M20 3L4 21\"></path></svg></div></div></div></button><button data-share-button=\"linkedin\" aria-label=\"Share this article on Linkedin\" class=\"ra_sidebar_link\"><div data-wf--icon-global-wrapper--variant=\"24\" class=\"cl_icon_wrapper w-variant-e2f5a060-c165-c33d-aab5-99edd2a92b64\"><div class=\"cl_icon_slot\"><div data-wf--icon-global-swap--variant=\"linkedin\" class=\"cl_icon_component\"><svg fill=\"none\" viewBox=\"0 0 24 24\" height=\"100%\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"linkedin\"><path stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"currentColor\" d=\"M21 8V16C21 18.7614 18.7614 21 16 21H8C5.23858 21 3 18.7614 3 16V8C3 5.23858 5.23858 3 8 3H16C18.7614 3 21 5.23858 21 8Z\"></path><path stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#F4F4F5\" d=\"M7 17V13.5V10\"></path><path stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#F4F4F5\" d=\"M11 17V13.75M11 10V13.75M11 13.75C11 10 17 10 17 13.75V17\"></path><path stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#F4F4F5\" d=\"M7 7.01L7.01 6.99889\"></path></svg></div></div></div></button><button data-share-button=\"facebook\" aria-label=\"Share this article on Facebook\" class=\"ra_sidebar_link\"><div data-wf--icon-global-wrapper--variant=\"24\" class=\"cl_icon_wrapper w-variant-e2f5a060-c165-c33d-aab5-99edd2a92b64\"><div class=\"cl_icon_slot\"><div data-wf--icon-global-swap--variant=\"facebook\" class=\"cl_icon_component\"><svg fill=\"none\" viewBox=\"0 0 24 24\" height=\"100%\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"facebook\"><path stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"#F4F4F5\" d=\"M17 2H14C12.6739 2 11.4021 2.52678 10.4645 3.46447C9.52678 4.40215 9 5.67392 9 7V10H6V14H9V22H13V14H16L17 10H13V7C13 6.73478 13.1054 6.48043 13.2929 6.29289C13.4804 6.10536 13.7348 6 14 6H17V2Z\"></path></svg></div></div></div></button><button data-element=\"copy-page\" class=\"ra_sidebar_link\"><div data-wf--icon-global-wrapper--variant=\"24\" class=\"cl_icon_wrapper w-variant-e2f5a060-c165-c33d-aab5-99edd2a92b64\"><div class=\"cl_icon_slot\"><div data-wf--icon-global-swap--variant=\"link\" class=\"cl_icon_component\"><svg fill=\"none\" viewBox=\"0 0 24 24\" height=\"100%\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"link\"><path stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" d=\"M14 11.9976C14 9.5059 11.683 7 8.85714 7C8.52241 7 7.41904 7.00001 7.14286 7.00001C4.30254 7.00001 2 9.23752 2 11.9976C2 14.376 3.70973 16.3664 6 16.8714C6.36756 16.9525 6.75006 16.9952 7.14286 16.9952\"></path><path stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" d=\"M10 11.9975C10 14.4892 12.317 16.9951 15.1429 16.9951C15.4776 16.9951 16.581 16.9951 16.8571 16.9951C19.6975 16.9951 22 14.7576 22 11.9975C22 9.61908 20.2903 7.62872 18 7.12371C17.6324 7.04266 17.2499 6.99987 16.8571 6.99987\"></path></svg></div></div></div></button></div><div data-element=\"toc-wrapper\" class=\"ra_siderbar_article_index\"><div data-number=\"20\" data-wf--cl-typography-heading--size=\"text-small\" class=\"heading_wrap w-variant-9a2aee3d-3a27-5621-f5eb-234c20db0c30 w-richtext cl--text-weight-medium\"><p>Table of contents</p></div><div class=\"ra_sidebar_toc\"><div class=\"ra-toc_link-wrapper\"><a fs-toc-element=\"link\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:40574d44-6f58-ad24-548b-75d23aaa3644\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"40574d44-6f58-ad24-548b-75d23aaa3644\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%5D\" href=\"#\" class=\"ra-toc_link cl--text-size-small w-inline-block\"><div>Introduction</div></a><div class=\"ra-toc_link-wrapper\"><a fs-toc-element=\"link\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:5d677ae0-88dc-2800-52be-47cba9685a3a\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"5d677ae0-88dc-2800-52be-47cba9685a3a\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%5D\" href=\"#\" class=\"ra-toc_link cl--text-size-small w-inline-block\"><div>What is an Agent Engineer?</div></a></div></div></div></div><div class=\"ra_sidebar_form\"><div class=\"ra_sidebar_content\"><div styl=\"\" data-number=\"60\" data-wf--cl-typography-paragraph--size=\"text-medium\" class=\"paragraph_wrap w-variant-dee79bc3-c26e-a880-2af4-a056a42cfd2d w-richtext  \"><p>Subscribe to our Newsletter</p></div><div styl=\"\" data-number=\"60\" data-wf--cl-typography-paragraph--size=\"text-small\" class=\"paragraph_wrap w-variant-dee79bc3-c26e-a880-2af4-a056a42cfd2b w-richtext cl--text-color-platinum700\"><p>Get monthly updates with our latest articles, podcasts, videos, and more.</p></div></div><div class=\"ra_sidebar_form_block w-form\"><form id=\"wf-form-Sign-up\" name=\"wf-form-Sign-up\" data-name=\"Sign up\" method=\"get\" class=\"ra_sidebar_form_element\" data-wf-page-id=\"683e5da0b6d8a19de4875b7d\" data-wf-element-id=\"3b74b393-3747-056b-fb70-564c201d1cc2\" data-turnstile-sitekey=\"0x4AAAAAAAQTptj2So4dx43e\"><input class=\"ra_sidebar_field w-input\" maxlength=\"256\" name=\"Email\" data-name=\"Email\" placeholder=\"johndoe@workemail.com\" type=\"email\" id=\"Email\" required=\"\"/><div class=\"ra_sidebar_form_error cl--text-size-small\">Must be a valid company email (i.e. example@companydomain.com)</div><button type=\"submit\" class=\"cl--button is-submit\"><div class=\"cl--button-wrapper\"><div class=\"cl--button-text\">Sign up</div></div></button></form><div class=\"ra_sidebar_success_message w-form-done\"><div aria-label=\"Done!\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"primary\" class=\"cl--button image-width-full\"><div class=\"cl--button-wrapper\"><div class=\"cl--button-text\">Done!</div></div></div></div><div class=\"w-form-fail\"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div><div class=\"ra_article_section\"><div class=\"ra_article_content_wrapper\"><div fs-toc-hideurlhash=\"true\" fs-toc-element=\"contents\" data-element=\"resource-article\" fs-toc-offsettop=\"7rem\" class=\"ra_article_richtext w-richtext\"><p>Today, we’re open-sourcing the <a href=\"https://openpactprotocol.org/\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:d7325a53-9ba8-5549-1450-2388877cc773\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"d7325a53-9ba8-5549-1450-2388877cc773\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%5D\">Personal Agent Consent &amp; Trust Protocol (PACT)</a>, co-developed and supported by Instinct. We’re also excited to join the Personal Agent Protocol working group announced by the team behind Meta’s Muse to help shape an industry standard.</p><p>Personal agents like Muse, Instinct, and dots are starting to book travel, manage purchases, and resolve issues on their users’ behalf. As they contact businesses, they increasingly encounter AI agents acting for those businesses. PACT gives these interactions explicit, verifiable customer permissions. Built on the Agent2Agent protocol and OAuth 2.0, it lets businesses verify whom a personal agent represents and what that customer has authorized it to do.</p><p>Last week, we introduced <a href=\"https://decagon.ai/blog/personal-agents-are-here\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:d7325a53-9ba8-5549-1450-2388877cc77a\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"d7325a53-9ba8-5549-1450-2388877cc77a\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%5D\">Personal Agent Gateway</a> and the principles behind it. In this post, we walk through how PACT works and the design decisions that shaped it.</p><h2>How PACT works</h2><figure style=\"padding-bottom:56.206088992974244%\" class=\"w-richtext-align-fullwidth w-richtext-figure-type-video\"><div><iframe src=\"https://www.youtube.com/embed/dnaAvcLIPnA\" title=\"Introducing PACT\" scrolling=\"no\" frameborder=\"0\" allowfullscreen=\"true\"></iframe></div></figure><p>PACT involves three parties: the customer’s personal agent, the business, and the provider (such as Decagon) that hosts the business’s agent. It separates the identity of the personal agent from its authority to act on a customer’s account. The interaction follows three steps.</p><p><strong>1. Discover and connect</strong></p><p>The personal agent discovers the business’s <a href=\"https://a2a-protocol.org/latest/specification/#8-agent-discovery-the-agent-card\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:da36de9d-7d81-f3b4-a70c-233fe35a4133\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"da36de9d-7d81-f3b4-a70c-233fe35a4133\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%5D\">A2A Agent Card</a>, which advertises its endpoint, authentication requirements, and available permissions. Each business defines its own scopes, such as orders:read or orders:cancel, with descriptions the personal agent can use to select the permissions it needs.</p><p>The personal agent authenticates its requests with a short-lived, signed JWT. The provider verifies the signature against the personal agent’s published public keys. This establishes which platform is calling, but does not yet prove ownership of a customer account.</p><p><strong>2. Authenticate the customer and obtain consent</strong></p><figure style=\"max-width:1920pxpx\" class=\"w-richtext-align-fullwidth w-richtext-figure-type-image\"><div><img alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac5319543349e7247a6c3ca_image%20(53).png\" loading=\"lazy\"/></div></figure><p>For delegated account access, the personal agent requests scopes through OAuth’s device authorization flow and presents the customer with a login link. The customer signs in directly with the business, then chooses which permissions to approve. The personal agent never handles the customer’s login credentials.</p><p>The provider issues a short-lived, signed delegation token binding the verified customer account, personal-agent platform, target business, and approved scopes.</p><p><strong>3. Act within the granted permissions</strong></p><figure style=\"max-width:1920px\" class=\"w-richtext-align-fullwidth w-richtext-figure-type-image\"><div><img alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac5489fb15e06ae7fae40f6_image%20(55).png\" loading=\"lazy\"/></div></figure><p>Each subsequent request carries both the personal agent’s identity and the customer’s delegation. The provider verifies the agent’s identity and delegated authorization before running the business’s agent within the approved scopes. The business’s policies continue to govern which actions are allowed.</p><p>If the conversation requires additional permission, PACT uses A2A’s authorization-required state to request it and continue the same conversation. Replies under delegated authorization include signed receipts recording the scopes used and actions taken.</p><h2>Design decisions</h2><ul role=\"list\"><li><strong>Route requests through the business’s agent.</strong> Personal agents express what the customer wants; the business’s agent handles the underlying tools and workflows under the business’s policies.</li><li><strong>Build on existing standards.</strong> Reuse A2A for communication and OAuth for authorization, specifying how they work together.</li><li><strong>Separate identity from authority.</strong> Verify which agent is calling independently of what the customer has permitted it to do.</li><li><strong>Let businesses define permissions.</strong> Standardize how scopes are discovered and granted while leaving capabilities and policies to each business.</li><li><strong>Keep login with the business.</strong> Bind consent to a verified customer account without exposing login credentials to the personal agent.</li></ul><h2>An open standard</h2><p>Personal agents need to work across businesses, and businesses need to serve customers using different personal agents. Without a shared specification for this interaction, developers must reconcile differences in how providers identify agents, obtain customer consent, and carry authorization with each request.</p><p>PACT makes those mechanics consistent across implementations. Personal-agent developers can use the same integration pattern across participating providers, while businesses can support different personal agents through a common interface. The customer’s choice of personal agent shouldn’t depend on which platform a business uses.</p><p>We built PACT in collaboration with Instinct to bring both sides of the interaction into its design. By publishing the specification openly, we’re inviting other personal-agent developers, businesses, and agent platforms to implement it and help shape its evolution.</p><p>To get started, read the <a href=\"https://openpactprotocol.org/spec\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:da36de9d-7d81-f3b4-a70c-233fe35a416d\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"da36de9d-7d81-f3b4-a70c-233fe35a416d\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%5D\">PACT specification</a>, or explore the code and share feedback on <a href=\"https://github.com/openpactprotocol/openpactprotocol\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:da36de9d-7d81-f3b4-a70c-233fe35a4170\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"da36de9d-7d81-f3b4-a70c-233fe35a4170\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%5D\">GitHub</a>.</p></div></div><div class=\"ra_article_author\"><div class=\"ba_author_wrapper is-vertical\"><div class=\"ra_article_author_content\"><div class=\"ra_article_author_headshot_wrapper\"><img width=\"Auto\" data-credential=\"headshot\" alt=\"\" loading=\"lazy\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac4809bb68f32f4cb262f33_Screenshot%202026-10-05%20at%2010.01.09%E2%80%AFPM.png\" class=\"ra_article_author_headshot\"/></div><div class=\"ra_article_author_text_wrapper\"><div class=\"ra_article_author_text\"><div data-credential=\"name\" class=\"ra_article_author_name cl--text-size-small cl--text-weight-medium vertical-middle---small-5\">Harry Gao</div><div data-credential=\"position\" class=\"ra_article_author_position cl--text-size-small cl--text-color-secondary\">—</div><div data-credential=\"position\" class=\"ra_article_author_position cl--text-size-small cl--text-color-secondary\">Member of Technical Staff, ASWE</div></div><div class=\"ra_article_author_bigraphy cl--text-size-small cl--text-color-platinum800\"></div></div></div><div class=\"ra_article_author_content\"><div class=\"ra_article_author_headshot_wrapper\"><img width=\"Auto\" data-credential=\"headshot\" alt=\"\" loading=\"lazy\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6ac5316f580ce879ca259792_Screenshot%202026-10-06%20at%2010.35.39%E2%80%AFAM.png\" class=\"ra_article_author_headshot\"/></div><div class=\"ra_article_author_text_wrapper\"><div class=\"ra_article_author_text\"><div data-credential=\"name\" class=\"ra_article_author_name cl--text-size-small cl--text-weight-medium vertical-middle---small-5\">Gram Liu</div><div data-credential=\"position\" class=\"ra_article_author_position cl--text-size-small cl--text-color-secondary\">—</div><div data-credential=\"position\" class=\"ra_article_author_position cl--text-size-small cl--text-color-secondary\">Member of Technical Staff</div></div><div class=\"ra_article_author_bigraphy cl--text-size-small cl--text-color-platinum800\"></div></div></div></div></div><div class=\"ra_article_custom_element\"><div data-article-element=\"customer-quote\" class=\"ra_article_cq\"><div data-customer-quote=\"text\" class=\"ra_article_cq_text cl--heading-style-h5 text-align-center cl--text-weight-book\">“With Decagon Voice, we’re able to combine high performance and seamless brand customization with cross-channel memory, ensuring every interaction is connected and true to Chime’s member-first values.”</div><div data-wf--customer-credentials--variant=\"vertical-middle---small\" class=\"feature-v2_author w-variant-62508003-36c3-be72-ac16-f2d4b2defb20\"><div class=\"feature-v2_headshot_wrapper\"><img width=\"Auto\" data-credential=\"headshot\" alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/6a0df2f4541d70c036634f40_Janelle%20%203.png\" loading=\"lazy\" class=\"feature-v2_headshot w-variant-62508003-36c3-be72-ac16-f2d4b2defb20\"/></div><div class=\"feature-v2_author_text\"><div data-credential=\"name\" class=\"feature-v2_author_name cl--text-size-small cl--text-weight-medium w-variant-62508003-36c3-be72-ac16-f2d4b2defb20\">Janelle Sallenave</div><div data-credential=\"position\" class=\"feature-v2_author_position cl--text-size-small cl--text-color-secondary w-variant-62508003-36c3-be72-ac16-f2d4b2defb20\">Chief Operating Officer</div></div></div><div class=\"css-embed w-embed\"><style>\n.ra_article_cq {\n  position: relative;\n  border-radius: var(--_cl-radius---small);\n  background: #fff;\n  overflow: hidden;\n}\n\n.ra_article_cq::before {\n  content: \"\";\n  position: absolute;\n  inset: auto 0 0 0;\n  height: 12px;\n  border-radius: 0 0 var(--_cl-radius---small) var(--_cl-radius---small);\n  background: linear-gradient(90deg, #ff7a45 0%, #ff5f8f 35%, #b84cff 65%, #4f5cff 100%);\n  pointer-events: none;\n}\n\n.ra_article_cq::after {\n  content: \"\";\n  position: absolute;\n  left: 0px;\n  right: 0px;\n  bottom: 2px;\n  height: 12px;\n  border-radius: 0 0 var(--_cl-radius---small) var(--_cl-radius---small);\n  background: #fff;\n  pointer-events: none;\n}\n</style></div></div><div data-article-element=\"demo-cta\" class=\"ra_article_bdcta\"><div class=\"ra_article_bdcta_content\"><div styl=\"\" data-number=\"60\" data-wf--cl-typography-paragraph--size=\"text-medium\" class=\"paragraph_wrap w-variant-dee79bc3-c26e-a880-2af4-a056a42cfd2d w-richtext text-align-center cl--text-weight-medium\"><p>Start improving your workflow with Decagon</p></div><div styl=\"\" data-number=\"-1\" data-wf--cl-typography-paragraph--size=\"text-small\" class=\"paragraph_wrap w-variant-dee79bc3-c26e-a880-2af4-a056a42cfd2b w-richtext cl--text-color-platinum700\"><p>With Decagon, CX teams don’t have to guess whether a change will improve CSAT or deflection. They can move quickly, measure what matters, and act on what works.</p></div></div><div aria-label=\"Get a demo\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"primary\" class=\"cl--button\"><div class=\"cl--button-wrapper\"><div class=\"cl--button-text\">Get a demo</div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:4eb2086b-537b-89d0-d4b7-8bc095337d5f:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%224eb2086b-537b-89d0-d4b7-8bc095337d5f%22%7D%5D\" href=\"/get-a-demo\" class=\"cl--button-link w-inline-block\"></a></div></div><div data-article-element=\"video\" class=\"ra_article_video_wrapper\"><div class=\"ra_article_video_media\"><div class=\"accordion_video w-embed\"><video style=\"width: 100%; height: 100%; object-fit: cover;\">\n  <source src=https://storage.googleapis.com/decagon-public-assets/marketing/Decagon_Product_Overview_0616.mp4 type=\"video/mp4\">\n  Your browser does not support the video tag.\n</video></div></div><div class=\"ra_article_video_play_button\"><div data-wf--icon-global-wrapper--variant=\"24\" class=\"cl_icon_wrapper w-variant-e2f5a060-c165-c33d-aab5-99edd2a92b64\"><div class=\"cl_icon_slot\"><div data-wf--icon-global-swap--variant=\"play\" class=\"cl_icon_component\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 20 20\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.375 4.21082C4.375 3.33911 5.3236 2.7986 6.07353 3.243L15.8428 9.03217C16.5781 9.4679 16.5781 10.5321 15.8428 10.9678L6.07353 16.757C5.3236 17.2014 4.375 16.6609 4.375 15.7892V4.21082Z\" fill=\"currentColor\"></path></svg></div></div></div></div></div><div data-article-element=\"career\" class=\"ra_article_careers\"><div class=\"ra_article_richtext_career w-richtext\"><h3>Join us</h3><p>There are very few places where you can prototype with frontier LLMs, ship to production in days, and watch users engage with the systems you built—all while owning the entire stack, from intent parsing and tool usage to API integration and observability. This role at Decagon is one of those places.</p><p>From my own experience working across both agent development and broader engineering initiatives at Decagon, I’ve seen firsthand how uniquely impactful this work can be. Whether I’m building intelligent workflows for customers or designing infrastructure that supports our agent platform, it’s rare to find an environment where the work transitions from concept to production within days, actively powering user experiences and transforming how businesses operate.</p><p>If you’re looking for a role where you can:</p><ul role=\"list\"><li>Build at the frontier of LLMs, automation, and user interaction</li><li>Deploy AI agents that solve high-value business use cases across industries including retail, travel and hospitality, fintech, edtech, and more</li><li>Work directly with customers on high-impact use cases</li><li>Ship fast, iterate constantly, and own your work from idea to production</li><li>Join a fast-moving, collaborative team solving real-world challenges with AI</li></ul><p>We’d love to hear from you!</p></div><div aria-label=\"Explore careers\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"simple-indigo\" class=\"cl--button w-variant-d4d01f94-dd4d-7c17-5255-ab44da0077c0 cl--text-size-regular cl--text-weight-medium\"><div class=\"cl--button-wrapper w-variant-d4d01f94-dd4d-7c17-5255-ab44da0077c0\"><div class=\"cl--button-text\">Explore careers</div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e299fc1:f243359f-e80b-1df1-ef63-7ef074f4464a:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%2249c92789-58b8-c8c9-8e53-0f324729c96a%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e299fc1%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%22f243359f-e80b-1df1-ef63-7ef074f4464a%22%7D%5D\" href=\"/careers\" class=\"cl--button-link w-inline-block\"></a></div></div></div></div></div></div></div><div class=\"js-embed w-embed w-script\"><script>\n  document.addEventListener('DOMContentLoaded', function () {\n    /* ── 1. SHARE SOCIAL LINK ───────────────────────────────────────────────── */\n    const blogUrl = window.location.href;\n    const blogTitle = document.title;\n    const facebookButton = document.querySelector('[data-share-button=\"facebook\"]');\n    const linkedinButton = document.querySelector('[data-share-button=\"linkedin\"]');\n    const twitterButton = document.querySelector('[data-share-button=\"twitter\"]');\n    const emailButton = document.querySelector('[data-share-button=\"email\"]');\n    const pinterestButton = document.querySelector('[data-share-button=\"pinterest\"]');\n\n    function openInNewTab(url) {\n      const newTab = window.open(url, '_blank');\n      if (newTab) {\n        newTab.focus();\n      } else {\n        alert('Please allow popups for this website');\n      }\n    }\n\n    function shareOnFacebook() {\n      const facebookUrl = `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(blogUrl)}`;\n      openInNewTab(facebookUrl);\n    }\n    function shareOnLinkedIn() {\n      const linkedInUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(blogUrl)}`;\n      openInNewTab(linkedInUrl);\n    }\n    function shareOnTwitter() {\n      const twitterUrl = `https://twitter.com/intent/tweet?url=${encodeURIComponent(blogUrl)}&text=${encodeURIComponent(blogTitle)}`;\n      openInNewTab(twitterUrl);\n    }\n    function shareOnEmail() {\n      const subject = `Check out this article: ${blogTitle}`;\n      const body = `I thought you might find this interesting.\\n\\n${blogUrl}`;\n      const mailtoUrl = `mailto:?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;\n      window.location.href = mailtoUrl;\n    }\n    function shareOnPinterest() {\n      const metaImage = document.querySelector('meta[property=\"og:image\"]');\n      const imageUrl = metaImage ? metaImage.getAttribute('content') : 'https://YOUR-FALLBACK-IMAGE.jpg';\n      if (!imageUrl) {\n        console.error('Could not find an og:image for Pinterest');\n        return;\n      }\n      const pinterestUrl = `https://www.pinterest.com/pin/create/button/?url=${encodeURIComponent(blogUrl)}&media=${encodeURIComponent(imageUrl)}&description=${encodeURIComponent(blogTitle)}`;\n      openInNewTab(pinterestUrl);\n    }\n\n    var copyBtn = document.querySelector('[data-element=\"copy-page\"]');\n    if (copyBtn) {\n      copyBtn.addEventListener('click', function (e) {\n        e.preventDefault();\n        var btn = this;\n        var url = window.location.href;\n        if (navigator.clipboard && navigator.clipboard.writeText) {\n          navigator.clipboard.writeText(url).then(function () {\n            showCopiedToast(btn);\n          });\n        } else {\n          var ta = document.createElement('textarea');\n          ta.value = url;\n          ta.style.cssText = 'position:fixed;opacity:0;pointer-events:none';\n          document.body.appendChild(ta);\n          ta.select();\n          document.execCommand('copy');\n          ta.remove();\n          showCopiedToast(btn);\n        }\n      });\n    }\n\n    function showCopiedToast(anchorEl) {\n      var existing = document.querySelector('.ra-copied-toast');\n      if (existing) {\n        clearTimeout(existing._t);\n        existing.remove();\n      }\n\n      var toast = document.createElement('div');\n      toast.className = 'ra-copied-toast';\n      toast.textContent = 'Copied';\n      toast.style.cssText = ['position:fixed', 'display:flex', 'padding:var(--spacing-xtiny,4px) var(--spacing-xxsmall,12px)', 'justify-content:center', 'align-items:center', 'border-radius:var(--xsmall,8px)', 'background:var(--Primary-Indigo-Indigo-500,#7370FF)', 'color:#fff', 'font-size:14px', 'font-weight:500', 'line-height:1.4', 'z-index:9999', 'pointer-events:none', 'opacity:1', 'transition:opacity 0.3s ease', 'white-space:nowrap'].join(';');\n\n      var arrow = document.createElement('div');\n      arrow.style.cssText = ['position:absolute', 'bottom:-6px', 'left:50%', 'transform:translateX(-50%)', 'width:0', 'height:0', 'border-left:6px solid transparent', 'border-right:6px solid transparent', 'border-top:6px solid var(--Primary-Indigo-Indigo-500,#7370FF)'].join(';');\n      toast.appendChild(arrow);\n\n      document.body.appendChild(toast);\n\n      var rect = anchorEl.getBoundingClientRect();\n      var toastW = toast.offsetWidth;\n      var toastH = toast.offsetHeight;\n      var gap = 10;\n\n      var top = rect.top - toastH - gap;\n      var left = rect.left + rect.width / 2 - toastW / 2;\n      left = Math.max(8, Math.min(left, window.innerWidth - toastW - 8));\n\n      toast.style.top = top + 'px';\n      toast.style.left = left + 'px';\n\n      toast._t = setTimeout(function () {\n        toast.style.opacity = '0';\n        setTimeout(function () {\n          toast.remove();\n        }, 300);\n      }, 1800);\n    }\n\n    if (facebookButton) facebookButton.addEventListener('click', shareOnFacebook);\n    if (linkedinButton) linkedinButton.addEventListener('click', shareOnLinkedIn);\n    if (twitterButton) twitterButton.addEventListener('click', shareOnTwitter);\n    if (emailButton) emailButton.addEventListener('click', shareOnEmail);\n    if (pinterestButton) pinterestButton.addEventListener('click', shareOnPinterest);\n\n    /* ── 2. ARTICLE SHORTCODE INJECTION ─────────────────────────────────── */\n\n    function decodeEntities(str) {\n      var el = document.createElement('div');\n      el.innerHTML = str;\n      return el.textContent || el.innerText || '';\n    }\n\n    function parseShortcode(raw) {\n      raw = raw.trim();\n      var spaceIdx = raw.indexOf(' ');\n      if (spaceIdx === -1) return { name: raw, params: {} };\n\n      var name = raw.slice(0, spaceIdx);\n      var rest = raw.slice(spaceIdx + 1).trim();\n      var params = {};\n\n      var keyRe = /(\\w+)=/g;\n      var keys = [];\n      var km;\n      while ((km = keyRe.exec(rest)) !== null) {\n        keys.push({ key: km[1], index: km.index, valStart: km.index + km[0].length });\n      }\n\n      for (var i = 0; i < keys.length; i++) {\n        var valStart = keys[i].valStart;\n        var valEnd = i + 1 < keys.length ? keys[i + 1].index : rest.length;\n        var value = decodeEntities(rest.slice(valStart, valEnd).trim());\n        if (value.charAt(0) === '\"' && value.charAt(value.length - 1) === '\"') {\n          value = value.slice(1, -1);\n        }\n        params[keys[i].key] = value;\n      }\n\n      return { name: name, params: params };\n    }\n\n    function updateCustomElement(el, name, params) {\n      if (name === 'customer-quote') {\n        var textEl = el.querySelector('[data-customer-quote=\"text\"]');\n        if (textEl) {\n          if (params.text) textEl.textContent = params.text;\n          else textEl.style.display = 'none';\n        }\n\n        var imgEl = el.querySelector('[data-credential=\"headshot\"]');\n        if (imgEl) {\n          if (params.headshot) {\n            imgEl.src = params.headshot;\n          } else {\n            var headshotWrapper = imgEl.closest('.feature-v2_headshot_wrapper');\n            (headshotWrapper || imgEl).style.display = 'none';\n          }\n        }\n\n        var nameEl = el.querySelector('[data-credential=\"name\"]');\n        if (nameEl) {\n          if (params.name) nameEl.textContent = params.name;\n          else nameEl.style.display = 'none';\n        }\n\n        var posEl = el.querySelector('[data-credential=\"position\"]');\n        if (posEl) {\n          if (params.position) posEl.textContent = params.position;\n          else posEl.style.display = 'none';\n        }\n      } else if (name === 'video') {\n        if (params.url) {\n          var srcEl = el.querySelector('source');\n          var videoEl = el.querySelector('video');\n          if (srcEl) srcEl.src = params.url;\n          if (videoEl) {\n            if (params.poster) videoEl.poster = params.poster;\n            videoEl.load();\n          }\n        }\n      }\n      // demo-cta: no dynamic content\n    }\n\n    function injectArticleElements(onComplete) {\n      var richText = document.querySelector('[data-element=\"resource-article\"]');\n      var customContainer = document.querySelector('.ra_article_custom_element');\n      if (!richText || !customContainer) return;\n\n      // One template per type — cloned for each shortcode occurrence\n      var templates = {};\n      customContainer.querySelectorAll('[data-article-element]').forEach(function (el) {\n        var type = el.dataset.articleElement;\n        if (!templates[type]) templates[type] = el;\n      });\n\n      var paragraphs = Array.from(richText.querySelectorAll('p'));\n\n      paragraphs.forEach(function (p) {\n        var html = p.innerHTML;\n        var match = html.match(/\\{\\{([^}]*)\\}\\}/);\n        if (!match) return;\n\n        var parsed = parseShortcode(match[1]);\n        var template = templates[parsed.name];\n        if (!template) return;\n\n        // Clone so the template stays intact for the next occurrence\n        var customEl = template.cloneNode(true);\n        updateCustomElement(customEl, parsed.name, parsed.params);\n\n        var before = html\n          .slice(0, match.index)\n          .replace(/<br\\s*\\/?>\\s*$/i, '')\n          .trim();\n        var after = html\n          .slice(match.index + match[0].length)\n          .replace(/^\\s*<br\\s*\\/?>/i, '')\n          .trim();\n        var remaining = before + (before && after ? '<br>' : '') + after;\n\n        p.parentNode.insertBefore(customEl, p.nextSibling);\n\n        if (remaining.trim()) {\n          p.innerHTML = remaining;\n        } else {\n          p.remove();\n        }\n      });\n\n      customContainer.style.display = 'none';\n      if (onComplete) onComplete();\n    }\n\n    function addMissingHeadingsToTOC() {\n      var richText = document.querySelector('[data-element=\"resource-article\"]');\n      var tocContainer = document.querySelector('.ra_sidebar_toc');\n      if (!richText || !tocContainer) return;\n\n      var existingTexts = new Set(\n        Array.from(document.querySelectorAll('[fs-toc-element=\"link\"]')).map(function (l) {\n          return l.textContent.trim();\n        }),\n      );\n\n      var allHeadings = Array.from(richText.querySelectorAll('h2, h3'));\n\n      allHeadings.forEach(function (heading) {\n        var text = heading.textContent.trim();\n        if (existingTexts.has(text)) return;\n\n        var slug = text\n          .toLowerCase()\n          .replace(/\\s+/g, '-')\n          .replace(/[^a-z0-9-]/g, '')\n          .replace(/-+/g, '-')\n          .replace(/^-|-$/g, '');\n\n        heading.id = slug;\n\n        var headingIndex = allHeadings.indexOf(heading);\n        var insertAfterWrapper = null;\n        for (var i = headingIndex - 1; i >= 0; i--) {\n          var prevText = allHeadings[i].textContent.trim();\n          var prevLink = Array.from(tocContainer.querySelectorAll('[fs-toc-element=\"link\"]')).find(function (l) {\n            return l.textContent.trim() === prevText;\n          });\n          if (prevLink) {\n            insertAfterWrapper = prevLink.closest('.ra-toc_link-wrapper');\n            break;\n          }\n        }\n\n        var wrapper = document.createElement('div');\n        wrapper.className = 'ra-toc_link-wrapper';\n        var a = document.createElement('a');\n        a.setAttribute('fs-toc-element', 'link');\n        a.className = 'ra-toc_link cl--text-size-small w-inline-block';\n        a.href = '#' + slug;\n        a.textContent = text;\n        wrapper.appendChild(a);\n\n        if (insertAfterWrapper && insertAfterWrapper.nextSibling) {\n          tocContainer.insertBefore(wrapper, insertAfterWrapper.nextSibling);\n        } else if (insertAfterWrapper) {\n          tocContainer.appendChild(wrapper);\n        } else {\n          tocContainer.insertBefore(wrapper, tocContainer.firstChild);\n        }\n\n        existingTexts.add(text);\n      });\n    }\n\n    injectArticleElements(function () {\n      window.FinsweetAttributes = window.FinsweetAttributes || [];\n      window.FinsweetAttributes.push([\n        'toc',\n        function () {\n          addMissingHeadingsToTOC();\n        },\n      ]);\n    });\n\n    /* ── 3. VIDEO PLAYER ────────────────────────────────────────────────── */\n    function initVideoPlayers() {\n      document.querySelectorAll('.ra_article_video_wrapper').forEach(function (wrapper) {\n        var video = wrapper.querySelector('video');\n        var playBtn = wrapper.querySelector('.ra_article_video_play_button');\n        if (!video || !playBtn) return;\n\n        playBtn.addEventListener('click', function () {\n          video.play();\n          playBtn.style.display = 'none';\n        });\n\n        video.addEventListener('click', function () {\n          if (!video.paused) {\n            video.pause();\n            playBtn.style.display = '';\n          }\n        });\n\n        video.addEventListener('ended', function () {\n          playBtn.style.display = '';\n        });\n      });\n    }\n\n    initVideoPlayers();\n\n    /*--- 4 success state --------------------------------------------------*/\n    const formWrapper = document.querySelector('.ra_sidebar_form');\n    const successMessage = document.querySelector('.ra_sidebar_success_message');\n\n    if (!formWrapper || !successMessage) return;\n\n    function isVisible(el) {\n      const style = window.getComputedStyle(el);\n      return style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0' && el.offsetHeight > 0;\n    }\n\n    function updateFormColor() {\n      formWrapper.classList.toggle('is-form-success', isVisible(successMessage));\n    }\n\n    const observer = new MutationObserver(updateFormColor);\n\n    observer.observe(successMessage, {\n      attributes: true,\n      attributeFilter: ['style', 'class'],\n    });\n\n    updateFormColor();\n\n    /*----- 5  Form error message -----------------------------------------------*/\n    const sidebarFormWrapper = document.querySelector('.ra_sidebar_form');\n\n    if (!sidebarFormWrapper) return;\n\n    const form = sidebarFormWrapper.querySelector('.ra_sidebar_form_element');\n    const emailInput = sidebarFormWrapper.querySelector(\".ra_sidebar_field[type='email']\");\n    const errorMessage = sidebarFormWrapper.querySelector('.ra_sidebar_form_error');\n\n    if (!form || !emailInput || !errorMessage) return;\n\n    const blockedDomains = ['gmail.com', 'googlemail.com', 'yahoo.com', 'ymail.com', 'rocketmail.com', 'hotmail.com', 'outlook.com', 'live.com', 'msn.com', 'icloud.com', 'me.com', 'mac.com', 'aol.com', 'proton.me', 'protonmail.com', 'zoho.com', 'mail.com', 'gmx.com', 'gmx.net', 'yandex.com', 'fastmail.com'];\n\n    function getEmailDomain(email) {\n      return email.trim().toLowerCase().split('@')[1] || '';\n    }\n\n    function isValidBusinessEmail(email) {\n      const emailValue = email.trim().toLowerCase();\n      const domain = getEmailDomain(emailValue);\n      const hasValidEmailFormat = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(emailValue);\n      const isBlockedDomain = blockedDomains.includes(domain);\n      return hasValidEmailFormat && !isBlockedDomain;\n    }\n\n    function showError() {\n      emailInput.classList.add('is-error');\n      errorMessage.style.display = 'block';\n    }\n\n    function hideError() {\n      emailInput.classList.remove('is-error');\n      errorMessage.style.display = 'none';\n    }\n\n    function validateEmail() {\n      const emailValue = emailInput.value;\n      if (!emailValue.trim()) {\n        hideError();\n        return false;\n      }\n      if (!isValidBusinessEmail(emailValue)) {\n        showError();\n        return false;\n      }\n      hideError();\n      return true;\n    }\n\n    emailInput.addEventListener('input', validateEmail);\n    emailInput.addEventListener('blur', validateEmail);\n\n    form.addEventListener(\n      'submit',\n      function (event) {\n        const isAcceptedEmail = validateEmail();\n        if (!isAcceptedEmail) {\n          event.preventDefault();\n          event.stopImmediatePropagation();\n          emailInput.focus();\n        }\n      },\n      true,\n    );\n\n    /* --------------- Hide TOC -----------*/\n    const richText = document.querySelector('[data-element=\"resource-article\"]');\n    const toc = document.querySelector('[data-element=\"toc-wrapper\"]');\n\n    if (!richText || !toc) return;\n\n    const headings = richText.querySelectorAll('h1, h2, h3, h4, h5, h6');\n\n    if (headings.length === 0) {\n      toc.style.display = 'none';\n    }\n  });\n</script></div><div data-wf--cl-global-spacing--spacing=\"large\" class=\"spacing-component w-variant-6113fc2d-8325-6a36-3cd3-fba286ea348a\"></div></section><section data-wf--cl-section-resource-card-grid--section-variant=\"blog\" class=\"section_rcg\"><div data-wf--cl-global-spacing--spacing=\"large\" class=\"spacing-component w-variant-6113fc2d-8325-6a36-3cd3-fba286ea348a\"></div><div class=\"css-embed w-embed\"><style>\n  .rcg_button_wrapper:not(:has(*)) {\n    display: none !important;\n  }\n</style></div><div class=\"padding-global cl--custom-padding-xxsmall\"><div class=\"cl--container-large\"><div class=\"rcg_layout\"><div data-element=\"rcg\" class=\"rcg_content_wrapper\"><div class=\"rcg_content_top\"><h2 class=\"cl--heading-style-h3 cl--text-weight-book\">Related posts</h2></div><div class=\"rcg_card_wrapper\"><div class=\"rcg_cl_wrapper w-dyn-list\"><div fs-list-loadcount=\"3\" fs-list-element=\"list\" fs-list-load=\"more\" role=\"list\" class=\"rcg_cl_list w-dyn-items\"><div role=\"listitem\" class=\"rcg_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a015:ac7847e1-0e92-4986-0036-f77ce656ccd9_instance-0:efeca9a0-2bd1-ef2e-a264-30fc49fa41f3_instance-0\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"efeca9a0-2bd1-ef2e-a264-30fc49fa41f3\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875b7f%22%2C%22itemId%22%3A%226abddb3fd91be371c073c984%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22ac7847e1-0e92-4986-0036-f77ce656ccbd%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a015%22%7D%2C%7B%22componentId%22%3A%22efeca9a0-2bd1-ef2e-a264-30fc49fa41f3%22%2C%22instanceId%22%3A%22ac7847e1-0e92-4986-0036-f77ce656ccd9%22%7D%5D\" href=\"/blog/dialogues-2026\" class=\"resource_card_slider-item w-inline-block\"><div class=\"css-embed w-embed\"><style>\n  .resource_card_slider-item:hover .resource_card_slider-image{\n    transform: scale(1.05);\n  }\n</style></div><div class=\"resource_card_slider-image_wrap\"><img width=\"Auto\" loading=\"lazy\" alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1).png\" sizes=\"100vw\" srcset=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1)-p-2000.png 2000w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1)-p-2600.png 2600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1)-p-3200.png 3200w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abddcfb249ad1d0c1590f50_Launch%20-%20Blog%20Thumbnail%20(1).png 3840w\" class=\"resource_card_slider-image\"/></div><div class=\"resource_card_slider-content\"><div class=\"resource_card_slider-category\"><p class=\"cl--text-color-platinum700\">Product</p></div><h3 class=\"resource_card_slider-title cl--text-size-large cl--text-color-primary\">The AI concierge for every customer [and their agent]</h3><p class=\"resource_card_slider-date cl--text-size-small cl--text-color-platinum700\"><span>Posted on</span><span>October 1, 2026</span></p></div></a></div><div role=\"listitem\" class=\"rcg_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a015:ac7847e1-0e92-4986-0036-f77ce656ccd9_instance-1:efeca9a0-2bd1-ef2e-a264-30fc49fa41f3_instance-1\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"efeca9a0-2bd1-ef2e-a264-30fc49fa41f3\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875b7f%22%2C%22itemId%22%3A%226abdddc1aff968fc1cd3409e%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22ac7847e1-0e92-4986-0036-f77ce656ccbd%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a015%22%7D%2C%7B%22componentId%22%3A%22efeca9a0-2bd1-ef2e-a264-30fc49fa41f3%22%2C%22instanceId%22%3A%22ac7847e1-0e92-4986-0036-f77ce656ccd9%22%7D%5D\" href=\"/blog/personal-agents-are-here\" class=\"resource_card_slider-item w-inline-block\"><div class=\"css-embed w-embed\"><style>\n  .resource_card_slider-item:hover .resource_card_slider-image{\n    transform: scale(1.05);\n  }\n</style></div><div class=\"resource_card_slider-image_wrap\"><img width=\"Auto\" loading=\"lazy\" alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail.png\" sizes=\"100vw\" srcset=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail-p-500.png 500w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail-p-800.png 800w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail-p-1080.png 1080w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail-p-1600.png 1600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail-p-2000.png 2000w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail-p-2600.png 2600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail-p-3200.png 3200w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abde11cfa439a4389e8bc6a_thought%20leadership%20-%20Blog%20Thumbnail.png 3840w\" class=\"resource_card_slider-image\"/></div><div class=\"resource_card_slider-content\"><div class=\"resource_card_slider-category\"><p class=\"cl--text-color-platinum700\">Product</p></div><h3 class=\"resource_card_slider-title cl--text-size-large cl--text-color-primary\">Personal agents are here. Meet them on your terms.</h3><p class=\"resource_card_slider-date cl--text-size-small cl--text-color-platinum700\"><span>Posted on</span><span>October 1, 2026</span></p></div></a></div><div role=\"listitem\" class=\"rcg_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a015:ac7847e1-0e92-4986-0036-f77ce656ccd9_instance-2:efeca9a0-2bd1-ef2e-a264-30fc49fa41f3_instance-2\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"efeca9a0-2bd1-ef2e-a264-30fc49fa41f3\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875b7f%22%2C%22itemId%22%3A%226abc16249b17ada27853a8f6%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22ac7847e1-0e92-4986-0036-f77ce656ccbd%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a015%22%7D%2C%7B%22componentId%22%3A%22efeca9a0-2bd1-ef2e-a264-30fc49fa41f3%22%2C%22instanceId%22%3A%22ac7847e1-0e92-4986-0036-f77ce656ccd9%22%7D%5D\" href=\"/blog/voice-3\" class=\"resource_card_slider-item w-inline-block\"><div class=\"css-embed w-embed\"><style>\n  .resource_card_slider-item:hover .resource_card_slider-image{\n    transform: scale(1.05);\n  }\n</style></div><div class=\"resource_card_slider-image_wrap\"><img width=\"Auto\" loading=\"lazy\" alt=\"\" src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail.png\" sizes=\"100vw\" srcset=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail-p-500.png 500w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail-p-800.png 800w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail-p-1080.png 1080w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail-p-1600.png 1600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail-p-2000.png 2000w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail-p-2600.png 2600w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail-p-3200.png 3200w, https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6abc488b6fecad4eb2958790_Voice%203%20-%20Blog%20Thumbnail.png 3840w\" class=\"resource_card_slider-image\"/></div><div class=\"resource_card_slider-content\"><div class=\"resource_card_slider-category\"><p class=\"cl--text-color-platinum700\">Product</p></div><h3 class=\"resource_card_slider-title cl--text-size-large cl--text-color-primary\">Introducing Voice 3 and Chord, our new speech model</h3><p class=\"resource_card_slider-date cl--text-size-small cl--text-color-platinum700\"><span>Posted on</span><span>October 1, 2026</span></p></div></a></div></div><div role=\"navigation\" aria-label=\"List\" class=\"w-pagination-wrapper rcg_button_wrapper\"></div></div></div></div></div></div></div><div data-wf--cl-global-spacing--spacing=\"large\" class=\"spacing-component w-variant-6113fc2d-8325-6a36-3cd3-fba286ea348a\"></div></section><section class=\"section_rt\"><div class=\"css-embed w-embed\"><style>\n  .tb_wrap:hover .tb_icon.is-active,\n  .tb_wrap.w--current .tb_icon.is-active{\n    opacity: 1;\n  }\n  \n  .tb_wrap:hover .tb_text,\n  .tb_wrap.w--current .tb_text{\n    color: var(--_cl-primitives---color--primary--indigo-600) important;\n  }\n</style></div><div data-wf--cl-global-spacing--spacing=\"large\" class=\"spacing-component w-variant-6113fc2d-8325-6a36-3cd3-fba286ea348a\"></div><div class=\"padding-global\"><div class=\"cl--container-large\"><div class=\"rt_layout\"><div data-number=\"25\" data-wf--cl-typography-heading--size=\"h3\" class=\"heading_wrap w-variant-04ec95a6-d6b1-b799-b9c3-72eebc589db4 w-richtext  \"><h2>Explore more topics</h2></div><div class=\"rt_cl_wrapper w-dyn-list\"><div role=\"list\" class=\"rt_cl_list w-dyn-items\"><div role=\"listitem\" class=\"rt_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a017:a19bd07f-8f10-8fd9-0f6a-007bb2bcb532_instance-0:a19bd07f-8f10-8fd9-0f6a-007bb2bcb533_instance-0\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"a19bd07f-8f10-8fd9-0f6a-007bb2bcb533\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875bed%22%2C%22itemId%22%3A%22698a7e05c17998710abfab7e%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22f6a29b1d-8fbe-d48a-e0d6-d5e818befd4e%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a017%22%7D%2C%7B%22componentId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb533%22%2C%22instanceId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb532%22%7D%5D\" href=\"/topic/ai-agent-building\" class=\"tb_wrap w-inline-block\"><div class=\"tb_icon_wrap\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c4b08c56f2a4c8d7573b1_flare.svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c5088bd2bf52288006730_flare%20(1).svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon is-active\"/></div><div class=\"tb_text cl--text-size-large cl--text-weight-book cl--text-color-platinum700\">AI agent building</div></a></div><div role=\"listitem\" class=\"rt_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a017:a19bd07f-8f10-8fd9-0f6a-007bb2bcb532_instance-1:a19bd07f-8f10-8fd9-0f6a-007bb2bcb533_instance-1\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"a19bd07f-8f10-8fd9-0f6a-007bb2bcb533\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875bed%22%2C%22itemId%22%3A%22698a7e16ab02212b3e1bf11c%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22f6a29b1d-8fbe-d48a-e0d6-d5e818befd4e%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a017%22%7D%2C%7B%22componentId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb533%22%2C%22instanceId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb532%22%7D%5D\" href=\"/topic/testing-and-experimentation\" class=\"tb_wrap w-inline-block\"><div class=\"tb_icon_wrap\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c4b1c27b622f7e14daa58_flask.svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c507ff6166bb8dbfb0fde_flask%20(1).svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon is-active\"/></div><div class=\"tb_text cl--text-size-large cl--text-weight-book cl--text-color-platinum700\">Test &amp; experimentation</div></a></div><div role=\"listitem\" class=\"rt_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a017:a19bd07f-8f10-8fd9-0f6a-007bb2bcb532_instance-2:a19bd07f-8f10-8fd9-0f6a-007bb2bcb533_instance-2\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"a19bd07f-8f10-8fd9-0f6a-007bb2bcb533\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875bed%22%2C%22itemId%22%3A%22698a7e2f651abdd72be69816%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22f6a29b1d-8fbe-d48a-e0d6-d5e818befd4e%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a017%22%7D%2C%7B%22componentId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb533%22%2C%22instanceId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb532%22%7D%5D\" href=\"/topic/analytics-and-voc\" class=\"tb_wrap w-inline-block\"><div class=\"tb_icon_wrap\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c4b2963db395cdfc0f957_graph-up.svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c5073f6166bb8dbfb0aa6_graph-up%20(1).svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon is-active\"/></div><div class=\"tb_text cl--text-size-large cl--text-weight-book cl--text-color-platinum700\">Analytics &amp; Voice of Customer</div></a></div><div role=\"listitem\" class=\"rt_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a017:a19bd07f-8f10-8fd9-0f6a-007bb2bcb532_instance-3:a19bd07f-8f10-8fd9-0f6a-007bb2bcb533_instance-3\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"a19bd07f-8f10-8fd9-0f6a-007bb2bcb533\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875bed%22%2C%22itemId%22%3A%22698a7e3f68d92f70ddb9dba7%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22f6a29b1d-8fbe-d48a-e0d6-d5e818befd4e%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a017%22%7D%2C%7B%22componentId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb533%22%2C%22instanceId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb532%22%7D%5D\" href=\"/topic/voice-and-omnichannel-support\" class=\"tb_wrap w-inline-block\"><div class=\"tb_icon_wrap\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c4b340c0765a131a74889_voice-circle.svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c506a156f0d93518e32c3_voice-circle%20(1).svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon is-active\"/></div><div class=\"tb_text cl--text-size-large cl--text-weight-book cl--text-color-platinum700\">Voice &amp; omnichannel support</div></a></div><div role=\"listitem\" class=\"rt_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a017:a19bd07f-8f10-8fd9-0f6a-007bb2bcb532_instance-4:a19bd07f-8f10-8fd9-0f6a-007bb2bcb533_instance-4\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"a19bd07f-8f10-8fd9-0f6a-007bb2bcb533\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875bed%22%2C%22itemId%22%3A%22698a7ea6c89f4546c9d4448e%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22f6a29b1d-8fbe-d48a-e0d6-d5e818befd4e%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a017%22%7D%2C%7B%22componentId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb533%22%2C%22instanceId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb532%22%7D%5D\" href=\"/topic/guardrails-security-and-governance\" class=\"tb_wrap w-inline-block\"><div class=\"tb_icon_wrap\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c4b4521579a8d1ba18eed_shield-search.svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c5060cb18221be9007fb0_shield-search%20(1).svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon is-active\"/></div><div class=\"tb_text cl--text-size-large cl--text-weight-book cl--text-color-platinum700\">Guardrails, security, &amp; governance</div></a></div><div role=\"listitem\" class=\"rt_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a017:a19bd07f-8f10-8fd9-0f6a-007bb2bcb532_instance-5:a19bd07f-8f10-8fd9-0f6a-007bb2bcb533_instance-5\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"a19bd07f-8f10-8fd9-0f6a-007bb2bcb533\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875bed%22%2C%22itemId%22%3A%22698a7ebb1ef38ddbc64a9cbe%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22f6a29b1d-8fbe-d48a-e0d6-d5e818befd4e%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a017%22%7D%2C%7B%22componentId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb533%22%2C%22instanceId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb532%22%7D%5D\" href=\"/topic/use-cases-and-experiences\" class=\"tb_wrap w-inline-block\"><div class=\"tb_icon_wrap\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c4b52f7fb429948eed778_user-star.svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c5055327ea0de9b17fb2d_user-star%20(1).svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon is-active\"/></div><div class=\"tb_text cl--text-size-large cl--text-weight-book cl--text-color-platinum700\">Use cases &amp; experiences</div></a></div><div role=\"listitem\" class=\"rt_cl_item w-dyn-item\"><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a017:a19bd07f-8f10-8fd9-0f6a-007bb2bcb532_instance-6:a19bd07f-8f10-8fd9-0f6a-007bb2bcb533_instance-6\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"a19bd07f-8f10-8fd9-0f6a-007bb2bcb533\" data-wf-cms-context=\"%5B%7B%22collectionId%22%3A%22683e5da0b6d8a19de4875bed%22%2C%22itemId%22%3A%22698a7ed288184a7271c7dcb9%22%7D%5D\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22f6a29b1d-8fbe-d48a-e0d6-d5e818befd4e%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a017%22%7D%2C%7B%22componentId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb533%22%2C%22instanceId%22%3A%22a19bd07f-8f10-8fd9-0f6a-007bb2bcb532%22%7D%5D\" href=\"/topic/workplace\" class=\"tb_wrap w-inline-block\"><div class=\"tb_icon_wrap\"><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c4b6180c9eaa6ce6136a1_cursor-pointer.svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon\"/><img src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875b10/6a2c504bd6746061c9c3126e_cursor-pointer%20(1).svg\" loading=\"lazy\" width=\"Auto\" alt=\"\" class=\"tb_icon is-active\"/></div><div class=\"tb_text cl--text-size-large cl--text-weight-book cl--text-color-platinum700\">Workplace</div></a></div></div></div></div></div></div><div data-wf--cl-global-spacing--spacing=\"large\" class=\"spacing-component w-variant-6113fc2d-8325-6a36-3cd3-fba286ea348a\"></div></section><section dark-section=\"true\" data-wf--cl-section-bottom-cta--style-theme=\"dark\" class=\"section_bottom-cta cl--background-color-primary\"><div data-wf--cl-global-spacing--spacing=\"huge\" class=\"spacing-component w-variant-060b6e0a-3268-4771-bc44-342545265a95\"></div><div class=\"padding-global\"><div class=\"cl--container-large\"><div class=\"bottom_cta-wrapper z-index-2\"><p class=\"cl--heading-style-h2 cl--text-color-alternate cl--text-weight-book\">The AI concierge for every customer.</p><div aria-label=\"Get a demo\" data-disabled=\"False\" data-text-size=\"False\" data-wf--cl-element-button--style-theme=\"primary\" class=\"cl--button\"><div class=\"cl--button-wrapper\"><div class=\"cl--button-text\">Get a demo</div></div><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01a:a9ced3fe-fd9a-a72b-98e1-3fcf1b7f8f6a:c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"c2b05921-8a7d-63a2-e4e0-70d23a590d48\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%22a9ced3fe-fd9a-a72b-98e1-3fcf1b7f8f63%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01a%22%7D%2C%7B%22componentId%22%3A%22c965853c-1641-c836-e34e-87935b033f59%22%2C%22instanceId%22%3A%22a9ced3fe-fd9a-a72b-98e1-3fcf1b7f8f6a%22%7D%5D\" href=\"/get-a-demo\" class=\"cl--button-link w-inline-block\"></a></div></div></div></div><div data-wf--cl-global-spacing--spacing=\"huge\" class=\"spacing-component w-variant-060b6e0a-3268-4771-bc44-342545265a95\"></div><div class=\"bottom_cta-bg\"></div></section></main><footer dark-section=\"true\" class=\"cl--footer\"><h2 class=\"sr-only\">Footer</h2><div class=\"padding-global\"><div class=\"cl--container-large\"><div class=\"cl--footer_layout\"><div class=\"cl--footer_links-wrapper\"><div class=\"footer_right\"><a aria-label=\"Decagon home\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7ae\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7ae\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/\" class=\"cl--footer_logo-link w-inline-block\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 148 32\" fill=\"none\" alt=\"Decagon logo\" class=\"svg_component\"><path d=\"M56.8291 8.00061H62.6646C67.4483 8.00061 70.4599 11.0789 70.4599 15.9732C70.4599 20.8675 67.4483 23.9456 62.6646 23.9456H56.8291V8.00061ZM59.5751 10.0712V21.8751H62.6201C65.8204 21.8751 67.7138 19.6272 67.7138 15.9732C67.7138 12.3192 65.8204 10.0712 62.6201 10.0712L59.5751 10.0712ZM77.604 12.2415C81.0364 12.2415 82.9744 14.3232 82.9744 17.7669V18.8631H74.4704C74.5146 20.9448 75.633 22.3179 77.5929 22.3179C79.4864 22.3179 80.2725 21.2328 80.4386 20.3137H82.7419V20.646C82.4538 22.1408 81.114 24.2114 77.6262 24.2114C74.1715 24.2114 71.9569 22.1629 71.9569 18.2209C71.9569 14.2789 74.1604 12.2415 77.604 12.2415ZM80.4939 17.0583C80.4717 15.3309 79.5416 14.1129 77.5818 14.1129C75.6552 14.1129 74.6473 15.3641 74.5037 17.0583H80.4939ZM90.2068 12.2415C93.4843 12.2415 95.1119 14.1904 95.3114 16.106V16.4382H92.8528C92.7423 15.353 92.0225 14.1904 90.2284 14.1904C88.28 14.1904 87.0621 15.663 87.0621 18.2209C87.0621 20.7899 88.2686 22.2626 90.2284 22.2626C92.0778 22.2626 92.7531 21.0778 92.9195 19.8819H95.3775V20.2141C95.1449 22.2626 93.5287 24.2114 90.2068 24.2114C86.7184 24.2114 84.4155 22.041 84.4155 18.2209C84.4155 14.4007 86.7298 12.2415 90.2068 12.2415ZM97.2172 15.8735V15.5412C97.4611 13.5149 99.3435 12.2415 102.189 12.2415C105.057 12.2415 106.95 13.5149 106.95 16.4714V21.3324C106.95 21.8751 107.205 22.1408 107.759 22.1408H108.323V23.9456H107.161C105.743 23.9456 105.123 23.2038 105.013 22.2847H104.791C104.216 23.2591 103.153 24.167 100.882 24.167C98.369 24.167 96.5971 22.8051 96.5971 20.6791C96.5971 18.3981 98.3467 17.4458 100.561 17.2244L103.186 16.9697C104.038 16.8921 104.481 16.6485 104.481 15.8955C104.481 14.7109 103.639 14.0907 102.144 14.0907C100.661 14.0907 99.6643 14.6997 99.609 15.8734L97.2172 15.8735ZM101.381 22.329C102.864 22.329 104.47 21.4764 104.47 19.0736V18.3649H104.249C103.906 18.5642 103.551 18.6749 102.688 18.7636L101.214 18.9186C99.9635 19.0404 99.1662 19.5054 99.1662 20.5905C99.1662 21.6535 100.03 22.329 101.381 22.329ZM114.482 12.2637C116.452 12.2637 117.504 13.1052 117.992 13.8582H118.213V12.5074H120.738V23.4917C120.738 26.8135 118.811 28.6406 115.146 28.6406C111.536 28.6406 109.731 26.8689 109.554 24.7982V24.4661H111.946C112.045 25.7062 112.965 26.7471 115.09 26.7471C117.216 26.7471 118.125 25.6841 118.125 23.6799V22.2847H117.903C117.372 22.9933 116.353 23.7463 114.482 23.7463C111.57 23.7463 109.255 21.8751 109.255 18.0106C109.255 14.1461 111.57 12.2637 114.482 12.2637ZM115.068 21.7642C116.962 21.7642 118.224 20.4577 118.224 18.0106C118.224 15.5524 116.962 14.2457 115.068 14.2457C113.164 14.2457 111.902 15.5524 111.902 18.0106C111.902 20.4578 113.164 21.7642 115.068 21.7642ZM128.745 12.2415C132.222 12.2415 134.68 14.3232 134.68 18.2209C134.68 22.1296 132.222 24.2113 128.745 24.2113C125.257 24.2113 122.799 22.1296 122.799 18.2209C122.799 14.3232 125.257 12.2415 128.745 12.2415ZM128.745 22.2626C130.717 22.2626 132.023 20.8562 132.023 18.2209C132.023 15.5966 130.717 14.1904 128.745 14.1904C126.763 14.1904 125.457 15.5966 125.457 18.2209C125.457 20.8562 126.763 22.2626 128.745 22.2626ZM136.742 12.5074H139.266V13.98H139.488C139.864 13.3156 140.816 12.2637 143.042 12.2637C145.611 12.2637 147.261 13.6811 147.261 16.3496V23.9456H144.636V16.5046C144.636 14.9655 143.728 14.2457 142.323 14.2457C140.728 14.2457 139.366 15.198 139.366 17.3462V23.9456H136.742V12.5074Z\" fill=\"currentColor\"></path><path d=\"M0 9.30317V23.9959L12.7361 31.3423V25.2944L5.24739 20.972V12.3271L0 9.30317ZM1.12032 7.34637L6.36771 10.3703L19.1038 3.02394L13.8564 0L1.12032 7.34637ZM14.9767 25.2947V31.3426L35.2014 19.6737V13.6259L14.9767 25.2947ZM23.5861 28.9761L28.8335 32L41.5696 24.6536L36.3222 21.6119L23.5861 28.9761ZM42.6909 22.6975V8.00477L29.9549 0.64064V6.7063L37.4436 11.0287V19.6736L42.6909 22.6975ZM27.7123 6.70627V0.64064L7.48759 12.3272V18.3751L27.7123 6.70627ZM8.60941 20.332L13.8568 23.3559L34.0816 11.6693L28.8342 8.64538L8.60941 20.332Z\" fill=\"currentColor\"></path></svg></a></div><div class=\"footer_left\"><div class=\"cl--footer_menu-layout\"><div class=\"cl--footer_menu-col\"><div class=\"footer-heading\"><h3 class=\"cl--text-size-regular cl--text-color-platinum600\">Product</h3></div><ul role=\"list\" class=\"cl--footer_menu-wrp\"><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7ba\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7ba\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/overview\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Overview</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7bd\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7bd\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/aop\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">AOPs</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7c0\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7c0\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/chat\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Chat</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7c3\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7c3\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/email\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Email</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:ca9ae90a-986d-f439-1860-20655985e17c\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"ca9ae90a-986d-f439-1860-20655985e17c\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/voice\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Voice</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:36c4ab99-542c-72db-e2f6-f6aec5f02c67\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"36c4ab99-542c-72db-e2f6-f6aec5f02c67\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/integrations\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Integrations</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:abbf8bb7-54fe-0b06-2d25-09fb56a3fe7c\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"abbf8bb7-54fe-0b06-2d25-09fb56a3fe7c\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/experiments\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Experiments</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:66506764-d678-f6ba-979e-22d9ceee0c59\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"66506764-d678-f6ba-979e-22d9ceee0c59\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/insights-and-reporting\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Insights &amp; Reporting</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:bba7cbd5-25f0-e673-cef5-7e00d48563fb\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"bba7cbd5-25f0-e673-cef5-7e00d48563fb\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/testing-qa\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Testing &amp; QA</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:8f44d967-f2de-84e0-06d9-d60a1b95f68c\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"8f44d967-f2de-84e0-06d9-d60a1b95f68c\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/watchtower\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Watchtower</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:dd57c216-25e1-12c3-b36d-7cc0cefc1a84\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"dd57c216-25e1-12c3-b36d-7cc0cefc1a84\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/product/suggestions\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Suggestions</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:eca9bc2b-f5f5-c2e3-7381-3653bb1d8451\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"eca9bc2b-f5f5-c2e3-7381-3653bb1d8451\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"https://trust.decagon.ai/\" target=\"_blank\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Trust Center</a></li></ul></div><div class=\"cl--footer_menu-col\"><div class=\"footer-heading\"><h3 class=\"cl--text-size-regular cl--text-color-platinum600\">Industries</h3></div><ul role=\"list\" class=\"cl--footer_menu-wrp\"><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:48be697b-6d22-b977-47df-3b3b7a6ea61a\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"48be697b-6d22-b977-47df-3b3b7a6ea61a\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/industry/retail\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Retail</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:48be697b-6d22-b977-47df-3b3b7a6ea61d\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"48be697b-6d22-b977-47df-3b3b7a6ea61d\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/industry/travel-hospitality\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Travel &amp; Hospitality</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:48be697b-6d22-b977-47df-3b3b7a6ea620\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"48be697b-6d22-b977-47df-3b3b7a6ea620\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/industry/technology\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Technology</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:48be697b-6d22-b977-47df-3b3b7a6ea623\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"48be697b-6d22-b977-47df-3b3b7a6ea623\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/industry/financial-services\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Financial Services</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:48be697b-6d22-b977-47df-3b3b7a6ea626\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"48be697b-6d22-b977-47df-3b3b7a6ea626\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/industry/health-wellness\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Health &amp; Wellness</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:eec21ea9-cd15-efb6-df3c-d97496fa8352\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"eec21ea9-cd15-efb6-df3c-d97496fa8352\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/industry/media\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Media</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:81d4c551-cbaa-1dd7-bbbb-1ef5435c0ea4\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"81d4c551-cbaa-1dd7-bbbb-1ef5435c0ea4\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/industry/telecommunication\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Telecommunication</a></li></ul></div><div class=\"cl--footer_menu-col\"><div class=\"footer-heading\"><h3 class=\"cl--text-size-regular cl--text-color-platinum600\">Resources</h3></div><ul role=\"list\" class=\"cl--footer_menu-wrp\"><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7ce\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7ce\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/case-studies\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Customers</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7d1\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7d1\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/resources\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Resources Hub</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7d4\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7d4\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/glossary\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Glossary</a></li></ul></div><div class=\"cl--footer_menu-col\"><div class=\"footer-heading\"><h3 class=\"cl--text-size-regular cl--text-color-platinum600\">Company</h3></div><ul role=\"list\" class=\"cl--footer_menu-wrp\"><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7df\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7df\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/about\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">About</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7e2\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7e2\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/careers\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Careers</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7e5\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7e5\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/legal/privacy\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Privacy Policy</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7e8\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1c0c423e-bde5-f0b8-c1df-b0667174c7e8\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/security\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Security</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:7ae2b57f-b6ce-b963-4f04-af11dda6f8db\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"7ae2b57f-b6ce-b963-4f04-af11dda6f8db\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"/get-a-demo\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Contact Sales</a></li><li><a data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:054a379d-4f67-495f-1695-627e5a212149\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"054a379d-4f67-495f-1695-627e5a212149\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%5D\" href=\"mailto:support@decagon.ai?subject=Request from the site\" class=\"footer_menu-link cl--text-size-regular cl--text-color-platinum200\">Contact Support</a></li><li><div data-wf--element-social-icons--style-gap=\"small-gap\" class=\"footer_socials-wrp w-variant-39d9b791-50ce-6b41-2416-c71a179ecb2d\"><a title=\"X / Twitter\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7eb:1a88d16b-d0ea-bab7-a8df-efc58536c7f3\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1a88d16b-d0ea-bab7-a8df-efc58536c7f3\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%2C%7B%22componentId%22%3A%221a88d16b-d0ea-bab7-a8df-efc58536c7f2%22%2C%22instanceId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7eb%22%7D%5D\" href=\"https://x.com/DecagonAI\" target=\"_blank\" class=\"footer_socials-link w-inline-block\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 22 22\" fill=\"none\" class=\"footer_socials-icon\"><path d=\"M7.9436 2.54053L7.9729 2.5835L12.009 8.46729L17.0969 2.57471L17.1272 2.54053H18.7864L18.6438 2.70557L12.7454 9.5415L19.4426 19.3032L19.55 19.4604H14.0217L13.9915 19.4165L9.66431 13.1089L4.21606 19.4253L4.18579 19.4604H2.52271L2.66528 19.2944L8.92993 12.0376L2.52271 2.69678L2.41528 2.54053H7.9436ZM14.5901 18.3804H17.4993L7.37524 3.62061H4.46509L14.5901 18.3804Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0.2\"></path></svg></a><a title=\"LinkedIn\" data-wf-native-id-path=\"95109dd4-8aa5-b16a-074e-03cb5e29a01d:1c0c423e-bde5-f0b8-c1df-b0667174c7eb:1a88d16b-d0ea-bab7-a8df-efc58536c7f6\" data-wf-ao-click-engagement-tracking=\"true\" data-wf-element-id=\"1a88d16b-d0ea-bab7-a8df-efc58536c7f6\" data-wf-component-context=\"%5B%7B%22componentId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7a8%22%2C%22instanceId%22%3A%2295109dd4-8aa5-b16a-074e-03cb5e29a01d%22%7D%2C%7B%22componentId%22%3A%221a88d16b-d0ea-bab7-a8df-efc58536c7f2%22%2C%22instanceId%22%3A%221c0c423e-bde5-f0b8-c1df-b0667174c7eb%22%7D%5D\" href=\"https://www.linkedin.com/company/decagon-ai\" target=\"_blank\" class=\"footer_socials-link w-inline-block\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" viewBox=\"0 0 22 22\" fill=\"none\" class=\"footer_socials-icon\"><path d=\"M20 0H2C0.895 0 0 0.895 0 2V20C0 21.105 0.895 22 2 22H20C21.105 22 22 21.105 22 20V2C22 0.895 21.105 0 20 0ZM6.954 18H4.004V8.508H6.954V18ZM5.449 7.151C4.498 7.151 3.729 6.38 3.729 5.431C3.729 4.482 4.499 3.712 5.449 3.712C6.397 3.712 7.168 4.483 7.168 5.431C7.168 6.38 6.397 7.151 5.449 7.151ZM18.004 18H15.056V13.384C15.056 12.283 15.036 10.867 13.523 10.867C11.988 10.867 11.752 12.066 11.752 13.304V18H8.804V8.508H11.634V9.805H11.674C12.068 9.059 13.03 8.272 14.465 8.272C17.452 8.272 18.004 10.238 18.004 12.794V18Z\" fill=\"currentColor\"></path></svg></a></div></li></ul></div></div></div></div><div class=\"footer_footnotes\"><div class=\"cl--text-style-paragraph\">© <span id=\"year-span\">0000</span> Decagon. All rights reserved.</div></div></div></div></div></footer></div></div><script src=\"https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=683e5da0b6d8a19de4875ae7\" type=\"text/javascript\" integrity=\"sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=\" crossorigin=\"anonymous\"></script><script src=\"https://cdn.prod.website-files.com/683e5da0b6d8a19de4875ae7/js/webflow.ff64b6e9.3071747444deb52d.js\" type=\"text/javascript\" integrity=\"sha384-afArdd69uXtt5ygPtba0gyab8WzJnriYldCyIE3L56Kx3hSNhSHr6+HCI1z8dQWZ\" crossorigin=\"anonymous\"></script><script src=\"https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js\" type=\"text/javascript\"></script><!-- Google Tag Manager (noscript) -->\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-KGGJWVL8\"\nheight=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\n<!-- End Google Tag Manager (noscript) -->\n\n <!--Email Auto Fill Script Start -->\n\n<script>\n\"use strict\";\n(() => {\n  // src/emailAutoFill.ts\n  window.Webflow || (window.Webflow = []);\n  window.Webflow.push(() => {\n    //const EmailFormId = \"01bd5e83-d306-4ef1-8d24-edafb3223862\";\n    const EmailFormId = \"01bd5e83-d306-4ef1-8d24-edafb3223862\";\n    //const DemoFormId = \"079c3051-2c1b-453b-a1c2-8d11ac8af74e\";\n    const DemoFormId = \"079c3051-2c1b-453b-a1c2-8d11ac8af74e\";\n    if (window.HubSpotForms) {\n      const forms = window.HubSpotForms.getForms();\n      forms.forEach((form) => {\n        if (form.id === EmailFormId) {\n          window.addEventListener(\"message\", (event) => {\n            if (event.data?.type === \"hsFormCallback\" && event.data?.eventName === \"onFormSubmitted\" && event.data?.id === EmailFormId) {\n              captureAndSaveEmail(event.data.data.submissionValues.email);\n              let thankYouMessage = document.querySelector(\".submitted-message\");\n              const iframe = document.querySelector(\"iframe\");\n              if (iframe && iframe.contentDocument && iframe.contentDocument.querySelector(\".submitted-message\")) {\n                thankYouMessage = iframe.contentDocument.querySelector(\".submitted-message\");\n              }\n              if (thankYouMessage) {\n                thankYouMessage.remove();\n              }\n              redirectToDemoPage();\n            }\n          });\n        }\n        if (form.id === DemoFormId) {\n          setEmailFromSessionCookieToForm(form);\n        }\n      });\n    }\n  });\n  function captureAndSaveEmail(email) {\n    if (email) {\n      saveEmailToSessionCookie(email);\n    }\n  }\n  function redirectToDemoPage() {\n    window.location.replace(\"/get-a-demo\");\n  }\n  function saveEmailToSessionCookie(email) {\n    sessionStorage.setItem(\"emailToAutofill\", email);\n  }\n  function getEmailFromSessionCookie() {\n    return sessionStorage.getItem(\"emailToAutofill\");\n  }\n  function setEmailFromSessionCookieToForm(form) {\n    window.HubSpotForms.onFormReady(function() {\n      const email = getEmailFromSessionCookie();\n      if (email) {\n        form.setFieldValue(\"email\", email);\n      }\n    });\n  }\n})();\n\n\n</script>\n\n <!--Email Auto Fill Script End -->\n\n <!--UTM V2 Script Start -->\n<script>\n\"use strict\";\n(() => {\n  // src/decagon/decagonUtmV2.ts\n  var enableUTMLogsonAllDomains = false;\n  var shouldLogUTMs = enableUTMLogsonAllDomains || typeof window !== \"undefined\" && window.location.hostname.includes(\".webflow.io\");\n  var NOT_PROVIDED = \"notprovided\";\n  var UTM_PARAMS = [\"utm_medium\", \"utm_source\", \"utm_campaign\", \"utm_term\", \"utm_content\"];\n  var SESSION_COOKIE_MAX_AGE = 60 * 60 * 24;\n  var FIRST_COOKIE_MAX_AGE = 60 * 60 * 24 * 395;\n  var AI_REFERRERS = [\n    [\"chatgpt.com\", \"chatgpt\"],\n    [\"chat.openai.com\", \"chatgpt\"],\n    [\"claude.ai\", \"claude\"],\n    [\"perplexity.ai\", \"perplexity\"],\n    [\"copilot.microsoft.com\", \"copilot\"],\n    [\"gemini.google.com\", \"gemini\"],\n    [\"meta.ai\", \"meta\"],\n    // beyond spec\n    [\"grok.com\", \"grok\"],\n    [\"x.ai\", \"grok\"],\n    [\"deepseek.com\", \"deepseek\"],\n    [\"chat.mistral.ai\", \"mistral\"]\n  ];\n  var SEARCH_REFERRERS = [\n    [/(^|\\.)google\\./, \"google\"],\n    [/(^|\\.)bing\\./, \"bing\"],\n    // beyond spec\n    [/(^|\\.)duckduckgo\\./, \"duckduckgo\"],\n    [/(^|\\.)yahoo\\./, \"yahoo\"],\n    [/(^|\\.)ecosia\\./, \"ecosia\"],\n    [/(^|\\.)search\\.brave\\./, \"brave\"]\n  ];\n  var SOCIAL_REFERRERS = [\n    [\"facebook.com\", \"facebook\"],\n    [\"fb.com\", \"facebook\"],\n    [\"linkedin.com\", \"linkedin\"],\n    [\"lnkd.in\", \"linkedin\"],\n    [\"x.com\", \"x\"],\n    [\"twitter.com\", \"x\"],\n    [\"t.co\", \"x\"],\n    [\"reddit.com\", \"reddit\"],\n    [\"instagram.com\", \"instagram\"],\n    // beyond spec\n    [\"youtube.com\", \"youtube\"],\n    [\"youtu.be\", \"youtube\"],\n    [\"tiktok.com\", \"tiktok\"],\n    [\"pinterest.com\", \"pinterest\"],\n    [\"threads.net\", \"threads\"],\n    [\"threads.com\", \"threads\"],\n    [\"bsky.app\", \"bluesky\"]\n  ];\n  function hostMatches(host, entry) {\n    return host === entry || host.endsWith(\".\" + entry);\n  }\n  function lookup(host, table) {\n    for (const [entry, source] of table) {\n      if (hostMatches(host, entry))\n        return source;\n    }\n    return null;\n  }\n  function emptySet() {\n    const attr = {};\n    for (const key of UTM_PARAMS)\n      attr[key] = NOT_PROVIDED;\n    attr.GCLID = NOT_PROVIDED;\n    attr.FBCLID = NOT_PROVIDED;\n    return attr;\n  }\n  function hasExplicitUtms(search) {\n    const params = new URLSearchParams(search);\n    return UTM_PARAMS.some((key) => params.has(key));\n  }\n  function shouldWriteSession(search, sessionExists) {\n    return !sessionExists || hasExplicitUtms(search);\n  }\n  function classifyTraffic(search, referrer, pageHost) {\n    const params = new URLSearchParams(search);\n    const attr = emptySet();\n    attr.GCLID = params.get(\"gclid\") || NOT_PROVIDED;\n    attr.FBCLID = params.get(\"fbclid\") || NOT_PROVIDED;\n    if (hasExplicitUtms(search)) {\n      for (const key of UTM_PARAMS) {\n        const value = params.get(key);\n        if (value)\n          attr[key] = value;\n      }\n      return attr;\n    }\n    let referrerHost = \"\";\n    if (referrer) {\n      try {\n        referrerHost = new URL(referrer).hostname.toLowerCase();\n      } catch {\n        referrerHost = \"\";\n      }\n    }\n    if (referrerHost === pageHost.toLowerCase())\n      referrerHost = \"\";\n    if (!referrerHost) {\n      attr.utm_medium = \"direct\";\n      attr.utm_source = \"decagon\";\n      return attr;\n    }\n    const aiSource = lookup(referrerHost, AI_REFERRERS);\n    if (aiSource) {\n      attr.utm_medium = \"aireferral\";\n      attr.utm_source = aiSource;\n      return attr;\n    }\n    for (const [pattern, source] of SEARCH_REFERRERS) {\n      if (pattern.test(referrerHost)) {\n        attr.utm_medium = \"organicsearch\";\n        attr.utm_source = source;\n        return attr;\n      }\n    }\n    const socialSource = lookup(referrerHost, SOCIAL_REFERRERS);\n    if (socialSource) {\n      attr.utm_medium = \"organicsocial\";\n      attr.utm_source = socialSource;\n      return attr;\n    }\n    attr.utm_medium = \"onlinereferral\";\n    attr.utm_source = referrerHost.replace(/^www\\./, \"\");\n    return attr;\n  }\n  function firstTouchFrom(attr) {\n    const first = {};\n    for (const key of UTM_PARAMS)\n      first[`${key}_first`] = attr[key] || NOT_PROVIDED;\n    return first;\n  }\n  var FIRST_PARAMS = UTM_PARAMS.map((key) => `${key}_first`);\n  var ALL_COOKIES = [...UTM_PARAMS, \"GCLID\", \"FBCLID\", ...FIRST_PARAMS];\n  var FIELD_MAP = {\n    // current session (7)\n    utm_source: \"utmsource__c\",\n    utm_medium: \"utmmedium__c\",\n    utm_campaign: \"utmcampaign__c\",\n    utm_term: \"utmterm__c\",\n    utm_content: \"utmcontent__c\",\n    GCLID: \"gclid\",\n    FBCLID: \"fbclid\",\n    // first visit (5)\n    utm_source_first: \"utm_source_first__c\",\n    utm_medium_first: \"utm_medium_first__c\",\n    utm_campaign_first: \"utm_campaign_first__c\",\n    utm_term_first: \"utm_term_first__c\",\n    utm_content_first: \"utm_content_first__c\"\n  };\n  function runInBrowser() {\n    const DEBUG_STORAGE_KEY = \"decagonUtmDebug\";\n    const params = new URLSearchParams(window.location.search);\n    const debugParam = (params.get(\"utm_debug\") || \"\").toLowerCase();\n    if (debugParam === \"1\" || debugParam === \"true\") {\n      try {\n        sessionStorage.setItem(DEBUG_STORAGE_KEY, \"1\");\n      } catch {\n      }\n    }\n    const isDebug = () => {\n      if (shouldLogUTMs)\n        return true;\n      if (window.decagonUtmDebug === true)\n        return true;\n      try {\n        if (sessionStorage.getItem(DEBUG_STORAGE_KEY) === \"1\")\n          return true;\n      } catch {\n      }\n      return window.location.hostname === \"localhost\";\n    };\n    const log = (...args) => {\n      if (isDebug())\n        console.log(\"[Decagon UTM2]\", ...args);\n    };\n    const logTable = (label, rows) => {\n      if (isDebug()) {\n        console.log(`[Decagon UTM2] ${label}`);\n        console.table(rows);\n      }\n    };\n    const getCookie = (name) => {\n      const match = document.cookie.match(new RegExp(\"(?:^|;\\\\s*)\" + name + \"=([^;]*)\"));\n      return match ? decodeURIComponent(match[1]) : null;\n    };\n    const setCookie = (name, value, maxAgeSeconds) => {\n      document.cookie = `${name}=${encodeURIComponent(value)};path=/;max-age=${maxAgeSeconds};SameSite=Lax`;\n    };\n    const clearCookie = (name) => {\n      document.cookie = `${name}=;path=/;max-age=0;SameSite=Lax`;\n    };\n    const getCookieExpiry = async (name) => {\n      try {\n        const cookieStore = window.cookieStore;\n        if (!cookieStore)\n          return null;\n        const cookie = await cookieStore.get(name);\n        return cookie && cookie.expires ? new Date(cookie.expires) : null;\n      } catch {\n        return null;\n      }\n    };\n    async function logStatus() {\n      if (!isDebug())\n        return;\n      const sessionExpiry = await getCookieExpiry(\"utm_medium\");\n      const firstExpiry = await getCookieExpiry(\"utm_medium_first\");\n      const expiryLabel = (expiry) => expiry ? expiry.toLocaleString() : \"(expiry unavailable in this browser)\";\n      logTable(\n        \"session cookies (24h)\",\n        [...UTM_PARAMS, \"GCLID\", \"FBCLID\"].map((name) => ({\n          Cookie: name,\n          Value: getCookie(name) ?? \"(not set)\",\n          Expires: getCookie(name) ? expiryLabel(sessionExpiry) : \"\\u2014\"\n        }))\n      );\n      logTable(\n        \"first-visit cookies (13 months)\",\n        FIRST_PARAMS.map((name) => ({\n          Cookie: name,\n          Value: getCookie(name) ?? \"(not set)\",\n          Expires: getCookie(name) ? expiryLabel(firstExpiry) : \"\\u2014\"\n        }))\n      );\n      if (getCookie(\"utm_medium\")) {\n        log(\n          `\\u23F3 session UTMs held until ${expiryLabel(sessionExpiry)} \\u2014 a link with UTMs replaces them any time; visits without UTMs wait for this expiry`\n        );\n      } else {\n        log(\"\\u23F3 session UTMs not set \\u2014 the next page load will capture fresh values\");\n      }\n      if (getCookie(\"utm_medium_first\")) {\n        log(`\\u{1F512} first-touch UTMs locked until ${expiryLabel(firstExpiry)} (never overwritten while set)`);\n      } else {\n        log(\"\\u{1F512} first-touch UTMs not set \\u2014 the next page load counts as the first visit\");\n      }\n      if (firstExpiry) {\n        const grantedDays = Math.round((firstExpiry.getTime() - Date.now()) / 864e5);\n        const requestedDays = Math.round(FIRST_COOKIE_MAX_AGE / 86400);\n        if (grantedDays < requestedDays - 7) {\n          log(\n            `\\u26A0\\uFE0F this browser CLAMPED the first-touch cookie lifetime: requested ${requestedDays} days, granted ~${grantedDays} days. Chrome caps at 400d, Brave ~6 months, Safari (ITP) 7 days for JS-set cookies \\u2014 first-touch attribution lives shorter on those browsers.`\n          );\n        }\n      }\n    }\n    function capture() {\n      log(\"\\u{1F680} Decagon UTM 2.0 loaded\");\n      if (isDebug() && params.get(\"utm_debug_reset\") === \"1\") {\n        ALL_COOKIES.forEach(clearCookie);\n        log(\"utm_debug_reset=1 \\u2192 cleared all UTM cookies\");\n      }\n      let { referrer } = document;\n      if (isDebug() && params.get(\"utm_debug_referrer\")) {\n        referrer = params.get(\"utm_debug_referrer\");\n        log(`utm_debug_referrer override \\u2192 \"${referrer}\"`);\n      }\n      if (isDebug() && (params.has(\"utm_debug_reset\") || params.has(\"utm_debug_referrer\"))) {\n        try {\n          const url = new URL(window.location.href);\n          url.searchParams.delete(\"utm_debug_reset\");\n          url.searchParams.delete(\"utm_debug_referrer\");\n          window.history.replaceState({}, document.title, url.pathname + url.search + url.hash);\n          log(\"stripped one-shot debug params from the URL \\u2014 refreshing now behaves like a returning visitor\");\n        } catch {\n        }\n      }\n      const attr = classifyTraffic(window.location.search, referrer, window.location.hostname);\n      log(\n        `classified as utm_medium=\"${attr.utm_medium}\" utm_source=\"${attr.utm_source}\"`,\n        `(referrer: \"${referrer || \"none\"}\")`\n      );\n      const sessionExists = !!getCookie(\"utm_medium\");\n      if (shouldWriteSession(window.location.search, sessionExists)) {\n        for (const [name, value] of Object.entries(attr)) {\n          setCookie(name, value, SESSION_COOKIE_MAX_AGE);\n        }\n        log(\n          sessionExists ? \"\\u270D\\uFE0F URL has UTMs \\u2192 REPLACED the existing session cookies (24h timer restarted)\" : \"\\u270D\\uFE0F session cookies were MISSING \\u2192 captured fresh values this load\"\n        );\n      } else {\n        log(\n          \"session cookies already present and no UTMs in URL \\u2014 not overwriting (see expiry below)\"\n        );\n      }\n      if (!getCookie(\"utm_medium_first\")) {\n        const first = firstTouchFrom(attr);\n        for (const [name, value] of Object.entries(first)) {\n          setCookie(name, value, FIRST_COOKIE_MAX_AGE);\n        }\n        log(\"\\u270D\\uFE0F first-visit cookies were MISSING \\u2192 this load counts as the very first visit\");\n      } else {\n        log(\"first-visit cookies already present \\u2014 never overwritten\");\n      }\n      void logStatus();\n    }\n    function setHubspotFormValues(form) {\n      const rows = [];\n      for (const cookieName of ALL_COOKIES) {\n        const field = FIELD_MAP[cookieName] || cookieName;\n        const value = getCookie(cookieName) || NOT_PROVIDED;\n        try {\n          form.setFieldValue(field, value);\n          rows.push({ Field: field, Value: value, Status: \"\\u2705\" });\n        } catch (error) {\n          rows.push({ Field: field, Value: value, Status: \"\\u274C\", Error: String(error) });\n        }\n      }\n      logTable(\"HubSpot form fill\", rows);\n    }\n    function checkForHubspotFormAndSetValues() {\n      const hubspotForms = window.HubSpotForms;\n      if (hubspotForms && typeof hubspotForms.onFormReady === \"function\") {\n        hubspotForms.onFormReady(() => {\n          const forms = window.HubSpotForms.getForms();\n          forms.forEach((form) => setHubspotFormValues(form));\n        });\n      } else {\n        log(\"window.HubSpotForms not found \\u2014 skipping HubSpot form fill\");\n      }\n    }\n    capture();\n    checkForHubspotFormAndSetValues();\n  }\n  if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n    window.Webflow || (window.Webflow = []);\n    window.Webflow.push(() => runInBrowser());\n  }\n})();\n</script>\n <!--UTM V2 Script End --><script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    let formElement = document.querySelector(\"form\"); // adjust if you have multiple forms\n    let hutkField = formElement.querySelector(\"input[name='hutk']\");\n    // Set the hubspotutk to the hidden input\n    if (hutkField) {\n        hutkField.value = getCookie('hubspotutk');\n    }\n});\n</script>\n\n<!--Webiner/eBook content type: Hubspot Form ID snippet-->\n <script>\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n  const triggerElement = document.querySelector(\"[ws-hs-form]\");\n  if (triggerElement) {\n    const script = document.createElement(\"script\");\n    script.src = \"//js.hsforms.net/forms/embed/v2.js\";\n    script.type = \"text/javascript\";\n    script.charset = \"utf-8\";\n    script.onload = function() {\n      document.querySelectorAll(\"[ws-hs-form]\").forEach((el, i) => {\n        const formId = el.getAttribute(\"ws-hs-form\");\n        if (formId) {\n          el.id = el.id || `hubspot-form-${i}`;\n          hbspt.forms.create({\n            portalId: \"40175860\",\n            formId: formId,\n            target: `#${el.id}`\n          });\n        }\n      });\n    };\n    document.body.appendChild(script);\n  }\n});\n</script>\n\n<!--Webinar/eBook content type start with non-capitalized letter-->\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  const el = document.getElementById('resources_category_title');\n  if (el) {\n    const text = el.textContent.trim();\n    el.textContent = text.charAt(0).toLowerCase() + text.slice(1);\n  }\n});\n</script>\n\n<!--Copy Link Button-->\n<script>\n  document.getElementById(\"copy-button\").addEventListener(\"click\", function() {\n    // Get the current page URL\n    var currentUrl = window.location.href;\n\n    // Create a temporary input element\n    var tempInput = document.createElement(\"input\");\n\n    // Add the current page URL to the input value\n    tempInput.setAttribute(\"value\", currentUrl);\n\n    // Append the input to the body\n    document.body.appendChild(tempInput);\n\n    // Select the input\n    tempInput.select();\n\n    // Copy the selected text\n    document.execCommand(\"copy\");\n\n    // Remove the input from the body\n    document.body.removeChild(tempInput);\n\n    // Update the text of the \"copy-status\" element\n    document.getElementById(\"copy-status\").textContent = \"Link copied!\";\n  });\n</script>\n\n<!-- ToC not present hide -->\n<script>\n  document.addEventListener(\"DOMContentLoaded\", function () {\n    const tocContainer = document.querySelector('[fs-toc-element=\"contents\"]');\n    const tocWrapper = document.querySelector('[data-table-contents=\"component\"]');\n\n    if (tocContainer && tocWrapper) {\n      const h2s = tocContainer.querySelectorAll(\"h2\");\n      if (!h2s.length) {\n        tocWrapper.style.display = \"none\";\n      }\n    }\n  });\n</script>\n\n<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css\">\n<script defer src=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js\"></script>\n<script>\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    if (typeof katex === \"undefined\") return;\n    document.querySelectorAll(\".katex-formula, span.katex-formula\").forEach(function(el) {\n      const formula = el.getAttribute(\"data-formula\");\n      if (!formula) return;\n      const isBlock = el.tagName === \"DIV\" || el.getAttribute(\"data-display\") === \"true\";\n      katex.render(formula.trim(), el, {\n        throwOnError: false,\n        displayMode: isBlock\n      });\n    });\n  });\n</script><script src=\"https://hubspotonwebflow.com/assets/js/form-124.js\" type=\"text/javascript\" integrity=\"sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj\" crossorigin=\"anonymous\"></script><script src=\"https://cdn.jsdelivr.net/npm/@formconnector/form-utils@1.0.13/dist/custom-properties/index.js\" type=\"text/javascript\" integrity=\"sha384-zepM3PZ4LeAg7Lg5a2HT/BEIFd0Vw7ETaJxvbNvv7qZSXEJwBWGHJmpEWRAZqxwi\" crossorigin=\"anonymous\"></script><script src=\"https://cdn.jsdelivr.net/npm/@formconnector/form-utils@1.0.5/dist/query-params/index.js\" type=\"text/javascript\" integrity=\"sha384-deKv5oYRjioDQi0QeAE89nj78yBxG/Rke0zQmQgIhm1pAlEiZ14f1p++rlJ93+vj\" crossorigin=\"anonymous\"></script></body></html>","snapshot_chars":379572,"live_check":"changed"}]}