<!DOCTYPE html><!-- Last Published: Thu Jul 30 2026 19:15:44 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.vouch.us" data-wf-page="68fbaafcc7b685afc7a2fba6" data-wf-site="68fbaafcc7b685afc7a2fbcb" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Vouch | Business Insurance Broker &amp; Risk Advisor to Growing Companies</title><meta content="Vouch is the technology-powered insurance broker for growing companies. Expert coverage, digital tools, and industry-specific protection built for your next milestone." name="description"/><meta content="Vouch | Business Insurance Broker &amp; Risk Advisor to Growing Companies" property="og:title"/><meta content="Vouch is the technology-powered insurance broker for growing companies. Expert coverage, digital tools, and industry-specific protection built for your next milestone." property="og:description"/><meta content="https://cdn.prod.website-files.com/5f29b9bb8466f57a1291c19c/6812324b0d1e30abffcafa8a_vouch-open-graph.png" property="og:image"/><meta content="Vouch | Business Insurance Broker &amp; Risk Advisor to Growing Companies" name="twitter:title"/><meta content="Vouch is the technology-powered insurance broker for growing companies. Expert coverage, digital tools, and industry-specific protection built for your next milestone." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/5f29b9bb8466f57a1291c19c/6812324b0d1e30abffcafa8a_vouch-open-graph.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"/><link href="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/css/vouch40.shared.4d3e19f94.min.css" rel="stylesheet" type="text/css" integrity="sha384-TT4Z+USg+FFAYy41CzgSQOI5+8yn48svTBTHz+hrdhBV35syf9QrAftxxdOpB1OH" crossorigin="anonymous"/><link href="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/css/vouch40.68fbaafcc7b685afc7a2fba6.a410bb1b0.opt.min.css" rel="stylesheet" type="text/css" integrity="sha384-pBC7GwM20pn6rEM13yLgynCoynG0XYi/VjhltTL3V2aMUMSlu8rIrw3BLG6ED6tL" crossorigin="anonymous"/><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/5f29b9bb8466f57a1291c19c/5f4d481b9c63bad42e1e327f_Vouch-Favicon-Transparent-32.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/68fbaafcc7b685afc7a30bee_Vouch-WebClip.png" rel="apple-touch-icon"/><link href="https://www.vouch.us" rel="canonical"/><script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://www.vouch.us/#organization",
      "name": "Vouch",
      "legalName": "Vouch, Inc.",
      "url": "https://www.vouch.us/",
      "logo": {
        "@type": "ImageObject",
        "@id": "https://www.vouch.us/#logo",
        "url": "https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/68fbaafcc7b685afc7a30b55_vouch-logo-v2-lighter-blue-darker.svg",
        "caption": "Vouch"
      },
      "image": {
        "@id": "https://www.vouch.us/#logo"
      },
      "description": "Vouch is the insurance broker for leaders building what's next, offering industry expertise, a streamlined experience, and coverage that keeps pace with your company's growth.",
      "slogan": "Ambition Insured",
      "foundingDate": "2018",
      "founder": [
        {
          "@type": "Person",
          "name": "Sam Hodges"
        },
        {
          "@type": "Person",
          "name": "Travis Hedge"
        }
      ],
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "250 Montgomery Street, Suite 650",
        "addressLocality": "San Francisco",
        "addressRegion": "CA",
        "postalCode": "94104",
        "addressCountry": "US"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "telephone": "+1-844-488-6728",
        "email": "hello@vouch.us",
        "contactType": "customer service",
        "areaServed": "US",
        "availableLanguage": "English"
      },
      "sameAs": [
        "https://www.linkedin.com/company/vouch-group/",
        "https://x.com/vouch_group",
        "https://www.youtube.com/@VouchInsurance"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://www.vouch.us/#website",
      "name": "Vouch",
      "url": "https://www.vouch.us/",
      "publisher": {
        "@id": "https://www.vouch.us/#organization"
      },
      "inLanguage": "en-US",
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://www.vouch.us/search?query={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    }
  ]
}
</script>
<!-- Osano Data Privacy Platform -->
<script src="https://cmp.osano.com/16BiFaTi40xYm5CtB/4f5682c5-7390-4d70-9a94-dfe584a6e029/osano.js"></script>

<!-- FOUC Prevention - Add this in the <head> or before body content -->
<style>
  [hero-anim] > *,
  [hero-single],
  [hero-fade],
  [hero-text] {
    opacity: 0;
  }
</style>


<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-KTMWFCP');</script>
<!-- End Google Tag Manager -->

<!-- Start of HubSpot Embed Code -->
<script type="text/javascript" id="hs-script-loader" async defer src="//js-na2.hs-scripts.com/245493959.js"></script>
<!-- End of HubSpot Embed Code -->

<script>
  //SEGMENT LOAD
  !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t,e){var n=document.createElement("script");n.type="text/javascript";n.async=!0;n.src="https://cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a);analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.1.0";
  analytics.load("g13pRylbxG6PDmHmcESXCMv6aGZ3fJBL");
  analytics.page();
  }}();
</script>

<style>
/* Allows Zooming for Accessibility */
.user-font-size {font-size: 1em;}
</style>

<!--- Keep the default color on autofill --->
<style>
    input:-webkit-autofill,
    input:-webkit-autofill:hover, 
    input:-webkit-autofill:focus, 
    input:-webkit-autofill:active  {
        transition: background-color 5000s;
    }
</style>

<!-- Start VWO Async SmartCode -->
<link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" />
<script type='text/javascript' id='vwoCode'>
window._vwo_code || (function() {
var account_id=878161,
version=2.1,
settings_tolerance=2000,
hide_element='body',
hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',
/* DO NOT EDIT BELOW THIS LINE */
f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var i=this.getSettings(),n=d.createElement('script'),r=this;t=t||{};if(i){n.textContent=i;d.getElementsByTagName('head')[0].appendChild(n);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var i=this.hide_element(),n=i?i+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=n;else t.appendChild(d.createTextNode(n));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var n=d.createElement('div');n.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;';n.setAttribute('id','_vis_opt_path_hides');n.classList.add('_vis_hide_layer');t.parentNode.insertBefore(n,t.nextSibling)}var o='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:o})}else{this.load(o+'&x=true')}}};w._vwo_code=code;code.init();})();
</script>
<!-- End VWO Async SmartCode -->

<!-- Start Ambassador Referral Program -->
<script>(function (u, n, i, v, e, r, s, a, l) { u[r] = {}; u[r].uid = '4b3962bf-f505-41aa-9747-5ca95760aed1'; u[r].m = ['getReferrerInfo', 'identify', 'integrationsReady', 'on', 'ready', 'track']; u[r].queue = []; u[r].f = function(t) { return function() { var l = Array.prototype.slice.call(arguments); l.unshift(t); u[r].queue.push(l); return u[r].queue; }; }; for (var t = 0; t < u[r].m.length; t++) { l = u[r].m[t]; u[r][l] = u[r].f(l); } a = n.createElement(v); a.src = e + '/us-' + u[r].uid + '.js'; a.async = s; n.getElementsByTagName(i)[0].appendChild(a); })(window, document, 'head', 'script', 'https://snippet.vouch.us', 'mbsy', true);</script>
<!-- End Ambassador Referral Program -->

<!--- Noise Icons CSS --->
<style>
.noise-icon::before {
  content: "";
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/1295275/background-noise.png');
  animation: 0.2s infinite noise;
  pointer-events: none;
}
@keyframes noise {
  0%, 100% {
    background-position: 0 0;
  }
  10% {
    background-position: -5% -10%;
  }
  20% {
    background-position: -15% 5%;
  }
  30% {
    background-position: 7% -25%;
  }
  40% {
    background-position: 20% 25%;
  }
  50% {
    background-position: -25% 10%;
  }
  60% {
    background-position: 15% 5%;
  }
  70% {
    background-position: 0% 15%;
  }
  80% {
    background-position: 25% 35%;
  }
  90% {
    background-position: -10% 10%;
  }
}
</style>




<!--- Particle Container --->
<style>
/* =============================================
   WEBFLOW IMPLEMENTATION GUIDE
   =============================================
   
   STRUCTURE IN WEBFLOW:
   
   1. Create a div called "particle-container" (position: absolute, full width/height)
   2. Inside it, add 3 image elements with your PNG
   3. Give them classes: "particle-layer-1", "particle-layer-2", "particle-layer-3"
   4. Add the CSS below to your page's custom code (in <style> tags)
   
   ============================================= */

/* Container - add to your hero section wrapper */
.particle-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

/* Base styles for all layers */
.particle-layer-1,
.particle-layer-2,
.particle-layer-3 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
  will-change: transform, opacity;
}

/* Layer 1 - Base, slowest */
.particle-layer-1 {
  opacity: 0.7;
  animation: particleDrift1 20s ease-in-out infinite;
}

/* Layer 2 - Middle speed */
.particle-layer-2 {
  opacity: 0.5;
  animation: particleDrift2 15s ease-in-out infinite;
}

/* Layer 3 - Fastest, with pulse */
.particle-layer-3 {
  opacity: 0.3;
  animation: particleDrift3 12s ease-in-out infinite;
}

/* Animations */
@keyframes particleDrift1 {
  0%, 100% {
    transform: translate(-50%, -50%) translateX(0) translateY(0);
  }
  25% {
    transform: translate(-50%, -50%) translateX(15px) translateY(-10px);
  }
  50% {
    transform: translate(-50%, -50%) translateX(-10px) translateY(15px);
  }
  75% {
    transform: translate(-50%, -50%) translateX(-15px) translateY(-5px);
  }
}

@keyframes particleDrift2 {
  0%, 100% {
    transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1);
  }
  33% {
    transform: translate(-50%, -50%) translateX(-20px) translateY(12px) scale(1.02);
  }
  66% {
    transform: translate(-50%, -50%) translateX(18px) translateY(-8px) scale(0.98);
  }
}

@keyframes particleDrift3 {
  0%, 100% {
    transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1);
    opacity: 0.3;
  }
  50% {
    transform: translate(-50%, -50%) translateX(25px) translateY(20px) scale(1.03);
    opacity: 0.4;
  }
}

/* =============================================
   OPTIONAL: MORE SUBTLE VERSION
   (uncomment below if you want gentler movement)
   ============================================= */

/*
@keyframes particleDrift1 {
  0%, 100% { transform: translate(-50%, -50%) translateX(0) translateY(0); }
  50% { transform: translate(-50%, -50%) translateX(8px) translateY(-6px); }
}

@keyframes particleDrift2 {
  0%, 100% { transform: translate(-50%, -50%) translateX(0) translateY(0); }
  50% { transform: translate(-50%, -50%) translateX(-10px) translateY(8px); }
}

@keyframes particleDrift3 {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.3; }
  50% { transform: translate(-50%, -50%) scale(1.02); opacity: 0.35; }
}
*/

/* =============================================
   OPTIONAL: REDUCED MOTION (accessibility)
   ============================================= */

@media (prefers-reduced-motion: reduce) {
  .particle-layer-1,
  .particle-layer-2,
  .particle-layer-3 {
    animation: none;
  }
}
</style>

<style>
/* Hero Slider v18 - CSS */
/* TUNED: secondary image sizes for proper frame visibility */

/* ============================================
   SIZE CONFIGURATION
   Secondary image ratio to secondary item:
   - Desktop: ~50% (larger to fill nicely)
   - Tablet/Mobile: ~30% (smaller to show frame)
   ============================================ */

/* Desktop (above 1024px) */
.hero-slider-wrapper {
  --slider-active-size: 30rem;
  --slider-secondary-size: 15rem;
  --slider-img-active-size: 18rem;
  --slider-img-secondary-size: 7.5rem;  /* INCREASED from 6.5rem */
  --slider-side-offset: 0.28;
}

/* Tablet (768px - 1024px) - iPad Pro, Surface Pro */
@media screen and (max-width: 1024px) {
  .hero-slider-wrapper {
    --slider-active-size: 20rem;
    --slider-secondary-size: 10rem;
    --slider-img-active-size: 12rem;
    --slider-img-secondary-size: 5.6rem;  /* ~12% larger */
    --slider-side-offset: 0.32;
  }
}

/* Mobile Landscape (480px - 767px) */
@media screen and (max-width: 767px) {
  .hero-slider-wrapper {
    --slider-active-size: 14rem;
    --slider-secondary-size: 7rem;
    --slider-img-active-size: 8rem;
    --slider-img-secondary-size: 4rem;  /* ~12% larger */
    --slider-side-offset: 0.34;
  }
}

/* Mobile Portrait (below 480px) */
@media screen and (max-width: 479px) {
  .hero-slider-wrapper {
    --slider-active-size: 16rem;         /* was 10rem — significantly larger */
		--slider-secondary-size: 6.6rem;         /* was 6rem */    
    --slider-img-active-size: 10rem;     /* was 6rem */
    --slider-img-secondary-size: 3.3rem;     /* was 3rem */
    --slider-side-offset: 0.46;          /* was 0.36 — half-hidden at edges */
  }
}

/* ============================================
   CRITICAL: Disable ALL Webflow transitions
   ============================================ */
.hero-slider-item,
.hero-slider-item *,
.hero-slider-item-bg,
.hero-slider-img-wrapper,
.hero-anim-img-full,
.svg-frame {
  transition: none !important;
}

/* ============================================
   FORCE Wrapper centering - override everything
   ============================================ */
.hero-slider-wrapper {
  position: relative !important;
  width: 100% !important;
  overflow: visible !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================
   FORCE Items - clear ALL Webflow positioning
   GSAP will control width/height via inline styles
   ============================================ */
.hero-slider-item {
  position: absolute !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  left: 50% !important;
  top: 50% !important;
  transform-origin: center center !important;
  will-change: transform, opacity, width, height;
}

/* ============================================
   SVG Frame Container
   ============================================ */
.hero-slider-item-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
  z-index: 0;
  transform-origin: center center;
  will-change: transform;
}

.hero-slider-item-bg .svg-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  will-change: color;
}

/* ============================================
   Image Wrapper - GSAP controls sizes via inline styles
   ============================================ */
.hero-slider-img-wrapper {
  position: relative !important;
  overflow: hidden !important;
  transform-origin: center center !important;
  z-index: 1;
  margin: 0 !important;
  padding: 0 !important;
  will-change: transform, width, height;
}

/* ============================================
   Image
   ============================================ */
.hero-anim-img-full {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform-origin: center center !important;
  will-change: transform;
}
</style>
</head><body class="body"><div class="page-wrapper"><div data-track-loaded="homepage"></div><div class="styles__global-embed-code"><div class="w-embed"><link rel="stylesheet" href="https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css" />

<style>
  /* Apply font smoothing */
  body {
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
  }

  /* Reset apple form styles */
  input, textarea, select { 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none; border-radius: 0; 
    background-image: none; 
  }

  /* Adjust input autofill to brand colors */
  input:-webkit-autofill,
  input:-webkit-autofill:focus {
    background-color: var(--colors--background) !important;
    color: var(--colors--text) !important;
    -webkit-box-shadow: 0 0 0 50px var(--colors--background) inset;
    -webkit-text-fill-color: var(--colors--text);
  }

  /* Text Selection Color */
  ::selection {
    background: var(--colors--text);
    color: var(--colors--background);
  }
  ::-moz-selection {
    background: var(--colors--text);
    color: var(--colors--background);
  }

  /* --- RICH TEXT MODIFIERS (UPDATED) --- */
  
  /* 1. Reset margins only if the element is NOT .h2 */
  .w-richtext:not(.h2)>:first-child {
    margin-top: 0;
  }
  .w-richtext:not(.h2)>:last-child, 
  .w-richtext:not(.h2) ol li:last-child, 
  .w-richtext:not(.h2) ul li:last-child {
    margin-bottom: 0;
  }

  /* 2. Apply text balancing only if the wrapper is NOT .h2 */
  .rich-text:not(.h2) h1, 
  .rich-text:not(.h2) h2, 
  .rich-text:not(.h2) h3, 
  .rich-text:not(.h2) h4 {
    text-wrap: balance;
  }

  /* 3. FIX FOR HUGE/BOLD FONT */
  /* This forces the h2 inside the .h2 wrapper to inherit the wrapper's styles 
     instead of multiplying the size or using default bolding. */
  .w-richtext.h2 h2 {
    font-size: 1em;       /* 1em means "100% of the parent size" */
    font-weight: inherit; /* Take the weight from the .h2 class */
    line-height: inherit; /* Take the line-height from the .h2 class */
    margin: 0;            /* Optional: ensures no extra margin is added */
  }
  /* ------------------------------------- */

  /* Row/col gap modifiers */
  .row.row-gap-0 .col {
    margin: 0;
    padding: 0;
  }
  .row.row-gap-md .col {
    padding-left: calc(var(--_layout---grid--gap-md) / 2);
    padding-right: calc(var(--_layout---grid--gap-md) / 2);
  }
  .row.row-gap-sm .col {
    padding-left: calc(var(--_layout---grid--gap-sm) / 2);
    padding-right: calc(var(--_layout---grid--gap-sm) / 2);
  }

  /* Col pad design mode indicator */
  html.wf-design-mode .row .col:has( .slot)::before,
  html.wf-design-mode .row .col:has( .slot)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: calc(var(--_layout---grid--gap-main) / 2);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3' viewBox='0 0 3 3' fill='none'%3E%3Cg clip-path='url(%23clip0_481_2070)'%3E%3Cpath d='M2.99997 0.970703L0.969971 3.0007H2.02997L2.99997 2.0307V0.970703Z' fill='%23259d4d'/%3E%3Cpath d='M0.97 0L0 0.97V2.03L2.03 0H0.97Z' fill='%23259d4d'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_481_2070'%3E%3Crect width='3' height='3' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");    background-repeat: repeat;
    background-size: 4px;
    opacity: 0;
    pointer-events: none;
  }
  html.wf-design-mode .row.row-gap-md .col:has(>.slot)::before,
  html.wf-design-mode .row.row-gap-md .col:has(>.slot)::after {
    width: calc(var(--_layout---grid--gap-md) / 2);
  }
  html.wf-design-mode .row.row-gap-sm .col:has(>.slot)::before,
  html.wf-design-mode .row.row-gap-sm .col:has(>.slot)::after {
    width: calc(var(--_layout---grid--gap-md) / 2);
  }
  html.wf-design-mode .row.row-gap-0 .col:has(>.slot)::before,
  html.wf-design-mode .row.row-gap-0 .col:has(>.slot)::after {
    width: 0;
  }
  html.wf-design-mode .col:has(>.slot)::before {
    left: 0;
  }
  html.wf-design-mode .col:has(>.slot)::after {
    right: 0;
  }
  html.wf-design-mode .col:has(>.slot):hover::before,
  html.wf-design-mode .col:has(>.slot):hover::after {
    opacity: 0.5;
  }

  /* Line clamp modifiers */
  .u-text-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  /* Build mode modifiers */
  .slot.cc-column .btn {
    align-self: flex-start;
  }
  .slot.cc-column .heading-component *,
  .slot.cc-column .paragraph-xl,
  .slot.cc-column .paragraph-lg,
  .slot.cc-column .paragraph-sm,
  .slot.cc-column .accordion-item {
    margin-bottom: 0;
  }
  .card:has(.u-link-cover:focus-visible) {
    outline: 2px solid var(--colors--primary-accent);
    outline-offset: 2px;
  }
  html.wf-design-mode .card:has( .slot.cc-card) .u-link-cover {
    pointer-events: none;
  }
  .section:has( > .container > .slot > [data-wf--image--aspect-ratio="background"]),
  .page-wrapper:has( [data-wf--image--aspect-ratio="background"]) {
    background: transparent !important;
  }
  .card > .slot > [data-wf--image--aspect-ratio="background"] {
    z-index: 0;
  }
  .card > .slot > *:not([data-wf--image--aspect-ratio="background"]) {
    z-index: 1;
  }

  /* Dialog */
  body:has(dialog[open]) {
    overflow: hidden !important;
  }
  dialog.modal[open] {
    animation: fadein 400ms ease-out forwards;
  }
  dialog.modal::backdrop {
    background: color-mix(in srgb, var(--_color---neutral--black) 80%, transparent);
  }
  @keyframes fadein{
    0%{
      opacity:0;
    }
    100%{
      opacity:1;
    }
  }
  dialog::-webkit-scrollbar {
    width: 10px;
  }            
  dialog::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: transparent;
  }            
  dialog::-webkit-scrollbar-thumb {
    border-radius: 10px;
    border: 2px solid var(--colors--background);
    background: var(--colors--text);
  }
  dialog::-webkit-scrollbar-thumb:window-inactive {
    background: var(--colors--text);
  }
  
html:not(.wf-design-mode) [data-accent-text] {
  visibility: hidden;
}

/* ===========================================
   TEXT ACCENT STYLES
   Used with data-accent-text attribute
   Pattern: .text-style-accent-{value}
   =========================================== */

/* Base accent styles */
.text-style-accent-orange {
  color: var(--_color---secondary--orange);
  font-style: italic;
}

.text-style-accent-light-orange {
  color: var(--_color---secondary--light-orange);
  font-style: italic;
}

.text-style-accent-deep-orange {
  color: var(--_color---secondary--deep-orange);
  font-style: italic;
}

.text-style-accent-gold {
  color: var(--_color---secondary--gold);
  font-style: italic;
}

.text-style-accent-deep-gold {
  color: var(--_color---secondary--deep-gold);
  font-style: italic;
}

.text-style-accent-yellow {
  color: var(--_color---secondary--accent-yellow);
  font-style: italic;
}

.text-style-accent-electric-blue {
  color: var(--_color---secondary--accent-blue);
  font-style: italic;
}

.text-style-accent-teal,
.text-style-accent-accent-blue {
  color: var(--_color---secondary--accent-blue);
  font-style: italic;
}

.text-style-accent-blue {
  color: var(--_color---secondary--blue);
  font-style: italic;
}

.text-style-accent-blue-normal {
  color: var(--_color---secondary--accent-blue);
  font-style: normal;
}

.text-style-accent-deep-blue {
  color: var(--_color---secondary--deep-blue);
  font-style: italic;
}

.text-style-accent-green {
  color: var(--_color---secondary--text-green);
  font-style: italic;
}

.text-style-accent-soft-green {
  color: var(--_color---secondary--soft-green);
  font-style: italic;
}

.text-style-accent-dark-green {
  color: var(--_color---secondary--dark-green);
  font-style: italic;
}

.text-style-accent-purple {
  color: var(--_color---secondary--purple);
  font-style: italic;
}

.text-style-accent-deep-purple {
  color: var(--_color---secondary--deep-purple);
  font-style: italic;
}

.text-style-accent-light-purple {
  color: var(--_color---secondary--light-purple);
  font-style: italic;
}

.text-style-accent-navy {
  color: var(--_color---secondary--navy);
  font-style: italic;
}

/* Italic with Accent Yellow BG */
.text-style-accent-yellow-bg {
  background-color: var(--_color---secondary--accent-yellow);
  font-style: italic;
  padding: 0.05em 0.2em;
  border-radius: 0.1em;
}

/* Italic only - no color change */
.text-style-accent-italic {
  font-style: italic;
}

/* Article RTE - Remove bold from H2 */
.article-rte h2 strong,
.article-rte h2 b {
  font-weight: inherit;
}

/* SLIDER Custom Navigation */
/* Inactive dots */
.slider-testimonials .w-slider-dot {
  width: 8px;
  height: 8px;
  background-color: color-mix(in srgb, currentColor 20%, transparent);
  border-radius: 5px;
  margin: 0 4px;
  transition: all 0.3s ease;
}

/* Active dot */
.slider-testimonials .w-slider-dot.w-active {
  width: 28px;
  height: 8px;
  border-radius: 5px;
  background-color: currentColor;
}
/* SLIDER Custom Navigation */

/* Article RTE Unsorted List Dots Color */
.article-rte ul li::marker {
  color: #3BE0AD;
}
/* Article RTE Unsorted List Dots Color */


/* ============================================
   Yellow Span - Hero Variant (.yellow-span.cc-hero)
   ============================================
   Fixes multi-line background highlight rendering.
   When .yellow-span wraps across lines in an H1,
   the browser renders one continuous background box,
   causing awkward visual breaks at different breakpoints.
   
   box-decoration-break: clone treats each line fragment
   as its own box, so the highlight looks clean per line.
   
   Padding adds horizontal breathing room on each fragment.
   ============================================ */
 .yellow-span.cc-hero {
  /* Static yellow shows at/below 991px, where the JS reveal is skipped.
     Above 991px the hero script overrides this with an animated gradient reveal. */
  background-color: var(--_color---secondary--accent-yellow);
  -webkit-box-decoration-break: clone; /* per-line highlight when text wraps */
  box-decoration-break: clone;
  padding-left: 0.15em;
  padding-right: 0.15em;
}
/* === End Yellow Span - Hero Variant === */


/* Mobile Nav — Full viewport coverage + no gaps */
@media (max-width: 991px) {
  .w-nav-overlay {
    min-height: calc(100vh + 100px);
    min-height: calc(100dvh + 100px);
  }
  
  .nav-menu {
    min-height: calc(100vh + 100px);
    min-height: calc(100dvh + 100px);
  }
}
</style></div><div class="custom-js w-embed w-script"><script>
/**
 * Text Accent & Style Parser
 * 
 * Converts bracketed text [like this] into styled spans.
 * Use brackets in component text fields to mark words for styling.
 * 
 * SETUP:
 *   1. Add data-accent-text attribute to your text element
 *   2. Set the value to the style type (can be linked to component property)
 *   3. In the text content, wrap accent words in square brackets
 * 
 * EXAMPLES:
 * 
 *   Blue/teal accent:
 *     Attribute: data-accent-text="teal"
 *     Input:     [New Business] Insurance Setup
 *     Output:    <span class="text-style-accent-teal">New Business</span> Insurance Setup
 * 
 *   Green accent:
 *     Attribute: data-accent-text="green"
 *     Input:     Protect Your [Future] Today
 *     Output:    Protect Your <span class="text-style-accent-green">Future</span> Today
 * 
 *   Gold accent:
 *     Attribute: data-accent-text="gold"
 *     Input:     [Premium] Coverage Plans
 *     Output:    <span class="text-style-accent-gold">Premium</span> Coverage Plans
 * 
 *   Italic only:
 *     Attribute: data-accent-text="italic"
 *     Input:     We make insurance [simple]
 *     Output:    We make insurance <span class="text-style-accent-italic">simple</span>
 * 
 *   Multiple words in one element:
 *     Input:     [Smart] Insurance for [Modern] Teams
 *     Output:    <span>Smart</span> Insurance for <span>Modern</span> Teams
 * 
 * COMPONENT PROPERTY SETUP:
 *   1. Create a text or select property (e.g., "Accent Color")
 *   2. Set options: teal, green, gold, italic
 *   3. Bind the data-accent-text value to this property
 *   4. Now each component instance can have a different accent color
 * 
 * REQUIRED CSS (in global styles):
 *   html:not(.wf-design-mode) [data-accent-text] {
 *     visibility: hidden;
 *   }
 * 
 * REQUIRED CLASSES (create in Webflow):
 *   .text-style-accent-teal   → color: #3CEBC1, font-style: italic
 *   .text-style-accent-green  → color: #00FF00, font-style: italic
 *   .text-style-accent-gold   → color: #FFD700, font-style: italic
 *   .text-style-accent-italic → font-style: italic
 */

document.addEventListener('DOMContentLoaded', () => {
  
  document.querySelectorAll('[data-accent-text]').forEach(el => {
    const style = el.getAttribute('data-accent-text');
    
    el.innerHTML = el.textContent.replace(
      /\[(.*?)\]/g,
      `<span class="text-style-accent-${style}">$1</span>`
    );
    el.style.visibility = 'visible';
  });

});
</script></div><div class="safari-auto-tab w-embed w-script"><!-- Safari Tab Scroll Fix (Site-wide) -->
<script>
(function() {
  // Only run on Safari
  const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
  if (!isSafari) return;

  let scrollLock = false;
  let savedScrollY = 0;
  let savedScrollX = 0;

  // Lock scroll position before tab changes
  function lockScroll() {
    savedScrollX = window.scrollX;
    savedScrollY = window.scrollY;
    scrollLock = true;
  }

  // Restore scroll position
  function restoreScroll() {
    if (!scrollLock) return;
    window.scrollTo(savedScrollX, savedScrollY);
  }

  // Restore multiple times to catch Safari's delayed scroll
  function restoreScrollPersistent() {
    restoreScroll();
    requestAnimationFrame(restoreScroll);
    setTimeout(restoreScroll, 0);
    setTimeout(restoreScroll, 50);
    setTimeout(restoreScroll, 100);
    setTimeout(function() {
      scrollLock = false;
    }, 150);
  }

  // Wait for DOM
  function init() {
    const tabLinks = document.querySelectorAll('.w-tab-link');
    
    tabLinks.forEach(function(link) {
      // Intercept focus
      link.addEventListener('focus', function() {
        if (scrollLock) {
          restoreScroll();
        }
      }, true);

      // Watch for class/attribute changes (tab becoming active)
      const observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
          if (mutation.attributeName === 'class' || 
              mutation.attributeName === 'aria-selected') {
            if (scrollLock) {
              restoreScrollPersistent();
            }
          }
        });
      });
      
      observer.observe(link, { attributes: true });
    });

    // Intercept jQuery trigger if jQuery exists
    if (window.jQuery) {
      const originalTrigger = jQuery.fn.trigger;
      jQuery.fn.trigger = function(type) {
        if (type === 'click' && this.hasClass && this.hasClass('w-tab-link')) {
          lockScroll();
          const result = originalTrigger.apply(this, arguments);
          restoreScrollPersistent();
          return result;
        }
        return originalTrigger.apply(this, arguments);
      };
    }

    // Also intercept native clicks on tab links that might be programmatic
    document.addEventListener('click', function(e) {
      const tabLink = e.target.closest('.w-tab-link');
      if (tabLink && e.isTrusted === false) {
        // Programmatic click
        lockScroll();
        restoreScrollPersistent();
      }
    }, true);
  }

  // Initialize when DOM is ready
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
</script>
<!-- End Safari Tab Scroll Fix --></div><div class="custom-code-new-btn w-embed w-script"><svg width="0" height="0" style="position:absolute" aria-hidden="true" focusable="false">
  <defs>
    <symbol id="btn-cap-left" viewBox="0 0 26 52" preserveAspectRatio="none">
      <path fill="currentColor" d="M4 0 C4 0, 0 0, 0 4 L0 48 C0 48, 0 52, 4 52 L26 52 L26 0 L4 0 Z"/>
    </symbol>
    <symbol id="btn-cap-right" viewBox="0 0 27 52" preserveAspectRatio="none">
      <path fill="currentColor" d="M22 52 C22 52, 26 52, 26 48 L26 4 C26 4, 26 0, 22 0 L0 0 L0 52 L22 52 Z"/>
    </symbol>
  </defs>
</svg>

<style>
  .btn-new-v3 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    padding: 0 28px;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    color: #0f1c2c;
    background-color: transparent !important;
    border: none !important;
  }
  .btn-new-v3 .btn-bg-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    color: #3be0ad;
    transition: color 0.3s ease-out;
  }
  .btn-new-v3 .btn-text-v3 {
    position: relative;
    z-index: 1;
    transition: color 0.3s ease-out;
  }

  /* Navy variant */
  .btn-new-v3[data-wf--btn-primary--variant="black"] .btn-bg-svg {
    color: #263240;
  }
  .btn-new-v3[data-wf--btn-primary--variant="black"] .btn-text-v3 {
    color: #ffffff;
  }

  /* Black Style 2 — navy at rest, taupe on hover (text goes navy on hover).
     Color handled purely in CSS; JS only drives the shape morph for this variant. */
  .btn-new-v3[data-wf--btn-primary--variant="black-style-2"] .btn-bg-svg {
    color: var(--_color---secondary--navy);
  }
  .btn-new-v3[data-wf--btn-primary--variant="black-style-2"] .btn-text-v3 {
    color: #ffffff;
  }
  .btn-new-v3[data-wf--btn-primary--variant="black-style-2"]:hover .btn-bg-svg {
    color: var(--_color---secondary--taupe);
  }
  .btn-new-v3[data-wf--btn-primary--variant="black-style-2"]:hover .btn-text-v3 {
    color: var(--_color---secondary--navy);
  }
  /* Match the green variant's ~80ms color lag behind the shape morph on hover-in. */
  .btn-new-v3[data-wf--btn-primary--variant="black-style-2"]:hover .btn-bg-svg,
  .btn-new-v3[data-wf--btn-primary--variant="black-style-2"]:hover .btn-text-v3 {
    transition-delay: 0.08s;
  }
</style>

<script>
(function() {
  var DURATION = 600;
  var GREEN = 'rgb(59, 224, 173)';
  var NAVY = '#263240';
  var WHITE = '#ffffff';

  var ease = (function(p1x, p1y, p2x, p2y) {
    return function(t) {
      function sx(t){return ((1-3*p2x+3*p1x)*t+(3*p2x-6*p1x))*t*t+3*p1x*t;}
      function sy(t){return ((1-3*p2y+3*p1y)*t+(3*p2y-6*p1y))*t*t+3*p1y*t;}
      function dx(t){return (3*(1-3*p2x+3*p1x))*t*t+2*(3*p2x-6*p1x)*t+3*p1x;}
      var t2=t;
      for(var i=0;i<8;i++){var x=sx(t2)-t;if(Math.abs(x)<1e-6)return sy(t2);var d=dx(t2);if(Math.abs(d)<1e-6)break;t2-=x/d;}
      return sy(t2);
    };
  })(0.22, 1, 0.36, 1);

  function lerp(a, b, t) { return a + (b - a) * t; }

  function buildPath(w, t) {
    // t: 0 = rest (rectangle with 4px outer radius), 1 = hover (curved caps with attach 9.2)
    var attach = lerp(4, 9.2, t);
    var bulgeY1 = lerp(0, 10.76, t);
    var bulgeY2 = lerp(52, 41.24, t);
    var cornerY1 = lerp(4, 26, t);
    var cornerY2 = lerp(48, 26, t);

    return 'M' + attach + ' 0' +
           ' L' + (w - attach) + ' 0' +
           ' C' + (w - attach) + ' 0, ' + w + ' ' + bulgeY1 + ', ' + w + ' ' + cornerY1 +
           ' L' + w + ' ' + cornerY2 +
           ' C' + w + ' ' + bulgeY2 + ', ' + (w - attach) + ' 52, ' + (w - attach) + ' 52' +
           ' L' + attach + ' 52' +
           ' C' + attach + ' 52, 0 ' + bulgeY2 + ', 0 ' + cornerY2 +
           ' L0 ' + cornerY1 +
           ' C0 ' + bulgeY1 + ', ' + attach + ' 0, ' + attach + ' 0' +
           ' Z';
  }

  function initButton(btn) {
    var svg = btn.querySelector('.btn-bg-svg');
    var path = btn.querySelector('.btn-bg-path');
    var text = btn.querySelector('.btn-text-v3');
    if (!svg || !path) return;

    var progress = 0, rafId = null, startTime = 0, startProgress = 0, targetProgress = 0;

    function setPath(t) {
      var w = btn.getBoundingClientRect().width;
      svg.setAttribute('viewBox', '0 0 ' + w + ' 52');
      path.setAttribute('d', buildPath(w, t));
    }

    function tick(now) {
      var elapsed = now - startTime;
      var span = Math.abs(targetProgress - startProgress);
      var t = span === 0 ? 1 : Math.min(1, elapsed / (DURATION * span));
      progress = startProgress + (targetProgress - startProgress) * ease(t);
      setPath(progress);
      if (t < 1) rafId = requestAnimationFrame(tick);
    }

    function animateTo(target) {
      if (rafId) cancelAnimationFrame(rafId);
      startTime = performance.now();
      startProgress = progress;
      targetProgress = target;
      rafId = requestAnimationFrame(tick);
    }

    // Initial paint
    setPath(0);

    // Redraw when button size changes (text edits, responsive resizes)
    if (window.ResizeObserver) {
      new ResizeObserver(function() { setPath(progress); }).observe(btn);
    }

    // Shape morph hover — runs for all variants
    btn.addEventListener('mouseenter', function() { animateTo(1); });
    btn.addEventListener('mouseleave', function() { animateTo(0); });

    // Color hover — only the green (default) variant uses JS for color.
    // black and black-style-2 set their colors in CSS (:hover), so skip the JS color logic.
    var variant = btn.getAttribute('data-wf--btn-primary--variant');
    if (variant === 'black' || variant === 'black-style-2') return;

    var hoverTimer;
    btn.addEventListener('mouseenter', function() {
      hoverTimer = setTimeout(function() {
        svg.style.color = NAVY;
        if (text) text.style.color = WHITE;
      }, 80);
    });
    btn.addEventListener('mouseleave', function() {
      clearTimeout(hoverTimer);
      svg.style.color = GREEN;
      if (text) text.style.color = '';
    });
  }

  window._initV3Button = initButton;
   function init() {
   document.querySelectorAll('.btn-new-v3').forEach(initButton);
  }
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
</script>


<!--- Hubspot New Button --->
<script>
(function() {
  function svgMarkup() {
    return '<svg class="btn-bg-svg" preserveAspectRatio="none" aria-hidden="true">' +
           '<path class="btn-bg-path" fill="currentColor" d=""/></svg>';
  }

  function getButtonLabel(submitEl) {
    // <input type="submit"> uses .value, <button> uses .textContent
    if (submitEl.tagName === 'INPUT') return submitEl.value || 'Submit';
    return (submitEl.textContent || '').trim() || 'Submit';
  }

  function wrapHubspotButton(submitEl) {
    if (submitEl.dataset.v3Wrapped) return;
    submitEl.dataset.v3Wrapped = '1';

    var label = getButtonLabel(submitEl);

    // Hide the real submit (keep in DOM for HubSpot's validation/submission)
    submitEl.style.position = 'absolute';
    submitEl.style.opacity = '0';
    submitEl.style.pointerEvents = 'none';
    submitEl.style.width = '1px';
    submitEl.style.height = '1px';
    submitEl.style.overflow = 'hidden';

    // Build the v3 button
    var customBtn = document.createElement('button');
    customBtn.type = 'button';
    customBtn.className = 'btn-new-v3';
    customBtn.innerHTML = svgMarkup() +
      '<span class="btn-text-v3">' + label + '</span>';

    submitEl.parentNode.insertBefore(customBtn, submitEl);

    customBtn.addEventListener('click', function(e) {
      e.preventDefault();
      submitEl.click();
    });

    if (window._initV3Button) window._initV3Button(customBtn);
  }

  function scanForHubspotButtons() {
    // Match both legacy v2 (.hs-button) and new HSFC (.hsfc-Button) submits
    var selectors = [
      '.hs-button[type="submit"]',
      'input.hs-button[type="submit"]',
      '.hsfc-Button[type="submit"]',
      'button.hsfc-Button'
    ];
    document.querySelectorAll(selectors.join(',')).forEach(wrapHubspotButton);
  }

  // Listen for HubSpot v2 form ready event
  window.addEventListener('message', function(event) {
    if (event.data && event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormReady') {
      setTimeout(scanForHubspotButtons, 50);
    }
  });

  // Poll for both embed types (HSFC doesn't always fire the message event)
  var attempts = 0;
  var poll = setInterval(function() {
    scanForHubspotButtons();
    if (++attempts > 40) clearInterval(poll); // 10 seconds total
  }, 250);

  // MutationObserver as final safety net — catches buttons added late or after edits
  var observer = new MutationObserver(function(mutations) {
    for (var i = 0; i < mutations.length; i++) {
      if (mutations[i].addedNodes.length) {
        scanForHubspotButtons();
        break;
      }
    }
  });
  observer.observe(document.body, { childList: true, subtree: true });
})();
</script></div></div><div data-wf--nav--variant="base" data-animation="default" data-collapse="medium" data-duration="0" data-easing="ease" data-easing2="ease" role="banner" class="nav w-nav"><div class="nav-custom-css w-embed"><style>
	/* Mobile menu button animation */
  .nav-menu_btn.w--open .cc-top {
    transform: translateY(9px) rotate(45deg);
  }
  .nav-menu_btn.w--open .cc-middle {
    opacity: 0;
    transform: translateY(0);
  }
  .nav-menu_btn.w--open .cc-bottom {
    transform: translateY(-9px) rotate(-45deg);
  }

  /* When a nav dropdown is open.. */
  /* ..Rotate narrow */
  .nav-link.w--open .nav-dropdown_arrow {
    transform: rotate(180deg)
  }
  /* ..Show overlay on desktop */
  @media (min-width: 992px) {
    .nav-menu:has(.nav-link.w--open) .nav-dropdown_overlay {
      display: block;
    }
  }

  /* Lock body scroll when mobile nav is open */
  body:has( .w-nav-button.w--open) {
    overflow: hidden;
  }

  /* Nav CTA wrapper mode when nav menu hidden */
  @media (min-width: 992px) {
    .nav-menu + .nav-cta-wrapper {
      margin-left: 0;
    }
  }
</style>


<style>
/* Mobile Secondary Dropdown */
.mega_menu-industries-link-headline .mega_menu-tab-arrow {
  transition: transform 0.3s ease;
}
.mega_menu-industries-link-headline.is--open .mega_menu-tab-arrow {
  transform: rotate(180deg);
}

@media (max-width: 991px) {
  .mega_menu-mobile-accordion-container {
    display: none;
  }
}
</style></div><div class="nav-custom-js w-embed w-script"><script>
	//---- Skip to <main> functionality ----
  document.addEventListener('DOMContentLoaded', () => {
    const skipLinkEle = document.getElementById('skip-link');
    if (!skipLinkEle) return;

    skipLinkEle.addEventListener('click', handleSkipLink);
    skipLinkEle.addEventListener('keydown', handleSkipLink);
  });

  function handleSkipLink(e) {
    if (e.type === 'keydown' && e.key !== 'Enter') return;

    e.preventDefault();
    const target = document.querySelector('main');
    target.setAttribute('tabindex', '-1');
    target.focus();
  }
</script></div><div class="js-fix-bugs w-embed w-script"><script>
document.addEventListener('DOMContentLoaded', () => {
  const navButton = document.querySelector('.w-nav-button');
  const navOverlay = document.querySelector('.w-nav-overlay');
  const nav = document.querySelector('.w-nav');
  
  if (!navButton) return;

  let menuShouldBeOpen = false;
  let buttonClicked = false;
  let fixingMenu = false;

  // Try to disable Webflow IX2 on nav elements
  if (window.Webflow && window.Webflow.require) {
    try {
      const ix2 = window.Webflow.require('ix2');
      if (ix2 && ix2.destroy) {
        // Don't destroy globally, but note this exists
        console.log('IX2 found');
      }
    } catch(e) {}
  }

  // Remove any data-w-id attributes that trigger interactions
  nav?.querySelectorAll('[data-w-id]').forEach(el => {
    el.removeAttribute('data-w-id');
  });

  navButton.addEventListener('click', () => {
    if (fixingMenu) return;
    buttonClicked = true;
    menuShouldBeOpen = !menuShouldBeOpen;
    setTimeout(() => { buttonClicked = false; }, 150);
  });

  const forceOpen = () => {
    if (fixingMenu) return;
    fixingMenu = true;
    
    if (navOverlay) navOverlay.style.visibility = 'hidden';
    
    requestAnimationFrame(() => {
      navButton.click();
      requestAnimationFrame(() => {
        if (navOverlay) navOverlay.style.visibility = 'visible';
        fixingMenu = false;
      });
    });
  };

  const observer = new MutationObserver(() => {
    if (fixingMenu || buttonClicked) return;
    
    const isOpen = navButton.classList.contains('w--open');

    if (menuShouldBeOpen && !isOpen) {
      forceOpen();
    }

    if (!isOpen && buttonClicked) {
      menuShouldBeOpen = false;
    }
  });

  observer.observe(navButton, { attributes: true, attributeFilter: ['class'] });

  // Faster polling as failsafe
  setInterval(() => {
    if (fixingMenu || buttonClicked) return;
    
    if (menuShouldBeOpen && !navButton.classList.contains('w--open')) {
      forceOpen();
    }
  }, 100);

  // Block all problematic events
  ['resize', 'scroll', 'orientationchange', 'visibilitychange', 'blur', 'focus', 'focusin', 'focusout'].forEach(evt => {
    window.addEventListener(evt, (e) => {
      if (navButton.classList.contains('w--open')) {
        e.stopImmediatePropagation();
      }
    }, true);
    
    document.addEventListener(evt, (e) => {
      if (navButton.classList.contains('w--open')) {
        e.stopImmediatePropagation();
      }
    }, true);
  });
});
</script></div><div class="js-secondary-dropdown w-embed w-script"><!--- Mobiel Secondary Dropdown Menu --->
<script>
// Mobile Secondary Dropdown
document.addEventListener('DOMContentLoaded', function () {
  if (window.innerWidth > 991) return;

  const headlines = document.querySelectorAll('.mega_menu-industries-link-headline');

  headlines.forEach((headline) => {
    const container = headline.nextElementSibling;
    if (!container || !container.classList.contains('mega_menu-mobile-accordion-container')) return;

    container.style.display = 'none';
    headline.style.cursor = 'pointer';
    headline.setAttribute('role', 'button');
    headline.removeAttribute('href');

    headline.addEventListener('click', (e) => {
      e.preventDefault();
      e.stopPropagation();
      const isOpen = container.style.display !== 'none';
      container.style.display = isOpen ? 'none' : 'block';
      headline.classList.toggle('is--open', !isOpen);
    });

    container.querySelectorAll('a').forEach((link) => {
      link.addEventListener('click', () => {
        container.style.display = 'none';
        headline.classList.remove('is--open');
      });
    });
  });

  const menuToggle = document.querySelector('.w-nav-button');
  if (menuToggle) {
    menuToggle.addEventListener('click', () => {
      headlines.forEach((headline) => {
        const container = headline.nextElementSibling;
        if (container && container.classList.contains('mega_menu-mobile-accordion-container')) {
          container.style.display = 'none';
          headline.classList.remove('is--open');
        }
      });
    });
  }
});
</script></div><a id="skip-link" href="#main" class="nav-skip-link">Skip to Main Content</a><div class="container cc-nav"><a href="/" aria-current="page" class="nav-logo_link w-nav-brand w--current"><div class="u-w-100 w-embed"><svg width="100%" height="100%" viewBox="0 0 120 51" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M23.5898 25.3412C23.5898 16.8483 27.9931 12.0078 35.7486 12.0078C43.5042 12.0078 47.9104 16.8219 47.9104 25.3412C47.9104 33.8605 43.5071 38.6746 35.7486 38.6746C27.9901 38.6746 23.5898 33.9163 23.5898 25.3412ZM40.0051 25.3412C40.0051 20.5183 38.1528 18.8432 35.7486 18.8432C33.5529 18.8432 31.4922 20.5183 31.4922 25.3412C31.4922 30.1641 33.547 31.8393 35.7486 31.8393C37.9502 31.8393 40.0051 30.1641 40.0051 25.3412Z" fill="currentColor"/>
<path d="M73.8086 25.3412C73.8086 16.7691 78.5611 12.0078 85.6092 12.0078C92.6574 12.0078 96.5439 15.5927 96.8757 22.1494H89.0086C88.6504 19.4651 87.5408 18.6907 85.6269 18.6907C83.0701 18.6907 81.7139 20.6943 81.7139 25.3412C81.7139 29.8884 83.1816 31.9889 85.6269 31.9889C87.576 31.9889 88.6504 31.3229 89.0086 28.5301H96.8757C96.5821 35.0985 92.2581 38.6746 85.7032 38.6746C78.1502 38.6746 73.8086 33.7813 73.8086 25.3412Z" fill="currentColor"/>
<path d="M99.2695 12.8438H106.773V21.985H112.497V12.8438H120V37.8384H112.497V28.6121H106.773V37.8384H99.2695V12.8438Z" fill="currentColor"/>
<path d="M50.1758 12.8526H57.5674V28.8908C57.5674 30.8593 58.586 32.4376 60.5586 32.4376C62.728 32.4376 64.0167 31.1028 64.0167 27.7437V12.8438H71.417V37.8032H64.0167V34.8696C63.136 36.9965 60.5733 38.5043 57.9108 38.5043C52.8852 38.5043 50.1758 35.2275 50.1758 29.7944V12.8526Z" fill="currentColor"/>
<path d="M15.2087 12.8438L11.7889 29.2281L8.32797 12.8438H0L7.47373 37.8384H16.063L23.5896 12.8438H15.2087Z" fill="currentColor"/>
<path d="M85.722 44.1757C81.3188 44.1757 78.2277 42.7646 75.3979 40.6289H65.7695C70.1728 46.9069 77.2708 50.7529 85.7308 50.7529C94.1909 50.7529 101.268 46.9069 105.692 40.6289H96.0667C93.2339 42.7646 90.134 44.1757 85.7396 44.1757" fill="currentColor"/>
<path d="M49.598 3.90616C45.5551 1.31059 40.841 -0.0466878 36.0361 0.00146793C31.2489 -0.051057 26.5523 1.30704 22.5329 3.90616C20.0908 5.50603 17.9693 7.54766 16.2773 9.92603H25.9967C28.7649 7.9106 31.8031 6.57872 36.0243 6.57872C40.2455 6.57872 43.3102 7.9106 46.1077 9.92603H55.9063C54.1954 7.54774 52.0585 5.5067 49.6038 3.90616" fill="currentColor"/>
</svg></div></a><div class="nav-menu_btn w-nav-button"><div class="nav-menu_btn-bar cc-top"></div><div class="nav-menu_btn-bar cc-middle"></div><div class="nav-menu_btn-bar cc-bottom"></div></div><nav role="navigation" class="nav-menu w-nav-menu"><div class="nav-dropdown_overlay"><div class="nav-dropdown_overlay-color"></div></div><div class="nav-menu_container"><div data-hover="true" data-delay="0" class="nav-dropdown cc-mega w-dropdown"><div class="nav-link w-dropdown-toggle"><div class="nav-link-dropdown-arrow w-icon-dropdown-toggle"></div><div>Industries</div></div><nav class="nav-dropdown_content cc-mega w-dropdown-list"><div class="container cc-dropdown-nav"><div class="mega_menu-industries"><div data-current="Tab 1" data-easing="ease" data-duration-in="0" data-duration-out="0" class="mega_menu-industries-wrapper-desktop w-tabs"><div class="mega_menu-industries-col-left w-tab-menu"><a data-w-tab="Tab 1" ms-code-onhover="click" class="mega_menu-tab-link w-inline-block w-tab-link w--current"><div>Technology</div><div class="mega_menu-tab-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a><a data-w-tab="Tab 2" ms-code-onhover="click" class="mega_menu-tab-link w-inline-block w-tab-link"><div>Healthcare &amp; Life Sciences</div><div class="mega_menu-tab-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a><a data-w-tab="Tab 3" ms-code-onhover="click" class="mega_menu-tab-link w-inline-block w-tab-link"><div>Financial Services</div><div class="mega_menu-tab-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a><a data-w-tab="Tab 4" ms-code-onhover="click" class="mega_menu-tab-link w-inline-block w-tab-link"><div>Professional Services</div><div class="mega_menu-tab-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div><div class="mega_menu-industries-col-right w-tab-content"><div data-w-tab="Tab 1" class="mega_menu-tab-panel w-tab-pane w--tab-active"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5"></div><div class="mega_menu-panel-row-up"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/691af60e5dad25e53686cec2_technology-panel-image.png" alt="" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox"><div class="paragraph-sm u-font-extended">Technology</div><div class="paragraph-sm">Get instant quoting, backed by an expert team as you scale.</div><a data-track-navigation="technology" href="/technology" class="arrow-link style-2 w-inline-block"><div class="home-tab-inside-link-arrow style-3 w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10"></div><div class="mega_menu-panel-row-bottom"><a data-track-navigation="technology-ai" href="/technology/ai" class="simple-link">AI</a><a data-track-navigation="technology-ecommerce" href="/technology/ecommerce" class="simple-link">eCommerce</a><a data-track-navigation="technology-b2b-saas" href="/technology/saas" class="simple-link">Saas</a><a data-track-navigation="technology-fintech" href="/technology/fintech" class="simple-link">Fintech</a><a data-track-navigation="technology-cybersecurity" href="/technology/cybersecurity" class="simple-link u-hide">Cybersecurity</a><a data-track-navigation="technology-hardware" href="/technology/hardware" class="simple-link">Hardware</a><a data-track-navigation="technology-devtools" href="/technology/devtools" class="simple-link u-hide">DevTools</a><a data-track-navigation="technology-crypto" href="/technology/crypto" class="simple-link">Crypto</a></div><div class="mega_menu-spacer-1-5"></div></div><div class="tab-custom-code w-embed w-script"><!-- Hover Over Tabs -->
<script>
  document.addEventListener('DOMContentLoaded', function() {
    const hoverTabElements = document.querySelectorAll('[ms-code-onhover="click"]');

    hoverTabElements.forEach(hoverTabElement => {
      hoverTabElement.addEventListener('mouseenter', function() {
        hoverTabElement.click(); // Click on the element when hovering
      });
    });
  });
</script></div></div><div data-w-tab="Tab 2" class="mega_menu-tab-panel w-tab-pane"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5"></div><div class="mega_menu-panel-row-up"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a71611cb3903574ecd68e7_home-tab-img-2-2-p-500.jpg 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a71611cb3903574ecd68e7_home-tab-img-2-2-p-800.jpg 800w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a71611cb3903574ecd68e7_home-tab-img-2-2.jpg 965w" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a71611cb3903574ecd68e7_home-tab-img-2-2.jpg" loading="lazy" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox"><div class="paragraph-sm u-font-extended">Healthcare &amp; Life Sciences</div><div class="paragraph-sm">Protection for digital health and life sciences companies from clinical trials to commercialization.</div><a data-track-navigation="health-life-sciences" href="/healthcare-life-sciences" class="arrow-link style-5 w-inline-block"><div class="home-tab-inside-link-arrow style-6 w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10"></div><div class="mega_menu-panel-row-bottom"><a data-track-navigation="healthTech" href="/healthcare-life-sciences/healthtech" class="simple-link">HealthTech</a></div><div class="mega_menu-spacer-1-5"></div></div></div><div data-w-tab="Tab 3" class="mega_menu-tab-panel w-tab-pane"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5"></div><div class="mega_menu-panel-row-up"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a7169641c4f8905d3c38eb_home-tab-img-4-2-p-500.jpg 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a7169641c4f8905d3c38eb_home-tab-img-4-2-p-800.jpg 800w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a7169641c4f8905d3c38eb_home-tab-img-4-2.jpg 965w" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a7169641c4f8905d3c38eb_home-tab-img-4-2.jpg" loading="lazy" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox"><div class="paragraph-sm u-font-extended">Financial Services</div><div class="paragraph-sm">Scalable insurance built for regulator, investor, and client expectations.</div><a data-track-navigation="financial-services" href="/financial-services" class="arrow-link style-8 w-inline-block"><div class="home-tab-inside-link-arrow style-9 w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10"></div><div class="mega_menu-panel-row-bottom"><a data-track-navigation="venture-capital" href="/financial-services/venture-capital" class="simple-link">Venture Capital</a><a data-track-navigation="hedgefunds" href="/financial-services/hedge-funds" class="simple-link">Hedge Funds</a><a data-track-navigation="asset-management" href="/financial-services/asset-management" class="simple-link">Asset Management</a></div><div class="mega_menu-spacer-1-5"></div></div></div><div data-w-tab="Tab 4" class="mega_menu-tab-panel w-tab-pane"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5"></div><div class="mega_menu-panel-row-up"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a716f396f666d4e3b76438_home-tab-img-3-2-p-500.jpg 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a716f396f666d4e3b76438_home-tab-img-3-2-p-800.jpg 800w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a716f396f666d4e3b76438_home-tab-img-3-2.jpg 965w" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a716f396f666d4e3b76438_home-tab-img-3-2.jpg" loading="lazy" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox"><div class="paragraph-sm u-font-extended">Professional Services</div><div class="paragraph-sm">Safeguard your credibility, fulfill contractual requirements, and stay focused on your clients.</div><a data-track-navigation="professional-services" href="/professional-services" class="arrow-link style-11 w-inline-block"><div class="home-tab-inside-link-arrow style-12 w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10"></div><div class="mega_menu-panel-row-bottom"><a data-track-navigation="aec" href="/professional-services/engineering-construction" class="simple-link">Architecture, Engineering, and Construction</a><a data-track-navigation="management-consulting" href="/professional-services/management-consulting" class="simple-link">Management Consulting</a><a data-track-navigation="accounting" href="/professional-services/accounting-finance" class="simple-link">Accounting &amp; Finance</a><a data-track-navigation="it-consulting" href="/professional-services/it-consulting" class="simple-link">IT Consulting</a><a data-track-navigation="marketing-design" href="/professional-services/marketing-creative" class="simple-link">Marketing, Design, &amp; Creative</a></div><div class="mega_menu-spacer-1-5"></div></div></div></div></div><div class="mega_menu-industries-mobile"><div class="mega_menu-industries-mobile-wrapper"><div class="mega_menu-industries-mob-link"><a data-track-navigation="technology-mobile" href="#" class="mega_menu-industries-link-headline w-inline-block"><div>Technology</div><div class="mega_menu-tab-arrow cc-dropdown w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div><div class="mega_menu-tab-arrow cc-link w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a><div class="mega_menu-mobile-accordion-container"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5 u-tb-hidden"></div><div class="mega_menu-panel-row-up u-tb-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/691af60e5dad25e53686cec2_technology-panel-image.png" alt="" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox"><div class="paragraph-sm u-font-extended">Technology</div><div class="paragraph-sm">From AI breakthroughs to payment rails, insurance has to scale with you, without tripping over regulators.</div><a data-wf--btn-tertiary--variant="style-2" href="/technology" class="arrow-link w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10 u-tb-hidden"></div><div class="mega_menu-panel-row-bottom"><a href="/technology" class="simple-link cc-overview w-inline-block"><div class="u-mb-0">Technology Overview →</div></a><a href="/technology/ai" class="simple-link">AI</a><a href="/technology/ecommerce" class="simple-link">eCommerce</a><a href="/technology/saas" class="simple-link">Saas</a><a href="/technology/fintech" class="simple-link">Fintech</a><a href="/technology/cybersecurity" class="simple-link u-hide">Cybersecurity</a><a href="/technology/hardware" class="simple-link">Hardware</a><a href="/technology/devtools" class="simple-link u-hide">DevTools</a><a href="/technology/crypto" class="simple-link">Crypto</a></div><div class="mega_menu-spacer-1-5 u-tb-hidden"></div></div></div></div></div><div class="mega_menu-industries-mobile-wrapper"><div class="mega_menu-industries-mob-link"><a data-track-navigation="healthcare-life-scients-mobile" href="#" class="mega_menu-industries-link-headline w-inline-block"><div>Healthcare &amp; Life Sciences</div><div class="mega_menu-tab-arrow cc-dropdown w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div><div class="mega_menu-tab-arrow cc-link w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a><div class="mega_menu-mobile-accordion-container"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5 u-tb-hidden"></div><div class="mega_menu-panel-row-up u-tb-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/691af60e5dad25e53686cec2_technology-panel-image.png" alt="" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox u-tb-hidden"><div class="paragraph-sm u-font-extended">Health &amp; Life Sciences</div><div class="paragraph-sm">From AI breakthroughs to payment rails, insurance has to scale with you, without tripping over regulators.</div><a data-wf--btn-tertiary--variant="style-2" href="/healthcare-life-sciences" class="arrow-link w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10 u-tb-hidden"></div><div class="mega_menu-panel-row-bottom"><a href="/healthcare-life-sciences" class="simple-link cc-overview w-inline-block"><div class="u-mb-0">Healthcare &amp; Life Sciences Overview →</div></a><a href="/healthcare-life-sciences/healthtech" class="simple-link">HealthTech</a></div><div class="mega_menu-spacer-1-5 u-tb-hidden"></div></div></div></div></div><div class="mega_menu-industries-mobile-wrapper"><div class="mega_menu-industries-mob-link"><a data-track-navigation="financial-services-mobile" href="#" class="mega_menu-industries-link-headline w-inline-block"><div>Financial Services</div><div class="mega_menu-tab-arrow cc-dropdown w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div><div class="mega_menu-tab-arrow cc-link w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a><div class="mega_menu-mobile-accordion-container"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5 u-tb-hidden"></div><div class="mega_menu-panel-row-up u-tb-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/691af60e5dad25e53686cec2_technology-panel-image.png" alt="" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox u-tb-hidden"><div class="paragraph-sm u-font-extended">Financial Services</div><div class="paragraph-sm">From AI breakthroughs to payment rails, insurance has to scale with you, without tripping over regulators.</div><a data-wf--btn-tertiary--variant="style-2" href="/financial-services" class="arrow-link w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10 u-tb-hidden"></div><div class="mega_menu-panel-row-bottom"><a href="/financial-services" class="simple-link cc-overview w-inline-block"><div class="u-mb-0">Financial Services Overview →</div></a><a href="/financial-services/venture-capital" class="simple-link">Venture Capital</a><a href="/financial-services/hedge-funds" class="simple-link">Hedge Funds</a><a href="/financial-services/asset-management" class="simple-link">Asset Management</a></div><div class="mega_menu-spacer-1-5 u-tb-hidden"></div></div></div></div></div><div class="mega_menu-industries-mobile-wrapper"><div class="mega_menu-industries-mob-link"><a data-track-navigation="professional-services-mobile" href="#" class="mega_menu-industries-link-headline w-inline-block"><div>Professional Services</div><div class="mega_menu-tab-arrow cc-dropdown w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div><div class="mega_menu-tab-arrow cc-link w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66797 5.32812L9.33464 7.99479L6.66797 10.6615" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a><div class="mega_menu-mobile-accordion-container"><div class="mega_menu-tab-panel-wrapper"><div class="mega_menu-spacer-1-5 u-tb-hidden"></div><div class="mega_menu-panel-row-up u-tb-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/691af60e5dad25e53686cec2_technology-panel-image.png" alt="" class="mega_menu-panel-img"/><div class="meg_menu-panel-main-headbox u-tb-hidden"><div class="paragraph-sm u-font-extended">Professional Services</div><div class="paragraph-sm">From AI breakthroughs to payment rails, insurance has to scale with you, without tripping over regulators.</div><a data-wf--btn-tertiary--variant="style-2" href="/professional-services" class="arrow-link w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373">Learn more</div></a></div></div><div class="div-horizontal cc-nav_10 u-tb-hidden"></div><div class="mega_menu-panel-row-bottom"><a href="/professional-services" class="simple-link cc-overview w-inline-block"><div class="u-mb-0">Professional Services Overview →</div></a><a href="/professional-services/engineering-construction" class="simple-link">Architecture, Engineering, and Construction</a><a href="/professional-services/accounting-finance" class="simple-link">Accounting &amp; Finance</a><a href="/professional-services/it-consulting" class="simple-link">IT Consulting</a><a href="/professional-services/marketing-creative" class="simple-link">Marketing, Design, &amp; Creative</a><a href="/professional-services/management-consulting" class="simple-link">Management Consulting</a></div><div class="mega_menu-spacer-1-5"></div></div></div></div></div></div></div></div></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown cc-mega w-dropdown"><div class="nav-link w-dropdown-toggle"><div class="nav-link-dropdown-arrow w-icon-dropdown-toggle"></div><div>Services</div></div><nav class="nav-dropdown_content cc-mega w-dropdown-list"><div class="container cc-dropdown-nav"><div class="mega_menu-solutions"><div class="meg_menu-solutions-wrapper"><a data-track-navigation="new-business-insurance-setup" href="/services/new-business-insurance-setup" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-img-holder"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9adc27220bd95074654_New%20Business%20Insurance%20Setup.png" loading="lazy" alt="" class="solutions-icon"/></div><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">New Business Insurance Setup</div><div class="paragraph-sm u-mb-0">No guesswork required.</div></div></a><a data-track-navigation="founder-investor-protection" href="/services/investor-fundraising-protection" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-img-holder"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/691b15805021377e20fcf008_Solutions-icon.png" loading="lazy" alt="" class="solutions-icon"/></div><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Founder &amp; Investor Protection</div><div class="paragraph-sm u-mb-0">Protect yourself and your investors.</div></div></a><a data-track-navigation="contract-requirement-review" href="/services/contract-requirement-review" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-img-holder"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9bbdd047c704b2d268c_Contract%20Requirement%20Review.png" loading="lazy" alt="" class="solutions-icon"/></div><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Contract Requirement Review</div><div class="paragraph-sm u-mb-0">Coverage that keeps your deals moving.</div></div></a><a data-track-navigation="workforce-employment-compliant" href="/services/workforce-compliance-support" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-img-holder"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9e6cc08125c84d3eae5_Workforce%20Compliance.png" loading="lazy" alt="" class="solutions-icon"/></div><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Workforce &amp; Employment Compliance</div><div class="paragraph-sm u-mb-0">Protect your people and leadership</div></div></a><a data-track-navigation="comprehensive-coverage-review" href="/services/comprehensive-coverage-review" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-img-holder"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9d7742e9fec87581df9_Comprehensive%20Coverage%20Review.png" loading="lazy" alt="" class="solutions-icon"/></div><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Comprehensive Coverage Review</div><div class="paragraph-sm u-mb-0">Fix your insurance blind spots.</div></div></a><a data-track-navigation="claims-advocacy" href="/services/claims-advocacy" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-img-holder"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9f1c46e84446badb008_Claims%20Advocacy.png" loading="lazy" alt="" class="solutions-icon"/></div><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Claims Advocacy</div><div class="paragraph-sm u-mb-0">Expert guidance when it matters most.</div></div></a></div></div></div></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="nav-link w-dropdown-toggle"><div class="nav-link-dropdown-arrow w-icon-dropdown-toggle"></div><div>Resources</div></div><nav class="nav-dropdown_content w-dropdown-list"><div class="mega_menu-insights-wrapper"><a data-track-navigation="all-resources" href="/resources" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">All Resources</div><div class="paragraph-sm u-mb-0">Our latest articles, resources, and reports.</div></div></a><a data-track-navigation="news" href="/newsroom" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">News</div><div class="paragraph-sm u-mb-0">Company updates and announcements</div></div></a><a data-track-navigation="blog" href="/blog" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Blog</div><div class="paragraph-sm u-mb-0">Resources on business and risk</div></div></a><a data-track-navigation="case-studies" href="/case-studies" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Case studies</div><div class="paragraph-sm u-mb-0">How companies grow with Vouch</div></div></a><a data-track-navigation="white-paper" href="/white-paper" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">White papers</div><div class="paragraph-sm u-mb-0">Research and expert analysis</div></div></a></div></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="nav-link w-dropdown-toggle"><div class="nav-link-dropdown-arrow w-icon-dropdown-toggle"></div><div>Company</div></div><nav class="nav-dropdown_content w-dropdown-list"><div class="mega_menu-insights-wrapper"><a data-track-navigation="about" href="/about" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">About</div><div class="paragraph-sm u-mb-0">Why we built Vouch</div></div></a><a data-track-navigation="partnerships" href="/partner-with-us" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Partner with us</div><div class="paragraph-sm u-mb-0">Explore referral partnerships</div></div></a><a data-track-navigation="careers" href="/careers" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Careers</div><div class="paragraph-sm u-mb-0">Come build with us</div></div></a><a data-track-navigation="perks" href="/perks" class="mega_menu-solutions-link w-inline-block"><div class="mega_menu-solutions-link-text-wrapper"><div class="paragraph-sm u-font-extended u-mb-0">Perks</div><div class="paragraph-sm u-mb-0">Exclusive network for clients</div></div></a></div></nav></div><a data-track-navigation="sign-in" href="https://app.vouch.us/loginportal/send" class="nav-link cc-nav-md w-nav-link">Sign In</a></div><div class="u-md-d-none"><a data-track-navigation="sign-in" href="https://app.vouch.us/loginportal/send" class="nav-link w-nav-link">Sign In</a></div></nav><div class="nav-cta-wrapper"><a data-track-button="Get Started" data-wf--btn-primary--variant="base" href="https://apply.vouch.us/" class="btn-new-v3 w-inline-block"><div class="btn-v3-embed w-embed"><svg class="btn-bg-svg" preserveAspectRatio="none" aria-hidden="true">
     <path class="btn-bg-path" fill="currentColor" d=""/>
   </svg></div><div class="btn-text-v3">Get Started</div></a></div></div></div><div class="page-main"><section class="section cc-pt-sm u-xs-pb-md"><div class="hero-animated-bg"><div class="hero-home-particle-animation w-embed w-script"><!-- 
  VOUCH PARTICLE ANIMATION - RESPONSIVE
  =====================================
  1. Hero section needs: position: relative; overflow: hidden;
  2. Add Embed element inside hero
  3. Paste this code
  4. Edit CONFIG values below to customize per breakpoint
-->

<canvas id="vouchParticles" style="position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;"></canvas>

<script>
(function() {
  
  // ========== EDIT THESE VALUES ==========
  
  // Desktop (992px and above)
  const DESKTOP = {
    particleCount: 25000,
    speed: 0.4,
    driftRange: 40,
    dotSize: 1.5,
    opacity: 0.15,
    color: { r: 0, g: 206, b: 201 },
    // scaleW = shape width as percentage of screen width (0.5 = 50%)
    leftCloud: { x: 0.09, y: 0.24, scaleW: 0.45 },
    rightCloud: { x: 0.38, y: 0.42, scaleW: 0.45 }
  };

  // Tablet (768px - 991px)
  const TABLET = {
    particleCount: 15000,
    speed: 0.4,
    driftRange: 30,
    dotSize: 1.2,
    opacity: 0.15,
    color: { r: 0, g: 206, b: 201 },
    leftCloud: { x: 0.05, y: 0.2, scaleW: 0.55 },
    rightCloud: { x: 0.35, y: 0.45, scaleW: 0.55 }
  };

  // Mobile (below 768px)
  const MOBILE = {
    particleCount: 8000,
    speed: 0.4,
    driftRange: 20,
    dotSize: 1,
    opacity: 0.15,
    color: { r: 0, g: 206, b: 201 },
    leftCloud: { x: 0.02, y: 0.15, scaleW: 0.7 },
    rightCloud: { x: 0.25, y: 0.5, scaleW: 0.7 }
  };

  // =======================================

  if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;

  const canvas = document.getElementById('vouchParticles');
  const ctx = canvas.getContext('2d');

  const LEFT_CLOUD = "M807.123 19.5771C856.564 60.2677 782.623 88.5727 698.124 139.076C576.123 211.993 361.186 287.872 145.622 250.077C47.8702 232.939 44.2411 201.089 29.1146 173.089C13.9882 145.089 -32.7174 -19.6154 40.6146 2.54431C472.62 133.089 722.123 -50.3782 807.123 19.5771Z";
  const RIGHT_CLOUD = "M16.4204 241.044C-33.021 200.353 40.9204 172.048 125.419 121.545C247.42 48.628 462.357 -27.2509 677.921 10.5436C775.673 27.6822 779.302 59.5323 794.428 87.5323C809.555 115.532 856.26 280.236 782.928 258.077C350.923 127.532 101.42 310.999 16.4204 241.044Z";
  const SVG_W = 824, SVG_H = 261;

  let particles = [];
  let rafId, isRunning = true, w, h, currentConfig;

  function getConfig() {
    if (w >= 992) return DESKTOP;
    if (w >= 768) return TABLET;
    return MOBILE;
  }

  function resize() {
    const rect = canvas.getBoundingClientRect();
    w = rect.width;
    h = rect.height;
    canvas.width = w;
    canvas.height = h;
    currentConfig = getConfig();
    init();
  }

  function createPath(pathStr, offX, offY, scale) {
    const p = new Path2D();
    const m = new DOMMatrix();
    m.translateSelf(offX, offY);
    m.scaleSelf(scale, scale);
    p.addPath(new Path2D(pathStr), m);
    return p;
  }

  function init() {
    particles = [];
    const cfg = currentConfig;
    const { r, g, b } = cfg.color;
    const perShape = Math.floor(cfg.particleCount / 2);
    const maxTries = perShape * 20;

    // Calculate scale from scaleW (percentage of screen width)
    const ls = (w * cfg.leftCloud.scaleW) / SVG_W;
    const rs = (w * cfg.rightCloud.scaleW) / SVG_W;

    const lx = w * cfg.leftCloud.x, ly = h * cfg.leftCloud.y;
    const rx = w * cfg.rightCloud.x, ry = h * cfg.rightCloud.y;
    
    const leftPath = createPath(LEFT_CLOUD, lx, ly, ls);
    const rightPath = createPath(RIGHT_CLOUD, rx, ry, rs);

    function add(path, ox, oy, sc) {
      let count = 0, tries = 0;
      while (count < perShape && tries < maxTries) {
        const x = ox + Math.random() * SVG_W * sc;
        const y = oy + Math.random() * SVG_H * sc;
        if (ctx.isPointInPath(path, x, y)) {
          const op = (0.4 + Math.random() * 0.6) * cfg.opacity;
          particles.push({
            baseX: x, baseY: y, x, y,
            color: `rgba(${r},${g},${b},${op.toFixed(3)})`,
            phase: Math.random() * Math.PI * 2,
            phaseY: Math.random() * Math.PI * 2,
            speedMod: 0.6 + Math.random() * 0.8,
            driftMod: 0.6 + Math.random() * 0.8
          });
          count++;
        }
        tries++;
      }
    }

    add(leftPath, lx, ly, ls);
    add(rightPath, rx, ry, rs);
  }

  function animate(time) {
    if (!isRunning) return;
    const cfg = currentConfig;
    ctx.clearRect(0, 0, w, h);
    const t = time * 0.001 * cfg.speed;
    const drift = cfg.driftRange;
    const size = cfg.dotSize;

    for (let i = 0; i < particles.length; i++) {
      const p = particles[i];
      p.x = p.baseX + Math.sin(t * p.speedMod + p.phase) * drift * p.driftMod;
      p.y = p.baseY + Math.cos(t * p.speedMod * 0.7 + p.phaseY) * drift * 0.6 * p.driftMod;
      ctx.beginPath();
      ctx.arc(p.x, p.y, size, 0, Math.PI * 2);
      ctx.fillStyle = p.color;
      ctx.fill();
    }
    rafId = requestAnimationFrame(animate);
  }

  function onVis() {
    if (document.hidden) { isRunning = false; cancelAnimationFrame(rafId); }
    else { isRunning = true; rafId = requestAnimationFrame(animate); }
  }

  let resizeTimer;
  window.addEventListener('resize', () => { clearTimeout(resizeTimer); resizeTimer = setTimeout(resize, 150); });
  document.addEventListener('visibilitychange', onVis);
  resize();
  rafId = requestAnimationFrame(animate);
})();
</script></div></div><div class="container u-position-relative"><div hero-anim="" class="row row-justify-center"><div class="col col-lg-12"><div class="u-d-flex cc-middle"><div data-wf--eyebrow--variant="dark-center" class="eyebrow-component w-variant-e4cf4775-400d-384c-fd2e-a3915776272c"><div class="eyebrow-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none" class="svg"><path d="M24.2596 24.2521C25.7506 22.7612 27.275 22.1924 28.9563 21.9573L32.2165 18.6971C28.5998 18.0623 24.8942 19.1635 22.0296 22.0281C19.165 24.8926 18.0708 28.5913 18.6987 32.215L21.9579 28.9558C22.1939 27.2735 22.7657 25.746 24.2537 24.2581" fill="currentColor"></path><path d="M9.68284 9.69014C8.19191 11.1811 6.66749 11.7499 4.98617 11.9849L1.72598 15.2451C5.34265 15.8799 9.0483 14.7788 11.9129 11.9142C14.7775 9.04963 15.8716 5.35094 15.2438 1.72731L11.9846 4.98649C11.7486 6.6688 11.1768 8.19622 9.68881 9.68417" fill="currentColor"></path><path d="M24.2529 9.68403C22.762 8.1931 22.1932 6.66868 21.9581 4.98735L18.698 1.72717C18.0632 5.34384 19.1643 9.04949 22.0289 11.9141C24.8935 14.7787 28.5921 15.8728 32.2158 15.245L28.9566 11.9858C27.2743 11.7498 25.7469 11.178 24.2589 9.69" fill="currentColor"></path><path d="M9.6895 24.2582C11.1804 25.7492 11.7493 27.2736 11.9843 28.9549L15.2445 32.2151C15.8793 28.5984 14.7782 24.8928 11.9136 22.0282C9.04899 19.1636 5.3503 18.0694 1.72667 18.6973L4.98584 21.9565C6.66816 22.1925 8.19558 22.7643 9.68353 24.2523" fill="currentColor"></path></svg></div><div class="text-block">AMBITION INSURED™</div></div></div></div><div class="col col-lg-9 col-md-12"><div class="u-text-center"><h1 hero-text="span-animation-included" class="h1-homepage u-mb-0">The insurance broker for leaders building <span class="yellow-span cc-hero"><em>what&#x27;s next.</em></span></h1></div></div><div card-anim="" class="col col-lg-6 col-md-10 col-sm-12"><div class="u-text-center"><p class="paragraph-lg u-mb-0">Industry expertise, a streamlined experience, and coverage that keeps pace with your growth.</p></div></div><div class="col col-lg-12"><div class="u-mb-xlg u-sm-mb-md"><div class="u-vertical-center-div"><a data-track-button="Get Started" data-wf--btn-primary--variant="base" href="https://apply.vouch.us/" class="btn-new-v3 w-inline-block"><div class="btn-v3-embed w-embed"><svg class="btn-bg-svg" preserveAspectRatio="none" aria-hidden="true">
     <path class="btn-bg-path" fill="currentColor" d=""/>
   </svg></div><div class="btn-text-v3">Get Started</div></a></div></div></div><div class="col col-lg-12 u-mb-lg"><div class="hero-slider-wrapper u-mb-xlg"><div class="hero-slider-item cc-secondary"><div class="hero-slider-item-bg w-embed"><!-- SVG injected by JS --></div><div class="hero-slider-img-wrapper cc-secondary"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/695b80b4543a290c5883010e_c531d6eff272782baf1af74857efbb51_Hero%20Slider%20Img%202.avif" loading="lazy" alt="" class="hero-anim-img-full"/></div></div><div class="hero-slider-item"><div class="hero-slider-item-bg w-embed"><!-- SVG injected by JS --></div><div class="hero-slider-img-wrapper"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6900b2f5947043ce4424f697_ff66007806523fb60f0052d66ed4bfa3_slider-img-1.avif" loading="lazy" alt="" class="hero-anim-img-full cc-active"/></div></div><div class="hero-slider-item cc-secondary"><div class="hero-slider-item-bg w-embed"><!-- SVG injected by JS --></div><div class="hero-slider-img-wrapper cc-secondary"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/695b813c83cd71a9d4bafaef_29df6e4d5a92fd4c3d0caeb530f1adce_Hero%20Slider%20Img%203.avif" loading="lazy" alt="" class="hero-anim-img-full"/></div></div><div class="hero-slider-item cc-secondary cc-hidden"><div class="hero-slider-item-bg w-embed"><!-- SVG injected by JS --></div><div class="hero-slider-img-wrapper cc-secondary"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a6e44d919c9d2f572fe664_hp-professional-services.avif" loading="lazy" alt="" class="hero-anim-img-full"/></div></div></div></div></div><div class="row row-justify-center"><div class="col"><div data-wf--logo-carrousel-new-component--variant="base" class="u-vertical-center-div"><div class="hero-trust-logo-headline-wrapper cc-dynamic u-ml-sm u-mb-sm"><div class="paragraph-body u-text-center cc-negative-top">Trusted by 6,000+ companies in</div><div class="hero-trust-logo-changing-word-wrapper"><div class="paragraph-body cc-italic-highlight cc-technology">technology </div><div class="paragraph-body cc-italic-highlight cc-health">healthcare &amp; life sciences </div><div class="paragraph-body cc-italic-highlight cc-professional">professional services </div><div class="paragraph-body cc-italic-highlight cc-venture">financial services</div></div></div><div class="hero-trust-logo-grid-holder"><div class="hero-trust-logo-grid cc-g1 cc-gap-32"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197c4fa7f7cb2ed794f6e4_Wunderkind%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8865a-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197c5ab3eac598ff2b04a7_Perplexity%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8865b-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197c61a9df9d67df4e95e3_Optimizely%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8865c-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197c684163b9c9a7ee3089_Kalshi%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8865d-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197c712020a5c89b4db45d_Meter%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8865e-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197c7d5e63b99a00fa0927_Lovable%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/></div><div class="hero-trust-logo-grid cc-g2 cc-gap-32"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197cf6c6e4b05b34a161b7_Tandem%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197d0dfd1695d20cfb7fc5_Ossovr%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img id="w-node-_3498bb24-76a9-fc71-ca24-4c2e2f81aea7-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197d284e31974a752dc22e_Beacon%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_3498bb24-76a9-fc71-ca24-4c2e2f81aea8-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197d31b13b5bf33b5be912_Flo%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_3498bb24-76a9-fc71-ca24-4c2e2f81aea9-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197d38c5962642374a8ad4_Huma%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_3498bb24-76a9-fc71-ca24-4c2e2f81aeaa-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a197d40d24b431c28850474_Regard%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/></div><div class="hero-trust-logo-grid cc-g3 cc-gap-32"><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/698f4be00e0026ddfa320b26_Mochary%20Method%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a2132eb7e5868ff216ca9dd_Growthpair%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/698f4c50d4b35a6e1862f95c_One%20Screen%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a213254ceb33c3aa6a163aa_Klarity%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a213271bb9fcd46c49eb223_Secureframe%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6a01e276763b187b50166896_Airworks%20Logo%20Black%20Sized.png" alt="" class="hero-trusted-logos-img"/></div><div class="hero-trust-logo-grid cc-g4"><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8866c-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/696788dac74f66066e2c76e0_ODF%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8866d-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/696788e1961ff316aa965ae0_Ego%20Death%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8866e-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/696788e7ec3bd7b725a509d3_Heavybit%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e8866f-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/696788f428599eea16bfe30a_Geek%20Ventures%20Logo%20Black%20Sized.png" class="hero-trusted-logos-img"/><img id="w-node-_9e959114-c1dd-258e-67cf-f6d448e88670-48e8864b" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/698ded0154ac35d3d2e42e48_Ribbit-Capital-Logo-Black-Sized.png" class="hero-trusted-logos-img"/></div></div><div class="gsap-animation w-embed w-script"><script>
(function() {
  function initAnimation() {
    const textWrapper = document.querySelector('.hero-trust-logo-changing-word-wrapper');
    const gridHolder = document.querySelector('.hero-trust-logo-grid-holder');
    
    if (!textWrapper || !gridHolder) {
      console.log('Elements not found');
      return;
    }
    
    const textItems = Array.from(textWrapper.querySelectorAll('.paragraph-body'));
    const gridItems = Array.from(gridHolder.querySelectorAll('.hero-trust-logo-grid'));
    
    console.log('Found text items:', textItems.length);
    console.log('Found grid items:', gridItems.length);
    
    if (textItems.length === 0 || gridItems.length === 0) {
      console.log('No items found');
      return;
    }

    // Hide wrapper immediately while we measure and set up
    textWrapper.style.visibility = 'hidden';

    // Measure each word's width and find the max
    let maxWidth = 0;
    textItems.forEach(item => {
      item.style.position = 'absolute';
      item.style.visibility = 'hidden';
      item.style.whiteSpace = 'nowrap';
      const width = Math.ceil(item.getBoundingClientRect().width);
      if (width > maxWidth) maxWidth = width;
    });

    // Determine if mobile
    const isMobile = window.innerWidth <= 767;

    // Setup wrapper
    textWrapper.style.position = 'relative';
    textWrapper.style.overflow = 'hidden';
    textWrapper.style.height = '1.2em';
    textWrapper.style.width = maxWidth + 'px';
    textWrapper.style.display = 'inline-block';
    textWrapper.style.verticalAlign = 'middle';

    // Setup text items
    textItems.forEach((item, i) => {
      item.style.position = 'absolute';
      item.style.top = '50%';
      item.style.whiteSpace = 'nowrap';
      item.style.margin = '0';
      item.style.transition = 'none';
      
      if (isMobile) {
        // Mobile: centered
        item.style.left = '50%';
        item.style.transform = i === 0 ? 'translate(-50%, -50%)' : 'translate(-50%, 100%)';
      } else {
        // Desktop: left aligned
        item.style.left = '0';
        item.style.transform = i === 0 ? 'translateY(-50%)' : 'translateY(100%)';
      }
      
      item.style.opacity = i === 0 ? '1' : '0';
      item.style.visibility = 'visible';
    });

    // Setup grid items
    gridItems.forEach((item, i) => {
      item.style.position = 'absolute';
      item.style.top = '0';
      item.style.left = '0';
      item.style.width = '100%';
      item.style.height = '100%';
      item.style.visibility = i === 0 ? 'visible' : 'hidden';
      item.style.opacity = '1';
    });

    // Reveal wrapper and enable transitions
    requestAnimationFrame(() => {
      requestAnimationFrame(() => {
        textWrapper.style.visibility = 'visible';
        textItems.forEach(item => {
          item.style.transition = 'transform 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955)';
        });
      });
    });

    let current = 0;

    // Set transform values based on device
    const centerOut = isMobile ? 'translate(-50%, -150%)' : 'translateY(-150%)';
    const centerIn = isMobile ? 'translate(-50%, -50%)' : 'translateY(-50%)';
    const centerReset = isMobile ? 'translate(-50%, 100%)' : 'translateY(100%)';

    function next() {
      const nextIdx = (current + 1) % textItems.length;
      const prevIdx = current;
      
      // Animate out
      textItems[prevIdx].style.transform = centerOut;
      textItems[prevIdx].style.opacity = '0';
      
      // Animate in
      textItems[nextIdx].style.opacity = '1';
      textItems[nextIdx].style.transform = centerIn;
      
      // Swap grids
      gridItems[prevIdx].style.visibility = 'hidden';
      gridItems[nextIdx].style.visibility = 'visible';
      
      // Reset previous item position after transition
      setTimeout(() => {
        textItems[prevIdx].style.transition = 'none';
        textItems[prevIdx].style.transform = centerReset;
        setTimeout(() => {
          textItems[prevIdx].style.transition = 'transform 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955)';
        }, 50);
        current = nextIdx;
      }, 800);
    }

    // Sync to hero slider if present, otherwise run independently
    const heroSliderExists = document.querySelector('.hero-slider-wrapper');
    if (heroSliderExists) {
      window.addEventListener('heroSliderNext', next);
    } else {
      setInterval(next, 4800);
    }
    
    console.log('Industry animation initialized —', heroSliderExists ? 'synced to hero slider' : 'running independently');
  }
  
  if (document.readyState === 'complete') {
    setTimeout(initAnimation, 200);
  } else {
    window.addEventListener('load', function() {
      setTimeout(initAnimation, 200);
    });
  }
})();
</script></div></div></div></div></div></section><div class="section-margin-style"></div><section class="section cc-themed u-pb-0"><div class="container"><div class="row"><div class="col col-lg-12"><div class="w-embed"><style>
.auto-tabs_tab.w--current .auto-tabs_description {
	display: block;
}

.auto-tabs_tab.w--current .auto-tabs_timer-bar {
	display: block;
}

.auto-tabs_tab.w--current .auto-tabs_img-mobile-wrapper {
	display: block;
}
</style></div><div class="auto-tabs_wrapper"><div class="auto-tabs_column"><div class="auto-tabs_title"><div class="u-eyebrow-wrapper cc-horizontal u-mb-md"><div class="vouch-logo-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24.2594 24.2517C25.7504 22.7608 27.2748 22.192 28.9561 21.9569L32.2163 18.6968C28.5996 18.062 24.894 19.1631 22.0294 22.0277C19.1648 24.8922 18.0707 28.5909 18.6985 32.2146L21.9577 28.9554C22.1937 27.2731 22.7655 25.7457 24.2535 24.2577" fill="currentColor"/>
<path d="M9.68263 9.68975C8.19169 11.1807 6.66727 11.7495 4.98595 11.9845L1.72577 15.2447C5.34244 15.8795 9.04808 14.7784 11.9127 11.9138C14.7773 9.04923 15.8714 5.35054 15.2436 1.72692L11.9844 4.98609C11.7484 6.66841 11.1766 8.19582 9.6886 9.68378" fill="currentColor"/>
<path d="M24.2528 9.68358C22.7619 8.19264 22.193 6.66822 21.958 4.9869L18.6978 1.72672C18.063 5.34339 19.1641 9.04904 22.0287 11.9136C24.8933 14.7782 28.592 15.8724 32.2156 15.2445L28.9564 11.9854C27.2741 11.7493 25.7467 11.1775 24.2588 9.68955" fill="currentColor"/>
<path d="M9.68935 24.2578C11.1803 25.7487 11.7491 27.2731 11.9841 28.9545L15.2443 32.2146C15.8791 28.598 14.778 24.8923 11.9134 22.0277C9.04883 19.1632 5.35014 18.069 1.72652 18.6968L4.98569 21.956C6.66801 22.192 8.19542 22.7639 9.68338 24.2518" fill="currentColor"/>
</svg></div><div class="eyebrow">INDUSTRIES</div></div><h2 text-anim="" class="h2 u-mb-sm"><span><em>Risk strategies </em></span>for those who rewrite the rules</h2></div><div data-current="Tab 1" data-easing="ease-out-quart" data-duration-in="0" data-duration-out="0" class="auto-tabs cc-desktop cc-home-page w-tabs"><div class="auto-tabs_menu w-tab-menu"><a data-w-tab="Tab 1" class="auto-tabs_tab w-inline-block w-tab-link w--current"><div class="auto-tab-background"></div><h3 class="h4 u-position-relative">Technology</h3><div class="auto-tabs_description"><p>Scale fast from AI breakthroughs to payment rails with insurance that keeps pace with innovation and regulation.</p><div data-href="/technology" class="auto-tabs_inside-link"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div>Learn more</div></div></div><div class="auto-tabs_img-mobile-wrapper"><div class="auto-tabs_img-mobile"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1-p-500.avif 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif 963w" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif" loading="lazy" class="auto-tabs_img"/></div></div><div class="auto-tabs_timer-bar"></div></a><a data-w-tab="Tab 2" class="auto-tabs_tab cc-tab-health-life-sciences w-inline-block w-tab-link"><div class="auto-tab-background cc-health-lifestyle"></div><h3 class="h4 u-position-relative">Healthcare &amp; Life Sciences</h3><div class="auto-tabs_description"><p>Navigate sensitive data and strict oversight with specialized coverage that moves you forward with confidence.</p><div data-href="/health-life-sciences" class="auto-tabs_inside-link"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div>Learn more</div></div></div><div class="auto-tabs_img-mobile-wrapper"><div class="auto-tabs_img-mobile"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1-p-500.avif 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif 963w" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif" loading="lazy" class="auto-tabs_img"/></div></div><div class="auto-tabs_timer-bar"></div></a><a data-w-tab="Tab 3" class="auto-tabs_tab cc-tab-professional-services w-inline-block w-tab-link"><div class="auto-tab-background cc-professional-services"></div><h3 class="h4 u-position-relative">Professional Services</h3><div class="auto-tabs_description"><p>Keep your client work out of court with coverage built for accountants, consultants, creatives, and IT pros.</p><div data-href="/professional-services" class="auto-tabs_inside-link"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div>Learn more</div></div></div><div class="auto-tabs_img-mobile-wrapper"><div class="auto-tabs_img-mobile"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1-p-500.avif 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif 963w" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif" loading="lazy" class="auto-tabs_img"/></div></div><div class="auto-tabs_timer-bar"></div></a><a data-w-tab="Tab 4" class="auto-tabs_tab cc-tab-financial-services w-inline-block w-tab-link"><div class="auto-tab-background cc-venture-capital"></div><h3 class="h4 u-position-relative">Financial Services</h3><div class="auto-tabs_description"><p>Withstand scrutiny from regulators, investors, and clients with coverage built for financial services.</p><div data-href="/financial-services" class="auto-tabs_inside-link"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div>Learn more</div></div></div><div class="auto-tabs_img-mobile-wrapper"><div class="auto-tabs_img-mobile"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1-p-500.avif 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif 963w" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6903aac124ac2f05fd44ff27_home-tab-img-1.avif" loading="lazy" class="auto-tabs_img"/></div></div><div class="auto-tabs_timer-bar"></div></a></div><div class="auto-tabs_content w-tab-content"><div data-w-tab="Tab 1" class="auto-tabs_pane cc-home-page w-tab-pane w--tab-active"><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/699714167f9ac81877805e1c_9450a043b95d33256a4bd02e255fdb9e_home-tab-img-1.avif" alt="" class="auto-tabs_img cc-home-square"/></div><div data-w-tab="Tab 2" class="auto-tabs_pane cc-home-page w-tab-pane"><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6997157c68f50f916ae55a1d_home-tab-img-2.avif" alt="" class="auto-tabs_img cc-home-square"/></div><div data-w-tab="Tab 3" class="auto-tabs_pane cc-home-page w-tab-pane"><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6997158da0d6f981333239c7_home-tab-img-3.avif" alt="" class="auto-tabs_img cc-home-square"/></div><div data-w-tab="Tab 4" class="auto-tabs_pane cc-home-page w-tab-pane"><img loading="eager" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/699715a1c0b0f7cd804b0762_home-tab-img-4.avif" alt="" class="auto-tabs_img cc-home-square"/></div></div></div></div></div><div class="tabs-mobile"><div class="tab-item-mobile"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/699714167f9ac81877805e1c_9450a043b95d33256a4bd02e255fdb9e_home-tab-img-1.avif" alt="" class="tab-item-mobile-img u-mb-md"/><h3 class="h4 u-position-relative">Technology</h3><p class="paragraph-sm u-mb-md">Scale fast from AI breakthroughs to payment rails with insurance that keeps pace with innovation and regulation.</p><a data-wf--btn-tertiary--variant="white" href="/technology" class="arrow-link w-variant-503cfd5c-235c-0eb1-96bc-ded1c2cfff73 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div><div class="tab-item-mobile cc-health-life_sciences"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6997157c68f50f916ae55a1d_home-tab-img-2.avif" alt="" class="tab-item-mobile-img u-mb-md"/><h3 class="h4 u-position-relative">Health &amp; Life Sciences</h3><p class="paragraph-sm u-mb-md">Navigate sensitive data and strict oversight with specialized coverage that moves you forward with confidence.</p><a data-wf--btn-tertiary--variant="white" href="/healthcare-life-sciences" class="arrow-link w-variant-503cfd5c-235c-0eb1-96bc-ded1c2cfff73 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div><div class="tab-item-mobile cc-professional_services"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/699715a1c0b0f7cd804b0762_home-tab-img-4.avif" alt="" class="tab-item-mobile-img u-mb-md"/><h3 class="h4 u-position-relative">Professional Services</h3><p class="paragraph-sm u-mb-md">Keep your client work out of court with coverage built for accountants, consultants, creatives, and IT pros.</p><a data-wf--btn-tertiary--variant="white" href="/professional-services" class="arrow-link w-variant-503cfd5c-235c-0eb1-96bc-ded1c2cfff73 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div><div class="tab-item-mobile cc-venture_capital"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6997158da0d6f981333239c7_home-tab-img-3.avif" alt="" class="tab-item-mobile-img u-mb-md"/><h3 class="h4 u-position-relative">Financial Services</h3><p class="paragraph-sm u-mb-md">Withstand scrutiny from regulators, investors, and clients with coverage built for financial services.</p><a data-wf--btn-tertiary--variant="white" href="/financial-services" class="arrow-link w-variant-503cfd5c-235c-0eb1-96bc-ded1c2cfff73 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text">Learn more</div></a></div></div><div class="auto-tab_div-wrapper"><div class="div-horizontal"></div></div></div></div></div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6909fce7d270347ffad090bc_pattern.svg" loading="lazy" alt="" class="upper-left-section-decoration"/></section><section class="section cc-themed u-pt-0"><div class="container cc-carrousel"><div class="carrousel-slider-wrapper"><div class="carrousel-slier-upper-wrapper"><div></div><div class="carrousel-slider-arrows-wrapper"><a id="carrousel-slider-arrow-back" href="#" class="carrousel-slider-arrow w-inline-block"><div class="carrousel-slider-arrow-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 18 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.156529 5.21321C2.93037 5.86812 5.0768 7.77826 5.0768 10.125L8.04699 10.125C8.04699 8.81519 7.56817 7.58724 6.72611 6.55031L17.1445 6.55031L17.1445 3.57595L6.72611 3.57595C7.56817 2.53902 8.04699 1.31108 8.04699 0.00126592L5.0768 0.00126566C5.0768 2.29343 2.96339 4.27179 0.156529 4.88576C-0.041603 4.92669 -0.058114 5.15864 0.156529 5.21321Z" fill="currentColor"/>
</svg></div></a><div class="carrousel-slider-arrow-div"></div><a id="carrousel-slider-arrow-next" href="#" class="carrousel-slider-arrow w-inline-block"><div class="carrousel-slider-arrow-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 18 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.988 4.91178C14.2142 4.25688 12.0677 2.34674 12.0677 0L9.09754 0C9.09754 1.30981 9.57636 2.53776 10.4184 3.57469L0 3.57469L0 6.54905L10.4184 6.54905C9.57636 7.58598 9.09754 8.81392 9.09754 10.1237L12.0677 10.1237C12.0677 7.83157 14.1811 5.85321 16.988 5.23924C17.1861 5.19831 17.2026 4.96636 16.988 4.91178Z" fill="currentColor"/>
</svg></div></a></div></div><div class="carrousel-slider-horizontal-wrapper"><div class="carrousel-slider-item"><div data-wf--card-testimonial--variant="navy-simple-eyebrow" class="testimonial-card"><div class="u-mb-lg"><div class="eyebrow cc-orange-stroke u-mb-sm w-variant-6c7cafe7-ce6c-1592-ad0b-9af7f395ac14">TECHNOLOGY</div><div class="testimonial-eyebrow"><div class="u-mb-0"><p class="paragraph-body cc-is-paragraph-lg">&quot;Vouch actually understands what we do, and we didn’t have to jump through hoops to get covered. We purchased a policy in minutes, got a great price, and now have coverage that will grow with our company.&quot;</p></div></div></div><div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/68fbaafcc7b685afc7a3093d_middesk.png" loading="eager" alt="" class="testimonial-card-logo u-mb-sm"/><div class="paragraph-sm cc-author">Kyle Mack</div><div class="paragraph-sm u-mb-0">CEO, Middesk</div></div></div></div><div class="carrousel-slider-item"><div data-wf--card-testimonial--variant="navy-simple-eyebrow" class="testimonial-card"><div class="u-mb-lg"><div class="eyebrow cc-orange-stroke u-mb-sm w-variant-6c7cafe7-ce6c-1592-ad0b-9af7f395ac14">TECHNOLOGY</div><div class="testimonial-eyebrow"><div class="u-mb-0"><p class="paragraph-body cc-is-paragraph-lg">“With Vouch’s expertise, we transformed a fragmented renewal process into a streamlined, scalable insurance program that grows with us.”</p></div></div></div><div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69b03a8e1dcc6a46ec4c0622_Cocoon%20Logo%20White.png" loading="eager" alt="" class="testimonial-card-logo u-mb-sm"/><div class="paragraph-sm cc-author">Michelle LaFond</div><div class="paragraph-sm u-mb-0">General Counsel, Cocoon</div></div></div></div><div class="carrousel-slider-item"><div data-wf--card-testimonial--variant="navy-simple-eyebrow" class="testimonial-card"><div class="u-mb-lg"><div class="eyebrow cc-orange-stroke u-mb-sm w-variant-6c7cafe7-ce6c-1592-ad0b-9af7f395ac14">FINANCIAL SERVICES</div><div class="testimonial-eyebrow"><div class="u-mb-0"><p class="paragraph-body cc-is-paragraph-lg">“Vouch truly stands out with its unparalleled platform. The dedicated team at Vouch worked tirelessly to ensure we were well-supported and had everything in place for our successful launch on the NYSE—the entire process was smooth and stress-free.”</p></div></div></div><div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69bbcb20f0bd3f076cea592b_Langar-Holdings-White.png" loading="eager" alt="" class="testimonial-card-logo u-mb-sm"/><div class="paragraph-sm cc-author">Dhruv K. Vig, Ph.D.</div><div class="paragraph-sm u-mb-0">CEO, Langar Holdings</div></div></div></div><div class="carrousel-slider-item"><div data-wf--card-testimonial--variant="navy-simple-eyebrow" class="testimonial-card"><div class="u-mb-lg"><div class="eyebrow cc-orange-stroke u-mb-sm w-variant-6c7cafe7-ce6c-1592-ad0b-9af7f395ac14">TECHNOLOGY</div><div class="testimonial-eyebrow"><div class="u-mb-0"><p class="paragraph-body cc-is-paragraph-lg">“Our process with Vouch was ideal: efficient and painless. We loved working with the team, all of whom were incredibly responsive, customer-oriented, and friendly!”</p></div></div></div><div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/68fbaafcc7b685afc7a3092e_arc.png" loading="eager" alt="" class="testimonial-card-logo u-mb-sm"/><div class="paragraph-sm cc-author">Annie Zhu</div><div class="paragraph-sm u-mb-0">COO, Arc</div></div></div></div><div class="carrousel-slider-item"><div data-wf--card-testimonial--variant="navy-simple-eyebrow" class="testimonial-card"><div class="u-mb-lg"><div class="eyebrow cc-orange-stroke u-mb-sm w-variant-6c7cafe7-ce6c-1592-ad0b-9af7f395ac14">HEALTHCARE &amp; LIFE SCIENCES</div><div class="testimonial-eyebrow"><div class="u-mb-0"><p class="paragraph-body cc-is-paragraph-lg">“Our customers have big insurance requirements. We realized working with Vouch that our prior coverage put us in a very vulnerable position. Vouch gives us the confidence that we’re appropriately covered.”</p></div></div></div><div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/68fbaafcc7b685afc7a301df_OSSO%20VR.svg" loading="eager" alt="" class="testimonial-card-logo u-mb-sm"/><div class="paragraph-sm cc-author">Justin Barad</div><div class="paragraph-sm u-mb-0">MD &amp; CEO, OSSOVR</div></div></div></div><div class="carrousel-slider-item"><div data-wf--card-testimonial--variant="navy-simple-eyebrow" class="testimonial-card"><div class="u-mb-lg"><div class="eyebrow cc-orange-stroke u-mb-sm w-variant-6c7cafe7-ce6c-1592-ad0b-9af7f395ac14">TECHNOLOGY</div><div class="testimonial-eyebrow"><div class="u-mb-0"><p class="paragraph-body cc-is-paragraph-lg">“In the world of AI, I’m glad we have an insurance provider who is keeping up with evolving risks. It’s an extra layer of assurance that gives us more confidence to move fast.”</p></div></div></div><div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69bbcb94625778916e252fbe_Seek-Logo-White.png" loading="eager" alt="" class="testimonial-card-logo u-mb-sm"/><div class="paragraph-sm cc-author">Sarah Nagy</div><div class="paragraph-sm u-mb-0">CEO, Seek AI</div></div></div></div></div><div class="carrousel-slider-progress-wrapper"><div id="progress-bad-holder" class="carrousel-slider-progress-bar"><div id="progress-bar" class="carrousel-slider-progress-inside"></div></div></div><div class="carrousel-slider-customc-code w-embed w-script"><!-- ============================================================
     CARROUSEL SLIDER — Custom Webflow Component
     ============================================================
     
     WHAT THIS DOES:
     Transforms a static row of .carrousel-slider-item cards into
     a fully interactive horizontal slider with auto-scroll,
     infinite loop, progress bar, and multi-input navigation.
     
     HOW IT WORKS:
     - Cards are moved via CSS translateX() (not native scroll).
     - The original slides are cloned once via JS to create a
       seamless infinite loop. When position passes one full set
       width, it wraps back to 0 — the cloned cards are identical,
       so no visible jump occurs.
     - The section's overflow-hidden prevents horizontal page scrollbar.
     - Cards naturally extend past the wrapper since there's no
       overflow clipping on the track.
     
     WEBFLOW REQUIREMENTS:
     - section.cc-themed → keep u-overflow-hidden class
     - .container.cc-carrousel → overflow: visible; width: auto; max-width: none
     - .carrousel-slider-wrapper → width: 88%; max-width: 87.5rem; margin: auto
     - .carrousel-slider-horizontal-wrapper → display: flex; gap: 1rem (NO overflow set)
     - .carrousel-slider-progress-inside → width: 0% (JS controls this)
     - Arrow IDs: carrousel-slider-arrow-back, carrousel-slider-arrow-next
     - Progress bar ID: progress-bar (on .carrousel-slider-progress-inside)
     
     FEATURES:
     ✓ Auto-scroll with configurable speed
     ✓ Infinite loop (seamless, no jump)
     ✓ Progress bar (resets on each loop)
     ✓ Arrow navigation (one card per click)
     ✓ Mouse drag with momentum
     ✓ Touch/swipe (free scroll, no snap)
     ✓ Mouse wheel horizontal scroll
     ✓ Keyboard arrows (when focused)
     ✓ Pause auto-scroll on any interaction, resume after delay
     ✓ Pause when browser tab is hidden (saves resources)
     ✓ Responsive (recalculates on resize)
     
     ============================================================ -->

<style>
/* ── Track: grab cursor + smooth animated transitions ── */
.carrousel-slider-horizontal-wrapper {
  cursor: grab;
  will-change: transform;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ── Track: while being dragged ── */
.carrousel-slider-horizontal-wrapper.is-dragging {
  cursor: grabbing;
  user-select: none;
  transition: none; /* Disable transition during drag for instant response */
}

/* ── Progress bar: smooth width transition ── */
#progress-bar { transition: width 0.4s ease-out; }

/* ── Arrow buttons: hover + disabled states ── */
.carrousel-slider-arrow {
  transition: border-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}
.carrousel-slider-arrow:hover { border-color: #3be0ad; }
.carrousel-slider-arrow.is-disabled { opacity: 0.3; pointer-events: none; }
</style>

<script>
(function () {
  'use strict';

  /* ============================================================
     CONFIGURATION
     ============================================================
     Edit these values to change slider behavior.
     No need to touch anything else in the script.
     ============================================================ */

  var CONFIG = {

    /* ── Auto-Scroll ──────────────────────────────────────────
       AUTO_SCROLL_ENABLED:
         true  = slider scrolls automatically (default)
         false = slider only moves on user interaction
         
       AUTO_SPEED:
         Pixels moved per animation frame (~60fps).
         0.3 = slow, gentle drift
         0.5 = default, moderate pace (~30px/sec)
         1.0 = fast
         2.0 = very fast
         
       RESUME_DELAY:
         Milliseconds before auto-scroll resumes after any
         user interaction (click, drag, touch, wheel, keyboard).
         5000 = 5 seconds (default)
         3000 = 3 seconds
         0    = resume immediately (not recommended)
    ──────────────────────────────────────────────────────────── */
    AUTO_SCROLL_ENABLED: true,
    AUTO_SPEED: 0.5,
    RESUME_DELAY: 5000,

    /* ── Drag & Momentum ──────────────────────────────────────
       DRAG_MOMENTUM:
         Multiplier for "throw" distance after mouse drag release.
         Higher = slides coast further after letting go.
         150 = default
         0   = no momentum, stops where you release
         300 = very slingy
         
       WHEEL_SPEED:
         Multiplier for mouse wheel scroll distance.
         0.5 = default (half of native wheel delta)
         1.0 = 1:1 with wheel delta
         0.3 = slower, more precise
    ──────────────────────────────────────────────────────────── */
    DRAG_MOMENTUM: 150,
    WHEEL_SPEED: 0.5,

    /* ── Animation Timing ─────────────────────────────────────
       SLIDE_TRANSITION:
         CSS transition for animated card movements (arrows, drag release).
         Change the duration (0.4s) or easing curve as needed.
         
       PROGRESS_TRANSITION:
         CSS transition for the progress bar fill animation.
    ──────────────────────────────────────────────────────────── */
    SLIDE_TRANSITION: 'transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)',
    PROGRESS_TRANSITION: 'width 0.4s ease-out'
  };


  /* ============================================================
     INITIALIZATION
     ============================================================ */

  function init() {

    /* ── DOM References ── */
    var track = document.querySelector('.carrousel-slider-horizontal-wrapper');
    var bar   = document.getElementById('progress-bar');
    var prev  = document.getElementById('carrousel-slider-arrow-back');
    var next  = document.getElementById('carrousel-slider-arrow-next');
    if (!track) return;

    /* ── State ── */
    var pos = 0; /* Current scroll position in pixels */


    /* ============================================================
       INFINITE LOOP — Clone Slides
       ============================================================
       All original slides are cloned once and appended to the track.
       This creates two identical sets side by side. When the scroll
       position passes the width of one full set, wrapPos() subtracts
       that width — the user sees no jump because the cloned cards
       are visually identical. Same trick works going backwards.
       
       The clones are marked aria-hidden="true" for accessibility.
       CMS stays clean — no duplicate items in Webflow.
       ============================================================ */

    var origSlides = Array.from(track.querySelectorAll('.carrousel-slider-item'));
    var origCount  = origSlides.length;

    origSlides.forEach(function(slide) {
      var clone = slide.cloneNode(true);
      clone.setAttribute('aria-hidden', 'true');
      track.appendChild(clone);
    });


    /* ============================================================
       MEASUREMENT HELPERS
       ============================================================ */

    /** Total width of one full set of original slides (including gaps) */
    function origSetWidth() {
      var gap = parseFloat(getComputedStyle(track).columnGap) || 16;
      return origSlides.reduce(function(sum, s) {
        return sum + s.offsetWidth + gap;
      }, 0);
    }

    /** All slides (originals + clones) */
    function slides() {
      return track.querySelectorAll('.carrousel-slider-item');
    }

    /** Width of one slide + gap (used for arrow navigation) */
    function slideW() {
      var s = slides();
      if (!s.length) return 0;
      return s[0].offsetWidth + (parseFloat(getComputedStyle(track).columnGap) || 16);
    }

    /** Maximum scroll position (total track width minus visible area) */
    function maxPos() {
      return Math.max(0, track.scrollWidth - track.parentElement.clientWidth);
    }


    /* ============================================================
       POSITION WRAPPING
       ============================================================
       Keeps `pos` within [0, origSetWidth). When pos goes past
       one full set, subtract. When it goes negative, add. This
       creates the seamless infinite loop in both directions.
       ============================================================ */

    function wrapPos() {
      var setW = origSetWidth();
      if (setW <= 0) return;
      while (pos >= setW) pos -= setW;
      while (pos < 0) pos += setW;
    }


    /* ============================================================
       APPLY — Core render function
       ============================================================
       Called on every movement. Updates:
       1. Track translateX position
       2. Progress bar width
       3. Arrow disabled states (none — infinite loop)
       
       @param {boolean} anim — true = use CSS transition (smooth),
                                false = no transition (instant, used
                                during drag/wheel/auto-scroll)
       ============================================================ */

    var barWasFullPrev = false;

    function apply(anim) {
      wrapPos();

      /* Move the track */
      track.style.transition = anim ? CONFIG.SLIDE_TRANSITION : 'none';
      track.style.transform  = 'translateX(' + (-pos) + 'px)';

      /* Update progress bar */
      if (bar) {
        var setW = origSetWidth();

        /*
         * Progress = pos / setW (position through one full cycle).
         * This goes 0% → 100% as the slider completes one set,
         * then resets when wrapPos() fires.
         */
        var pct = setW <= 0 ? 100 : Math.min(pos / setW * 100, 100);

        /*
         * Loop reset detection:
         * When the bar was at 100% and suddenly drops (wrapPos reset),
         * snap the bar to 0% instantly (no transition), then smoothly
         * fill to the new percentage on the next frame.
         */
        if (barWasFullPrev && pct < 50) {
          bar.style.transition = 'none';
          bar.style.width = '0%';
          requestAnimationFrame(function() {
            bar.style.transition = CONFIG.PROGRESS_TRANSITION;
            bar.style.width = Math.min(pct, 100) + '%';
          });
        } else {
          bar.style.width = Math.min(pct, 100) + '%';
        }

        barWasFullPrev = pct >= 99.5;
      }

      /* Arrows: no disabled state needed (infinite loop) */
      if (prev) prev.classList.remove('is-disabled');
      if (next) next.classList.remove('is-disabled');
    }


    /* ============================================================
       NAVIGATION — Arrows
       ============================================================
       Each click moves exactly one card width (slide + gap).
       Pauses auto-scroll, which resumes after RESUME_DELAY.
       ============================================================ */

    function go(dir) {
      pos += dir * slideW();
      apply(true);
    }

    if (prev) prev.addEventListener('click', function(e) {
      e.preventDefault(); pauseAuto(); go(-1);
    });
    if (next) next.addEventListener('click', function(e) {
      e.preventDefault(); pauseAuto(); go(1);
    });


    /* ============================================================
       NAVIGATION — Mouse Wheel
       ============================================================
       Horizontal scrolling via vertical wheel input.
       Speed controlled by CONFIG.WHEEL_SPEED.
       Pauses auto-scroll on interaction.
       ============================================================ */

    track.addEventListener('wheel', function(e) {
      e.preventDefault();
      pauseAuto();
      pos += (e.deltaY || e.deltaX) * CONFIG.WHEEL_SPEED;
      apply(false);
    }, { passive: false });


    /* ============================================================
       NAVIGATION — Touch (Mobile)
       ============================================================
       Free scroll — cards stop exactly where your finger lifts.
       No snap-to-card on mobile for a natural feel.
       Pauses auto-scroll on touch.
       ============================================================ */

    var tx = 0, to = 0, tt = false;

    track.addEventListener('touchstart', function(e) {
      tt = true;
      tx = e.touches[0].clientX;
      to = pos;
      pauseAuto();
    }, { passive: true });

    track.addEventListener('touchmove', function(e) {
      if (!tt) return;
      pos = to + (tx - e.touches[0].clientX);
      apply(false);
    }, { passive: true });

    track.addEventListener('touchend', function() {
      tt = false;
      apply(true);
    }, { passive: true });


    /* ============================================================
       NAVIGATION — Mouse Drag (Desktop)
       ============================================================
       Click and drag to scroll. Tracks velocity for momentum:
       on release, the slider "throws" in the drag direction.
       Momentum distance controlled by CONFIG.DRAG_MOMENTUM.
       Pauses auto-scroll on drag.
       ============================================================ */

    var drag = false, dx = 0, doff = 0, dv = 0, dlx = 0, dlt = 0;

    track.addEventListener('mousedown', function(e) {
      if (e.target.closest('.carrousel-slider-arrow')) return;
      drag = true;
      dx   = e.clientX;
      doff = pos;
      dv   = 0;
      dlx  = e.clientX;
      dlt  = Date.now();
      pauseAuto();
      track.classList.add('is-dragging');
    });

    document.addEventListener('mousemove', function(e) {
      if (!drag) return;
      e.preventDefault();
      pos = doff + (dx - e.clientX);
      apply(false);

      /* Track velocity for momentum calculation */
      var now = Date.now(), dt = now - dlt;
      if (dt > 0) dv = (dlx - e.clientX) / dt;
      dlx = e.clientX;
      dlt = now;
    });

    document.addEventListener('mouseup', function() {
      if (!drag) return;
      drag = false;
      track.classList.remove('is-dragging');

      /* Apply momentum — coast in the drag direction */
      var momentum = dv * CONFIG.DRAG_MOMENTUM;
      pos += momentum;
      apply(true);
    });

    /* Prevent click events from firing after a drag (threshold: 5px) */
    track.addEventListener('click', function(e) {
      if (Math.abs(dx - e.clientX) > 5) {
        e.preventDefault();
        e.stopPropagation();
      }
    }, true);


    /* ============================================================
       NAVIGATION — Keyboard
       ============================================================
       Arrow keys move one card when the track is focused.
       Track gets tabindex="0" for keyboard accessibility.
       ============================================================ */

    track.setAttribute('tabindex', '0');
    track.setAttribute('role', 'region');
    track.setAttribute('aria-label', 'Testimonial carousel');

    track.addEventListener('keydown', function(e) {
      if (e.key === 'ArrowRight') { e.preventDefault(); pauseAuto(); go(1); }
      if (e.key === 'ArrowLeft')  { e.preventDefault(); pauseAuto(); go(-1); }
    });


    /* ============================================================
       RESPONSIVE — Recalculate on Resize
       ============================================================
       Debounced to 150ms to avoid excessive recalculation.
       ============================================================ */

    var rt;
    window.addEventListener('resize', function() {
      clearTimeout(rt);
      rt = setTimeout(function() { apply(false); }, 150);
    });

    /* Initial render */
    apply(false);


    /* ============================================================
       AUTO-SCROLL
       ============================================================
       Continuous slow scroll using requestAnimationFrame.
       
       - Runs at ~60fps, moving CONFIG.AUTO_SPEED pixels per frame.
       - Pauses during any user interaction (drag, touch, wheel,
         arrows, keyboard) and resumes after CONFIG.RESUME_DELAY ms.
       - Pauses when the browser tab is hidden (saves CPU/battery).
       - Infinite loop handled by wrapPos() in apply().
       
       TO DISABLE: Set CONFIG.AUTO_SCROLL_ENABLED = false above.
       TO CHANGE SPEED: Edit CONFIG.AUTO_SPEED above.
       TO CHANGE RESUME DELAY: Edit CONFIG.RESUME_DELAY above.
       ============================================================ */

    var autoRaf;
    var paused      = false;
    var resumeTimer = null;

    /**
     * Pause auto-scroll and start the resume countdown.
     * Called by every interaction handler (arrows, wheel, touch, drag, keyboard).
     * Each new interaction resets the countdown.
     */
    function pauseAuto() {
      if (!CONFIG.AUTO_SCROLL_ENABLED) return;
      paused = true;
      clearTimeout(resumeTimer);
      resumeTimer = setTimeout(function() { paused = false; }, CONFIG.RESUME_DELAY);
    }

    /** Animation loop — advances position by AUTO_SPEED each frame */
    function autoScroll() {
      if (!drag && !tt && !paused) {
        pos += CONFIG.AUTO_SPEED;
        apply(false);
      }
      autoRaf = requestAnimationFrame(autoScroll);
    }

    /* Start auto-scroll if enabled */
    if (CONFIG.AUTO_SCROLL_ENABLED) {
      autoRaf = requestAnimationFrame(autoScroll);
    }

    /* Pause/resume when tab visibility changes */
    document.addEventListener('visibilitychange', function() {
      if (!CONFIG.AUTO_SCROLL_ENABLED) return;
      if (document.hidden) {
        cancelAnimationFrame(autoRaf);
      } else {
        autoRaf = requestAnimationFrame(autoScroll);
      }
    });


    /* ============================================================
       INIT LOG
       ============================================================ */

    console.log(
      '[Carrousel Slider] Init — ' +
      origCount + ' slides (+ ' + origCount + ' clones), ' +
      'auto-scroll: ' + (CONFIG.AUTO_SCROLL_ENABLED ? CONFIG.AUTO_SPEED + 'px/frame' : 'OFF') + ', ' +
      'resume delay: ' + CONFIG.RESUME_DELAY + 'ms'
    );
  }


  /* ============================================================
     BOOT
     ============================================================
     Waits for full page load (images, fonts, etc.) before
     initializing. The 100ms delay ensures Webflow's layout
     engine has finished rendering all CMS items.
     ============================================================ */

  if (document.readyState === 'complete') setTimeout(init, 100);
  else window.addEventListener('load', function() { setTimeout(init, 100); });

})();
</script></div></div></div></section><section class="section u-bg-white"><div class="container"><div class="row"><div class="col col-lg-7 col-md-12"><div class="headline-component"><div data-wf--eyebrow--variant="dark" class="eyebrow-component w-variant-0094a4df-fede-d9c4-943e-01ab17f603ee u-mb-md"><div class="eyebrow-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none" class="svg"><path d="M24.2596 24.2521C25.7506 22.7612 27.275 22.1924 28.9563 21.9573L32.2165 18.6971C28.5998 18.0623 24.8942 19.1635 22.0296 22.0281C19.165 24.8926 18.0708 28.5913 18.6987 32.215L21.9579 28.9558C22.1939 27.2735 22.7657 25.746 24.2537 24.2581" fill="currentColor"></path><path d="M9.68284 9.69014C8.19191 11.1811 6.66749 11.7499 4.98617 11.9849L1.72598 15.2451C5.34265 15.8799 9.0483 14.7788 11.9129 11.9142C14.7775 9.04963 15.8716 5.35094 15.2438 1.72731L11.9846 4.98649C11.7486 6.6688 11.1768 8.19622 9.68881 9.68417" fill="currentColor"></path><path d="M24.2529 9.68403C22.762 8.1931 22.1932 6.66868 21.9581 4.98735L18.698 1.72717C18.0632 5.34384 19.1643 9.04949 22.0289 11.9141C24.8935 14.7787 28.5921 15.8728 32.2158 15.245L28.9566 11.9858C27.2743 11.7498 25.7469 11.178 24.2589 9.69" fill="currentColor"></path><path d="M9.6895 24.2582C11.1804 25.7492 11.7493 27.2736 11.9843 28.9549L15.2445 32.2151C15.8793 28.5984 14.7782 24.8928 11.9136 22.0282C9.04899 19.1636 5.3503 18.0694 1.72667 18.6973L4.98584 21.9565C6.66816 22.1925 8.19558 22.7643 9.68353 24.2523" fill="currentColor"></path></svg></div><div class="text-block">SERVICES</div></div><h3 text-anim="" class="h2 u-mb-sm">Risk solutions for your <span class="span-green"><em>critical</em></span> moments</h3></div></div></div><div card-anim="" class="row row-gap-0"><div class="col col-lg-6 col-sm-12"><a href="/services/new-business-insurance-setup" class="card-md cc-link cc-icon-grain-hover w-inline-block"><div class="risk-card-insider"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9adc27220bd95074654_New%20Business%20Insurance%20Setup.png" loading="lazy" alt="" class="icon-md cc-png-format"/><div class="u-d-flex cc-vertical"><div class="paragraph-body u-font-extended u-mb-xs">New Business Insurance Setup</div><p class="paragraph-body u-mb-sm">Get covered fast with right-sized protection for your stage and industry.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text style-16">Learn more</div></div></div></div></a></div><div class="col col-lg-6 col-sm-12"><a href="/services/investor-fundraising-protection" class="card-md cc-link cc-icon-grain-hover w-inline-block"><div class="risk-card-insider"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/698de4dbecc46459147f0855_Founder%20Investor%20Protection%20Original.png" loading="lazy" alt="" class="icon-md cc-png-format"/><div class="u-d-flex cc-vertical"><div class="paragraph-body u-font-extended u-mb-xs">Founder &amp; Investor Protection</div><p class="paragraph-body u-mb-sm">Safeguard leadership with coverage aligned to board and investor expectations.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text style-16">Learn more</div></div></div></div></a></div><div class="col col-lg-6 col-sm-12"><a href="/services/contract-requirement-review" class="card-md cc-link cc-icon-grain-hover w-inline-block"><div class="risk-card-insider"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9bbdd047c704b2d268c_Contract%20Requirement%20Review.png" loading="lazy" alt="" class="icon-md cc-png-format"/><div class="u-d-flex cc-vertical"><div class="paragraph-body u-font-extended u-mb-xs">Contract Requirements Review</div><p class="paragraph-body u-mb-sm">Meet customer and partner agreements with defensible policies and fast COIs.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text style-16">Learn more</div></div></div></div></a></div><div class="col col-lg-6 col-sm-12"><a href="/services/workforce-compliance-support" class="card-md cc-link cc-icon-grain-hover w-inline-block"><div class="risk-card-insider"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9e6cc08125c84d3eae5_Workforce%20Compliance.png" loading="lazy" alt="" class="icon-md cc-png-format"/><div class="u-d-flex cc-vertical"><div class="paragraph-body u-font-extended u-mb-xs">Workforce Compliance</div><p class="paragraph-body u-mb-sm">Protect against costly employment disputes as you scale your team.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text style-16">Learn more</div></div></div></div></a></div><div class="col col-lg-6 col-sm-12"><a href="/services/comprehensive-coverage-review" class="card-md cc-link cc-icon-grain-hover w-inline-block"><div class="risk-card-insider"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9d7742e9fec87581df9_Comprehensive%20Coverage%20Review.png" loading="lazy" alt="" class="icon-md cc-png-format"/><div class="u-d-flex cc-vertical"><div class="paragraph-body u-font-extended u-mb-xs">Comprehensive Coverage Review</div><p class="paragraph-body u-mb-sm">Ensure your coverages and limits are adequate for your business.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text style-16">Learn more</div></div></div></div></a></div><div class="col col-lg-6 col-sm-12"><a href="/services/claims-advocacy" class="card-md cc-link cc-icon-grain-hover w-inline-block"><div class="risk-card-insider"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f9f1c46e84446badb008_Claims%20Advocacy.png" loading="lazy" alt="" class="icon-md cc-png-format"/><div class="u-d-flex cc-vertical"><div class="paragraph-body u-font-extended u-mb-xs">Claims Advocacy</div><p class="paragraph-body u-mb-sm">We step in early, advocate fiercely, and help you move through it without losing momentum.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text style-16">Learn more</div></div></div></div></a></div></div></div></section><section class="section"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69a1e5e3dc62d0e61f383b79_homepage-valueprops-background.avif" loading="lazy" card-anim="" alt="" class="img-abs-bg"/><div class="container"><div class="row"><div class="col col-lg-12"><div card-anim="" class="vouch-differente-wrapper"><div class="row"><div class="col col-lg-7 col-md-12"><div data-wf--eyebrow--variant="dark" class="eyebrow-component w-variant-0094a4df-fede-d9c4-943e-01ab17f603ee u-mb-md"><div class="eyebrow-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none" class="svg"><path d="M24.2596 24.2521C25.7506 22.7612 27.275 22.1924 28.9563 21.9573L32.2165 18.6971C28.5998 18.0623 24.8942 19.1635 22.0296 22.0281C19.165 24.8926 18.0708 28.5913 18.6987 32.215L21.9579 28.9558C22.1939 27.2735 22.7657 25.746 24.2537 24.2581" fill="currentColor"></path><path d="M9.68284 9.69014C8.19191 11.1811 6.66749 11.7499 4.98617 11.9849L1.72598 15.2451C5.34265 15.8799 9.0483 14.7788 11.9129 11.9142C14.7775 9.04963 15.8716 5.35094 15.2438 1.72731L11.9846 4.98649C11.7486 6.6688 11.1768 8.19622 9.68881 9.68417" fill="currentColor"></path><path d="M24.2529 9.68403C22.762 8.1931 22.1932 6.66868 21.9581 4.98735L18.698 1.72717C18.0632 5.34384 19.1643 9.04949 22.0289 11.9141C24.8935 14.7787 28.5921 15.8728 32.2158 15.245L28.9566 11.9858C27.2743 11.7498 25.7469 11.178 24.2589 9.69" fill="currentColor"></path><path d="M9.6895 24.2582C11.1804 25.7492 11.7493 27.2736 11.9843 28.9549L15.2445 32.2151C15.8793 28.5984 14.7782 24.8928 11.9136 22.0282C9.04899 19.1636 5.3503 18.0694 1.72667 18.6973L4.98584 21.9565C6.66816 22.1925 8.19558 22.7643 9.68353 24.2523" fill="currentColor"></path></svg></div><div class="text-block">VOUCH DIFFERENCE</div></div><h3 class="h2 u-mb-sm">Insurance that <em>refuses</em> to play small</h3></div></div><div class="row u-mb-sm"><div class="col col-lg-4 col-md-6 col-sm-12"><div class="vouch-difference-card"><p class="paragraph-sm u-font-extended u-font-400 u-mb-0">Industry Expertise</p><p class="paragraph-sm u-mt-xs u-mb-0">Our advisors understand your industry and design coverage that stands up to investors, regulators, and customers.</p></div></div><div class="col col-lg-4 col-md-6 col-sm-12"><div class="vouch-difference-card"><p class="paragraph-sm u-font-extended u-font-400 u-mb-0">Effortless Experience</p><p class="paragraph-sm u-mt-xs u-mb-0">Our responsive teams pair human insight with AI to speed analysis, reduce paperwork, and make insurance feel surprisingly easy.</p></div></div><div class="col col-lg-4 col-md-6 col-sm-12"><div class="vouch-difference-card"><p class="paragraph-sm u-font-extended u-font-400 u-mb-0">Scalable Coverage</p><p class="paragraph-sm u-mt-xs u-mb-0">Your business won’t stay the same. We build coverage that flexes as you hire, fundraise, and grow, without painful resets or gaps.</p></div></div></div><div class="row"><div class="col col-lg-4 col-md-6 col-sm-12"><div class="vouch-difference--icon-holder cc-card-small-p"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/697a34af01998a0bab61fb2a_Industry%20Experts%20Homepage.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/697a34af01998a0bab61fb2a_Industry%20Experts%20Homepage-p-500.png 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/697a34af01998a0bab61fb2a_Industry%20Experts%20Homepage.png 554w" alt="" class="vouch-difference-icon"/></div></div><div class="col col-lg-4 col-md-6 col-sm-12"><div class="vouch-difference--icon-holder cc-card-small-p"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/697a34b780c0d2935306cc7f_Tech%20Enabled%20Workflows%20Homepage.png" loading="lazy" alt="" class="vouch-difference-icon"/></div></div><div class="col col-lg-4 col-md-6 col-sm-12"><div class="vouch-difference--icon-holder cc-card-small-p"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/697a2f481a36e7d16b68fbd3_Scalable%20Coverage%20Homepage.png" loading="lazy" alt="" class="vouch-difference-icon"/></div></div></div></div></div></div></div></section><section class="section u-bg-white"><div class="container"><div class="row row-justify-center"><div class="col col-lg-12"><div class="u-d-flex cc-middle"><div data-wf--eyebrow--variant="dark" class="eyebrow-component w-variant-0094a4df-fede-d9c4-943e-01ab17f603ee"><div class="eyebrow-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none" class="svg"><path d="M24.2596 24.2521C25.7506 22.7612 27.275 22.1924 28.9563 21.9573L32.2165 18.6971C28.5998 18.0623 24.8942 19.1635 22.0296 22.0281C19.165 24.8926 18.0708 28.5913 18.6987 32.215L21.9579 28.9558C22.1939 27.2735 22.7657 25.746 24.2537 24.2581" fill="currentColor"></path><path d="M9.68284 9.69014C8.19191 11.1811 6.66749 11.7499 4.98617 11.9849L1.72598 15.2451C5.34265 15.8799 9.0483 14.7788 11.9129 11.9142C14.7775 9.04963 15.8716 5.35094 15.2438 1.72731L11.9846 4.98649C11.7486 6.6688 11.1768 8.19622 9.68881 9.68417" fill="currentColor"></path><path d="M24.2529 9.68403C22.762 8.1931 22.1932 6.66868 21.9581 4.98735L18.698 1.72717C18.0632 5.34384 19.1643 9.04949 22.0289 11.9141C24.8935 14.7787 28.5921 15.8728 32.2158 15.245L28.9566 11.9858C27.2743 11.7498 25.7469 11.178 24.2589 9.69" fill="currentColor"></path><path d="M9.6895 24.2582C11.1804 25.7492 11.7493 27.2736 11.9843 28.9549L15.2445 32.2151C15.8793 28.5984 14.7782 24.8928 11.9136 22.0282C9.04899 19.1636 5.3503 18.0694 1.72667 18.6973L4.98584 21.9565C6.66816 22.1925 8.19558 22.7643 9.68353 24.2523" fill="currentColor"></path></svg></div><div class="text-block">VOUCH DIFFERENCE</div></div></div></div><div class="col col-lg-8 col-md-12"><div class="u-text-center"><h2 class="h2 u-mb-sm"><span class="span-green"><em>Protecting</em></span> the next generation of great companies</h2></div></div></div><div class="row"><div class="col"><div class="home-stats-grid"><div id="w-node-fe06ac56-4ddd-a231-f682-1d9372c2e8ef-c7a2fba6" data-w-id="fe06ac56-4ddd-a231-f682-1d9372c2e8ef" class="stats-box"><div class="stats-text-wrapper cc-left"><div class="h1 cc-stats"><span stats-anim="6" class="stats-span">6</span>k<span class="span-navy_20">+</span></div><div class="paragraph-sm u-mb-0">companies insured</div><div class="stats-bottom-line u-ml-auto"></div></div></div><div id="w-node-_22f0313c-334f-d9aa-f0af-62b7db02c098-c7a2fba6" class="home-stats-main-img"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6981d6c407f956d98900089d_Homepage%20Vouch%20Difference%20Img.avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6981d6c407f956d98900089d_Homepage%20Vouch%20Difference%20Img-p-500.avif 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6981d6c407f956d98900089d_Homepage%20Vouch%20Difference%20Img.avif 920w" alt="" class="abs-img"/></div><div id="w-node-_562a1e4f-26f3-4896-0f4c-4abe84a06ef7-c7a2fba6" data-w-id="562a1e4f-26f3-4896-0f4c-4abe84a06ef7" class="stats-box"><div class="stats-text-wrapper cc-right"><div class="h1 cc-stats">74+</div><div class="paragraph-sm u-mb-0">NPS score</div><div class="stats-bottom-line"></div></div><div class="stats-text-wrapper"></div></div><div id="w-node-f2fe7718-a915-dd7c-facc-9acf27dea4e5-c7a2fba6" data-w-id="f2fe7718-a915-dd7c-facc-9acf27dea4e5" class="stats-box"><div class="stats-text-wrapper cc-left"><div class="h1 cc-stats"><span stats-anim="81" class="stats-span">81</span><span class="span-navy_20">%</span></div><div class="paragraph-sm u-mb-0">same-day quoting</div></div></div><div id="w-node-_06b5765d-60ee-d682-3e5b-82a2feee27c7-c7a2fba6" data-w-id="06b5765d-60ee-d682-3e5b-82a2feee27c7" class="stats-box"><div class="stats-text-wrapper cc-right"><div class="h1 cc-stats"><span stats-anim="500" class="stats-span">500</span><span class="span-navy_20">+</span></div><div class="paragraph-sm u-mb-0">top-tier partners</div></div></div></div></div></div><div class="row u-mt-lg"><div class="col"><div data-w-id="57ad5855-956f-fc9f-a07e-4b788f981037" class="cta-yellow"><img style="-webkit-transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);opacity:0" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6904e2634e54980ff6409cda_cta-left-circle.avif" class="cta-left-circle-bg-img"/><img style="-webkit-transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(12, 12, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);opacity:0" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6904e2715330c1a72554a3bb_cta-right-circle.avif" class="cta-right-circle-bg-img"/><div class="row row-gap-0 row-justify-center"><div class="col col-lg-8 col-md-12"><div class="u-text-center"><div class="u-mb-md"><p data-accent-text="italic" class="paragraph-xl u-font-mirador">Your ambition deserves the right [protection]</p></div></div><div class="u-d-flex cc-middle"><a data-track-button="Get Started" data-wf--btn-primary--variant="black" href="https://apply.vouch.us/" class="btn-new-v3 w-inline-block"><div class="btn-v3-embed w-embed"><svg class="btn-bg-svg" preserveAspectRatio="none" aria-hidden="true">
     <path class="btn-bg-path" fill="currentColor" d=""/>
   </svg></div><div class="btn-text-v3">Get Started</div></a></div></div></div></div></div></div></div></section><section class="section cc-themed"><div class="container"><div class="row"><div class="col col-lg-6 col-md-12"><div class="headline-component"><div data-wf--eyebrow--variant="light" class="eyebrow-component u-mb-md"><div class="eyebrow-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none" class="svg"><path d="M24.2596 24.2521C25.7506 22.7612 27.275 22.1924 28.9563 21.9573L32.2165 18.6971C28.5998 18.0623 24.8942 19.1635 22.0296 22.0281C19.165 24.8926 18.0708 28.5913 18.6987 32.215L21.9579 28.9558C22.1939 27.2735 22.7657 25.746 24.2537 24.2581" fill="currentColor"></path><path d="M9.68284 9.69014C8.19191 11.1811 6.66749 11.7499 4.98617 11.9849L1.72598 15.2451C5.34265 15.8799 9.0483 14.7788 11.9129 11.9142C14.7775 9.04963 15.8716 5.35094 15.2438 1.72731L11.9846 4.98649C11.7486 6.6688 11.1768 8.19622 9.68881 9.68417" fill="currentColor"></path><path d="M24.2529 9.68403C22.762 8.1931 22.1932 6.66868 21.9581 4.98735L18.698 1.72717C18.0632 5.34384 19.1643 9.04949 22.0289 11.9141C24.8935 14.7787 28.5921 15.8728 32.2158 15.245L28.9566 11.9858C27.2743 11.7498 25.7469 11.178 24.2589 9.69" fill="currentColor"></path><path d="M9.6895 24.2582C11.1804 25.7492 11.7493 27.2736 11.9843 28.9549L15.2445 32.2151C15.8793 28.5984 14.7782 24.8928 11.9136 22.0282C9.04899 19.1636 5.3503 18.0694 1.72667 18.6973L4.98584 21.9565C6.66816 22.1925 8.19558 22.7643 9.68353 24.2523" fill="currentColor"></path></svg></div><div class="text-block">CASE STUDIES</div></div><h3 text-anim="" class="h2">Real results from companies <span class="span-blue-text cc-italic">like yours</span></h3></div></div><div card-anim="" class="col col-lg-12"><div class="card-lg cc-case_study"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69053eaa8cbbf5bc40fa9a8c_card-case_study-noise-img.avif" loading="lazy" item-scale-anim="top-left" alt="" class="img-abs-top-left-20"/><div class="card-case_study-grid u-position-relative"><div class="card-case_study-col"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/698b4e61a83d4993a5a457a8_Cardless-Logo-Black.png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/698b4e61a83d4993a5a457a8_Cardless-Logo-Black-p-500.png 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/698b4e61a83d4993a5a457a8_Cardless-Logo-Black.png 507w" class="card_case_study-logo u-mb-md"/><div class="headline-component"><div class="u-eyebrow-wrapper"><div class="eyebrow">TECHNOLOGY</div></div><h3 class="h2 u-mb-sm u-sm-mb-xs">How Cardless Enabled <em class="span-green">Global Expansion</em></h3><a data-wf--btn-tertiary--variant="style-2" href="/case-study/cardless" class="arrow-link w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373 w-inline-block"><div class="home-tab-inside-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="arrow-link-text w-variant-c1f86b8c-9fa5-c530-4a0a-ffcfbb087373">Learn more</div></a></div></div><div class="card-case_study-col u-sm-d-block u-lg-none"><p class="paragraph-xl u-font-extended u-font-margin-0 u-sm-mt-sm u-sm-mb-sm">Vouch’s strategic approach gave us the confidence to expand. Their deep understanding of fintech helped us build an insurance program that supports our growth.</p></div><div class="card-case_study-col"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f01a9c5895c53528d416_coccon%20thumbnail%20img.avif" loading="lazy" item-scale-anim="top-right" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f01a9c5895c53528d416_coccon%20thumbnail%20img-p-500.avif 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f01a9c5895c53528d416_coccon%20thumbnail%20img-p-800.avif 800w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6985f01a9c5895c53528d416_coccon%20thumbnail%20img.avif 877w" class="card-case_study-img"/></div></div><div class="card_case_study-div-wrapper"><div class="div-horizontal cc-gray"></div></div><div class="card-case_study-grid"><div id="w-node-_09c479ee-7b86-0625-7105-43db0354ea28-0354ea14" class="card-case_study-col cc-author"><div class="card-case_study-quote u-mb-xs w-embed"><svg width="100%" height="100%" viewBox="0 0 34 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_5445_1970)">
<path d="M26.4769 25C30.9009 25 34 22.0717 34 17.854C34 14.0516 31.4399 11.4729 27.712 11.4729C26.1176 11.4729 25.1519 11.5603 23.1982 12.2378L23.0185 12.0629C24.7926 7.67045 26.8362 4.47989 33.9102 1.11451L33.3937 0C24.4557 2.92832 19.0436 8.69755 19.0436 17.2421C19.0436 21.6346 22.0528 25 26.4769 25ZM7.43329 25C11.8573 25 14.9564 22.0717 14.9564 17.854C14.9564 14.0516 12.3963 11.4729 8.66843 11.4729C7.07398 11.4729 6.10832 11.5603 4.15456 12.2378L3.9749 12.0629C5.74901 7.67045 7.7926 4.47989 14.8666 1.11451L14.3501 0C5.41215 2.92832 0 8.69755 0 17.2421C0 21.6346 3.00925 25 7.43329 25Z" fill="#C9C9C9"/>
</g>
<defs>
<clipPath id="clip0_5445_1970">
<rect width="34" height="25" fill="white"/>
</clipPath>
</defs>
</svg></div><div class="paragraph-body u-font-extended"><strong>Wendy Spelfogel</strong></div><div>Corporate &amp; Commercial Counsel, Cardless</div></div><div class="card-case_study-col cc-testimonial"><p class="paragraph-lg u-font-extended u-mb-0 u-sm-d-none">Vouch’s strategic approach gave us the confidence to expand. Their deep understanding of fintech helped us build an insurance program that supports our growth.</p></div></div></div></div></div></div><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69053a7ffc3e7678559e5654_upper-right-section-dark.avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69053a7ffc3e7678559e5654_upper-right-section-dark-p-500.png 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/69053a7ffc3e7678559e5654_upper-right-section-dark.avif 1148w" alt="" class="upper-right-section-decoration"/></section><section class="section u-bg-white cc-top-right-texture"><div class="container"><div class="row row-justify-between row-align-end u-mb-md"><div class="col col-lg-7 col-md-10 col-sm-12"><div data-wf--eyebrow--variant="dark" class="eyebrow-component w-variant-0094a4df-fede-d9c4-943e-01ab17f603ee u-mb-md"><div class="eyebrow-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none" class="svg"><path d="M24.2596 24.2521C25.7506 22.7612 27.275 22.1924 28.9563 21.9573L32.2165 18.6971C28.5998 18.0623 24.8942 19.1635 22.0296 22.0281C19.165 24.8926 18.0708 28.5913 18.6987 32.215L21.9579 28.9558C22.1939 27.2735 22.7657 25.746 24.2537 24.2581" fill="currentColor"></path><path d="M9.68284 9.69014C8.19191 11.1811 6.66749 11.7499 4.98617 11.9849L1.72598 15.2451C5.34265 15.8799 9.0483 14.7788 11.9129 11.9142C14.7775 9.04963 15.8716 5.35094 15.2438 1.72731L11.9846 4.98649C11.7486 6.6688 11.1768 8.19622 9.68881 9.68417" fill="currentColor"></path><path d="M24.2529 9.68403C22.762 8.1931 22.1932 6.66868 21.9581 4.98735L18.698 1.72717C18.0632 5.34384 19.1643 9.04949 22.0289 11.9141C24.8935 14.7787 28.5921 15.8728 32.2158 15.245L28.9566 11.9858C27.2743 11.7498 25.7469 11.178 24.2589 9.69" fill="currentColor"></path><path d="M9.6895 24.2582C11.1804 25.7492 11.7493 27.2736 11.9843 28.9549L15.2445 32.2151C15.8793 28.5984 14.7782 24.8928 11.9136 22.0282C9.04899 19.1636 5.3503 18.0694 1.72667 18.6973L4.98584 21.9565C6.66816 22.1925 8.19558 22.7643 9.68353 24.2523" fill="currentColor"></path></svg></div><div class="text-block">RESOURCES</div></div><h2 text-anim="" class="h2 u-mb-0">Insights &amp; Insurance 101 for <em class="span-green">Technology</em> Companies</h2></div><div class="col"><div class="u-d-flex cc-align-right cc-md-align-left"><a data-track-button="Get Started" data-wf--btn-primary--variant="base" href="https://apply.vouch.us/" class="btn-new-v3 w-inline-block"><div class="btn-v3-embed w-embed"><svg class="btn-bg-svg" preserveAspectRatio="none" aria-hidden="true">
     <path class="btn-bg-path" fill="currentColor" d=""/>
   </svg></div><div class="btn-text-v3">Get Started</div></a></div></div></div><div card-anim="" class="article-grid"><div id="w-node-dec420b1-a91b-b766-db70-4466bc01a58d-bc01a58c" class="home-resources-collection-item w-dyn-list"><div role="list" class="resources-inside-grid-2 w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/blog/what-does-tech-errors-and-omissions-insurance-cover" class="article-item-link w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6905442e0222b42b98158493_blog-placeholder-1.avif" alt="" class="article-item-img u-mb-md"/><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6905442e0222b42b98158493_blog-placeholder-1.png" alt="" class="article-item-img u-mb-md w-dyn-bind-empty"/><div class="article-item-text-wrapper"><div class="eyebrow cc-text-navy-important">Blog</div><div class="paragraph-body u-font-extended u-mt-sm u-mb-xs">What Does Tech Errors &amp; Omissions Insurance Cover?</div><p class="paragraph-body u-mb-sm cc-text-navy-important">Technology Errors &amp; Omissions Insurance protects companies from client claims over software bugs, system failures, or service mistakes.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="paragraph-body u-font-standard">Read more</div></div></div></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/what-is-startup-business-insurance-and-why-do-i-need-it" class="article-item-link w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6905442e0222b42b98158493_blog-placeholder-1.avif" alt="" class="article-item-img u-mb-md"/><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6905442e0222b42b98158493_blog-placeholder-1.png" alt="" class="article-item-img u-mb-md w-dyn-bind-empty"/><div class="article-item-text-wrapper"><div class="eyebrow cc-text-navy-important">Blog</div><div class="paragraph-body u-font-extended u-mt-sm u-mb-xs">Startup Business Insurance: Coverage Guide for Every Growth Stage [2026]</div><p class="paragraph-body u-mb-sm cc-text-navy-important">What insurance does your startup actually need? See policies required at pre-seed through Series C, what they cost, and how to avoid coverage gaps.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="paragraph-body u-font-standard">Read more</div></div></div></a></div></div></div><div class="home-resources-collection-item w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/white-papers/ai-risks-decoded" class="article-item-link w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6905442e0222b42b98158493_blog-placeholder-1.avif" alt="" class="article-item-img u-mb-md w-condition-invisible"/><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbd5/694930a39118361c89bb2e18_65ef10a089a02d3191987e1e_AI-RISKS-DECODED-Magazine-Mockup.avif" alt="" class="article-item-img u-mb-md"/><div class="article-item-text-wrapper"><div class="eyebrow cc-text-navy-important">White Paper</div><div class="paragraph-body u-font-extended u-mt-sm u-mb-xs">AI Risks Decoded</div><p class="paragraph-body u-mb-sm cc-text-navy-important">Learn how to thrive in an environment where the legal landscape is still emerging.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="paragraph-body u-font-standard">Read more</div></div></div></a></div></div></div><div class="home-resources-collection-item u-hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/press/hiscox-aquires-corix" class="article-item-link w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6905442e0222b42b98158493_blog-placeholder-1.avif" alt="" class="article-item-img u-mb-md w-condition-invisible"/><img loading="lazy" src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbd5/68fbaafcc7b685afc7a3120a_HISCOX-CORIX-NEWSROOM.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbd5/68fbaafcc7b685afc7a3120a_HISCOX-CORIX-NEWSROOM-p-500.png 500w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbd5/68fbaafcc7b685afc7a3120a_HISCOX-CORIX-NEWSROOM-p-800.png 800w, https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbd5/68fbaafcc7b685afc7a3120a_HISCOX-CORIX-NEWSROOM.png 960w" class="article-item-img u-mb-md"/><div class="article-item-text-wrapper"><div class="eyebrow cc-text-navy-important">PRESS</div><div class="paragraph-body u-font-extended u-mt-sm u-mb-xs">Hiscox aquires Corix from Vouch</div><p class="paragraph-body u-mb-sm cc-text-navy-important">Hiscox to acquire Corix, the underwriting division of Vouch, bringing more coverage options to Vouch clients.</p><div class="arrow-link"><div class="home-tab-inside-link-arrow cc-accent_green w-embed"><svg width="100%" height="100%" viewBox="0 0 24 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.7832 6.8765C19.8998 5.95963 16.8948 3.28544 16.8948 0L12.7366 0C12.7366 1.83373 13.4069 3.55286 14.5858 5.00456L0 5.00456L0 9.16866L14.5858 9.16866C13.4069 10.6204 12.7366 12.3395 12.7366 14.1732L16.8948 14.1732C16.8948 10.9642 19.8536 8.19449 23.7832 7.33493C24.0606 7.27763 24.0837 6.9529 23.7832 6.8765Z" fill="currentColor"/>
</svg></div><div class="paragraph-body u-font-standard">Read more</div></div></div></a></div></div></div></div></div></section><div class="section-margin-style"></div><section class="section cc-cta"><div class="container"><div class="row"><div class="col"><div class="cta-yellow cc-text-navy"><div class="row row-gap-0 row-justify-center"><div class="col col-lg-8 col-md-10 col-sm-12 u-mt-sm u-mb-sm"><div class="u-text-center"><div class="u-mb-md"><div class="u-mb-sm"><div data-wf--eyebrow--variant="dark-center" class="eyebrow-component w-variant-e4cf4775-400d-384c-fd2e-a3915776272c"><div class="eyebrow-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none" class="svg"><path d="M24.2596 24.2521C25.7506 22.7612 27.275 22.1924 28.9563 21.9573L32.2165 18.6971C28.5998 18.0623 24.8942 19.1635 22.0296 22.0281C19.165 24.8926 18.0708 28.5913 18.6987 32.215L21.9579 28.9558C22.1939 27.2735 22.7657 25.746 24.2537 24.2581" fill="currentColor"></path><path d="M9.68284 9.69014C8.19191 11.1811 6.66749 11.7499 4.98617 11.9849L1.72598 15.2451C5.34265 15.8799 9.0483 14.7788 11.9129 11.9142C14.7775 9.04963 15.8716 5.35094 15.2438 1.72731L11.9846 4.98649C11.7486 6.6688 11.1768 8.19622 9.68881 9.68417" fill="currentColor"></path><path d="M24.2529 9.68403C22.762 8.1931 22.1932 6.66868 21.9581 4.98735L18.698 1.72717C18.0632 5.34384 19.1643 9.04949 22.0289 11.9141C24.8935 14.7787 28.5921 15.8728 32.2158 15.245L28.9566 11.9858C27.2743 11.7498 25.7469 11.178 24.2589 9.69" fill="currentColor"></path><path d="M9.6895 24.2582C11.1804 25.7492 11.7493 27.2736 11.9843 28.9549L15.2445 32.2151C15.8793 28.5984 14.7782 24.8928 11.9136 22.0282C9.04899 19.1636 5.3503 18.0694 1.72667 18.6973L4.98584 21.9565C6.66816 22.1925 8.19558 22.7643 9.68353 24.2523" fill="currentColor"></path></svg></div></div></div><div class="h2 w-richtext"><h2 class="h2">Your ambition deserves the right <em>protection</em></h2></div></div></div><div class="u-d-flex cc-middle"><a data-track-button="Get Started" data-wf--btn-primary--variant="black" href="https://apply.vouch.us/" target="_blank" class="btn-new-v3 w-inline-block"><div class="btn-v3-embed w-embed"><svg class="btn-bg-svg" preserveAspectRatio="none" aria-hidden="true">
     <path class="btn-bg-path" fill="currentColor" d=""/>
   </svg></div><div class="btn-text-v3">Get Started</div></a></div></div></div></div></div></div></div></section><section data-wf--footer--variant="base" class="section cc-footer"><div class="container"><div class="row"><div class="col col-sm-12"><a href="/" aria-current="page" class="footer-logo_link w-inline-block w--current"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 120 51" fill="none"><path d="M23.5881 25.3393C23.5881 16.8464 27.9913 12.0059 35.7469 12.0059C43.5024 12.0059 47.9086 16.82 47.9086 25.3393C47.9086 33.8586 43.5053 38.6727 35.7469 38.6727C27.9884 38.6727 23.5881 33.9143 23.5881 25.3393ZM40.0033 25.3393C40.0033 20.5164 38.151 18.8413 35.7469 18.8413C33.5511 18.8413 31.4904 20.5164 31.4904 25.3393C31.4904 30.1622 33.5452 31.8373 35.7469 31.8373C37.9485 31.8373 40.0033 30.1622 40.0033 25.3393Z" fill="currentColor"></path><path d="M73.8095 25.3393C73.8095 16.7672 78.5621 12.0059 85.6102 12.0059C92.6583 12.0059 96.5449 15.5908 96.8766 22.1475H89.0095C88.6514 19.4632 87.5417 18.6887 85.6278 18.6887C83.071 18.6887 81.7148 20.6924 81.7148 25.3393C81.7148 29.8864 83.1825 31.9869 85.6278 31.9869C87.577 31.9869 88.6514 31.321 89.0095 28.5281H96.8766C96.583 35.0966 92.2591 38.6727 85.7041 38.6727C78.1511 38.6727 73.8095 33.7794 73.8095 25.3393Z" fill="currentColor"></path><path d="M99.2695 12.8418H106.773V21.983H112.497V12.8418H120V37.8364H112.497V28.6101H106.773V37.8364H99.2695V12.8418Z" fill="currentColor"></path><path d="M50.1759 12.8506H57.5675V28.8888C57.5675 30.8573 58.5861 32.4356 60.5587 32.4356C62.7281 32.4356 64.0168 31.1008 64.0168 27.7418V12.8418H71.4171V37.8013H64.0168V34.8676C63.1361 36.9945 60.5734 38.5024 57.9109 38.5024C52.8853 38.5024 50.1759 35.2255 50.1759 29.7924V12.8506Z" fill="currentColor"></path><path d="M15.2087 12.8418L11.7889 29.2262L8.32797 12.8418H0L7.47373 37.8364H16.063L23.5896 12.8418H15.2087Z" fill="currentColor"></path><path d="M85.7218 44.1767C81.3186 44.1767 78.2276 42.7656 75.3978 40.6299H65.7694C70.1726 46.9079 77.2706 50.7539 85.7306 50.7539C94.1907 50.7539 101.268 46.9079 105.692 40.6299H96.0665C93.2338 42.7656 90.1339 44.1767 85.7395 44.1767" fill="currentColor"></path><path d="M49.599 3.90616C45.5561 1.31059 40.842 -0.0466878 36.0371 0.00146793C31.2499 -0.051057 26.5533 1.30704 22.5339 3.90616C20.0918 5.50603 17.9703 7.54766 16.2784 9.92603H25.9977C28.7659 7.9106 31.8041 6.57872 36.0253 6.57872C40.2465 6.57872 43.3112 7.9106 46.1087 9.92603H55.9073C54.1964 7.54774 52.0595 5.5067 49.6048 3.90616" fill="currentColor"></path></svg></a><ul role="list" class="u-mb-sm w-list-unstyled"><li><a href="#" class="u-text-white paragraph-sm u-mb-0">hello@vouch.us</a></li><li><a href="tel:+1(844)488-6728250" class="u-text-white paragraph-sm u-mb-0">(844) 488-6728</a></li><li><div class="paragraph-sm u-mb-0">250 Montgomery Street <br/>Suite 650 <br/>San Francisco, CA 94104</div></li></ul><ul role="list" class="footer-social_list w-list-unstyled"><li class="u-mb-0"><a href="https://www.linkedin.com/company/vouch-group/" target="_blank" class="footer-social_link w-inline-block"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6909b2603fe8b2669a343762_linkedin.avif" loading="lazy" alt="linkedin logo"/></a></li><li class="u-mb-0"><a href="https://x.com/vouch_group?s..." target="_blank" class="footer-social_link w-inline-block"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6909b260d6486cbb67bab85f_twitter.png" loading="lazy" alt="twitter/x logo"/></a></li><li class="u-mb-0"><a href="https://www.youtube.com/@VouchInsurance" target="_blank" class="footer-social_link w-inline-block"><img src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/6909b260e2d94f386f995412_youtube.avif" loading="lazy" alt="youtube logo"/></a></li></ul></div><div class="col col-lg-10 col-md-12"><div class="row row-justify-end"><div class="col col-lg-3 col-md-6 col-xs-12"><div class="eyebrow u-mb-md">INDUSTRIES</div><ul role="list" class="u-mb-0 w-list-unstyled"><li><a data-track-footer="technology" href="/technology" class="footer-link">Technology</a></li><li><a data-track-footer="health-life-sciences" href="/healthcare-life-sciences" class="footer-link">Healthcare &amp; Life Sciences</a></li><li><a data-track-footer="financial-services" href="/financial-services" class="footer-link">Financial Services</a></li><li><a data-track-footer="professional-services" href="/professional-services" class="footer-link">Professional Services</a></li></ul></div><div class="col col-lg-2 col-md-6 col-xs-12"><div class="eyebrow u-mb-md">COMPANY</div><ul role="list" class="u-mb-0 w-list-unstyled"><li><a data-track-footer="about" href="/about" class="footer-link">About</a></li><li><a data-track-footer="careers" href="/careers" class="footer-link">Careers</a></li><li><a data-track-footer="news" href="/newsroom" class="footer-link">News</a></li><li><a data-track-footer="blog" href="/blog" class="footer-link">Blog</a></li><li><a data-track-footer="partnerships" href="/partner-with-us" class="footer-link">Partner With Us</a></li></ul></div><div class="col col-lg-3 col-md-6 col-xs-12"><div class="eyebrow u-mb-md">LEGAL</div><ul role="list" class="u-mb-0 w-list-unstyled"><li><a data-track-footer="help-center" href="https://support.vouch.us/" class="footer-link">Help Center</a></li><li><a data-track-footer="cookie-notice" href="/legal/cookie-notice" class="footer-link">Cookie Notice</a></li><li><a data-track-footer="disclosures" href="/legal/disclosures" class="footer-link">Disclosures</a></li><li><a data-track-footer="do-not-sell-or-share" href="/legal/do-not-sell-or-share-my-info" class="footer-link">Do Not Sell or Share</a></li><li><a data-track-footer="licenses" href="/legal/licenses" class="footer-link">Licenses</a></li><li><a data-track-footer="privacy-notice" href="/legal/privacy-notice" class="footer-link">Privacy Notice</a></li><li><a data-track-footer="terms-of-use" href="/legal/terms-of-use" class="footer-link">Terms of Use</a></li></ul></div></div></div></div><div class="u-border u-bg-lightgray u-mt-md u-mb-md"></div><div class="row"><div class="col"><div class="paragraph-xs u-mb-0">© <span data-footer-year="">2026</span> Vouch, Inc. All Rights Reserved.<br/><br/>Insurance services provided by Vouch Specialty Insurance Services, LLC. Descriptions are general in nature only. Please refer to the terms and conditions of any policies offered or purchased. Insurance products offered are subject to application and underwriting requirements. Not all products available in all states. Pricing depends on a variety of factors including policyholder location. Not all discounts available in all states or on all products.<br/><br/>If you are having difficulty viewing or navigating the content on this website, or find a feature or functionality that is not fully accessible to you, please email us at <a href="mailto:hello@vouch.us" class="u-text-white">hello@vouch.us</a>.</div></div></div></div></section></div></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=68fbaafcc7b685afc7a2fbcb" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/68fbaafcc7b685afc7a2fbcb/js/vouch40.5739030c.dd50f0098488df96.js" type="text/javascript" integrity="sha384-c1PePE8ImT5ac7Y1785fvq8NQMwSvHlKYbpObOsIaSXIDqyvVZCHAu/27PuxYHgv" crossorigin="anonymous"></script><!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KTMWFCP"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

<!--- Updated Segment Script --->
<script>
// =============================================
// VOUCH SEGMENT TRACKING — CONSOLIDATED
// Version: 3.1 (Full URL Query Params)
// Replaces: MARKETING_JS bundle
// Placement: Site Settings → Custom Code → Footer Code (before </body>)
// 
// Does NOT replace:
// - Segment snippet (head code)
// - GTM (head code)
// - VWO (head code)
// - Ambassador snippet loader (head code)
// - Scroll disable/enable (footer)
// - GSAP animations (footer)
// - GTM noscript (footer)
// =============================================
(function() {
  'use strict';

  // ===== CONFIG =====
  var SEGMENT_DEBUG_PARAM = 'segment_debug';

  // ===== DEBUG MODE =====
  var params = new URLSearchParams(window.location.search);
  var DEBUG = params.get(SEGMENT_DEBUG_PARAM) === 'true';
  var debugPanel;

  function debugLog(eventName, props) {
    if (!DEBUG) return;
    console.log(
      '%c[Segment] ' + eventName,
      'color: #7B2FBE; font-weight: bold;',
      props
    );
    if (debugPanel) {
      var entry = document.createElement('div');
      entry.style.cssText = 'padding:4px 8px;border-bottom:1px solid rgba(255,255,255,0.1);font-size:12px;';
      entry.innerHTML = '<strong>' + eventName + '</strong><br><span style="opacity:0.7;font-size:11px;">' + JSON.stringify(props).substring(0, 120) + '</span>';
      debugPanel.insertBefore(entry, debugPanel.children[1] || null);
    }
  }

  function initDebugPanel() {
    if (!DEBUG) return;
    debugPanel = document.createElement('div');
    debugPanel.style.cssText = 'position:fixed;bottom:0;right:0;width:360px;max-height:300px;overflow-y:auto;background:#1a1a2e;color:#fff;font-family:monospace;z-index:99999;border-top-left-radius:8px;box-shadow:0 0 20px rgba(0,0,0,0.3);';
    var header = document.createElement('div');
    header.style.cssText = 'padding:8px 12px;background:#7B2FBE;font-weight:bold;font-size:13px;display:flex;justify-content:space-between;align-items:center;border-top-left-radius:8px;cursor:pointer;';
    header.innerHTML = 'Segment Debug <span style="opacity:0.7;font-size:11px;">click to minimize</span>';
    header.addEventListener('click', function() {
      var isMinimized = debugPanel.style.maxHeight === '32px';
      debugPanel.style.maxHeight = isMinimized ? '300px' : '32px';
      debugPanel.style.overflow = isMinimized ? 'auto' : 'hidden';
    });
    debugPanel.appendChild(header);
    document.body.appendChild(debugPanel);

    // Highlight tracked elements
    var selectors = [
      'data-track-button', 'data-track-link', 'data-track-navigation',
      'data-track-banner', 'data-track-submitted', 'data-track-edited',
      'data-track-loaded', 'data-track-viewed', 'data-track-widget',
      'data-track-footer'
    ];
    var allTracked = document.querySelectorAll(selectors.map(function(s) { return '[' + s + ']'; }).join(','));
    allTracked.forEach(function(el) {
      el.style.outline = '2px dashed #7B2FBE';
      el.style.outlineOffset = '2px';
    });
    console.log('%c[Segment Debug] Found ' + allTracked.length + ' tracked elements', 'color: #7B2FBE; font-weight: bold;');
  }


  // =========================================================
  // PART 1: CORE TRACKING
  // =========================================================

  function segmentTrack(eventName, properties) {
    var payload = Object.assign({
      page_url: window.location.href,
      page_path: window.location.pathname,
      page_title: document.title,
      timestamp: new Date().toISOString()
    }, properties || {});

    // Append stored UTM data to every event
    var utmData = getStoredUTM();
    if (utmData) {
      payload.utm_source = utmData.utm_source || null;
      payload.utm_medium = utmData.utm_medium || null;
      payload.utm_campaign = utmData.utm_campaign || null;
      payload.utm_term = utmData.utm_term || null;
      payload.utm_content = utmData.utm_content || null;
    }

    // Append all URL query params (gclid, fbclid, ref, partner codes, etc.)
    var queryParams = getAllQueryParams();
    if (Object.keys(queryParams).length > 0) {
      payload.query_params = queryParams;
    }

    debugLog(eventName, payload);

    if (!DEBUG && window.analytics && typeof window.analytics.track === 'function') {
      window.analytics.track(eventName, payload);
    }
  }

  function formatName(value) {
    if (!value) return '';
    return value.split('-').map(function(word) {
      return word.charAt(0).toUpperCase() + word.slice(1);
    }).join(' ');
  }

  function getElementText(el) {
    return (el.innerText || el.textContent || '').trim().substring(0, 100);
  }

  function getPageName() {
    // Pull from data-track-loaded attribute if present
    var loadedEl = document.querySelector('[data-track-loaded]');
    if (loadedEl) {
      return formatName(loadedEl.getAttribute('data-track-loaded'));
    }
    // Fallback: derive from URL path
    var path = window.location.pathname.replace(/^\/|\/$/g, '');
    if (!path) return 'Homepage';
    return formatName(path.split('/').pop());
  }

  function getSectionName(el) {
    // Find the nearest <section> or .section parent
    var section = el.closest('section, .section');
    if (!section) return null;

    // Priority 1: Manual override via data-track-viewed attribute
    if (section.hasAttribute('data-track-viewed')) {
      return formatName(section.getAttribute('data-track-viewed'));
    }

    // Priority 2: Auto-detect from largest heading in the section
    var heading = section.querySelector('h1') || section.querySelector('h2') || section.querySelector('h3');
    if (heading) {
      var text = (heading.innerText || heading.textContent || '').trim();
      // Cap at 6 words to keep event names readable
      var words = text.split(/\s+/).slice(0, 6);
      if (text.split(/\s+/).length > 6) {
        words.push('...');
      }
      return words.join(' ');
    }

    return null;
  }

  function buildEventName(parts) {
    // Filter out null/empty values and join with " - "
    return parts.filter(function(p) { return p; }).join(' - ');
  }


  // =========================================================
  // PART 2: UTM CAPTURE & STORAGE
  // =========================================================

  function captureUTM() {
    var params = new URLSearchParams(window.location.search);
    var utmKeys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
    var hasUTM = false;
    var utmData = {};

    utmKeys.forEach(function(key) {
      var val = params.get(key);
      if (val) {
        utmData[key] = val;
        hasUTM = true;
      }
    });

    if (hasUTM) {
      utmData.captured_at = new Date().toISOString();
      utmData.landing_page = window.location.pathname;
      try {
        localStorage.setItem('vouch_utm', JSON.stringify(utmData));
      } catch(e) {}
      debugLog('UTM Captured', utmData);
    }
  }

  function getStoredUTM() {
    try {
      var data = localStorage.getItem('vouch_utm');
      return data ? JSON.parse(data) : null;
    } catch(e) {
      return null;
    }
  }


  // =========================================================
  // PART 2.5: FULL URL QUERY PARAMS
  // The old MARKETING_JS captured ALL URL query parameters (not
  // just UTMs) and merged them into event payloads. This catches
  // custom params like gclid, fbclid, ref, partner codes, and
  // any other tracking params that campaigns might use.
  // =========================================================

  function getAllQueryParams() {
    var result = {};
    try {
      var searchParams = new URLSearchParams(window.location.search);
      searchParams.forEach(function(value, key) {
        result[key] = value;
      });
    } catch(e) {}
    return result;
  }


  // =========================================================
  // PART 3: AMBASSADOR REFERRAL TRACKING
  // =========================================================

  function captureAmbassador() {
    var params = new URLSearchParams(window.location.search);
    var mbsy = params.get('mbsy');
    if (!mbsy) return;

    var mbsySource = params.get('mbsy_source');
    var mbsyExp = params.get('mbsy_exp');
    var campaignId = params.get('campaignid');

    // Store referral cookie
    var cookieData = JSON.stringify({
      mbsyExpiration: mbsyExp,
      value: {
        mbsy_cookie_campaign: campaignId,
        mbsy_cookie_code: mbsy,
        mbsy_source: mbsySource
      }
    });

    var expDate = new Date();
    expDate.setDate(expDate.getDate() + 365);
    var cookieStr = 'mbsy_cookie=' + cookieData + '; path=/;';
    cookieStr += ' expires=' + expDate.toUTCString() + ';';
    cookieStr += ' domain=.vouch.us;';
    cookieStr += ' SameSite=None; Secure;';
    document.cookie = cookieStr;

    try {
      localStorage.setItem('partner', 'mbsy');
    } catch(e) {}

    segmentTrack('Ambassador Referral', {
      mbsy_source: mbsySource,
      mbsy_code: mbsy,
      mbsy_campaign_id: campaignId,
      mbsy_expiration: mbsyExp
    });
  }


  // =========================================================
  // PART 4: ATTRIBUTE-BASED EVENT TRACKING
  // =========================================================

  // --- Click events (delegated) ---
  document.addEventListener('click', function(e) {

    // 4a. Button clicks
    var btn = e.target.closest('[data-track-button]');
    if (btn) {
      var pageName = getPageName();
      var sectionName = getSectionName(btn);
      var buttonName = formatName(btn.getAttribute('data-track-button'));
      var eventName = buildEventName([pageName, sectionName, buttonName + ' Clicked']);
      segmentTrack(eventName, {
        element_type: 'button',
        element_text: getElementText(btn),
        element_href: btn.href || null,
        page_name: pageName,
        section_name: sectionName || null,
        track_value: btn.getAttribute('data-track-button')
      });
    }

    // 4b. Link clicks (manual attribute)
    var link = e.target.closest('[data-track-link]');
    if (link) {
      segmentTrack(formatName(link.getAttribute('data-track-link')) + ' Link Clicked', {
        element_type: 'link',
        element_text: getElementText(link),
        element_href: link.href || null,
        track_value: link.getAttribute('data-track-link')
      });
      return; // Don't double-fire with auto-track below
    }

    // 4c. Navigation clicks
    var nav = e.target.closest('[data-track-navigation]');
    if (nav) {
      segmentTrack(formatName(nav.getAttribute('data-track-navigation')) + ' Navigation Clicked', {
        element_type: 'navigation',
        element_text: getElementText(nav),
        element_href: nav.href || null,
        track_value: nav.getAttribute('data-track-navigation')
      });
      return;
    }

    // 4d. Banner clicks
    var banner = e.target.closest('[data-track-banner]');
    if (banner) {
      segmentTrack(formatName(banner.getAttribute('data-track-banner')) + ' Clicked', {
        element_type: 'banner',
        element_text: getElementText(banner),
        element_href: banner.href || null,
        track_value: banner.getAttribute('data-track-banner')
      });
      return;
    }

    // 4e. Chat widget trigger clicks
    var widget = e.target.closest('[data-track-widget]');
    if (widget) {
      segmentTrack('Chat Widget Clicked', {
        element_type: 'chat_widget',
        page_name: widget.getAttribute('data-track-widget'),
        track_value: widget.getAttribute('data-track-widget')
      });
      return;
    }

    // 4f. Footer link clicks
    var footerLink = e.target.closest('[data-track-footer]');
    if (footerLink) {
      var pageName = getPageName();
      var footerName = formatName(footerLink.getAttribute('data-track-footer'));
      segmentTrack(buildEventName([pageName, footerName + ' Footer Clicked']), {
        element_type: 'footer',
        element_text: getElementText(footerLink),
        element_href: footerLink.href || null,
        page_name: pageName,
        track_value: footerLink.getAttribute('data-track-footer')
      });
      return;
    }

    // 4g. Auto-track: any <a> link without a data-track-* attribute
    var autoLink = e.target.closest('a');
    if (autoLink) {
      // Skip if this link (or a parent) already has any tracking attribute
      var hasTracking = autoLink.closest('[data-track-button],[data-track-link],[data-track-navigation],[data-track-banner],[data-track-widget],[data-track-footer]');
      if (hasTracking) return;

      // Skip links with no readable text (icon-only, image-only)
      var linkText = getElementText(autoLink);
      if (!linkText) return;

      var pageName = getPageName();
      var sectionName = getSectionName(autoLink);
      var eventName = buildEventName([pageName, sectionName, linkText + ' Link Clicked']);

      segmentTrack(eventName, {
        element_type: 'link_auto',
        element_text: linkText,
        element_href: autoLink.href || null,
        page_name: pageName,
        section_name: sectionName || null,
        track_value: 'auto'
      });
    }
  });


  // =========================================================
  // PART 5: HUBSPOT FORM TRACKING
  // =========================================================

  // 5a. Successful form submissions
  // HubSpot posts a message to the window when a form is submitted.
  // We listen for the 'hsFormCallback' message with event 'onFormSubmitted'.
  // This only fires on SUCCESSFUL submissions (after validation passes).
  window.addEventListener('message', function(event) {
    // Safety check: only process HubSpot messages
    if (
      event.data &&
      event.data.type === 'hsFormCallback' &&
      event.data.eventName === 'onFormSubmitted'
    ) {
      var formId = event.data.id;

      // Find the wrapper div with data-track-submitted that contains this form
      // Strategy: look for the iframe or form container with this form ID,
      // then find the closest parent with data-track-submitted
      var trackingName = null;
      var formWrapper = null;

      // Method 1: Find HubSpot iframe by form ID in its src
      var iframes = document.querySelectorAll('iframe[src*="' + formId + '"]');
      if (iframes.length > 0) {
        formWrapper = iframes[0].closest('[data-track-submitted]');
      }

      // Method 2: Find HubSpot rendered form by ID attribute
      if (!formWrapper) {
        var hsForm = document.querySelector('[data-form-id="' + formId + '"]');
        if (hsForm) {
          formWrapper = hsForm.closest('[data-track-submitted]');
        }
      }

      // Method 3: Find by HubSpot form container class
      if (!formWrapper) {
        var hsContainers = document.querySelectorAll('.hbspt-form');
        hsContainers.forEach(function(container) {
          if (formWrapper) return;
          // Check if this container has an iframe or form with matching ID
          var innerIframe = container.querySelector('iframe[src*="' + formId + '"]');
          var innerForm = container.querySelector('[data-form-id="' + formId + '"]');
          if (innerIframe || innerForm) {
            formWrapper = container.closest('[data-track-submitted]');
          }
        });
      }

      // Method 4: If only one form on the page, match to the one tracked wrapper
      if (!formWrapper) {
        var allTrackedForms = document.querySelectorAll('[data-track-submitted]');
        if (allTrackedForms.length === 1) {
          formWrapper = allTrackedForms[0];
        }
      }

      if (formWrapper) {
        trackingName = formWrapper.getAttribute('data-track-submitted');
      }

      segmentTrack(
        trackingName ? formatName(trackingName) + ' Submitted' : 'Form Submitted', {
        element_type: 'form',
        form_provider: 'hubspot',
        hubspot_form_id: formId,
        hubspot_portal_id: event.data.data ? event.data.data.portalId : null,
        form_name: trackingName || 'unknown',
        track_value: trackingName || formId
      });
    }
  });

  // 5b. Form field edits
  // For HubSpot forms, we need to detect when the form is rendered
  // (since it loads async) and then attach listeners to its fields.
  function attachHubSpotFieldTracking() {
    var trackedWrappers = document.querySelectorAll('[data-track-edited]');

    trackedWrappers.forEach(function(wrapper) {
      var formName = wrapper.getAttribute('data-track-edited');

      // Look for HubSpot form inputs inside this wrapper
      var inputs = wrapper.querySelectorAll('input, select, textarea');

      inputs.forEach(function(input) {
        if (input._segmentTracked) return; // Already tracked
        input._segmentTracked = true;

        input.addEventListener('focus', function() {
          if (input._segmentFired) return; // Fire once per field per session
          input._segmentFired = true;

          var fieldName = input.name || input.id || input.getAttribute('placeholder') || 'unknown';
          // Clean HubSpot field names (they often have prefixed names)
          fieldName = fieldName.replace(/^hs_|^hubspot_/i, '').replace(/_/g, ' ');
          var fieldType = input.type || input.tagName.toLowerCase();

          segmentTrack(formatName(fieldName.split(' ').join('-')) + ' Edited', {
            element_type: 'form_field',
            form_provider: 'hubspot',
            form_name: formName,
            field_name: fieldName,
            field_type: fieldType,
            track_value: formName
          });
        });
      });
    });
  }

  // HubSpot forms load asynchronously, so we poll for them
  var hsFieldCheckCount = 0;
  var hsFieldInterval = setInterval(function() {
    hsFieldCheckCount++;
    if (hsFieldCheckCount > 20) { // Stop after 20 seconds
      clearInterval(hsFieldInterval);
      return;
    }
    attachHubSpotFieldTracking();
  }, 1000);

  // Also listen for HubSpot's onFormReady event
  window.addEventListener('message', function(event) {
    if (
      event.data &&
      event.data.type === 'hsFormCallback' &&
      event.data.eventName === 'onFormReady'
    ) {
      // Form just rendered, attach field tracking
      setTimeout(attachHubSpotFieldTracking, 500);
    }
  });


  // =========================================================
  // PART 6: PAGE LOAD, SCROLL DEPTH & OPTIONAL SECTION VIEWS
  // =========================================================

  // --- Page loaded ---
  var loadedEls = document.querySelectorAll('[data-track-loaded]');
  loadedEls.forEach(function(el) {
    var name = el.getAttribute('data-track-loaded');
    segmentTrack(formatName(name) + ' Page Loaded', {
      element_type: 'page_load',
      track_value: name
    });
  });

  // --- Scroll depth tracking (automatic, no attributes needed) ---
  var scrollThresholds = [25, 50, 75, 100];
  var scrollFired = {};

  function getScrollPercent() {
    var docHeight = Math.max(
      document.body.scrollHeight,
      document.documentElement.scrollHeight
    );
    var winHeight = window.innerHeight;
    var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
    if (docHeight <= winHeight) return 100;
    return Math.round((scrollTop / (docHeight - winHeight)) * 100);
  }

  window.addEventListener('scroll', (function() {
    var ticking = false;
    return function() {
      if (!ticking) {
        ticking = true;
        requestAnimationFrame(function() {
          var percent = getScrollPercent();
          var pageName = getPageName();
          scrollThresholds.forEach(function(threshold) {
            if (percent >= threshold && !scrollFired[threshold]) {
              scrollFired[threshold] = true;
              segmentTrack(pageName + ' - Scroll Depth ' + threshold + '%', {
                element_type: 'scroll_depth',
                scroll_percent: threshold,
                page_name: pageName
              });
            }
          });
          ticking = false;
        });
      }
    };
  })());

  // --- Optional: individual section viewed (only for sections with data-track-viewed) ---
  var viewedEls = document.querySelectorAll('[data-track-viewed]');
  if (viewedEls.length > 0 && 'IntersectionObserver' in window) {
    var viewObserver = new IntersectionObserver(function(entries) {
      entries.forEach(function(entry) {
        if (!entry.isIntersecting) return;
        var el = entry.target;
        var name = el.getAttribute('data-track-viewed');
        segmentTrack(formatName(name) + ' Section Viewed', {
          element_type: 'section_view',
          track_value: name
        });
        viewObserver.unobserve(el);
      });
    }, { threshold: 0.5 });
    viewedEls.forEach(function(el) { viewObserver.observe(el); });
  }


  // =========================================================
  // PART 7: ZENDESK AUTO-DETECTION
  // =========================================================

  var zdChecks = 0;
  var zdInterval = setInterval(function() {
    zdChecks++;
    if (zdChecks > 10) { clearInterval(zdInterval); return; }

    if (window.zE) {
      clearInterval(zdInterval);
      try {
        zE('messenger:on', 'open', function() {
          segmentTrack('Chat Widget Clicked', {
            element_type: 'chat_widget',
            page_name: window.location.pathname,
            method: 'zendesk_auto'
          });
        });
        debugLog('Zendesk Detected', { status: 'listener attached' });
      } catch(err) {
        try {
          $zopim(function() {
            $zopim.livechat.window.onShow(function() {
              segmentTrack('Chat Widget Clicked', {
                element_type: 'chat_widget',
                page_name: window.location.pathname,
                method: 'zopim_auto'
              });
            });
          });
        } catch(err2) {}
      }
    }
  }, 1000);


  // =========================================================
  // INIT
  // =========================================================

  captureUTM();
  captureAmbassador();
  initDebugPanel();

})();
</script>
<!--- Updataed Segment Script END --->

<script>
// Ambassador banner script
document.addEventListener("DOMContentLoaded", function () {
  function handleReferralBannerVisibility(showBanner) {
    const referralBanner = document.getElementById('referral-banner');
    if (!referralBanner) return;
    if (showBanner) {
      referralBanner.style.display = 'block';
    } else {
      referralBanner.style.display = 'none';
    }
  }

  const urlParams = new URLSearchParams(window.location.search);
  const mbsyCode = urlParams.get('mbsy');
  const dismissLink = document.getElementById('referral-banner-dismiss-link');
  let showReferralBanner = localStorage.getItem('show_referral_banner');

  if (showReferralBanner === null && mbsyCode) {
    localStorage.setItem('show_referral_banner', 'true');
    showReferralBanner = 'true';
  }

  handleReferralBannerVisibility(showReferralBanner === 'true' && mbsyCode);

  if (dismissLink) {
    dismissLink.addEventListener('click', function (event) {
      event.preventDefault(); // Prevent the default link behavior
      localStorage.setItem('show_referral_banner', 'false');
      handleReferralBannerVisibility(false);
    });
  }
});
</script>

<script>
// Allow Zooming for Accessibility
let zoomLevel = Math.round((window.devicePixelRatio * 100) / 2);
function checkZoomLevel() {
  if (zoomLevel > 100) {
    $("body").addClass("user-font-size");
  } else {
    $("body").removeClass("user-font-size");
  }
}
checkZoomLevel();
$(window).resize(function () {
  zoomLevel = Math.round((window.devicePixelRatio * 100) / 2);
  checkZoomLevel();
});
</script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.1/Flip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.0/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/gtiger3/marketingsite@c01ac31691c48cc0ea70dd00e6856576fb801be4/script.js"></script>

<!-- Start of HubSpot Embed Code -->
<script type="text/javascript" id="hs-script-loader" async defer src="//js-na2.hs-scripts.com/245493959.js"></script>
<!-- End of HubSpot Embed Code -->


<!--- Email Animation --->
<script>
document.addEventListener("DOMContentLoaded", function() {
    var inputs = document.querySelectorAll("input, textarea");

    function updatePlaceholder(input) {
        if (input.value.trim() !== "" || input === document.activeElement) {
            input.classList.add("active-placeholder");
        } else {
            input.classList.remove("active-placeholder");
        }
    }

    inputs.forEach(function(input) {
        // Check each input on page load
        updatePlaceholder(input);

        // Add event listeners for input changes and focus
        input.addEventListener('input', function() {
            updatePlaceholder(input);
        });
        input.addEventListener('focus', function() {
            updatePlaceholder(input);
        });
        input.addEventListener('blur', function() {
            updatePlaceholder(input);
        });
    });
});
</script>


<!--- Email Strctural Validation --->
<script>
document.addEventListener("DOMContentLoaded", () => {
    const formsToValidate = document.querySelectorAll(".validate-form");

    formsToValidate.forEach((form) => {
        const emailForm = form.querySelector(".email");
        const phoneForm = form.querySelector(".phone"); // Optional field
        const submitButton = form.querySelector(".submit-button");

        if (!emailForm || !submitButton) return;

        let emailIsValid = false;
        let phoneIsValid = true; // Assume phone is valid initially (optional field)
        let lastEmailValue = "";

        const validateEmail = (value) => {
            const emailRegex = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/;
            return emailRegex.test(value);
        };

        const validatePhone = (value) => {
            const phoneRegex = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
            return phoneRegex.test(value);
        };

        const applyInvalidStyles = (el) => {
            el.classList.remove("input-valid-state");
            el.classList.add("input-error-state");
        };

        const applyValidStyle = (el) => {
            el.classList.remove("input-error-state");
            el.classList.add("input-valid-state");
        };

        const clearValidationStyles = (el) => {
            el.classList.remove("input-error-state", "input-valid-state");
        };

        const disableSubmitButton = () => {
            submitButton.disabled = true;
            submitButton.classList.add("submit-disabled-state");
        };

        const enableSubmitButton = () => {
            submitButton.disabled = false;
            submitButton.classList.remove("submit-disabled-state");
        };

        const updateSubmitButton = () => {
            if (emailIsValid && phoneIsValid) {
                enableSubmitButton();
            } else {
                disableSubmitButton();
            }
        };

        const validateAndStyleEmailInput = (emailValue, forceValidation = false) => {
            if (emailValue === "") {
                clearValidationStyles(emailForm);
                emailIsValid = false;
            } else if (validateEmail(emailValue)) {
                emailIsValid = true;
                applyValidStyle(emailForm);
            } else {
                emailIsValid = false;
                applyInvalidStyles(emailForm);
            }
            if (forceValidation || emailValue !== "") {
                updateSubmitButton();
            }
        };

        emailForm.addEventListener("input", (event) => {
            validateAndStyleEmailInput(event.target.value);
        });

        if (phoneForm) {
            phoneForm.addEventListener("input", (event) => {
                const phoneValue = event.target.value.trim(); // Consider whitespace as empty
                if (phoneValue === "") {
                    clearValidationStyles(phoneForm);
                    phoneIsValid = true; // Empty phone field is treated as valid
                } else if (validatePhone(phoneValue)) {
                    phoneIsValid = true;
                    applyValidStyle(phoneForm);
                } else {
                    phoneIsValid = false;
                    applyInvalidStyles(phoneForm);
                }
                updateSubmitButton();
            });
        }

        // Autofill check for email
        let autofillCheckInterval = setInterval(() => {
            const emailValue = emailForm.value;
            if (emailValue !== lastEmailValue) {
                lastEmailValue = emailValue;
                validateAndStyleEmailInput(emailValue, true);
            }
        }, 200); // Check every 200ms

        // Initial state check
        updateSubmitButton();
    });
});
</script>

<!-- Track all navlinks -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    var navElement = document.querySelector('#nav');
    if (navElement) {
        navElement.addEventListener('click', function(event) {
            var target = event.target;
            if (target.tagName === 'A') {
                // Find the parent tab element by climbing up the DOM tree
                var tabElement = target.closest('div[id]');
                // Convert the ID to a more readable format by removing hyphens and capitalizing words
                var tabName = tabElement ? tabElement.id.replace(/-/g, ' ').split(' ')
                    .map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ') : 'Unknown Tab';

                // Generate an event name using a more structured format
                var eventName = `Clicked ${target.textContent.trim()} in ${tabName} Tab in Nav`;

                analytics.track(eventName, {
                    href: target.href
                });
            }
        });
    }
});
</script>

<!--- Track Horizon Schedule Call Visits, Horizon Form Submission, Series B to IPO choice 17 March 2025 --->
<script>
document.addEventListener('DOMContentLoaded', function() {
    const currentPath = window.location.pathname;

    function trackEvent(eventName, data) {
        if (window.analytics && typeof analytics.track === 'function') {
            analytics.track(eventName, data);
        } else {
            console.warn('Analytics not ready yet.');
        }
    }

    function trackWhenSegmentLoaded(eventName, data) {
        // Use Segment's own ready method to for execution
        if (window.analytics && typeof analytics.ready === 'function') {
            analytics.ready(function(){
                analytics.track(eventName, data);
            });
        } else {
            // fallback if ready doesn't exist yet
            setTimeout(() => trackWhenSegmentLoaded(eventName, data), 500);
        }
    }

    if (currentPath === '/getstarted/schedule-form') {
        // Tracking after Segment loads
        trackWhenSegmentLoaded('Horizon Schedule Call Visit', {
            url: window.location.href
        });

        // Horizon Form Complete Tracking
        const form = document.querySelector('form');
        if (form) {
            form.addEventListener('submit', function() {
                trackEvent('Horizon Form Complete', {
                    url: window.location.href
                });
            });
        }
    }
        // Series B to IPO Selected Tracking
    if (currentPath === '/getstarted/choose') {
        const seriesBLink = document.querySelector('a[href*="/getstarted/schedule-form"]');
        if (seriesBLink) {
            seriesBLink.addEventListener('click', function() {
                trackEvent('Series B to IPO Selected', {
                    destinationUrl: seriesBLink.href
                });
            });
        }
    }
});
</script>

<script>
(function waitForZendesk() {
    if (typeof window.zE !== "undefined") {
        // Set the conversation field immediately since Zendesk is already loaded
        window.zE("messenger:set", "conversationFields", [{
            id: "34916291101723", // Use the field ID as a string
            value: window.location.href
        }]);
        console.log("✅ Zendesk loaded: Page URL added to chat metadata.");
    } else {
        setTimeout(waitForZendesk, 500);  // Keep checking until Zendesk is available
    }
})();
</script>

<!-- GSAP Scripts -->
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.7/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.7/dist/ScrollTrigger.min.js"></script>

<script>
/* HERO + CARD LOAD ANIMATIONS — desktop only (>991px).
   <=991px: clear FOUC opacity, skip animation, static CSS yellow shows. */

function isMobileOrTablet() {
  return window.innerWidth <= 991; // Webflow tablet breakpoint
}

document.addEventListener("DOMContentLoaded", () => {

  // Mobile/tablet: reveal instantly, skip animations
  if (isMobileOrTablet()) {
    document.querySelectorAll('[hero-anim] > *, [hero-single], [hero-fade], [hero-text]').forEach(el => {
      el.style.opacity = '1';
    });
    return;
  }

  gsap.registerPlugin(ScrollTrigger);

  // Hero container — staggered children
  document.querySelectorAll("[hero-anim]").forEach((container) => {
    gsap.fromTo(Array.from(container.children),
      { opacity: 0, y: 50 },
      { opacity: 1, y: 0, duration: 0.8, stagger: 0.2, ease: "power2.out", delay: 0.3 }
    );
  });

  // Single hero elements
  document.querySelectorAll("[hero-single]").forEach((el) => {
    gsap.fromTo(el, { opacity: 0, y: 30 },
      { opacity: 1, y: 0, duration: 1, ease: "power3.out", delay: 0.1 });
  });

  // Hero fade
  document.querySelectorAll("[hero-fade]").forEach((el) => {
    gsap.fromTo(el, { opacity: 0 }, { opacity: 1, duration: 1.5, ease: "power2.out" });
  });

  /* HERO TEXT — word reveal + optional highlight wipe.
     Highlight uses an animated gradient on the span (background-size 0%→100%),
     NOT an absolute overlay. An overlay only aligns on a single line; the H1
     wraps at some widths (~1056/1168/1446px), breaking it. A gradient tracks
     wrapped lines; box-decoration-break:clone reveals each line cleanly. */
  document.querySelectorAll("[hero-text]").forEach((el) => {
    const includeSpanAnim = el.getAttribute("hero-text") === "span-animation-included";
    const bgSpansData = [];

    if (includeSpanAnim) {
      el.querySelectorAll('span').forEach(span => {
        const computedBg = getComputedStyle(span).backgroundColor;
        const hasBackground = span.style.background || span.style.backgroundColor ||
          (computedBg && computedBg !== 'rgba(0, 0, 0, 0)' && computedBg !== 'transparent');

        if (hasBackground) {
          span.setAttribute('data-bg-span', 'true');
          const originalBg = span.style.background || span.style.backgroundColor || computedBg;
          bgSpansData.push({ span, background: originalBg });

          // Prime gradient reveal at 0% width
          span.style.backgroundColor = 'transparent';
          span.style.backgroundImage = 'linear-gradient(' + originalBg + ', ' + originalBg + ')';
          span.style.backgroundRepeat = 'no-repeat';
          span.style.backgroundSize = '0% 100%';
          span.style.webkitBoxDecorationBreak = 'clone';
          span.style.boxDecorationBreak = 'clone';

          const hasItalic = span.querySelector('em, i, .cc-italic, [style*="italic"], .text-style-accent') ||
            span.closest('em, i, .cc-italic, [style*="italic"], .text-style-accent') ||
            getComputedStyle(span).fontStyle === 'italic';
          if (hasItalic) span.style.paddingRight = '0.15em';
        }
      });
    }

    // Wrap each word in a clip mask so it can slide up into view
    const wordSpanElements = [];
    const wrapTextInNode = (node) => {
      Array.from(node.childNodes).forEach(child => {
        if (child.nodeType === Node.TEXT_NODE) {
          const text = child.textContent;
          if (text.trim().length > 0) {
            const fragment = document.createDocumentFragment();
            let prevWasItalic = false;
            text.split(/(\s+)/).forEach((word) => {
              if (word.trim().length > 0) {
                const parentIsItalic = child.parentNode.closest('em, i, .cc-italic, [style*="italic"], .text-style-accent');
                const parentComputedStyle = parentIsItalic ? getComputedStyle(child.parentNode) : null;
                const isItalic = parentIsItalic || (parentComputedStyle && parentComputedStyle.fontStyle === 'italic');
                const paddingRight = isItalic ? 'padding-right: 0.15em;' : '';
                const marginLeft = prevWasItalic && !isItalic ? 'margin-left: -0.15em;' : '';

                const outer = document.createElement('span');
                outer.style.cssText = `display: inline-block; overflow: hidden; vertical-align: bottom; position: relative; z-index: 2; ${paddingRight} ${marginLeft}`;
                const inner = document.createElement('span');
                inner.style.cssText = 'display: inline-block;';
                inner.textContent = word;
                outer.appendChild(inner);
                fragment.appendChild(outer);
                wordSpanElements.push(inner);
                prevWasItalic = isItalic;
              } else if (word.length > 0) {
                fragment.appendChild(document.createTextNode(word));
              }
            });
            child.parentNode.replaceChild(fragment, child);
          }
        } else if (child.nodeType === Node.ELEMENT_NODE) {
          if (child.hasAttribute && child.hasAttribute('data-bg-element')) return;
          wrapTextInNode(child);
        }
      });
    };
    wrapTextInNode(el);

    if (wordSpanElements.length > 0) gsap.set(wordSpanElements, { y: "100%", opacity: 0 });
    gsap.set(el, { opacity: 1 });

    // Reveal words, then wipe highlight(s) on complete
    if (wordSpanElements.length > 0) {
      gsap.to(wordSpanElements, {
        y: "0%", opacity: 1, duration: 0.6, stagger: 0.1, ease: "power3.out", delay: 0.3,
        onComplete: () => {
          if (includeSpanAnim && bgSpansData.length > 0) {
            bgSpansData.forEach((data, index) => {
              gsap.to(data.span, {
                backgroundSize: '100% 100%', duration: 1, ease: 'power2.inOut',
                delay: index * 0.15
              });
            });
          }
        }
      });
    }
  });

  // Card animations — scroll triggered
  document.querySelectorAll("[card-anim]").forEach((container) => {
    const items = Array.from(container.children);
    gsap.set(items, { opacity: 0, y: 50 });
    gsap.to(items, {
      scrollTrigger: { trigger: container, start: "top 80%", once: true },
      opacity: 1, y: 0, duration: 0.8, stagger: 0.2, ease: "power2.out",
    });
  });

  ScrollTrigger.refresh();
});
</script>

<script>
// Check if device is mobile or tablet
function isMobileOrTablet() {
  return window.innerWidth <= 991; // Webflow's tablet breakpoint
}

// TEXT ANIMATIONS with Word Stagger + Optional Span Background (Scroll Triggered)
// Skip animations on mobile and tablet
if (!isMobileOrTablet()) {
gsap.utils.toArray("[text-anim]").forEach((el) => {
  const attrValue = el.getAttribute("text-anim");
  const includeSpanAnim = attrValue === "span-animation-included";
  
  // Store references to background spans before processing
  const bgSpansToAnimate = [];
  
  if (includeSpanAnim) {
    el.querySelectorAll('span').forEach(span => {
      const hasBackground = span.style.background || 
                          span.style.backgroundColor ||
                          getComputedStyle(span).backgroundColor !== 'rgba(0, 0, 0, 0)';
      
      if (hasBackground) {
        span.setAttribute('data-bg-span', 'true');
        bgSpansToAnimate.push(span);
        
        // Check if span contains italic text and add padding to prevent cut-off
        const hasItalic = span.querySelector('em, i, .cc-italic, [style*="italic"], .text-style-accent') ||
                         span.closest('em, i, .cc-italic, [style*="italic"], .text-style-accent') ||
                         getComputedStyle(span).fontStyle === 'italic';
        
        if (hasItalic) {
          span.style.paddingRight = '0.15em';
        }
      }
    });
  }
  
  // Recursively wrap text nodes in word spans
  const wordSpanElements = [];
  
  const wrapTextInNode = (node) => {
    // Process all child nodes
    const childNodes = Array.from(node.childNodes);
    
    childNodes.forEach(child => {
      if (child.nodeType === Node.TEXT_NODE) {
        // This is a text node - wrap each word
        const text = child.textContent;
        if (text.trim().length > 0) {
          const words = text.split(/(\s+)/);
          const fragment = document.createDocumentFragment();
          
          let prevWasItalic = false;
          words.forEach((word, index) => {
            if (word.trim().length > 0) {
              // Check if we're inside an italic element OR if the word itself will render as italic
              const parentIsItalic = child.parentNode.closest('em, i, .cc-italic, [style*="italic"], .text-style-accent');
              const parentComputedStyle = parentIsItalic ? getComputedStyle(child.parentNode) : null;
              const isItalic = parentIsItalic || (parentComputedStyle && parentComputedStyle.fontStyle === 'italic');
              
              const paddingRight = isItalic ? 'padding-right: 0.15em;' : '';
              
              // Add negative margin if previous word had italic padding
              const marginLeft = prevWasItalic && !isItalic ? 'margin-left: -0.15em;' : '';
              
              // Create word wrapper
              const outer = document.createElement('span');
              outer.style.cssText = `display: inline-block; overflow: hidden; vertical-align: bottom; ${paddingRight} ${marginLeft}`;
              const inner = document.createElement('span');
              inner.style.cssText = 'display: inline-block;';
              inner.textContent = word;
              outer.appendChild(inner);
              fragment.appendChild(outer);
              wordSpanElements.push(inner);
              
              prevWasItalic = isItalic;
            } else if (word.length > 0) {
              // Preserve whitespace
              fragment.appendChild(document.createTextNode(word));
            }
          });
          
          child.parentNode.replaceChild(fragment, child);
        }
      } else if (child.nodeType === Node.ELEMENT_NODE) {
        // This is an element (like a span) - check if it's a background span
        const isBgSpan = child.hasAttribute && child.hasAttribute('data-bg-span');
        
        if (!isBgSpan) {
          // Not a background span - process its text content recursively
          wrapTextInNode(child);
        }
        // If it's a background span, leave it and its contents alone
      }
    });
  };
  
  // Start wrapping from the root element
  wrapTextInNode(el);
  
  // Set initial states
  if (wordSpanElements.length > 0) {
    gsap.set(wordSpanElements, { y: "100%", opacity: 0 });
  }
  
  if (includeSpanAnim && bgSpansToAnimate.length > 0) {
    gsap.set(bgSpansToAnimate, { clipPath: "inset(0 100% 0 0)" });
  }
  
  ScrollTrigger.create({
    trigger: el,
    start: "top 90%",
    once: true,
    onEnter: () => {
      // Animate words
      if (wordSpanElements.length > 0) {
        gsap.to(wordSpanElements, {
          y: "0%",
          opacity: 1,
          duration: 0.6,
          stagger: 0.1,
          ease: "power3.out",
        });
      }
      
      // Animate background spans if included
      if (includeSpanAnim && bgSpansToAnimate.length > 0) {
        gsap.to(bgSpansToAnimate, {
          clipPath: "inset(0 0% 0 0)",
          duration: 1,
          ease: "power2.inOut",
          delay: 0.3
        });
      }
    },
  });
});
}

// SPAN BACKGROUND ANIMATIONS - Left to Right Reveal (Scroll Triggered)
// Skip animations on mobile and tablet
if (!isMobileOrTablet()) {
gsap.utils.toArray("[span-anim]").forEach((el) => {
  // Create a pseudo-element effect using clip-path
  gsap.set(el, { clipPath: "inset(0 100% 0 0)" });
  
  ScrollTrigger.create({
    trigger: el,
    start: "top 90%",
    once: true,
    onEnter: () => {
      gsap.to(el, {
        clipPath: "inset(0 0% 0 0)",
        duration: 1,
        ease: "power2.inOut",
      });
    },
  });
});
}

// STATS COUNTER ANIMATIONS (Scroll Triggered)
// Skip animations on mobile and tablet
if (!isMobileOrTablet()) {
  gsap.utils.toArray("[stats-anim]").forEach((el) => {
    const attrValue = el.getAttribute("stats-anim");
    
    // If set to "-", skip animation and display text as-is
    if (attrValue === "-") return;
    
    const endValue = parseFloat(attrValue.replace(/,/g, ''));
    const startValue = 0;
    const useCommas = attrValue.includes(',');
    
    const originalText = el.textContent;
    const suffix = originalText.replace(/[\d.,]/g, '').trim();
    const hasDecimal = originalText.includes('.');
    const decimalPlaces = hasDecimal ? (originalText.split('.')[1] || '').replace(/\D/g, '').length : 0;
    
    el.textContent = startValue + suffix;
    
    ScrollTrigger.create({
      trigger: el,
      start: "top 85%",
      once: true,
      onEnter: () => {
        gsap.to({ value: startValue }, {
          value: endValue,
          duration: 2.5,
          ease: "power2.out",
          onUpdate: function() {
            let currentValue = this.targets()[0].value;
            let formattedValue;
            if (hasDecimal) {
              formattedValue = currentValue.toFixed(decimalPlaces);
            } else {
              formattedValue = Math.round(currentValue).toString();
            }
            if (useCommas) {
              const parts = formattedValue.split('.');
              parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
              formattedValue = parts.join('.');
            }
            el.textContent = formattedValue + suffix;
          }
        });
      },
    });
  });
}



// ITEM SCALE ANIMATIONS - Scale from 0.9 to 1 with Fade (Scroll Triggered)
// Skip animations on mobile and tablet
if (!isMobileOrTablet()) {
gsap.utils.toArray("[item-scale-anim]").forEach((el) => {
  const direction = el.getAttribute("item-scale-anim") || "center";
  
  // Map direction to transform origin
  const originMap = {
    "top-left": "0% 0%",
    "top-right": "100% 0%",
    "bottom-left": "0% 100%",
    "bottom-right": "100% 100%",
    "top": "50% 0%",
    "bottom": "50% 100%",
    "left": "0% 50%",
    "right": "100% 50%",
    "center": "50% 50%"
  };
  
  // Set transform origin
  const origin = originMap[direction] || originMap["center"];
  gsap.set(el, { transformOrigin: origin });
  
  // Set initial state
  gsap.set(el, { scale: 0.9, opacity: 0 });
  
  ScrollTrigger.create({
    trigger: el,
    start: "top 85%",
    once: true,
    onEnter: () => {
      gsap.to(el, {
        scale: 1,
        opacity: 1,
        duration: 1,
        ease: "power2.out",
      });
    },
  });
});
}
</script>

<!--- Auto Tab Start --->
<script>
$(function () {

  // Settings
  let tabDuration = 9000; // Timer bar fill duration (ms)
  let bgDuration = 500;   // Background animation speed (ms)
  let $lastTrigger = null;

  // Animate background fill on active tab, shrink previous
  function animateBackground($trigger) {
    if ($lastTrigger && $lastTrigger.length && !$lastTrigger.is($trigger)) {
      $lastTrigger
        .find(".auto-tab-background")
        .stop(true, true)
        .animate({ width: "0%" }, bgDuration);
    }
    $trigger
      .find(".auto-tab-background")
      .stop(true, true)
      .css("width", "0%")
      .animate({ width: "100%" }, bgDuration);
    $lastTrigger = $trigger;
  }

  // Run timer bar + background animation (no auto-advance)
  // To restore auto-play: replace this with tabLoop() that uses setTimeout to auto-advance tabs
  function animateTab($trigger) {
    $(".auto-tabs_timer-bar").stop(true, true).css("width", "0%");
    $trigger.find(".auto-tabs_timer-bar").animate({ width: "100%" }, tabDuration);
    animateBackground($trigger);
  }

  // Initial state — fill background + timer bar on active tab
  let $initial = $(".auto-tabs_tab.w-tab-link.w--current");
  if ($initial.length) {
    $initial.find(".auto-tab-background").css("width", "100%");
    $initial.find(".auto-tabs_timer-bar").css("width", "100%");
    $lastTrigger = $initial;
  }

  // Manual click handler
  $(".auto-tabs_tab.w-tab-link").on("click", function () {
    animateTab($(this));
  });

});
</script>
<!--- Auto Tab END --->

<!--- Icons Texture Animation Documented START --->
<script>
(function() {
  
  /* ========================================================================
     CONFIGURATION
     Edit these values to customize the grain effect globally.
     ======================================================================== */
  
  const CONFIG = {
    
    // ─────────────────────────────────────────────────────────────────────────
    // COLORS
    // ─────────────────────────────────────────────────────────────────────────
    
    // GAP_COLOR: The color that shows between the grain particles on hover.
    // Default: '#000000' (black)
    // Examples: '#ffffff' (white), '#0d5c45' (dark green)
    GAP_COLOR: '#1A5745',
    
    // OVERRIDE_PARTICLE_COLOR: Forces all particles to this color.
    // Leave as null to use each icon's original fill color.
    OVERRIDE_PARTICLE_COLOR: null,
    
    
    // ─────────────────────────────────────────────────────────────────────────
    // GRAIN TEXTURE
    // ─────────────────────────────────────────────────────────────────────────
    
    // BASE_FREQUENCY: Size/density of grain particles.
    // Lower = larger, sparse | Higher = smaller, denser
    // Range: 0.5 - 2.0 | Default: 1.2
    BASE_FREQUENCY: 0.35,
    
    // NUM_OCTAVES: Detail/complexity of the noise.
    // Range: 1 - 8 | Default: 5
    NUM_OCTAVES: 5,
    
    // NOISE_TYPE: 'fractalNoise' (organic) or 'turbulence' (chaotic)
    NOISE_TYPE: 'fractalNoise',
    
    
    // ─────────────────────────────────────────────────────────────────────────
    // CONTRAST / VISIBILITY
    // ─────────────────────────────────────────────────────────────────────────
    
    // SLOPE: Contrast of particles. Higher = harder edges.
    // Range: 1.0 - 4.0 | Default: 2.5
    SLOPE: 2.5,
    
    // INTERCEPT: Density threshold. More negative = denser.
    // Range: -1.0 - 0.0 | Default: -0.6
    INTERCEPT: -0.6,
    
    
    // ─────────────────────────────────────────────────────────────────────────
    // ANIMATION
    // ─────────────────────────────────────────────────────────────────────────
    
    // ANIMATION_SPEED: Speed of grain movement. Set to 0 to disable.
    // Range: 0 - 5 | Default: 1
    ANIMATION_SPEED: 0.5,
    
    
    // ─────────────────────────────────────────────────────────────────────────
    // HOVER
    // ─────────────────────────────────────────────────────────────────────────
    
    // HOVER_PARENT_CLASS: Class on ANY ancestor that enables hover effect.
    // Uses closest() to find ancestor at any level.
    // When ancestor has this class:
    //   - Default: icon shows as plain solid color
    //   - On hover: grain texture animates
    //   - On hover out: returns to plain solid color
    HOVER_PARENT_CLASS: 'cc-icon-grain-hover',
    
    
    // ─────────────────────────────────────────────────────────────────────────
    // SELECTOR
    // ─────────────────────────────────────────────────────────────────────────
    
    // CSS selector for target icons
    SELECTOR: '.grain-icon'
  };
  
  
  /* ========================================================================
     IMPLEMENTATION (no need to edit below)
     ======================================================================== */
  
  const svgNS = 'http://www.w3.org/2000/svg';
  const filterSvg = document.createElementNS(svgNS, 'svg');
  filterSvg.setAttribute('style', 'position:absolute;width:0;height:0;overflow:hidden');
  filterSvg.setAttribute('aria-hidden', 'true');
  
  filterSvg.innerHTML = `
    <defs>
      <filter id="grain-texture" x="0" y="0" width="100%" height="100%">
        <feTurbulence 
          type="${CONFIG.NOISE_TYPE}" 
          baseFrequency="${CONFIG.BASE_FREQUENCY}" 
          numOctaves="${CONFIG.NUM_OCTAVES}" 
          seed="0"
          result="noise"
        />
        <feComponentTransfer result="adjustedNoise">
          <feFuncA type="linear" slope="${CONFIG.SLOPE}" intercept="${CONFIG.INTERCEPT}"/>
        </feComponentTransfer>
        <feComposite in="SourceGraphic" in2="adjustedNoise" operator="in"/>
      </filter>
    </defs>
  `;
  
  document.body.insertBefore(filterSvg, document.body.firstChild);
  
  document.querySelectorAll(CONFIG.SELECTOR).forEach((svg) => {
    const gapColor = svg.dataset.grainGap || CONFIG.GAP_COLOR;
    const particleColor = svg.dataset.grainColor || CONFIG.OVERRIDE_PARTICLE_COLOR;
    
    // Find ANY ancestor with the hover class (not just immediate parent)
    const hoverAncestor = CONFIG.HOVER_PARENT_CLASS 
      ? svg.closest('.' + CONFIG.HOVER_PARENT_CLASS) 
      : null;
    
    const isHoverTriggered = !!hoverAncestor;
    
    // Store references to shapes and their backgrounds
    const shapeData = [];
    
    svg.querySelectorAll('path, circle, rect, polygon, ellipse').forEach(shape => {
      // Create background layer
      const bgShape = shape.cloneNode(true);
      bgShape.setAttribute('fill', gapColor);
      bgShape.removeAttribute('filter');
      bgShape.classList.add('grain-bg-layer');
      
      // For hover-triggered icons: hide background by default
      if (isHoverTriggered) {
        bgShape.style.display = 'none';
      }
      
      shape.parentNode.insertBefore(bgShape, shape);
      
      // Apply particle color override if specified
      if (particleColor) shape.setAttribute('fill', particleColor);
      
      // For hover icons: don't apply filter by default (show solid)
      // For non-hover icons: apply filter immediately
      if (!isHoverTriggered) {
        shape.setAttribute('filter', 'url(#grain-texture)');
      }
      
      shapeData.push({ shape, bgShape });
    });
    
    // Add hover listeners to the ancestor element
    if (isHoverTriggered && hoverAncestor) {
      hoverAncestor.addEventListener('mouseenter', () => {
        // Show grain effect
        shapeData.forEach(({ shape, bgShape }) => {
          bgShape.style.display = '';
          shape.setAttribute('filter', 'url(#grain-texture)');
        });
      });
      
      hoverAncestor.addEventListener('mouseleave', () => {
        // Hide grain effect, show solid icon
        shapeData.forEach(({ shape, bgShape }) => {
          bgShape.style.display = 'none';
          shape.removeAttribute('filter');
        });
      });
    }
  });
  
  // Animation
  if (CONFIG.ANIMATION_SPEED > 0) {
    const turbulence = document.querySelector('#grain-texture feTurbulence');
    let seed = 0;
    
    (function animate() {
      seed = (seed + CONFIG.ANIMATION_SPEED) % 10000;
      turbulence.setAttribute('seed', Math.floor(seed));
      requestAnimationFrame(animate);
    })();
  }
})();
</script>
<!--- Icons Texture Animation Documented END --->

<!--- Hero Slider Start --->
<script>
/**
 * Hero Slider Animation v18
 * All sizes read dynamically from Webflow CSS - no hardcoded values
 * Responsive-ready: just set sizes in Webflow Designer per breakpoint
 */

(function() {
  'use strict';

  const CONFIG = {
    // Timing (these remain configurable in JS)
    activeDuration: 4,
    transitionDuration: 0.8,
    easing: 'power2.inOut',
    
    // Selectors
    wrapper: '.hero-slider-wrapper',
    item: '.hero-slider-item',
    svgContainer: '.hero-slider-item-bg',
    imgWrapper: '.hero-slider-img-wrapper',
    img: '.hero-anim-img-full',
    
    // Color values
    activeColor: 'currentColor',
    inactiveColor: 'rgba(15, 28, 44, 0.1)',
  };

  const SVG_FRAME = `<svg class="svg-frame" width="100%" height="100%" viewBox="0 0 525 525" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M262.023 474.085C228.361 474.085 204.731 463.298 183.098 446.971L109.49 446.971C143.152 494.965 197.415 524.367 262.091 524.367C326.766 524.367 380.872 494.965 414.691 446.971L341.107 446.971C319.451 463.298 295.753 474.085 262.158 474.085" fill="currentColor"/>
<path d="M262.16 50.282C295.822 50.282 319.452 61.0695 341.086 77.3965L414.693 77.3965C381.031 29.4022 326.768 0.000133833 262.092 0.000128179C197.417 0.000122525 143.311 29.4022 109.492 77.3965L183.076 77.3965C204.732 61.0695 228.43 50.282 262.025 50.282" fill="currentColor"/>
<path d="M473.929 262.234C473.929 295.896 463.141 319.527 446.814 341.16L446.814 414.768C494.809 381.106 524.211 326.843 524.211 262.167C524.211 197.491 494.809 143.385 446.814 109.566L446.814 183.151C463.141 204.807 473.929 228.505 473.929 262.099" fill="currentColor"/>
<path d="M50.2819 262.094C50.2819 228.432 61.0693 204.801 77.3964 183.168L77.3964 109.561C29.4021 143.222 1.0611e-05 197.485 4.10933e-06 262.161C-2.3923e-06 326.837 29.4021 380.943 77.3963 414.762L77.3963 341.177C61.0693 319.521 50.2818 295.823 50.2819 262.229" fill="currentColor"/>
</svg>`;

  class HeroSlider {
    constructor() {
      this.wrapper = document.querySelector(CONFIG.wrapper);
      if (!this.wrapper) return console.warn('Hero Slider: Wrapper not found');

      this.items = Array.from(this.wrapper.querySelectorAll(CONFIG.item));
      if (this.items.length < 4) return console.warn('Hero Slider: Need 4 items');

      // Track position of each item
      this.itemPositions = ['LEFT', 'CENTER', 'RIGHT', 'HIDDEN'];
      
      // Sizes will be read from Webflow CSS
      this.sizes = {};
      
      this.isAnimating = false;
      this.autoplayTimer = null;

      this.init();
    }

    init() {
      // Wait a frame to ensure CSS custom properties are parsed
      requestAnimationFrame(() => {
        this.readSizesFromWebflow();
        this.stripWebflowClasses();
        this.setupWrapper();
        this.injectSVGs();
        this.calculatePositions();
        this.setInitialStates();
        this.setupResizeHandler();
        this.startAutoplay();
        console.log('Hero Slider v18: Initialized', {
          sizes: this.sizes,
          positions: this.positions,
          wrapperWidth: this.wrapper.offsetWidth
        });
      });
    }

    /**
     * Read all sizes from CSS custom properties on .hero-slider-wrapper
     * Set these in Webflow using custom CSS per breakpoint:
     * 
     * .hero-slider-wrapper {
     *   --slider-active-size: 30rem;
     *   --slider-secondary-size: 15rem;
     *   --slider-img-active-size: 18rem;
     *   --slider-img-secondary-size: 8rem;
     * }
     */
    readSizesFromWebflow() {
      const wrapperStyles = getComputedStyle(this.wrapper);
      
      // Read CSS custom properties
      const activeSize = wrapperStyles.getPropertyValue('--slider-active-size').trim();
      const secondarySize = wrapperStyles.getPropertyValue('--slider-secondary-size').trim();
      const imgActiveSize = wrapperStyles.getPropertyValue('--slider-img-active-size').trim();
      const imgSecondarySize = wrapperStyles.getPropertyValue('--slider-img-secondary-size').trim();
      
      // Get base font size for rem calculations
      const baseFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
      
      // Convert rem/px to pixels
      const toPixels = (value, fallbackRem) => {
        if (!value || value === '') {
          return fallbackRem * baseFontSize;
        }
        const numValue = parseFloat(value);
        if (value.includes('rem')) {
          return numValue * baseFontSize;
        }
        return numValue; // assume px
      };
      
      this.sizes = {
        // Active item (center)
        activeWidth: toPixels(activeSize, 30),
        activeHeight: toPixels(activeSize, 30),
        
        // Secondary item (left/right)
        secondaryWidth: toPixels(secondarySize, 15),
        secondaryHeight: toPixels(secondarySize, 15),
        
        // Image wrapper sizes
        imgWrapperActiveWidth: toPixels(imgActiveSize, 18),
        imgWrapperActiveHeight: toPixels(imgActiveSize, 18),
        imgWrapperSecondaryWidth: toPixels(imgSecondarySize, 7),
        imgWrapperSecondaryHeight: toPixels(imgSecondarySize, 7),
      };
      
      // Calculate scale ratio
      this.sizes.secondaryScale = this.sizes.secondaryWidth / this.sizes.activeWidth;
      
      console.log('Hero Slider sizes:', {
        baseFontSize,
        cssVars: { activeSize, secondarySize, imgActiveSize, imgSecondarySize },
        computed: this.sizes
      });
    }

    stripWebflowClasses() {
      this.items.forEach(item => {
        item.classList.remove('cc-secondary', 'cc-hidden');
        const imgWrapper = item.querySelector(CONFIG.imgWrapper);
        if (imgWrapper) {
          imgWrapper.classList.remove('cc-secondary', 'cc-thertiary');
        }
        const img = item.querySelector(CONFIG.img);
        if (img) {
          img.classList.remove('cc-active');
        }
      });
    }

    setupWrapper() {
      // Set wrapper height based on active item size
      const wrapperHeight = this.sizes.activeHeight;
      
      // Force wrapper styles to ensure centering - override EVERYTHING
      Object.assign(this.wrapper.style, {
        position: 'relative',
        minHeight: wrapperHeight + 'px',
        width: '100%',
        display: 'flex',
        justifyContent: 'center',
        alignItems: 'center',
        overflow: 'visible',
        margin: '0',
        padding: '0',
        boxSizing: 'border-box'
      });
      
      // Also ensure wrapper's children positioning doesn't shift things
      // Create a centering anchor if needed
      const existingAnchor = this.wrapper.querySelector('.slider-center-anchor');
      if (!existingAnchor) {
        const anchor = document.createElement('div');
        anchor.className = 'slider-center-anchor';
        anchor.style.cssText = 'position:relative;width:0;height:0;flex-shrink:0;';
        this.wrapper.insertBefore(anchor, this.wrapper.firstChild);
      }
    }

    injectSVGs() {
      this.items.forEach((item) => {
        const container = item.querySelector(CONFIG.svgContainer);
        if (!container) return;
        container.innerHTML = SVG_FRAME;
      });
    }

    calculatePositions() {
      const wrapperWidth = this.wrapper.offsetWidth;
      const wrapperStyles = getComputedStyle(this.wrapper);
      
      // Read side offset from CSS variable (defaults to 0.30)
      const sideOffsetValue = wrapperStyles.getPropertyValue('--slider-side-offset').trim();
      const sideOffsetPercent = parseFloat(sideOffsetValue) || 0.30;
      
      // Calculate minimum spacing to prevent overlap
      // Active item is centered, secondary items need to clear half the active + half their own width
      const halfActive = this.sizes.activeWidth / 2;
      const halfSecondary = this.sizes.secondaryWidth / 2;
      const minGap = 16; // Minimum gap between items in pixels
      
      // Minimum offset needed = half active + half secondary (rotated adds ~41% to diagonal) + gap
      const secondaryDiagonal = this.sizes.secondaryWidth * 1.41; // Rotated 45° diagonal
      const minOffset = halfActive + (secondaryDiagonal / 2) + minGap;
      
      // Use percentage-based offset, but ensure it's at least the minimum
      const percentOffset = wrapperWidth * sideOffsetPercent;
      const offset = Math.max(minOffset, percentOffset);
      
      this.positions = {
        LEFT: -offset,
        CENTER: 0,
        RIGHT: offset,
        HIDDEN: offset + this.sizes.secondaryWidth + 100, // Far off to the right
      };
      
      console.log('Positions calculated:', { 
        wrapperWidth, 
        minOffset, 
        percentOffset, 
        finalOffset: offset,
        activeSize: this.sizes.activeWidth,
        secondarySize: this.sizes.secondaryWidth
      });
    }

    setupResizeHandler() {
      let resizeTimeout;
      window.addEventListener('resize', () => {
        clearTimeout(resizeTimeout);
        resizeTimeout = setTimeout(() => {
          // Re-read sizes from CSS (they change per breakpoint)
          this.readSizesFromWebflow();
          this.calculatePositions();
          
          // Update wrapper height
          this.wrapper.style.minHeight = this.sizes.activeHeight + 'px';
          
          // Update current positions without animation
          this.items.forEach((item, idx) => {
            const el = this.getElements(item);
            const pos = this.itemPositions[idx];
            
            // Update position
            gsap.set(el.item, { x: this.positions[pos] });
            
            // Update sizes using forceSize to beat Webflow CSS
            if (pos === 'CENTER') {
              this.forceSize(el.item, this.sizes.activeWidth, this.sizes.activeHeight);
              this.forceSize(el.imgWrapper, this.sizes.imgWrapperActiveWidth, this.sizes.imgWrapperActiveHeight);
            } else {
              this.forceSize(el.item, this.sizes.secondaryWidth, this.sizes.secondaryHeight);
              this.forceSize(el.imgWrapper, this.sizes.imgWrapperSecondaryWidth, this.sizes.imgWrapperSecondaryHeight);
            }
          });
          
          console.log('Hero Slider: Resized, new sizes:', this.sizes);
        }, 150);
      });
    }

    getElements(item) {
      return {
        item,
        svgContainer: item.querySelector(CONFIG.svgContainer),
        svgFrame: item.querySelector('.svg-frame'),
        imgWrapper: item.querySelector(CONFIG.imgWrapper),
        img: item.querySelector(CONFIG.img),
      };
    }

    setInitialStates() {
      this.items.forEach((item, idx) => {
        const el = this.getElements(item);
        const pos = this.itemPositions[idx];
        
        // Clear ALL Webflow inline styles aggressively
        item.removeAttribute('style');
        if (el.imgWrapper) el.imgWrapper.removeAttribute('style');
        if (el.img) el.img.removeAttribute('style');
        if (el.svgContainer) el.svgContainer.removeAttribute('style');
        
        // Force base positioning - ALL items start centered
        gsap.set(el.item, {
          position: 'absolute',
          left: '50%',
          top: '50%',
          xPercent: -50,
          yPercent: -50,
          margin: 0,
          padding: 0,
        });

        this.applyPositionState(el, pos, true);
      });
    }

    // Helper to force size with !important (beats Webflow CSS)
    forceSize(element, width, height) {
      if (!element) return;
      element.style.setProperty('width', width + 'px', 'important');
      element.style.setProperty('height', height + 'px', 'important');
      element.style.setProperty('min-width', width + 'px', 'important');
      element.style.setProperty('min-height', height + 'px', 'important');
      element.style.setProperty('max-width', width + 'px', 'important');
      element.style.setProperty('max-height', height + 'px', 'important');
    }

    // Helper to clear forced sizes so GSAP can animate
    clearForcedSize(element) {
      if (!element) return;
      element.style.removeProperty('width');
      element.style.removeProperty('height');
      element.style.removeProperty('min-width');
      element.style.removeProperty('min-height');
      element.style.removeProperty('max-width');
      element.style.removeProperty('max-height');
    }

    applyPositionState(el, position, instant) {
      const dur = instant ? 0 : CONFIG.transitionDuration;
      const ease = CONFIG.easing;
      
      // Use gsap.set for instant, gsap.to for animated
      const animate = instant ? gsap.set.bind(gsap) : gsap.to.bind(gsap);
      const props = instant ? {} : { duration: dur, ease };

      if (position === 'CENTER') {
        // Only forceSize for instant (initial) states
        if (instant) {
          this.forceSize(el.item, this.sizes.activeWidth, this.sizes.activeHeight);
          this.forceSize(el.imgWrapper, this.sizes.imgWrapperActiveWidth, this.sizes.imgWrapperActiveHeight);
        }
        
        animate(el.item, { 
          x: this.positions.CENTER, 
          width: this.sizes.activeWidth,
          height: this.sizes.activeHeight,
          minWidth: this.sizes.activeWidth,
          minHeight: this.sizes.activeHeight,
          maxWidth: this.sizes.activeWidth,
          maxHeight: this.sizes.activeHeight,
          autoAlpha: 1, 
          ...props
        });
        animate(el.svgContainer, { rotation: 0, ...props });
        animate(el.svgFrame, { color: CONFIG.activeColor, ...props });
        animate(el.imgWrapper, { 
          width: this.sizes.imgWrapperActiveWidth,
          height: this.sizes.imgWrapperActiveHeight,
          minWidth: this.sizes.imgWrapperActiveWidth,
          minHeight: this.sizes.imgWrapperActiveHeight,
          maxWidth: this.sizes.imgWrapperActiveWidth,
          maxHeight: this.sizes.imgWrapperActiveHeight,
          rotation: 0, 
          ...props
        });
        animate(el.img, { rotation: 0, scale: 1, ...props });
      } 
      else if (position === 'LEFT') {
        if (instant) {
          this.forceSize(el.item, this.sizes.secondaryWidth, this.sizes.secondaryHeight);
          this.forceSize(el.imgWrapper, this.sizes.imgWrapperSecondaryWidth, this.sizes.imgWrapperSecondaryHeight);
        }
        
        animate(el.item, { 
          x: this.positions.LEFT, 
          width: this.sizes.secondaryWidth,
          height: this.sizes.secondaryHeight,
          minWidth: this.sizes.secondaryWidth,
          minHeight: this.sizes.secondaryHeight,
          maxWidth: this.sizes.secondaryWidth,
          maxHeight: this.sizes.secondaryHeight,
          autoAlpha: 1, 
          ...props
        });
        animate(el.svgContainer, { rotation: 45, ...props });
        animate(el.svgFrame, { color: CONFIG.inactiveColor, ...props });
        animate(el.imgWrapper, { 
          width: this.sizes.imgWrapperSecondaryWidth,
          height: this.sizes.imgWrapperSecondaryHeight,
          minWidth: this.sizes.imgWrapperSecondaryWidth,
          minHeight: this.sizes.imgWrapperSecondaryHeight,
          maxWidth: this.sizes.imgWrapperSecondaryWidth,
          maxHeight: this.sizes.imgWrapperSecondaryHeight,
          rotation: 45, 
          ...props
        });
        animate(el.img, { rotation: -45, scale: 1.4, ...props });
      }
      else if (position === 'RIGHT') {
        if (instant) {
          this.forceSize(el.item, this.sizes.secondaryWidth, this.sizes.secondaryHeight);
          this.forceSize(el.imgWrapper, this.sizes.imgWrapperSecondaryWidth, this.sizes.imgWrapperSecondaryHeight);
        }
        
        animate(el.item, { 
          x: this.positions.RIGHT, 
          width: this.sizes.secondaryWidth,
          height: this.sizes.secondaryHeight,
          minWidth: this.sizes.secondaryWidth,
          minHeight: this.sizes.secondaryHeight,
          maxWidth: this.sizes.secondaryWidth,
          maxHeight: this.sizes.secondaryHeight,
          autoAlpha: 1, 
          ...props
        });
        animate(el.svgContainer, { rotation: 45, ...props });
        animate(el.svgFrame, { color: CONFIG.inactiveColor, ...props });
        animate(el.imgWrapper, { 
          width: this.sizes.imgWrapperSecondaryWidth,
          height: this.sizes.imgWrapperSecondaryHeight,
          minWidth: this.sizes.imgWrapperSecondaryWidth,
          minHeight: this.sizes.imgWrapperSecondaryHeight,
          maxWidth: this.sizes.imgWrapperSecondaryWidth,
          maxHeight: this.sizes.imgWrapperSecondaryHeight,
          rotation: 45, 
          ...props
        });
        animate(el.img, { rotation: -45, scale: 1.4, ...props });
      }
      else if (position === 'HIDDEN') {
        if (instant) {
          this.forceSize(el.item, this.sizes.secondaryWidth, this.sizes.secondaryHeight);
          this.forceSize(el.imgWrapper, this.sizes.imgWrapperSecondaryWidth, this.sizes.imgWrapperSecondaryHeight);
        }
        
        animate(el.item, { 
          x: this.positions.HIDDEN, 
          width: this.sizes.secondaryWidth,
          height: this.sizes.secondaryHeight,
          minWidth: this.sizes.secondaryWidth,
          minHeight: this.sizes.secondaryHeight,
          maxWidth: this.sizes.secondaryWidth,
          maxHeight: this.sizes.secondaryHeight,
          autoAlpha: 0, 
          ...props
        });
        animate(el.svgContainer, { rotation: 45, ...props });
        animate(el.svgFrame, { color: CONFIG.inactiveColor, ...props });
        animate(el.imgWrapper, { 
          width: this.sizes.imgWrapperSecondaryWidth,
          height: this.sizes.imgWrapperSecondaryHeight,
          minWidth: this.sizes.imgWrapperSecondaryWidth,
          minHeight: this.sizes.imgWrapperSecondaryHeight,
          maxWidth: this.sizes.imgWrapperSecondaryWidth,
          maxHeight: this.sizes.imgWrapperSecondaryHeight,
          rotation: 45, 
          ...props
        });
        animate(el.img, { rotation: -45, scale: 1.4, ...props });
      }
    }

    nextSlide() {
      if (this.isAnimating) return;
      this.isAnimating = true;

	window.dispatchEvent(new CustomEvent('heroSliderNext'));

      this.calculatePositions();

      const transitionMap = {
        'LEFT': 'HIDDEN',
        'CENTER': 'LEFT', 
        'RIGHT': 'CENTER',
        'HIDDEN': 'RIGHT',
      };

      const tl = gsap.timeline({
        onComplete: () => {
          this.isAnimating = false;
          // Force final sizes AFTER animation completes to lock in values
          this.items.forEach((item, idx) => {
            const el = this.getElements(item);
            const pos = this.itemPositions[idx];
            if (pos === 'CENTER') {
              this.forceSize(el.item, this.sizes.activeWidth, this.sizes.activeHeight);
              this.forceSize(el.imgWrapper, this.sizes.imgWrapperActiveWidth, this.sizes.imgWrapperActiveHeight);
            } else {
              this.forceSize(el.item, this.sizes.secondaryWidth, this.sizes.secondaryHeight);
              this.forceSize(el.imgWrapper, this.sizes.imgWrapperSecondaryWidth, this.sizes.imgWrapperSecondaryHeight);
            }
          });
        }
      });

      this.items.forEach((item, idx) => {
        const el = this.getElements(item);
        const currentPos = this.itemPositions[idx];
        const newPos = transitionMap[currentPos];
        
        this.itemPositions[idx] = newPos;
        
        const dur = CONFIG.transitionDuration;
        const ease = CONFIG.easing;

        // Only process size animation for items that CHANGE size
        const needsSizeAnimation = 
          (currentPos === 'CENTER' && newPos === 'LEFT') ||
          (currentPos === 'RIGHT' && newPos === 'CENTER');

        if (needsSizeAnimation) {
          // Capture current COMPUTED sizes before clearing forced styles
          const currentItemRect = el.item.getBoundingClientRect();
          const currentImgRect = el.imgWrapper.getBoundingClientRect();
          
          // Clear forced !important styles
          this.clearForcedSize(el.item);
          this.clearForcedSize(el.imgWrapper);
          
          // Set ALL size properties to current values (prevents any CSS from interfering)
          gsap.set(el.item, { 
            width: currentItemRect.width, 
            height: currentItemRect.height,
            minWidth: currentItemRect.width,
            minHeight: currentItemRect.height,
            maxWidth: currentItemRect.width,
            maxHeight: currentItemRect.height
          });
          gsap.set(el.imgWrapper, { 
            width: currentImgRect.width, 
            height: currentImgRect.height,
            minWidth: currentImgRect.width,
            minHeight: currentImgRect.height,
            maxWidth: currentImgRect.width,
            maxHeight: currentImgRect.height
          });
        }

        if (newPos === 'CENTER') {
          // Animate ALL size properties to prevent Webflow CSS interference
          tl.to(el.item, { 
            x: this.positions.CENTER, 
            width: this.sizes.activeWidth,
            height: this.sizes.activeHeight,
            minWidth: this.sizes.activeWidth,
            minHeight: this.sizes.activeHeight,
            maxWidth: this.sizes.activeWidth,
            maxHeight: this.sizes.activeHeight,
            autoAlpha: 1, 
            duration: dur, 
            ease 
          }, 0);
          tl.to(el.svgContainer, { rotation: 0, duration: dur, ease }, 0);
          tl.to(el.svgFrame, { color: CONFIG.activeColor, duration: dur, ease }, 0);
          tl.to(el.imgWrapper, { 
            width: this.sizes.imgWrapperActiveWidth,
            height: this.sizes.imgWrapperActiveHeight,
            minWidth: this.sizes.imgWrapperActiveWidth,
            minHeight: this.sizes.imgWrapperActiveHeight,
            maxWidth: this.sizes.imgWrapperActiveWidth,
            maxHeight: this.sizes.imgWrapperActiveHeight,
            rotation: 0, 
            duration: dur, 
            ease 
          }, 0);
          tl.to(el.img, { rotation: 0, scale: 1, duration: dur, ease }, 0);
        } 
        else if (newPos === 'LEFT' || newPos === 'RIGHT') {
          const xPos = newPos === 'LEFT' ? this.positions.LEFT : this.positions.RIGHT;
          tl.to(el.item, { 
            x: xPos, 
            width: this.sizes.secondaryWidth,
            height: this.sizes.secondaryHeight,
            minWidth: this.sizes.secondaryWidth,
            minHeight: this.sizes.secondaryHeight,
            maxWidth: this.sizes.secondaryWidth,
            maxHeight: this.sizes.secondaryHeight,
            autoAlpha: 1, 
            duration: dur, 
            ease 
          }, 0);
          tl.to(el.svgContainer, { rotation: 45, duration: dur, ease }, 0);
          tl.to(el.svgFrame, { color: CONFIG.inactiveColor, duration: dur, ease }, 0);
          tl.to(el.imgWrapper, { 
            width: this.sizes.imgWrapperSecondaryWidth,
            height: this.sizes.imgWrapperSecondaryHeight,
            minWidth: this.sizes.imgWrapperSecondaryWidth,
            minHeight: this.sizes.imgWrapperSecondaryHeight,
            maxWidth: this.sizes.imgWrapperSecondaryWidth,
            maxHeight: this.sizes.imgWrapperSecondaryHeight,
            rotation: 45, 
            duration: dur, 
            ease 
          }, 0);
          tl.to(el.img, { rotation: -45, scale: 1.4, duration: dur, ease }, 0);
        }
        else if (newPos === 'HIDDEN') {
          // Subtle exit: small movement, scale down, fade out quickly
          const currentX = this.positions.LEFT;
          const subtleExitX = currentX + 50;
          
          tl.to(el.item, { 
            x: subtleExitX,
            scale: 0.8,
            autoAlpha: 0, 
            duration: dur * 0.6,
            ease: 'power2.in'
          }, 0);
          
          // After fade completes, reset position for next cycle
          tl.set(el.item, {
            x: this.positions.HIDDEN,
            scale: 1,
          }, dur * 0.6);
        }
      });
    }

    startAutoplay() {
      this.stopAutoplay();
      this.autoplayTimer = setInterval(() => {
        this.nextSlide();
      }, (CONFIG.activeDuration + CONFIG.transitionDuration) * 1000);
    }

    stopAutoplay() {
      if (this.autoplayTimer) {
        clearInterval(this.autoplayTimer);
        this.autoplayTimer = null;
      }
    }
  }

  function init() {
    if (typeof gsap === 'undefined') return console.warn('GSAP not loaded');
    window.heroSlider = new HeroSlider();
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    setTimeout(init, 100);
  }

})();
</script>
<!--- Hero Slider END --->

<!--- Inside Tab Link --->
<script>
document.querySelectorAll('.auto-tabs_inside-link[data-href]').forEach(el => {
  const link = document.createElement('a');
  link.href = el.dataset.href;
  link.className = el.className;
  link.innerHTML = el.innerHTML;
  
  // Copy custom attributes
  [...el.attributes].forEach(attr => {
    if (attr.name !== 'class') link.setAttribute(attr.name, attr.value);
  });
  
  link.addEventListener('click', (e) => {
    e.stopImmediatePropagation();
  }, true);
  
  el.replaceWith(link);
});
</script>
</body></html>