PageSourceSearch

https://www.snitcher.com/use-cases/account-scoring

html snitcher.com collected 2026-09-24 08:46:58 UTC 231,025 bytes, 1,689 lines download raw bytes

1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Stop treating all leads equally. Snitcher scores accounts by ICP fit and behavioral intent so your team works the deals most likely to close."><meta name="author" content="Snitcher"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><!-- Canonical URL --><link rel="canonical" href="https://www.snitcher.com/use-cases/account-scoring/"><!-- Open Graph --><meta property="og:title" content="Account Scoring - Focus on Deals That Close"><meta property="og:description" content="Stop treating all leads equally. Snitcher scores accounts by ICP fit and behavioral intent so your team works the deals most likely to close."><meta property="og:type" content="website"><meta property="og:url" content="https://www.snitcher.com/use-cases/account-scoring/"><meta property="og:site_name" content="Snitcher"><meta property="og:locale" content="en_US"><meta property="og:image" content="https://www.snitcher.com/og-image.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Account Scoring - Focus on Deals That Close"><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Account Scoring - Focus on Deals That Close"><meta name="twitter:description" content="Stop treating all leads equally. Snitcher scores accounts by ICP fit and behavioral intent so your team works the deals most likely to close."><meta name="twitter:image" content="https://www.snitcher.com/og-image.png"><meta name="twitter:image:alt" content="Account Scoring - Focus on Deals That Close"><!-- Favicon --><link rel="icon" type="image/png" href="/favicon.png"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- Web App Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><!-- LLM-readable content reference --><link rel="alternate" type="text/plain" href="/llms.txt" title="LLM-readable site description"><!-- Font preloads --><link rel="preload" href="/fonts/AtypText-Semibold.otf" as="font" type="font/opentype" crossorigin><link rel="preload" href="/fonts/PlusJakartaSans-Regular.woff2" as="font" crossorigin><!-- Preconnects for performance --><link rel="dns-prefetch" href="https://app.snitcher.com"><title>Account Scoring - Focus on Deals That Close | Snitcher</title><!-- Structured Data -->
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Snitcher","url":"https://www.snitcher.com","logo":"https://www.snitcher.com/logo.png","sameAs":["https://linkedin.com/company/snitcher"],"description":"Uncover your hidden website visitors. Snitcher turns anonymous intent into predictable revenue."}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Snitcher","url":"https://www.snitcher.com","description":"Uncover your hidden website visitors. Snitcher turns anonymous intent into predictable revenue."}</script>
1<!-- Personalisation URL capture — MUST run before HeadScripts so the
2         inline capture beats the Radar tracker's URL strip. Always-on (the
3         capture itself is just an indexOf + window assignment); the actual
4         personalisation UI is opted in per page via <PersonalizationProvider />. --><!-- Restore H1 visibility for JS-disabled / crawler agents. Lives next to
5     the capture (not the Provider) because JS-off visitors should always
6     see the original copy regardless of which page they land on. --><noscript><style>[data-personalize-template]{visibility:visible!important}</style></noscript>
6<script>
7  (function () {
8    // Stash the raw URL search on `window` — sessionStorage at this stage
9    // can be wiped by Cookiebot (or other CMP/tracker init) before our
10    // bundled script reads it. `window` survives.
11    var search = window.location.search || '';
12    if (
13      search &&
14      (search.indexOf('sn_email=') !== -1 || search.indexOf('sn_eid=') !== -1)
15    ) {
16      window.__snitcherPersonalizationRawSearch = search;
17    }
18  })();
19</script>
19<!-- Analytics & Tracking --><!-- Preconnects for analytics services --><link rel="preconnect" href="https://cdn.snitcher.com"><link rel="preconnect" href="https://radar.snitcher.com"><link rel="preconnect" href="https://touch.snitcher.com"><link rel="dns-prefetch" href="https://www.googletagmanager.com"><link rel="dns-prefetch" href="https://consent.cookiebot.com"><link rel="dns-prefetch" href="https://connect.facebook.net"><!-- Snitcher Radar -->
19<script>
20!function(e){"use strict";var t=e&&e.namespace;if(t&&e.profileId&&e.cdn){var i=window[t];if(i&&Array.isArray(i)||(i=window[t]=[]),!i.initialized&&!i._loaded)if(i._loaded)console&&console.warn("[Radar] Duplicate initialization attempted");else{i._loaded=!0;["track","page","identify","group","alias","ready","debug","on","off","once","trackClick","trackSubmit","trackLink","trackForm","pageview","screen","reset","register","setAnonymousId","addSourceMiddleware","addIntegrationMiddleware","addDestinationMiddleware","giveCookieConsent"].forEach((function(e){var a;i[e]=(a=e,function(){var e=window[t];if(e.initialized)return e[a].apply(e,arguments);var i=[].slice.call(arguments);return i.unshift(a),e.push(i),e})})),-1===e.apiEndpoint.indexOf("http")&&(e.apiEndpoint="https://"+e.apiEndpoint),i.bootstrap=function(){var t,i=document.createElement("script");i.async=!0,i.type="text/javascript",i.id="__radar__",i.setAttribute("data-settings",JSON.stringify(e)),i.src=[-1!==(t=e.cdn).indexOf("http")?"":"https://",t,"/releases/latest/radar.min.js"].join("");var a=document.scripts[0];a.parentNode.insertBefore(i,a)},i.bootstrap()}}else"undefined"!=typeof console&&console.error("[Radar] Configuration incomplete")}({
21  apiEndpoint: "radar.snitcher.com",
22  cdn: "cdn.snitcher.com",
23  namespace: "Snitcher",
24  profileId: "8395164",
25  features: {
26    formTracking: true,
27    downloadTracking: true,
28  },
29});
30</script>
30<!-- Shared dual-emit tracking helper: Snitcher Radar + GTM dataLayer.
31     Module scripts use the identical `track()` from src/lib/track.ts;
32     this global exists so `is:inline` scripts can emit the same way. -->
32<script>
33window.snitcherTrack = function (event, properties) {
34  var props = properties || {};
35  // Product-stream pages tag events with a product_stream property
36  // (explicit properties win). Keep in sync with src/lib/track.ts.
37  try {
38    var streams = { 'partners': 'partners', 'radar': 'radar', 'platform': 'platform', 'ip-to-company-api': 'ip2c' };
39    var firstSegment = window.location.pathname.split('/').filter(Boolean)[0] || '';
40    if (streams[firstSegment] && !('product_stream' in props)) {
41      var tagged = { product_stream: streams[firstSegment] };
42      for (var pk in props) {
43        if (Object.prototype.hasOwnProperty.call(props, pk)) tagged[pk] = props[pk];
44      }
45      props = tagged;
46    }
47  } catch (e) { /* fall through untagged */ }
48  try {
49    if (window.Snitcher && typeof window.Snitcher.track === 'function') {
50      // Radar names are namespaced so marketing-site events stay separable
51      // from app-emitted events; the dataLayer name below stays bare for
52      // GTM triggers.
53      window.Snitcher.track('website.' + event, props);
54    }
55  } catch (e) { /* analytics must never break the page */ }
56  try {
57    window.dataLayer = window.dataLayer || [];
58    var entry = { event: event };
59    for (var key in props) {
60      if (Object.prototype.hasOwnProperty.call(props, key)) entry[key] = props[key];
61    }
62    window.dataLayer.push(entry);
63  } catch (e) { /* ignore */ }
64};
65</script>
65<!-- Google Tag Manager (consent-gated, then lazy loaded) -->
65<script>
66/*
67 * GTM is injected as a DOM-created 
67<script>. Cookiebot's `data-blockingmode="auto"`
68 * rewrites tags it can see in the markup, so it never intercepts this one — which is
69 * why the container, and the GA, Google Ads, Reddit and Clarity tags inside it, used
70 * to load before the visitor had answered the banner. Consent is therefore checked
71 * here explicitly; the static tags further down stay covered by auto-blocking.
72 */
73function gtmConsentGranted() {
74  var consent = window.Cookiebot && window.Cookiebot.consent;
75  return Boolean(consent && (consent.statistics || consent.marketing));
76}
77function initGTM() {
78  if (window.gtmDidInit || !gtmConsentGranted()) {
79    return false;
80  }
81  window.gtmDidInit = true;
82  const script = document.createElement('script');
83  script.type = 'text/javascript';
84  script.async = true;
85  script.onload = () => {
86    window.dataLayer = window.dataLayer || [];
87    window.dataLayer.push({ event: 'gtm.js', 'gtm.start': new Date().getTime(), 'gtm.uniqueEventId': 0 });
88  };
89  script.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-THP98M8';
90  document.head.appendChild(script);
91  return true;
92}
93function initGTMOnEvent(event) {
94  // Only spend the listener once the container actually loaded — before consent
95  // initGTM() is a no-op, and dropping the listener there would lose the trigger.
96  if (initGTM()) {
97    event.currentTarget.removeEventListener(event.type, initGTMOnEvent);
98  }
99}
100document.addEventListener('DOMContentLoaded', () => {
101  setTimeout(initGTM, 500);
102});
103document.addEventListener('scroll', initGTMOnEvent);
104document.addEventListener('mousemove', initGTMOnEvent);
105document.addEventListener('touchstart', initGTMOnEvent);
106// Consent usually lands after the lazy triggers have already run and no-opped, so
107// load on Cookiebot's own events too.
108window.addEventListener('CookiebotOnAccept', initGTM);
109window.addEventListener('CookiebotOnConsentReady', initGTM);
110</script>
110<!-- Google Consent Mode v2 defaults — MUST run before Cookiebot and any Google tag.
111     Without these Google's tags assume consent, which is what Cookiebot's scan reports
112     as "GCM consent parameters set as Default: At risk". Cookiebot updates the signal
113     once the visitor answers; until then everything non-essential stays denied. -->
113<script>
114window.dataLayer = window.dataLayer || [];
115function gtag() { window.dataLayer.push(arguments); }
116gtag('consent', 'default', {
117  ad_storage: 'denied',
118  ad_user_data: 'denied',
119  ad_personalization: 'denied',
120  analytics_storage: 'denied',
121  functionality_storage: 'denied',
122  personalization_storage: 'denied',
123  security_storage: 'granted',
124  wait_for_update: 500,
125});
126gtag('set', 'ads_data_redaction', true);
127gtag('set', 'url_passthrough', true);
128</script>
128<!-- Cookiebot CMP (Cookie Consent) -->
128<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="61d78ce6-ca00-4e9d-9b95-3dd373e04e20" data-blockingmode="auto" type="text/javascript"></script>
128<!-- Segment Analytics -->
128<script>
129!function(){var i="analytics",analytics=window[i]=window[i]||[];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","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"];analytics.factory=function(e){return function(){if(window[i].initialized)return window[i][e].apply(window[i],arguments);var n=Array.prototype.slice.call(arguments);if(["track","screen","alias","group","page","identify"].indexOf(e)>-1){var c=document.querySelector("link[rel='canonical']");n.push({__t:"bpc",c:c&&c.getAttribute("href")||void 0,p:location.pathname,u:location.href,s:location.search,t:document.title,r:document.referrer})}n.unshift(e);analytics.push(n);return analytics}};for(var n=0;n<analytics.methods.length;n++){var key=analytics.methods[n];analytics[key]=analytics.factory(key)}analytics.load=function(key,n){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.setAttribute("data-global-segment-analytics-key",i);t.src="https://touch.snitcher.com/analytics.js/v1/" + key + "/analytics.min.js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r);analytics._loadOptions=n};analytics._writeKey="fS7MHBg3XdVWDj1Gf6mi7xqpGDv6atOV";;analytics.SNIPPET_VERSION="5.2.0";
130analytics.load("fS7MHBg3XdVWDj1Gf6mi7xqpGDv6atOV");
131analytics.page();
132}}();
133</script>
133<!-- Meta Pixel -->
133<script>
vendor: 399 bytes, lines 133-142
133
134!function(f,b,e,v,n,t,s)
135{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
136n.callMethod.apply(n,arguments):n.queue.push(arguments)};
137if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
138n.queue=[];t=b.createElement(e);t.async=!0;
139t.src=v;s=b.getElementsByTagName(e)[0];
140s.parentNode.insertBefore(t,s)}(window, document,'script',
141'https://connect.facebook.net/en_US/fbevents.js');
142fbq('init', '
1421377135903938422
vendor: 30 bytes, lines 142-143
142');
143fbq('track', 'PageView');
144</script>
144<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1377135903938422&ev=PageView&noscript=1"></noscript><link rel="stylesheet" href="/_astro/about.D_2VM18I.css">
145<style>.referral-offer-banner[data-astro-cid-nahiwob6].hidden{display:none}.referral-offer-banner[data-astro-cid-nahiwob6].is-visible{display:block}.referral-offer-banner[data-astro-cid-nahiwob6].is-dismissing{transition:opacity .2s ease-out,max-height .2s ease-out,padding .2s ease-out;opacity:0;max-height:0;padding-top:0;padding-bottom:0}#hero .section-container{-o-border-image:linear-gradient(to bottom,transparent,rgba(228,228,231,.5)) 1;border-image:linear-gradient(to bottom,transparent,rgba(228,228,231,.5)) 1}#hero .section-container:before,#hero .section-container:after{-webkit-mask-image:linear-gradient(to bottom,transparent,black);mask-image:linear-gradient(to bottom,transparent,black)}
146:root{--color-palatinate-50: #efefff;--color-palatinate-100: #dadaff;--color-palatinate-200: #b4b4ff;--color-palatinate-300: #8e8eff;--color-palatinate-400: #6a6aff;--color-palatinate-500: #4c4cff;--color-palatinate-600: #3e3ee6;--color-palatinate-700: #3131c2;--color-palatinate-800: #26269e;--color-palatinate-900: #1d1d7a;--color-palatinate-950: #171761;--color-lavender-50: #efefff;--color-lavender-100: #e9e8ff;--color-lavender-200: #d5d4ff;--color-lavender-300: #b8b1ff;--color-lavender-400: #9485ff;--color-lavender-500: #7153ff;--color-lavender-600: #5f30f7;--color-lavender-700: #511ee3;--color-lavender-800: #4318bf;--color-lavender-900: #38169c;--color-lavender-950: #210b6a;--color-jade-50: #ecfdf3;--color-jade-100: #d1fae1;--color-jade-200: #a7f3c9;--color-jade-300: #6de8ab;--color-jade-400: #33d489;--color-jade-500: #0ead69;--color-jade-600: #04975b;--color-jade-700: #03794c;--color-jade-800: #05603d;--color-jade-900: #064e34;--color-jade-950: #022c1e;--color-coral-50: #fef8f7;--color-coral-100: #fdedea;--color-coral-200: #fbd4cc;--color-coral-300: #fabaab;--color-coral-400: #f8a087;--color-coral-500: #f78154;--color-coral-600: #d0602a;--color-coral-700: #a1491f;--color-coral-800: #753313;--color-coral-900: #491d08;--color-coral-950: #351404;--color-honey-50: #feedd1;--color-honey-100: #fde4ba;--color-honey-200: #fcd38d;--color-honey-300: #fbc261;--color-honey-400: #fab034;--color-honey-500: #f99f07;--color-honey-600: #cd8305;--color-honey-700: #a06604;--color-honey-800: #744a03;--color-honey-900: #472d02;--color-honey-950: #301f01;--color-lava-50: #fef2f3;--color-lava-100: #fde3e5;--color-lava-200: #fcccd0;--color-lava-300: #f9a8ae;--color-lava-400: #f3767f;--color-lava-500: #e63946;--color-lava-600: #d52d3a;--color-lava-700: #b3222d;--color-lava-800: #942029;--color-lava-900: #7b2128;--color-lava-950: #430c10;--color-zinc-600: #52525b;--alpha-border: rgba(0, 0, 0, .08)}.dark{--alpha-border: rgba(255, 255, 255, .1)}
147.hero-logo-scatter[data-astro-cid-s4rxgulo]{position:absolute;inset:0;z-index:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0}.hero-logo-scatter[data-astro-cid-s4rxgulo][data-ready=true]{opacity:1}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo]{position:absolute;width:48px;height:48px;-o-object-fit:contain;object-fit:contain;background:#fff;border-radius:12px;padding:6px;box-shadow:0 1px 2px #0000000a,0 6px 16px #0000000f}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="0"]{top:6%;left:4%;width:56px;height:56px;transform:rotate(-8deg);opacity:.6}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="1"]{top:22%;left:11%;width:44px;height:44px;transform:rotate(6deg);opacity:.75}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="2"]{top:54%;left:3%;width:48px;height:48px;transform:rotate(-12deg);opacity:.6}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="3"]{top:78%;left:13%;width:40px;height:40px;transform:rotate(9deg);opacity:.5}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="4"]{top:8%;right:5%;width:52px;height:52px;transform:rotate(7deg);opacity:.6}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="5"]{top:26%;right:12%;width:44px;height:44px;transform:rotate(-5deg);opacity:.75}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="6"]{top:56%;right:4%;width:48px;height:48px;transform:rotate(10deg);opacity:.6}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="7"]{top:80%;right:14%;width:40px;height:40px;transform:rotate(-8deg);opacity:.5}.hero-logo-scatter[data-astro-cid-s4rxgulo][data-align=right] .hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="0"],.hero-logo-scatter[data-astro-cid-s4rxgulo][data-align=right] .hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="1"],.hero-logo-scatter[data-astro-cid-s4rxgulo][data-align=right] .hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="2"],.hero-logo-scatter[data-astro-cid-s4rxgulo][data-align=right] .hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="3"]{display:none}@media (max-width: 1024px){.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="1"],.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="5"]{display:none}}@media (max-width: 640px){.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="2"],.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="3"],.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="6"],.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="7"]{display:none}.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="0"],.hero-logo-scatter__logo[data-astro-cid-s4rxgulo][data-logo-slot="4"]{width:40px;height:40px}}
148</style>
149<link rel="stylesheet" href="/_astro/demo.SKPlMlYs.css">
150<style>.personalized-modal[data-astro-cid-y42wqjr7]{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility 0s linear .2s}.personalized-modal[data-astro-cid-y42wqjr7][data-open=true]{opacity:1;visibility:visible;transition:opacity .2s ease-out,visibility 0s linear 0s}.personalized-modal__backdrop[data-astro-cid-y42wqjr7]{position:absolute;inset:0;background:#09090b99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.personalized-modal__card[data-astro-cid-y42wqjr7]{position:relative;z-index:1;width:100%;max-width:460px;max-height:calc(100vh - 3rem);overflow-y:auto;background:#fff;border-radius:1.25rem;padding:2.5rem 2rem 2rem;text-align:center;box-shadow:0 20px 60px -20px #0000004d,0 8px 24px -8px #0000001a;transform:scale(.96);transition:transform .2s ease-out}.personalized-modal[data-astro-cid-y42wqjr7][data-open=true] .personalized-modal__card[data-astro-cid-y42wqjr7]{transform:scale(1)}.personalized-modal__close[data-astro-cid-y42wqjr7]{position:absolute;top:.875rem;right:.875rem;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;transition:background .15s ease-out,color .15s ease-out}.personalized-modal__close[data-astro-cid-y42wqjr7]:hover{background:#f4f4f5;color:#18181b}.personalized-modal__close[data-astro-cid-y42wqjr7]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-palatinate-500)}.personalized-modal__lockup[data-astro-cid-y42wqjr7]{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.personalized-modal__logo-tile[data-astro-cid-y42wqjr7]{display:inline-flex;align-items:center;justify-content:center;width:64px;
150height:64px;border-radius:14px;background:#fff;padding:10px;box-shadow:0 1px 2px #0000000a,0 6px 20px #00000014}.personalized-modal__logo-tile--snitcher[data-astro-cid-y42wqjr7]{background:#f5f5ff}.personalized-modal__logo-tile[data-astro-cid-y42wqjr7] img[data-astro-cid-y42wqjr7]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.personalized-modal__logo-tile--company[data-astro-cid-y42wqjr7]{display:none}.personalized-modal[data-astro-cid-y42wqjr7][data-has-company-logo=true] .personalized-modal__logo-tile--company[data-astro-cid-y42wqjr7]{display:inline-flex}.personalized-modal[data-astro-cid-y42wqjr7][data-has-company-logo=true] .personalized-modal__lockup-glue[data-astro-cid-y42wqjr7]{display:inline}.personalized-modal__lockup-glue[data-astro-cid-y42wqjr7]{display:none;font-size:1.5rem;font-weight:600;color:#a1a1aa;line-height:1}.personalized-modal__heading[data-astro-cid-y42wqjr7]{font-size:1.5rem;line-height:1.2;font-weight:700;color:#18181b;margin:0 0 .75rem}.personalized-modal__body[data-astro-cid-y42wqjr7]{font-size:.9375rem;line-height:1.55;color:#52525b;margin:0 0 1.75rem}.personalized-modal__actions[data-astro-cid-y42wqjr7]{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.personalized-modal__cta[data-astro-cid-y42wqjr7]{justify-content:center;width:100%}.personalized-modal__dismiss[data-astro-cid-y42wqjr7]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;border:0;background:transparent;color:#71717a;font-size:.875rem;cursor:pointer;border-radius:.375rem;transition:color .15s ease-out}.personalized-modal__dismiss[data-astro-cid-y42wqjr7]:hover{color:#18181b}.personalized-modal__dismiss[data-astro-cid-y42wqjr7]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-palatinate-500)}@media (prefers-reduced-motion: reduce){.personalized-modal[data-astro-cid-y42wqjr7],.personalized-modal__card[data-astro-cid-y42wqjr7]{transition:none}}
151.underline-animated[data-astro-cid-drt2y2q3].ready .underline-path[data-astro-cid-drt2y2q3]{animation:drawStroke .3s ease-out forwards}@keyframes drawStroke{to{stroke-dashoffset:0}}
152.arrow-btn-icon-wrap{position:relative;width:16px;height:16px;overflow:hidden;display:flex;align-items:center;justify-content:center}.arrow-btn-icon{will-change:transform}.arrow-btn-icon.slide-in-right{animation:arrow-btn-slide-in-right .2s ease-in-out forwards}.arrow-btn-icon.slide-out-right{animation:arrow-btn-slide-out-right .2s ease-in-out forwards}.arrow-btn-icon.slide-in-left{animation:arrow-btn-slide-in-left .2s ease-in-out forwards}.arrow-btn-icon.slide-out-left{animation:arrow-btn-slide-out-left .2s ease-in-out forwards}.arrow-btn-icon.slide-in{animation:arrow-btn-slide-in-right .2s ease-in-out forwards}.arrow-btn-icon.slide-out{animation:arrow-btn-slide-out-right .2s ease-in-out forwards}@keyframes arrow-btn-slide-in-right{0%{transform:translate(0);opacity:1}50%{transform:translate(100%);opacity:0}50.01%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes arrow-btn-slide-out-right{0%{transform:translate(0);opacity:1}50%{transform:translate(-100%);opacity:0}50.01%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes arrow-btn-slide-in-left{0%{transform:translate(0);opacity:1}50%{transform:translate(-100%);opacity:0}50.01%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes arrow-btn-slide-out-left{0%{transform:translate(0);opacity:1}50%{transform:translate(100%);opacity:0}50.01%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}
153.feature-card[href]{color:inherit;text-decoration:none}.feature-card[href]:hover{text-decoration:none}
154.scrollbar-hide[data-astro-cid-27qgd3zz]{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide[data-astro-cid-27qgd3zz]::-webkit-scrollbar{display:none}
155.pixel-reveal[data-astro-cid-kt72rz56]{display:inline-block;position:relative;white-space:nowrap}.pixel-reveal-text[data-astro-cid-kt72rz56]{display:inline-block;position:relative}.pixel-reveal-decorative[data-astro-cid-kt72rz56]{position:absolute;top:0;left:0;opacity:0;pointer-events:none;display:inline-block;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;white-space:inherit;color:inherit}.pixel-word[data-astro-cid-kt72rz56]{display:inline;white-space:nowrap}.pixel-char[data-astro-cid-kt72rz56]{display:inline-block;position:relative;line-height:1em;vertical-align:baseline}.pixel-reveal-decorative[data-astro-cid-kt72rz56] .pixel-char[data-astro-cid-kt72rz56]{color:var(--pixel-color);overflow:visible}.pixel-dots[data-astro-cid-kt72rz56]{position:absolute;inset:-4px;pointer-events:none;opacity:0;z-index:-1}.pixel-dot[data-astro-cid-kt72rz56]{position:absolute;width:3px;height:3px;background:var(--brand-color, #4C4CFF);opacity:0;will-change:transform,opacity}.pixel-char-current[data-astro-cid-kt72rz56]{display:inline-block;position:relative;transition:transform .06s ease-out}.pixel-char[data-astro-cid-kt72rz56].scrambling .pixel-char-current[data-astro-cid-kt72rz56]{color:var(--brand-color, #4C4CFF);animation:pixel-scramble .06s ease-out}.pixel-char[data-astro-cid-kt72rz56].scrambling .pixel-dots[data-astro-cid-kt72rz56]{opacity:1}@keyframes pixel-scramble{0%{transform:translateY(-20%);opacity:.7}to{transform:translateY(0);opacity:1}}.pixel-char[data-astro-cid-kt72rz56].sparkle .pixel-char-current[data-astro-cid-kt72rz56]{animation:pixel-sparkle .15s ease-out}@keyframes pixel-sparkle{0%{filter:brightness(1)}30%{filter:brightness(1.8)}to{filter:brightness(1)}}.pixel-char[data-astro-cid-kt72rz56].revealed .pixel-char-current[data-astro-cid-kt72rz56]{color:inherit;animation:pixel-settle .25s cubic-bezier(.34,1.56,.64,1)}.pixel-char[data-astro-cid-kt72rz56].revealed .pixel-dots[data-astro-cid-kt72rz56]{animation:dots-scatter .4s ease-out forwards}@keyframes pixel-settle{0%{transform:translateY(-15%) scale(1.05);filter:brightness(1.3)}50%{transform:translateY(3%)}to{transform:translateY(0) scale(1);filter:brightness(1)}}@keyframes dots-scatter{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@media (prefers-reduced-motion: reduce){.pixel-reveal-decorative[data-astro-cid-kt72rz56]{display:none}.pixel-char-current[data-astro-cid-kt72rz56],.pixel-dots[data-astro-cid-kt72rz56],.pixel-dot[data-astro-cid-kt72rz56]{animation:none!important;transition:none!important}}.pixel-reveal[data-astro-cid-kt72rz56][data-animated=true] .pixel-reveal-text[data-astro-cid-kt72rz56]{opacity:0}
155.pixel-reveal[data-astro-cid-kt72rz56][data-animated=true] .pixel-reveal-decorative[data-astro-cid-kt72rz56],.pixel-reveal[data-astro-cid-kt72rz56][data-animated=true][data-complete=true] .pixel-reveal-text[data-astro-cid-kt72rz56]{opacity:1}.pixel-reveal[data-astro-cid-kt72rz56][data-animated=true][data-complete=true] .pixel-reveal-decorative[data-astro-cid-kt72rz56]{opacity:0}
156</style>
157<link rel="stylesheet" href="/_astro/FlipCountdown_astro_astro_type_style_index_0_lang.C_FS9Ten.css">
158<link rel="stylesheet" href="/_astro/PageSection_astro_astro_type_style_index_0_lang.BD2u2Sx1.css">
159<style>.divider-band[data-astro-cid-bj7qugvw]{margin-inline:calc(var(--section-px, 0px) * -1)}.divider-dots[data-astro-cid-bj7qugvw],.divider-lines[data-astro-cid-bj7qugvw]{position:relative}.divider-dots[data-astro-cid-bj7qugvw]:after,.divider-lines[data-astro-cid-bj7qugvw]:after{content:"";position:absolute;inset:0}.divider-dots[data-astro-cid-bj7qugvw]:after{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><g opacity='0.4'><rect x='10.75' y='10.75' width='1.5' height='1.5' fill='%234c4cff'/></g></svg>");background-size:24px 24px;background-position:50% 50%}.divider-lines[data-astro-cid-bj7qugvw]:after{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='6'><rect width='1' height='3' fill='%23e4e4e7'/></svg>");background-size:24px 6px;background-position:50% 0}[data-astro-cid-bj7qugvw][data-fade=bottom]:after{mask-image:linear-gradient(to bottom,black,transparent);-webkit-mask-image:linear-gradient(to bottom,black,transparent)}[data-astro-cid-bj7qugvw][data-fade=top]:after{mask-image:linear-gradient(to bottom,transparent,black);-webkit-mask-image:linear-gradient(to bottom,transparent,black)}[data-astro-cid-bj7qugvw][data-fade=both]:after{mask-image:linear-gradient(to bottom,transparent,black 35%,black 65%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 35%,black 65%,transparent)}.divider-lines[data-astro-cid-bj7qugvw][data-fade=top]:after{background-position:50% 100%}
160.carousel-visual[data-astro-cid-bjcxd7r3]{transition:opacity .3s ease-out}
161.carousel-progress-wrapper[data-astro-cid-algf2pu2]{opacity:0;transition:opacity .15s ease-out}.carousel-progress-visible[data-astro-cid-algf2pu2]{opacity:1}.carousel-progress[data-astro-cid-algf2pu2]{width:20px;height:20px;transform:rotate(-90deg)}.carousel-progress-track[data-astro-cid-algf2pu2]{fill:none;stroke:#e4e4e7;stroke-width:2}.carousel-progress-fill[data-astro-cid-algf2pu2]{fill:none;stroke:var(--color-palatinate-500);stroke-width:2;stroke-linecap:round;stroke-dasharray:50.265482;stroke-dashoffset:50.265482}.carousel-progress-active[data-astro-cid-algf2pu2]{animation:carousel-progress-fill var(--animation-duration, 10s) linear forwards}.carousel-progress-paused[data-astro-cid-algf2pu2]{animation-play-state:paused}@keyframes carousel-progress-fill{0%{stroke-dashoffset:50.265482}to{stroke-dashoffset:0}}
162</style>
163<link rel="stylesheet" href="/_astro/index_astro_astro_type_style_index_0_lang.BBVdYB7R.css">
164<style>.footer-nav-link[data-astro-cid-fqw42ge2]{font-size:1rem;line-height:1.6;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.footer-nav-link[data-astro-cid-fqw42ge2]:hover{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.footer-bottom-link[data-astro-cid-fqw42ge2]{font-size:.875rem;line-height:1.25;--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.footer-bottom-link[data-astro-cid-fqw42ge2]:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.fingerprint-canvas[data-astro-cid-fqw42ge2]{display:block}.partner-arrow[data-astro-cid-fqw42ge2]{animation:partner-arrow-bob 3.2s ease-in-out infinite;transform-origin:80% 30%}@keyframes partner-arrow-bob{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-2px,1px) rotate(-5deg)}}@media (prefers-reduced-motion: reduce){.partner-arrow[data-astro-cid-fqw42ge2]{animation:none}}
165.blob-card-blob[data-astro-cid-gijzu423]{position:absolute;border-radius:50%;filter:blur(40px);will-change:transform;pointer-events:none;animation-play-state:paused}.blob-card-blob-1[data-astro-cid-gijzu423]{width:750px;height:650px;background:#00000040;top:-450px;left:-450px;animation:blob-card-drift-1 18s ease-in-out infinite;filter:blur(40px)}.blob-card-blob-2[data-astro-cid-gijzu423]{width:650px;height:650px;background:#0000004d;top:-300px;right:-400px;animation:blob-card-drift-2 22s ease-in-out infinite;filter:blur(40px)}.blob-card-blob-3[data-astro-cid-gijzu423]{width:700px;height:550px;background:#00000038;bottom:-400px;left:-350px;animation:blob-card-drift-3 26s ease-in-out infinite;filter:blur(40px)}.blob-card-blob-4[data-astro-cid-gijzu423]{width:550px;height:480px;background:#ffffff0a;top:-350px;right:-320px;animation:blob-card-drift-4 24s ease-in-out infinite;filter:blur(35px)}.blob-card-blob-5[data-astro-cid-gijzu423]{width:600px;height:550px;background:#0000000d;bottom:-380px;right:-400px;animation:blob-card-drift-5 30s ease-in-out infinite;filter:blur(35px)}.blob-card-noise[data-astro-cid-gijzu423]{position:absolute;inset:0;z-index:2;opacity:.35;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}@keyframes blob-card-drift-1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,40px) scale(1.1)}50%{transform:translate(60px,20px) scale(.95)}75%{transform:translate(20px,50px) scale(1.05)}}@keyframes blob-card-drift-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,30px) scale(1.15)}66%{transform:translate(-20px,-20px) scale(.9)}}@keyframes blob-card-drift-3{0%,to{transform:translate(0) scale(1)}20%{transform:translate(40px,-30px) scale(1.1)}
16540%{transform:translate(20px,40px) scale(.95)}60%{transform:translate(-30px,20px) scale(1.05)}80%{transform:translate(-20px,-40px) scale(1)}}@keyframes blob-card-drift-4{0%,to{transform:translate(0) scale(1)}30%{transform:translate(-50px,30px) scale(1.08)}60%{transform:translate(30px,-40px) scale(.92)}85%{transform:translate(-20px,15px) scale(1.05)}}@keyframes blob-card-drift-5{0%,to{transform:translate(0) scale(1)}25%{transform:translate(35px,25px) scale(.95)}50%{transform:translate(-25px,-35px) scale(1.12)}75%{transform:translate(15px,-20px) scale(1)}}@media (prefers-reduced-motion: reduce){.blob-card-blob[data-astro-cid-gijzu423]{animation:none}}
166@keyframes pop-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.integration-bento[data-astro-cid-7rb7ltoj][data-animate=true] .integration-logo[data-astro-cid-7rb7ltoj]{opacity:0;transform:scale(.3)}.integration-bento[data-astro-cid-7rb7ltoj][data-animate=true].animate-in .integration-logo[data-astro-cid-7rb7ltoj]{animation:pop-in .5s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:var(--delay, 0ms)}@media (prefers-reduced-motion: reduce){.integration-bento[data-astro-cid-7rb7ltoj][data-animate=true] .integration-logo[data-astro-cid-7rb7ltoj]{opacity:1;transform:scale(1)}.integration-bento[data-astro-cid-7rb7ltoj][data-animate=true].animate-in .integration-logo[data-astro-cid-7rb7ltoj]{animation:none;opacity:1;transform:scale(1)}}
167.testimonial-section__dot{width:8px;height:8px;border-radius:9999px;background-color:var(--ts-dot-inactive, rgba(63, 63, 70, .25));transition:background-color .2s ease,width .2s ease;cursor:pointer;border:0;padding:0}.testimonial-section__dot:hover{background-color:var(--ts-dot-inactive-hover, rgba(63, 63, 70, .5))}.testimonial-section__dot.is-active{background-color:var(--ts-dot-active, var(--color-palatinate-600, #3e3ee6));width:24px}.testimonial-section__dot:focus-visible{outline:2px solid var(--ts-dot-focus, var(--color-palatinate-500, #4c4cff));outline-offset:2px}@media (prefers-reduced-motion: reduce){.testimonial-section__dot{transition:none}}
168.testimonial-section__slide[data-astro-cid-7ajslof7]{grid-area:1 / 1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .7s ease;pointer-events:none}.testimonial-section__slide[data-astro-cid-7ajslof7].is-active{opacity:1;pointer-events:auto}@media (prefers-reduced-motion: reduce){.testimonial-section__slide[data-astro-cid-7ajslof7]{transition:none}}
169.page-section:has([data-testimonial-section])>.section-container{padding:0}.page-section:has([data-testimonial-section][data-variant=light]),.page-section:has([data-testimonial-section][data-variant=particles]){background-color:var(--color-lavender-50, #eef0ff)}[data-testimonial-section][data-variant=light],[data-testimonial-section][data-variant=particles]{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48'><g opacity='0.4'><path d='M24 23H23V24H24V23Z' fill='%234c4cff'/></g></svg>");background-size:48px 48px;background-position:50% 0}[data-testimonial-section][data-variant=grid]:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(ellipse 34% 52% at 50% 50%,#ffffffeb,#ffffff8c 45%,#fff0 75%),linear-gradient(to right,rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.06) 1px,transparent 1px);background-size:100% 100%,25px 25px,25px 25px;background-position:center,50% 50%,50% 50%;mask-image:radial-gradient(ellipse 46% 58% at 50% 50%,#000 0%,rgba(0,0,0,.85) 45%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 46% 58% at 50% 50%,#000 0%,rgba(0,0,0,.85) 45%,transparent 100%)}[data-testimonial-section][data-variant=grid]>*{position:relative;z-index:1}.page-section:has([data-testimonial-section][data-variant=dark]){background-color:#09090b}[data-testimonial-section][data-variant=dark]{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48'><g opacity='0.3'><path d='M24 23H23V24H24V23Z' fill='%23fafafa'/></g></svg>");background-size:48px 48px;background-position:50% 0}
170.tab-active-shadow[data-astro-cid-twm5uxey]{box-shadow:0 0 0 1px var(--alpha-border),0 1px 3px #0000001a}.badge-dark-inactive[data-astro-cid-twm5uxey]{background-color:#0003}
171</style>
172<link rel="stylesheet" href="/_astro/Navbar_astro_astro_type_style_index_0_lang.CnosfN-w.css">
173<style>.g2-badge-wall__grid[data-astro-cid-ukhf4yhl]{margin-inline:calc(var(--section-px) * -1)}.g2-badge-wall__grid[data-astro-cid-ukhf4yhl]>*{border-radius:0;border-inline:0;box-shadow:none}@media (min-width: 1024px){.g2-badge-wall[data-astro-cid-ukhf4yhl]{margin-top:-4rem}.g2-badge-wall__grid[data-astro-cid-ukhf4yhl]>*{border-top:0}}
174.accordion[data-astro-cid-u4rtwtdm]:not(.accordion-dark) .accordion-trigger[data-astro-cid-u4rtwtdm]:hover{background-color:#f4f4f580}.accordion[data-astro-cid-u4rtwtdm].accordion-dark{transition:border-color .2s ease}.accordion[data-astro-cid-u4rtwtdm].accordion-dark:hover{border-color:#fff3!important}.accordion[data-astro-cid-u4rtwtdm]:not(.accordion-dark) .accordion-trigger[data-astro-cid-u4rtwtdm]{border-radius:1rem}
175.faq-answer a{color:inherit;text-decoration:underline;text-underline-offset:3px}.faq-answer a:hover{text-decoration:none}
176.hero-dot-grid[data-astro-cid-wlyiyr5g]{top:24px;left:50%;transform:translate(-50%);width:1050px;z-index:-30}.hero-dot-grid[data-astro-cid-wlyiyr5g] canvas[data-astro-cid-wlyiyr5g]{width:100%;height:auto;display:block;opacity:.75}@media (max-width: 1100px){.hero-dot-grid[data-astro-cid-wlyiyr5g]{width:900px}}@media (max-width: 768px){.hero-dot-grid[data-astro-cid-wlyiyr5g]{top:0;width:700px}.hero-dot-grid[data-astro-cid-wlyiyr5g] canvas[data-astro-cid-wlyiyr5g]{opacity:.6}}@media (max-width: 480px){.hero-dot-grid[data-astro-cid-wlyiyr5g]{width:600px}}
177.marquee-track[data-astro-cid-kijovlsi]{animation:marquee 60s linear infinite;animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(var(--card-set-width) * -1))}}.marquee-track[data-astro-cid-kijovlsi] p[data-astro-cid-kijovlsi]{margin-bottom:0}@media (prefers-reduced-motion: reduce){.marquee-track[data-astro-cid-kijovlsi]{animation:none}}
178.measure-visual[data-astro-cid-a6yjhbsd] p[data-astro-cid-a6yjhbsd]{margin:0}.measure-source-pill[data-astro-cid-a6yjhbsd]{display:flex;align-items:center;gap:6px;background:#fff;padding:7px 14px;white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}.measure-source-pill[data-astro-cid-a6yjhbsd].visible{opacity:1;transform:translateY(0)}.measure-source-pill[data-astro-cid-a6yjhbsd].-rotate-2.visible{transform:translateY(0) rotate(-2deg)}.measure-source-pill[data-astro-cid-a6yjhbsd].rotate-1.visible{transform:translateY(0) rotate(1deg)}.measure-visual[data-astro-cid-a6yjhbsd][data-hovering] .measure-source-pill[data-astro-cid-a6yjhbsd][data-pill-delay="0"].visible{transform:translate(-8px) translateY(-4px) rotate(-3deg)}.measure-visual[data-astro-cid-a6yjhbsd][data-hovering] .measure-source-pill[data-astro-cid-a6yjhbsd][data-pill-delay="1"].visible{transform:translate(8px) translateY(-4px) rotate(2deg)}.measure-visual[data-astro-cid-a6yjhbsd][data-hovering] .measure-source-pill[data-astro-cid-a6yjhbsd][data-pill-delay="2"].visible{transform:translateY(4px) rotate(1deg)}.measure-pill-label[data-astro-cid-a6yjhbsd]{font-size:12px;font-weight:600;color:#3f3f46;flex-shrink:0}.measure-pill-sep[data-astro-cid-a6yjhbsd]{font-size:12px;color:#d4d4d8;flex-shrink:0}.measure-pill-sub[data-astro-cid-a6yjhbsd]{font-size:12px;color:#a1a1aa;overflow:hidden;text-overflow:ellipsis;min-width:0}.measure-source-pill[data-astro-cid-a6yjhbsd] svg{width:16px;height:16px}@media (prefers-reduced-motion: reduce){.measure-source-pill[data-astro-cid-a6yjhbsd]{transition:none!important;opacity:1!important;transform:none!important}}
179.signal-card[data-astro-cid-l3ae6lyb]{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1)}.feature-card:hover .signal-card[data-astro-cid-l3ae6lyb]{transform:scale(1.02) rotate(-2deg);box-shadow:0 0 0 1px var(--alpha-border),0 4px 12px #0000001a,0 2px 4px -1px #0000001a}.signal-visual[data-astro-cid-l3ae6lyb] p[data-astro-cid-l3ae6lyb]{margin:2px 0 0}.signal-timeline-item[data-astro-cid-l3ae6lyb]{opacity:0;transform:translateY(8px);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}.signal-timeline-item[data-astro-cid-l3ae6lyb].visible{opacity:1;transform:translateY(0)}.signal-hover-event[data-astro-cid-l3ae6lyb]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}.signal-hover-event[data-astro-cid-l3ae6lyb]>div[data-astro-cid-l3ae6lyb]{overflow:hidden}.signal-hover-event[data-astro-cid-l3ae6lyb].visible{grid-template-rows:1fr}.signal-hover-content[data-astro-cid-l3ae6lyb]{opacity:0;transform:translateY(-8px);transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}.signal-hover-event[data-astro-cid-l3ae6lyb].visible .signal-hover-content[data-astro-cid-l3ae6lyb]{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.signal-timeline-item[data-astro-cid-l3ae6lyb],.signal-hover-event[data-astro-cid-l3ae6lyb],.signal-hover-content[data-astro-cid-l3ae6lyb]{opacity:1!important;transform:none!important;transition:none!important}}
180.engage-visual[data-astro-cid-ybnukg4e] p[data-astro-cid-ybnukg4e]{margin:0}.engage-flip-container[data-astro-cid-ybnukg4e]{perspective:800px}.engage-flip-inner[data-astro-cid-ybnukg4e]{position:relative;transition:transform .5s cubic-bezier(.22,1,.36,1);transform-style:preserve-3d}.engage-face[data-astro-cid-ybnukg4e]{backface-visibility:hidden;-webkit-backface-visibility:hidden}.engage-front[data-astro-cid-ybnukg4e]{position:relative}.engage-back[data-astro-cid-ybnukg4e]{position:absolute;inset:0;transform:rotateY(180deg)}.feature-card:hover .engage-flip-inner[data-astro-cid-ybnukg4e]{transform:rotateY(180deg)}@media (prefers-reduced-motion: reduce){.engage-flip-inner[data-astro-cid-ybnukg4e]{transition:none!important}}
181.snv-card[data-astro-cid-fjxicinn]{position:absolute;
181left:0;right:0;top:50%;opacity:0;transform:translateY(-50%) translate(0) scale(.85);transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .35s ease;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-radius:16px}.snv-body[data-astro-cid-fjxicinn]{background:#ffffffb8;border-radius:16px;padding:10px 14px;box-shadow:0 0 0 .5px #0000000f,0 1px 2px #0000000a,0 4px 12px #0000000f,0 12px 32px #0000000a}.snv-icon-wrap[data-astro-cid-fjxicinn]{width:22px;height:22px;border-radius:5px;background:#fff;box-shadow:0 0 0 .5px #00000014,0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.snv-card[data-astro-cid-fjxicinn].s-top{opacity:1;transform:translateY(-50%) translate(0) scale(1)}.snv-card[data-astro-cid-fjxicinn].s-mid{opacity:1;transform:translateY(calc(-50% + 12px)) translate(0) scale(.96)}.snv-card[data-astro-cid-fjxicinn].s-bot{opacity:1;transform:translateY(calc(-50% + 22px)) translate(0) scale(.92)}.snv-card[data-astro-cid-fjxicinn].s-mid .snv-body[data-astro-cid-fjxicinn]{opacity:.92}.snv-card[data-astro-cid-fjxicinn].s-bot .snv-body[data-astro-cid-fjxicinn]{opacity:.82}.snv-group[data-astro-cid-fjxicinn].ready.hovered .snv-card[data-astro-cid-fjxicinn]{transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease}.snv-group[data-astro-cid-fjxicinn].ready.hovered .snv-card[data-astro-cid-fjxicinn].s-top{transform:translateY(calc(-50% - 93px)) translate(0) scale(1)}.snv-group[data-astro-cid-fjxicinn].ready.hovered .snv-card[data-astro-cid-fjxicinn].s-mid{transform:translateY(-50%) translate(0) scale(1)}.snv-group[data-astro-cid-fjxicinn].ready.hovered .snv-card[data-astro-cid-fjxicinn].s-bot{transform:translateY(calc(-50% + 93px)) translate(0) scale(1)}.snv-group[data-astro-cid-fjxicinn].ready.hovered .snv-card[data-astro-cid-fjxicinn] .snv-body[data-astro-cid-fjxicinn]{opacity:1;transition:opacity .3s ease}@media (prefers-reduced-motion: reduce){.snv-card[data-astro-cid-fjxicinn]{transition:none!important;opacity:1!important}.snv-card[data-astro-cid-fjxicinn]:nth-child(1){transform:translateY(calc(-50% + 93px)) translate(0) scale(1)!important}.snv-card[data-astro-cid-fjxicinn]:nth-child(2){transform:translateY(-50%) translate(0) scale(1)!important}.snv-card[data-astro-cid-fjxicinn]:nth-child(3){transform:translateY(calc(-50% - 93px)) translate(0) scale(1)!important}.snv-body[data-astro-cid-fjxicinn]{opacity:1!important}}
182@media (prefers-reduced-motion: reduce){.feedback-face[data-astro-cid-kububvzn]{transition:none!important}.feedback-face[data-astro-cid-kububvzn]:hover{transform:none!important}}
183.scrollbar-hide[data-astro-cid-iyzr5htm]{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide[data-astro-cid-iyzr5htm]::-webkit-scrollbar{display:none}.carousel-fade[data-astro-cid-iyzr5htm]{position:absolute;top:0;bottom:0;width:var(--fade-width);pointer-events:none;z-index:10;opacity:0;transition:opacity .3s ease-out}.carousel-fade-left[data-astro-cid-iyzr5htm]{left:0;background:linear-gradient(to right,var(--carousel-bg, rgb(250, 250, 250)),transparent)}.carousel-fade-right[data-astro-cid-iyzr5htm]{right:0;background:linear-gradient(to left,var(--carousel-bg, rgb(250, 250, 250)),transparent)}.carousel-fade[data-astro-cid-iyzr5htm][data-visible=true]{opacity:1}
184.tier-medal[data-astro-cid-7evo3er2]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--medal-size);height:var(--medal-size);border-radius:calc(var(--medal-size) / 7);border:1px solid var(--alpha-border);background-image:var(--medal-field)}.tier-medal__mark[data-astro-cid-7evo3er2]{display:block;width:72%;height:72%}
185.integration-gallery[data-astro-cid-lmzdgq7c]{margin:1.5rem 0 2rem}.gallery-item[data-astro-cid-lmzdgq7c]{padding:.5rem}.gallery-thumbnail[data-astro-cid-lmzdgq7c]{display:block}
186.lightbox-trigger[data-astro-cid-fcyb6yui]{cursor:zoom-in}.lightbox-overlay[data-astro-cid-fcyb6yui]{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility .2s ease-out}.lightbox-overlay[data-astro-cid-fcyb6yui][data-open=true]{opacity:1;visibility:visible}.lightbox-backdrop[data-astro-cid-fcyb6yui]{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(4px)}.lightbox-close[data-astro-cid-fcyb6yui]{position:absolute;top:1.5rem;right:1.5rem;z-index:10;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:background .15s ease-out,transform .15s ease-out}.lightbox-close[data-astro-cid-fcyb6yui]:hover{background:#fff3;transform:scale(1.05)}.lightbox-close[data-astro-cid-fcyb6yui]:focus{outline:none;box-shadow:0 0 0 2px #ffffff80}.lightbox-nav[data-astro-cid-fcyb6yui]{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:background .15s ease-out,transform .15s ease-out,opacity .15s ease-out;opacity:0;pointer-events:none}.lightbox-overlay[data-astro-cid-fcyb6yui][data-open=true] .lightbox-nav[data-astro-cid-fcyb6yui][data-visible=true]{opacity:1;pointer-events:auto}.lightbox-nav[data-astro-cid-fcyb6yui]:hover{background:#fff3}.lightbox-nav[data-astro-cid-fcyb6yui]:focus{outline:none;box-shadow:0 0 0 2px #ffffff80}.lightbox-nav-prev[data-astro-cid-fcyb6yui]{left:1.5rem}.lightbox-nav-next[data-astro-cid-fcyb6yui]{right:1.5rem}.lightbox-content[data-astro-cid-fcyb6yui]{position:relative;z-index:1;max-width:90vw;display:flex;flex-direction:column;align-items:center;transform:scale(.95);transition:transform .2s ease-out}.lightbox-overlay[data-astro-cid-fcyb6yui][data-open=true] .lightbox-content[data-astro-cid-fcyb6yui]{transform:scale(1)}.lightbox-image[data-astro-cid-fcyb6yui]{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000080}.lightbox-caption[data-astro-cid-fcyb6yui]{color:#fffc;font-size:.875rem;line-height:1.5;text-align:center;margin-top:1rem;max-width:36rem;margin-left:auto;margin-right:auto}
187.code-block-content pre{margin:0;padding:1rem;background:transparent!important;font-size:.875rem;line-height:1.7}@media (min-width: 768px){.code-block-content pre{padding:1.5rem}}.code-block-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.code-block-content.show-line-numbers pre{counter-reset:line}.code-block-content.show-line-numbers .line:before{counter-increment:line;content:counter(line);display:inline-block;width:2rem;margin-right:1rem;text-align:right;color:#71717a}
188.bg-warning-banner{background-color:color-mix(in srgb,var(--color-honey-50) 60%,transparent)}.banner-content p,.banner-content strong,.banner-content em,.banner-content a,.banner-content span,.banner-content code{color:inherit!important;font-size:inherit!important}.banner-content p:last-of-type{margin-bottom:0!important}.prose .banner-content p,.prose .banner-content strong,.prose .banner-content em,.prose .banner-content a,.prose .banner-content span,.prose .banner-content code{color:inherit!important;font-size:inherit!important}.prose .banner-content p:last-of-type{margin-bottom:0!important}
189.campaign-offer-banner[data-astro-cid-ukinoyt4].hidden{display:none}.campaign-offer-banner[data-astro-cid-ukinoyt4].is-visible{display:block}
189.campaign-offer-banner[data-astro-cid-ukinoyt4].is-dismissing{transition:opacity .2s ease-out,max-height .2s ease-out,padding .2s ease-out;opacity:0;max-height:0;padding-top:0;padding-bottom:0}
190.btn-arrow-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.btn-arrow-icon{will-change:transform}.btn-arrow-icon.slide-in{animation:btn-arrow-slide-in .2s ease-in-out forwards}.btn-arrow-icon.slide-out{animation:btn-arrow-slide-out .2s ease-in-out forwards}@keyframes btn-arrow-slide-in{0%{transform:translate(0);opacity:1}50%{transform:translate(100%);opacity:0}50.01%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes btn-arrow-slide-out{0%{transform:translate(0);opacity:1}50%{transform:translate(-100%);opacity:0}50.01%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}
191</style>
191<script type="module" src="/_astro/hoisted.BaopxmOR.js"></script>
vendor: 1 bytes, line 191
191
192<script type="module" src="/_astro/page.SrI4KvC9.js"></script>
192</head> <body class="bg-white overscroll-y-none font-sans w-full overflow-x-clip"> <!-- Google Tag Manager (noscript) -->
vendor: 67 bytes, line 192
192<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
192GTM-THP98M8
vendor: 83 bytes, line 192
192" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
192<aside id="referral-offer-banner" class="referral-offer-banner hidden relative z-[60] w-full overflow-hidden border-b border-white/10 bg-[var(--color-lavender-600)] text-white" role="region" aria-label="Referral offer" hidden data-astro-cid-nahiwob6> <div class="pointer-events-none absolute inset-0 opacity-90" aria-hidden="true" style="background-image: linear-gradient(120deg, var(--color-lavender-600) 0%, var(--color-palatinate-500) 50%, var(--color-lavender-500) 100%);" data-astro-cid-nahiwob6></div> <div class="pointer-events-none absolute inset-0 opacity-50 mix-blend-overlay" aria-hidden="true" style="background-image: radial-gradient(circle at 15% 50%, rgba(255,255,255,0.35) 0, transparent 35%), radial-gradient(circle at 85% 50%, rgba(255,255,255,0.25) 0, transparent 40%);" data-astro-cid-nahiwob6></div> <div class="relative px-4 sm:px-6 lg:px-16" data-astro-cid-nahiwob6> <div class="mx-auto flex max-w-7xl items-center gap-3 py-2.5 sm:gap-4 sm:py-3" data-astro-cid-nahiwob6> <span class="hidden h-9 w-9 shrink-0 items-center justify-center rounded-full bg-white/15 ring-1 ring-inset ring-white/25 backdrop-blur-sm sm:inline-flex" aria-hidden="true" data-astro-cid-nahiwob6> <svg width="20" height="20" class="text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M6.25 4.41667C6.25 3.08198 7.33198 2 8.66667 2C10.043 2 11.2603 2.68092 12 3.72427C12.7397 2.68092 13.957 2 15.3333 2C16.668 2 17.75 3.08198 17.75 4.41667C17.75 5.39677 17.4047 6.29622 16.8291 7H18.875C20.0486 7 21 7.9514 21 9.125C21 10.2986 20.0486 11.25 18.875 11.25H12.75V7H13.6667C15.0934 7 16.25 5.8434 16.25 4.41667C16.25 3.91041 15.8396 3.5 15.3333 3.5C13.9066 3.5 12.75 4.6566 12.75 6.08333V7H11.25V6.08333C11.25 4.6566 10.0934 3.5 8.66667 3.5C8.16041 3.5 7.75 3.91041 7.75 4.41667C7.75 5.8434 8.9066 7 10.3333 7H11.25V11.25H5.125C3.95139 11.25 3 10.2986 3 9.125C3 7.9514 3.95139 7 5.125 7H7.1709C6.5953 6.29622 6.25 5.39677 6.25 4.41667Z" fill="currentColor"/><path d="M12.75 12.75H20V18.25C20 19.7688 18.7688 21 17.25 21H12.75V12.75Z" fill="currentColor"/><path d="M11.25 12.75H4V18.25C4 19.7688 5.23122 21 6.75 21H11.25V12.75Z" fill="currentColor"/></svg>
193 </span> <div class="flex flex-1 flex-wrap items-center gap-x-2 gap-y-0.5 text-sm sm:text-base" data-astro-cid-nahiwob6> <span class="inline-flex sm:hidden" aria-hidden="true" data-astro-cid-nahiwob6> <svg width="18" height="18" class="text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M6.25 4.41667C6.25 3.08198 7.33198 2 8.66667 2C10.043 2 11.2603 2.68092 12 3.72427C12.7397 2.68092 13.957 2 15.3333 2C16.668 2 17.75 3.08198 17.75 4.41667C17.75 5.39677 17.4047 6.29622 16.8291 7H18.875C20.0486 7 21 7.9514 21 9.125C21 10.2986 20.0486 11.25 18.875 11.25H12.75V7H13.6667C15.0934 7 16.25 5.8434 16.25 4.41667C16.25 3.91041 15.8396 3.5 15.3333 3.5C13.9066 3.5 12.75 4.6566 12.75 6.08333V7H11.25V6.08333C11.25 4.6566 10.0934 3.5 8.66667 3.5C8.16041 3.5 7.75 3.91041 7.75 4.41667C7.75 5.8434 8.9066 7 10.3333 7H11.25V11.25H5.125C3.95139 11.25 3 10.2986 3 9.125C3 7.9514 3.95139 7 5.125 7H7.1709C6.5953 6.29622 6.25 5.39677 6.25 4.41667Z" fill="currentColor"/><path d="M12.75 12.75H20V18.25C20 19.7688 18.7688 21 17.25 21H12.75V12.75Z" fill="currentColor"/><path d="M11.25 12.75H4V18.25C4 19.7688 5.23122 21 6.75 21H11.25V12.75Z" fill="currentColor"/></svg>
194 </span> <span class="font-semibold tracking-tight" data-astro-cid-nahiwob6>
195You've been referred — enjoy <span class="whitespace-nowrap" data-astro-cid-nahiwob6>15% off</span> your first purchase
196</span> <span class="hidden text-white/80 sm:inline" data-astro-cid-nahiwob6>
197Applied automatically when you subscribe.
198</span> </div> <a href="https://app.snitcher.com/register" class="hidden shrink-0 items-center gap-1.5 rounded-full bg-white px-4 py-1.5 text-sm font-semibold text-lavender-700 shadow-sm transition-colors hover:bg-zinc-100 sm:inline-flex" data-referral-cta data-astro-cid-nahiwob6>
199Start free
200<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" width="14" height="14" aria-hidden="true" data-astro-cid-nahiwob6> <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-nahiwob6></path> </svg> </a> <button type="button" class="referral-offer-dismiss group shrink-0 rounded-full p-1.5 text-white/80 transition-colors hover:bg-white/15 hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/60" aria-label="Dismiss referral offer" data-astro-cid-nahiwob6> <svg width="18" height="18" class="text-current" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M17.2197 5.71967C17.5126 5.42678 17.9873 5.42678 18.2802 5.71967C18.5731 6.01256 18.5731 6.48732 18.2802 6.78022L13.0605 11.9999L18.2802 17.2197C18.5731 17.5126 18.5731 17.9873 18.2802 18.2802C17.9873 18.5731 17.5126 18.5731 17.2197 18.2802L11.9999 13.0605L6.78022 18.2802C6.48732 18.5731 6.01256 18.5731 5.71967 18.2802C5.42678 17.9873 5.42678 17.5126 5.71967 17.2197L10.9394 11.9999L5.71967 6.78022C5.42678 6.48732 5.42678 6.01256 5.71967 5.71967C6.01256 5.42678 6.48732 5.42678 6.78022 5.71967L11.9999 10.9394L17.2197 5.71967Z" fill="currentColor"/></svg>
201 </button> </div> </div> </aside>   <aside id="campaign-offer-banner" class="campaign-offer-banner hidden relative z-[60] w-full overflow-hidden border-b border-white/10 bg-[var(--color-lavender-600)] text-white" role="region" aria-label="Campaign offer" hidden data-astro-cid-ukinoyt4> <div class="pointer-events-none absolute inset-0 opacity-90" aria-hidden="true" style="background-image: linear-gradient(120deg, var(--color-lavender-600) 0%, var(--color-palatinate-500) 50%, var(--color-lavender-500) 100%);" data-astro-cid-ukinoyt4></div> <div class="pointer-events-none absolute inset-0 opacity-50 mix-blend-overlay" aria-hidden="true" style="background-image: radial-gradient(circle at 15% 50%, rgba(255,255,255,0.35) 0, transparent 35%), radial-gradient(circle at 85% 50%, rgba(255,255,255,0.25) 0, transparent 40%);" data-astro-cid-ukinoyt4></div> <div class="relative px-4 sm:px-6 lg:px-16" data-astro-cid-ukinoyt4> <div class="mx-auto flex max-w-7xl items-center gap-3 py-2.5 sm:gap-4 sm:py-3" data-astro-cid-ukinoyt4> <span class="hidden h-9 w-9 shrink-0 items-center justify-center rounded-full bg-white/15 ring-1 ring-inset ring-white/25 backdrop-blur-sm sm:inline-flex" aria-hidden="true" data-astro-cid-ukinoyt4> <svg width="20" height="20" class="text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M6.25 4.41667C6.25 3.08198 7.33198 2 8.66667 2C10.043 2 11.2603 2.68092 12 3.72427C12.7397 2.68092 13.957 2 15.3333 2C16.668 2 17.75 3.08198 17.75 4.41667C17.75 5.39677 17.4047 6.29622 16.8291 7H18.875C20.0486 7 21 7.9514 21 9.125C21 10.2986 20.0486 11.25 18.875 11.25H12.75V7H13.6667C1
2015.0934 7 16.25 5.8434 16.25 4.41667C16.25 3.91041 15.8396 3.5 15.3333 3.5C13.9066 3.5 12.75 4.6566 12.75 6.08333V7H11.25V6.08333C11.25 4.6566 10.0934 3.5 8.66667 3.5C8.16041 3.5 7.75 3.91041 7.75 4.41667C7.75 5.8434 8.9066 7 10.3333 7H11.25V11.25H5.125C3.95139 11.25 3 10.2986 3 9.125C3 7.9514 3.95139 7 5.125 7H7.1709C6.5953 6.29622 6.25 5.39677 6.25 4.41667Z" fill="currentColor"/><path d="M12.75 12.75H20V18.25C20 19.7688 18.7688 21 17.25 21H12.75V12.75Z" fill="currentColor"/><path d="M11.25 12.75H4V18.25C4 19.7688 5.23122 21 6.75 21H11.25V12.75Z" fill="currentColor"/></svg>
202 </span> <div class="flex flex-1 flex-wrap items-center gap-x-2 gap-y-0.5 text-sm sm:text-base" data-astro-cid-ukinoyt4> <span class="inline-flex sm:hidden" aria-hidden="true" data-astro-cid-ukinoyt4> <svg width="18" height="18" class="text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M6.25 4.41667C6.25 3.08198 7.33198 2 8.66667 2C10.043 2 11.2603 2.68092 12 3.72427C12.7397 2.68092 13.957 2 15.3333 2C16.668 2 17.75 3.08198 17.75 4.41667C17.75 5.39677 17.4047 6.29622 16.8291 7H18.875C20.0486 7 21 7.9514 21 9.125C21 10.2986 20.0486 11.25 18.875 11.25H12.75V7H13.6667C15.0934 7 16.25 5.8434 16.25 4.41667C16.25 3.91041 15.8396 3.5 15.3333 3.5C13.9066 3.5 12.75 4.6566 12.75 6.08333V7H11.25V6.08333C11.25 4.6566 10.0934 3.5 8.66667 3.5C8.16041 3.5 7.75 3.91041 7.75 4.41667C7.75 5.8434 8.9066 7 10.3333 7H11.25V11.25H5.125C3.95139 11.25 3 10.2986 3 9.125C3 7.9514 3.95139 7 5.125 7H7.1709C6.5953 6.29622 6.25 5.39677 6.25 4.41667Z" fill="currentColor"/><path d="M12.75 12.75H20V18.25C20 19.7688 18.7688 21 17.25 21H12.75V12.75Z" fill="currentColor"/><path d="M11.25 12.75H4V18.25C4 19.7688 5.23122 21 6.75 21H11.25V12.75Z" fill="currentColor"/></svg>
203 </span> <a href="#" class="font-semibold tracking-tight hover:underline" data-campaign-headline data-astro-cid-ukinoyt4></a> <span class="hidden text-white sm:inline" data-campaign-detail data-astro-cid-ukinoyt4></span> <span class="whitespace-nowrap font-semibold text-white" data-campaign-countdown data-astro-cid-ukinoyt4></span> </div> <a href="#" class="hidden shrink-0 items-center gap-1.5 rounded-full bg-white px-4 py-1.5 text-sm font-semibold text-lavender-700 shadow-sm transition-colors hover:bg-zinc-100 sm:inline-flex" data-campaign-cta data-astro-cid-ukinoyt4> <span data-campaign-cta-label data-astro-cid-ukinoyt4>Claim offer</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" width="14" height="14" aria-hidden="true" data-astro-cid-ukinoyt4> <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-ukinoyt4></path> </svg> </a> <button type="button" class="campaign-offer-dismiss group shrink-0 rounded-full p-1.5 text-white/80 transition-colors hover:bg-white/15 hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/60" aria-label="Dismiss campaign offer" data-astro-cid-ukinoyt4> <svg width="18" height="18" class="text-current" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M17.2197 5.71967C17.5126 5.42678 17.9873 5.42678 18.2802 5.71967C18.5731 6.01256 18.5731 6.48732 18.2802 6.78022L13.0605 11.9999L18.2802 17.2197C18.5731 17.5126 18.5731 17.9873 18.2802 18.2802C17.9873 18.5731 17.5126 18.5731 17.2197 18.2802L11.9999 13.0605L6.78022 18.2802C6.48732 18.5731 6.01256 18.5731 5.71967 18.2802C5.42678 17.9873 5.42678 17.5126 5.71967 17.2197L10.9394 11.9999L5.71967 6.78022C5.42678 6.48732 5.42678 6.01256 5.71967 5.71967C6.01256 5.42678 6.48732 5.42678 6.78022 5.71967L11.9999 10.9394L17.2197 5.71967Z" fill="currentColor"/></svg>
204 </button> </div> </div> </aside> 
204<script type="application/json" id="campaign-offer-data">{"close":{"agency":{"path":"/lp/offer/close-crm/agencies","claimEndDate":"2026-09-30T23:59:59+02:00","signupUrl":"https://app.snitcher.com/register?utm_source=close&utm_medium=referral&utm_campaign=close-2026q3-offer-agency","ctaLabel":"Claim 1,200 leads per client","bannerHeadline":"Close agency offer: 1,200 free leads for every client you onboard","bannerDetail":"Plus 50% off Snitcher for life for your agency."},"end-user":{"path":"/lp/offer/close-crm","claimEndDate":"2026-09-30T23:59:59+02:00","signupUrl":"https://app.snitcher.com/register?utm_source=close&utm_medium=referral&utm_campaign=close-2026q3-offer-enduser","ctaLabel":"Claim 1,200 free leads","bannerHeadline":"Close customer offer: 1,200 free leads on any Snitcher plan","bannerDetail":"100 extra leads a month, for a year, on us."}}}</script>
204   <nav class="sticky top-0 z-50 w-full border-b transition-[border-color,box-shadow] duration-200 navbar-bordered" id="navbar" data-astro-cid-voiollt5> <!-- Background overlay --> <div id="navbar-bg" class="pointer-events-none absolute inset-0 z-0 opacity-0 transition-opacity duration-200 bg-white" data-astro-cid-voiollt5></div> <!-- Main navbar content --> <div class="relative z-10 w-full pt-4 pb-2" data-astro-cid-voiollt5> <div class="px-4 sm:px-6 lg:px-16" data-astro-cid-voiollt5> <div class="max-w-7xl mx-auto" data-astro-cid-voiollt5> <div class="relative flex items-center justify-between" data-astro-cid-voiollt5> <!-- Logo --> <div class="flex flex-1 items-center pointer-events-none" data-astro-cid-voiollt5> <a href="/" class="relative z-10 flex items-center gap-2.5 pointer-events-auto" data-astro-cid-voiollt5> <img src="/logo-symbol.svg" alt="Snitcher symbol" class="h-8 w-8 shrink-0 object-contain" loading="lazy" decoding="auto" data-astro-cid-voiollt5> <img src="/logo-wordmark.svg" alt="Snitcher" class="h-6 w-32 shrink-0 object-contain" loading="lazy" decoding="auto" data-astro-cid-voiollt5> </a> </div> <div class="absolute inset-0 hidden items-center lg:flex" data-astro-cid-voiollt5> <!-- Left nav group --> <div class="flex flex-1 items-center justify-end gap-1 xl:gap-2" data-astro-cid-voiollt5> <!-- Product Dropdown --> <div class="nav-dropdown-wrapper" data-dropdown="product" data-astro-cid-voiollt5> <button type="button" class="nav-link nav-link-dropdown" data-astro-cid-voiollt5>
205Product
206<span class="chevron-icon" data-astro-cid-voiollt5></span> </button> <div class="nav-dropdown-panel nav-dropdown-panel-wide bg-white" data-astro-cid-voiollt5> <div class="grid grid-cols-[320px_320px_192px] gap-x-6 px-6" data-astro-cid-voiollt5> <!-- Products Column --> <div class="flex flex-col gap-5 py-6" data-astro-cid-voiollt5> <div data-astro-cid-voiollt5> <span class="mb-3 block px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>GTM Platform</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/platform" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-primary-500 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 5.75C3 4.23122 4.23122 3 5.75 3H8.25C8.66421 3 9 3.33579 9 3.75C9 4.16421 8.66421 4.5 8.25 4.5H5.75C5.05964 4.5 4.5 5.05964 4.5 5.75V8.25C4.5 8.66421 4.16421 9 3.75 9C3.33579 9 3 8.66421 3 8.25V5.75ZM15 3.75C15 3.33579 15.3358 3 15.75 3H18.25C19.7688 3 21 4.23122 21 5.75V8.25C21 8.66421 20.6642 9 20.25 9C19.8358 9 19.5 8.66421 19.5 8.25V5.75C19.5 5.05964 18.9404 4.5 18.25 4.5H15.75C15.3358 4.5 15 4.16421 15 3.75ZM7.75 8C8.16421 8 8.5 8.33579 8.5 8.75V10.25C8.5 10.6642 8.16421 11 7.75 11C7.33579 11 7 10.6642 7 10.25V8.75C7 8.33579 7.33579 8 7.75 8ZM12.25 8C12.6642 8 13 8.33579 13 8.75V11C13 12.4029 11.9501 13.5595 10.5928 13.7288C10.1818 13.78 9.80702 13.4884 9.75576 13.0773C9.70451 12.6663 9.99616 12.2915 10.4072 12.2403C11.023 12.1635 11.5 11.6369 11.5 11V8.75C11.5 8.33579 11.8358 8 12.25 8ZM16.25 8C16.6642 8 17 8.33579 17 8.75V10.25C17 10.6642 16.6642 11 16.25 11C15.8358 11 15.5 10.6642 15.5 10.25V8.75C15.5 8.33579 15.8358 8 16.25 8ZM8.3508 15.3218C8.5582 14.9632 9.017 14.8407 9.37554 15.0481C10.147 15.4944 11.0425 15.75 12 15.75C12.9575 15.75 13.853 15.4944 14.6245 15.0481C14.983 14.8407 15.4418 14.9632 15.6492 15.3218C15.8566 15.6803 15.7341 16.1391 15.3755 16.3465C14.3819 16.9213 13.2282 17.25 12 17.25C10.7718 17.25 9.61805 16.9213 8.62446 16.3465C8.26591 16.1391 8.14339 15.6803 8.3508 15.3218ZM3.75 15C4.16421 15 4.5 15.3358 4.5 15.75V18.25C4.5 18.9404 5.05964 19.5 5.75 19.5H8.25C8.66421 19.5 9 19.8358 9 20.25C9 20.6642 8.66421 21 8.25 21H5.75C4.23122 21 3 19.7688 3 18.25V15.75C3 15.3358 3.33579 15 3.75 15ZM20.25 15C20.6642 15 21 15.3358 21 15.75V18.25C21 19.7688 19.7688 21 18.25 21H15.75C15.3358 21 15 20.6642 15 20.25C15 19.8358 15.3358 19.5 15.75 19.5H18.25C18.9404 19.5 19.5 18.9404 19.5 18.25V15.75C19.5 15.3358 19.8358 15 20.25 15Z" fill="currentColor"/></svg>
207  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Platform </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Turn anonymous traffic into pipeline</span> </div> </a> </div> </div> <div data-astro-cid-voiollt5> <span class="mb-3 block px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Powered by Snitcher</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/radar" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.30523 9.50117C3.86611 9.76669 3.33777 10 2.75 10C2.33579 10 2 9.66421 2 9.25C2 8.83579 2.33579 8.5 2.75 8.5C2.94339 8.5 3.19298 8.42081 3.52907 8.21758C3.86431 8.01487 4.20974 7.73714 4.6035 7.41762C4.61402 7.40908 4.62458 7.40051 4.63519 7.3919C5.00222 7.09399 5.41507 6.7589 5.8368 6.50087C6.26916 6.23634 6.79252 6 7.375 6C7.96055 6 8.4868 6.23456 8.9231 6.49968C9.35333 6.76112 9.77246 7.10128 10.1437 7.40254L10.1623 7.41763C10.5569 7.73789 10.9012 8.01573 11.2347 8.21876C11.5694 8.42254 11.814 8.5 12 8.5C12.1825 8.5 12.4248 8.42337 12.7589 8.21931C13.0916 8.01613 13.4353 7.73823 13.8304 7.41763L13.8429 7.40749C14.216 7.10467 14.6381 6.76215 15.0723 6.49914C15.5104 6.23375 16.038 6 16.625 6C17.2062 6 17.7284 6.23708 18.1592 6.50135C18.5775 6.75799 18.9878 7.09104 19.3531 7.38759L19.3901 7.41761C19.7835 7.73684 20.1294 8.01452 20.4654 8.21711C20.8021 8.42013 21.0537 8.5 21.25 8.5C21.6642 8.5 22 8.83579 22 9.25C22 9.66421 21.6642 10 21.25 10C20.661 10 20.1315 9.76737 19.6908 9.50164C19.2509 9.23638 18.8247 8.89051 18.4488 8.58549L18.445 8.58239C18.0493 8.26129 17.7063 7.98331 17.3747 7.7799C17.0415 7.57542 16.8025 7.5 16.625 7.5C16.4335 7.5 16.1852 7.57875 15.8495 7.78211C15.5147 7.98491 15.1695 8.26266 14.7756 8.58237L14.7473 8.60535C14.3791 8.90413 13.9647 9.24053 13.5408 9.49944C13.1074 9.76413 12.5833 10 12 10C11.4153 10 10.8898 9.76496 10.4546 9.49999C10.0267 9.23949 9.60936 8.90074 9.2393 8.6004L9.21708 8.58237C8.82269 8.26232 8.47811 7.9845 8.14415 7.78157C7.80905 7.57794 7.56305 7.5 7.375 7.5C7.19444 7.5 6.95344 7.57616 6.61965 7.78038C6.28742 7.98365 5.94399 8.26158 5.54867 8.58238L5.53954 8.58978C5.16532 8.89346 4.74163 9.23728 4.3
2070523 9.50117ZM4.30523 17.5012C3.86611 17.7667 3.33777 18 2.75 18C2.33579 18 2 17.6642 2 17.25C2 16.8358 2.33579 16.5 2.75 16.5C2.94339 16.5 3.19298 16.4208 3.52907 16.2176C3.86431 16.0149 4.20974 15.7371 4.6035 15.4176L4.6352 15.3919C5.00223 15.094 5.41507 14.7589 5.8368 14.5009C6.26916 14.2363 6.79252 14 7.375 14C7.96055 14 8.4868 14.2346 8.9231 14.4997C9.35334 14.7611 9.77247 15.1013 10.1437 15.4025L10.1623 15.4176C10.5569 15.7379 10.9012 16.0157 11.2347 16.2188C11.5694 16.4225 11.814 16.5 12 16.5C12.1825 16.5 12.4248 16.4234 12.7589 16.2193C13.0916 16.0161 13.4353 15.7382 13.8304 15.4176L13.8429 15.4075C14.216 15.1047 14.6381 14.7622 15.0723 14.4991C15.5104 14.2337 16.038 14 16.625 14C17.2062 14 17.7284 14.2371 18.1592 14.5014C18.5775 14.758 18.9878 15.091 19.3531 15.3876C19.3655 15.3976 19.3778 15.4076 19.3901 15.4176C19.7835 15.7368 20.1294 16.0145 20.4654 16.2171C20.8021 16.4201 21.0537 16.5 21.25 16.5C21.6642 16.5 22 16.8358 22 17.25C22 17.6642 21.6642 18 21.25 18C20.661 18 20.1315 17.7674 19.6908 17.5016C19.2509 17.2364 18.8247 16.8905 18.4488 16.5855L18.445 16.5824C18.0493 16.2613 17.7063 15.9833 17.3747 15.7799C17.0415 15.5754 16.8025 15.5 16.625 15.5C16.4335 15.5 16.1852 15.5788 15.8495 15.7821C15.5147 15.9849 15.1695 16.2627 14.7756 16.5824L14.7472 16.6054C14.3791 16.9041 13.9647 17.2405 13.5408 17.4994C13.1074 17.7641 12.5833 18 12 18C11.4153 18 10.8898 17.765 10.4546 17.5C10.0267 17.2395 9.60936 16.9007 9.2393 16.6004L9.21708 16.5824C8.82269 16.2623 8.47811 15.9845 8.14415 15.7816C7.80905 15.5779 7.56305 15.5 7.375 15.5C7.19444 15.5 6.95344 15.5762 6.61965 15.7804C6.28742 15.9837 5.94399 16.2616 5.54867 16.5824L5.53955 16.5898C5.16533 16.8935 4.74164 17.2373 4.30523 17.5012Z" fill="currentColor"/></svg>
208  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Radar </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Embed visitor intelligence in product</span> </div> </a><a href="/ip-to-company-api" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM14.5565 8.36774C15.2096 8.18959 15.809 8.78895 15.6309 9.44213L14.5114 13.5467C14.3833 14.0164 14.0164 14.3833 13.5467 14.5114L9.44213 15.6309C8.78894 15.809 8.18959 15.2096 8.36774 14.5565L9.48716 10.4519C9.61526 9.98221 9.98221 9.61526 10.4519 9.48715L14.5565 8.36774Z" fill="currentColor"/></svg>
209  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> IP to Company </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Resolve any IP to a company via API</span> </div> </a> </div> </div> </div> <!-- How It Works Column --> <div class="flex flex-col py-6" data-astro-cid-voiollt5> <span class="mb-3 px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>How It Works</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/identify" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.75 3C4.23122 3 3 4.23122 3 5.75V18.25C3 19.7688 4.23122 21 5.75 21H13.5833C13.568 20.9851 13.5528 20.9701 13.5377 20.955C11.4874 18.9047 11.4874 15.5806 13.5377 13.5303C15.5879 11.4801 18.9121 11.4801 20.9623 13.5303C20.975 13.543 20.9875 13.5557 21 13.5684V5.75C21 4.23122 19.7688 3 18.25 3H5.75ZM10.9896 7.15224C11.321 7.40077 11.3881 7.87087 11.1396 8.20224L9.26797 10.6978C9.02914 11.0162 8.58314 11.0926 8.25194 10.8718L7.12694 10.1218C6.7823 9.89203 6.68917 9.42637 6.91893 9.08173C7.1487 8.73708 7.61435 8.64395 7.95899 8.87372L8.49366 9.23016L9.9396 7.30224C10.1881 6.97087 10.6582 6.90371 10.9896 7.15224ZM13.058 9C13.058 8.58579 13.3937 8.25 13.808 8.25H16.308C16.7222 8.25 17.058 8.58579 17.058 9C17.058 9.41421 16.7222 9.75 16.308 9.75H13.808C13.3937 9.75 13.058 9.41421 13.058 9ZM10.9896 13.1534C11.321 13.4019 11.3881 13.872 11.1396 14.2034L9.26797 16.6989C9.02914 17.0173 8.58314 17.0937 8.25194 16.8729L7.12694 16.1229C6.7823 15.8932 6.68917 15.4275 6.91893 15.0829C7.14869 14.7382 7.61435 14.6451 7.95899 14.8748L8.49366 15.2313L9.9396 13.3034C10.1881 12.972 10.6582 12.9048 10.9896 13.1534Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M18.841 15.6517C17.9623 14.773 16.5377 14.773 15.659 15.6517C14.7803 16.5303 14.7803 17.955 15.659 18.8336C16.5377 19.7123 17.9623 19.7123 18.841 18.8336C19.7197 17.955 19.7197 16.5303 18.841 15.6517ZM14.5983 14.591C16.0628 13.1265 18.4372 13.1265 19.9016 14.591C21.1845 15.8738 21.3436 17.8549 20.3789 19.3109L21.7803 20.7123C22.0732 21.0052 22.0732 21.4801 21.7803 21.773C21.4874 22.0659 21.0126 22.0659 20.7197 21.773L19.3183 20.3716C17.8623 21.3362 15.8812 21.1771 14.5983 19.8943C13.1339 18.4298 13.1339 16.0555 14.5983 14.591Z" fill="currentColor"/></svg>
210  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Identify </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>See who visits your site</span> </div> </a><a href="/signal" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M11.5455 15.7345C9.45546 15.1509 7.58124 14.7024 5.5 15.5655V21.2496C5.5 21.6638 5.16421 21.9996 4.75 21.9996C4.33579 21.9996 4 21.6638 4 21.2496V4.39872C4 3.74584 4.37163 3.093 5.04245 2.82695C7.52875 1.84088 9.76493 2.37886 11.7734 2.93538C11.9051 2.97188 12.0357 3.00836 12.1653 3.04455C14.0634 3.57485 15.7401 4.04331 17.5642 3.60129C18.6368 3.34137 20 4.04343 20 5.38675V14.4616C20 15.1144 19.6284 15.7673 
21018.9576 16.0333C16.3236 17.078 13.9537 16.4115 11.8464 15.8189C11.7455 15.7906 11.6452 15.7623 11.5455 15.7345Z" fill="currentColor"/></svg>
211  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Signal </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Spot intent as it happens</span> </div> </a><a href="/automate" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M9.32916 2C8.70285 2 8.12428 2.33472 7.81208 2.87768L3.21208 10.8777C2.54125 12.0443 3.38339 13.5 4.72916 13.5H7.67252C7.83072 13.5 7.94915 13.6451 7.91745 13.8001L6.68268 19.8386C6.33503 21.5388 8.40755 22.6537 9.63464 21.4267L20.5739 10.4874C21.6763 9.385 20.8955 7.5 19.3364 7.5H16.8687C16.6828 7.5 16.562 7.30442 16.6451 7.1382L17.9479 4.53262C18.5296 3.36905 17.6835 2 16.3826 2H9.32916Z" fill="currentColor"/></svg>
212  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Automate </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Trigger workflows instantly</span> </div> </a><a href="/engage" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M1.46783 6.05797C0.265136 4.9889 1.02132 3 2.63047 3H21.2788C22.6218 3 23.4643 4.45027 22.799 5.61691L13.6528 21.6554C12.8643 23.038 10.7893 22.7356 10.4282 21.1855L8.36566 12.3316L14.9744 8.65542C15.3364 8.45407 15.4666 7.9974 15.2653 7.63542C15.0639 7.27344 14.6072 7.14322 14.2453 7.34458L7.27632 11.2211L1.46783 6.05797Z" fill="currentColor"/></svg>
213  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Engage </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Reach accounts at the right time</span> </div> </a><a href="/measure" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.75 3C4.16421 3 4.5 3.33579 4.5 3.75V15.3456L7.60248 12.2431C8.60731 11.2383 10.2364 11.2383 11.2413 12.2431C11.6603 12.6621 12.3397 12.6621 12.7587 12.2431L15.2117 9.79013C16.2856 8.71619 18.0269 8.71619 19.1008 9.79013L19.7491 10.4384C20.042 10.7313 20.042 11.2062 19.7491 11.4991C19.4562 11.792 18.9813 11.792 18.6884 11.4991L18.0401 10.8508C17.552 10.3626 16.7605 10.3626 16.2724 10.8508L13.8194 13.3038C12.8146 14.3086 11.1854 14.3086 10.1806 13.3038C9.76157 12.8847 9.08218 12.8847 8.66314 13.3038L4.5 17.4669V18.25C4.5 18.9404 5.05964 19.5 5.75 19.5H20.25C20.6642 19.5 21 19.8358 21 20.25C21 20.6642 20.6642 21 20.25 21H5.75C4.23122 21 3 19.7688 3 18.25V3.75C3 3.33579 3.33579 3 3.75 3Z" fill="currentColor"/></svg>
214  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Measure </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Prove &amp; scale what works best</span> </div> </a> </div> </div> <!-- Explore Column --> <div class="flex flex-col border-l pl-6 py-6 border-zinc-200" data-astro-cid-voiollt5> <span class="mb-3 px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Explore</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/changelog" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Changelog  </span> </a><a href="/integrations" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Integrations  </span> </a><a href="https://trust.snitcher.com" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" target="_blank" rel="noopener noreferrer" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Trust centre <svg width="14" height="14" class="text-zinc-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M18.25 15.25V5.75M18.25 5.75H8.75M18.25 5.75L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
215 </span> </a><a href="/demo" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Talk to sales  </span> </a> </div> </div> </div> </div> </div> <!-- Solutions Dropdown --> <div class="nav-dropdown-wrapper" data-dropdown="solutions" data-astro-cid-voiollt5> <button type="button" class="nav-link nav-link-dropdown" data-astro-cid-voiollt5>
216Solutions
217<span class="chevron-icon" data-astro-cid-voiollt5></span> </button> <div class="nav-dropdown-panel bg-white" data-astro-cid-voiollt5> <div class="grid grid-cols-[320px_240px] gap-x-6 px-6" data-astro-cid-voiollt5> <!-- Teams Column --> <div class="flex flex-col py-6" data-astro-cid-voiollt5> <span class="mb-3 px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Teams</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/solutions/sales" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M14.5634 13.5799C14.6 13.2593 14.4292 12.9316 14.1078 12.9024C14.102 12.9019 14.0961 12.9014 14.0903 12.9009L9.19669 12.5131C8.65686 12.4704 8.11351 12.5323 7.5996 12.6952L3.69783 13.932C3.28233 14.0637 3 14.4494 3 14.8852V20.0199C3 20.5721 3.44772 21.0199 4 21.0199H4.83831L4.85056 21.0237C4.95989 21.0574 5.11685 21.1047 5.31199 21.1604C5.70161 21.2716 6.24688 21.4174 6.87145 21.5561C8.09069 21.8267 9.72522 22.0966 11.0994 21.9661C12.5697 21.8264 14.3876 21.1358 15.958 20.4236C17.5608 19.6966 19.0337 18.8864 19.8515 18.4189C20.5815 18.0016 21 17.2562 21 16.472C21 14.9261 19.557 14.5558 18 15L15.5 15.75C14.5 17 13.9507 17.3157 12.3751 17.6528L11.1171 17.922C10.7369 18.0033 10.3614 17.7659 10.2718 17.3875C10.1795 16.9975 10.426 16.6078 10.8179 16.5239L12.0458 16.2612C13.4015 15.9711 14.4132 14.8936 14.5634 13.5799Z" fill="currentColor"/><path d="M18 7.5C18 9.433 16.433 11 14.5 11C12.567 11 11 9.433 11 7.5C11 5.567 12.567 4 14.5 4C16.433 4 18 5.567 18 7.5Z" fill="currentColor"/><path d="M12.0731 3.12743C10.5384 3.98106 9.5 5.61927 9.5 7.5C9.5 8.01995 9.57937 8.52136 9.72664 8.99278C9.65171 8.99757 9.57614 9 9.5 9C7.567 9 6 7.433 6 5.5C6 3.567 7.567 2 9.5 2C10.5175 2 11.4336 2.4342 12.0731 3.12743Z" fill="currentColor"/></svg>
218  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Sales </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Find &amp; close warm accounts</span> </div> </a><a href="/solutions/marketing" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.4348 2.83302C17.2037 2.28685 18.9961 3.60929 18.9961 5.46062V7.32497C20.7078 7.67242 21.9961 9.18574 21.9961 11C21.9961 12.8142 20.7078 14.327
2185 18.9961 14.6749V16.5393C18.9961 18.3906 17.2037 19.7131 15.4348 19.1669L13.2817 18.5021C12.7667 19.9564 11.3792 21 9.74609 21C7.67503 21 5.99609 19.321 5.99609 17.25V16.2526L3.93481 15.6162C2.78222 15.2603 1.99609 14.1949 1.99609 12.9886V9.01131C1.99609 7.80504 2.78222 6.73958 3.93481 6.38371L6.51034 5.5885C6.5212 5.58487 6.53218 5.58148 6.54326 5.57833L15.4348 2.83302ZM7.49609 16.7158V17.25C7.49609 18.4926 8.50345 19.5 9.74609 19.5C10.7025 19.5 11.5212 18.9029 11.8465 18.059L7.49609 16.7158ZM20.4961 11C20.4961 11.9796 19.87 12.813 18.9961 13.1219V8.87798C19.87 9.18686 20.4961 10.0203 20.4961 11ZM5.99829 7.31647V14.6834L4.37733 14.183C3.85342 14.0212 3.49609 13.5369 3.49609 12.9886V9.01131C3.49609 8.46301 3.85342 7.97871 4.37733 7.81695L5.99829 7.31647Z" fill="currentColor"/></svg>
219  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Marketing </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Turn traffic into pipeline</span> </div> </a><a href="/solutions/revops" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.64125 9.29847C8.49624 7.44348 11.5038 7.44348 13.3588 9.29847L13.7019 9.64161C14.4775 10.4172 14.9295 11.3963 15.0562 12.4071C15.1076 12.8181 14.8162 13.1931 14.4052 13.2445C13.9942 13.296 13.6193 13.0046 13.5678 12.5936C13.4811 11.9019 13.1729 11.2339 12.6413 10.7023L12.2981 10.3591C11.0289 9.08993 8.97111 9.08992 7.70191 10.3591L4.35876 13.7023C3.08956 14.9715 3.08956 17.0293 4.35876 18.2985L4.70191 18.6416C5.97111 19.9108 8.02888 19.9108 9.29809 18.6416L9.46965 18.4701C9.76253 18.1772 10.2374 18.1771 10.5303 18.47C10.8232 18.7629 10.8232 19.2378 10.5303 19.5307L10.3588 19.7023C8.50379 21.5572 5.49624 21.5573 3.64125 19.7023L3.2981 19.3591C1.44311 17.5041 1.44311 14.4966 3.2981 12.6416L6.64125 9.29847Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M13.6412 5.29847C15.4962 3.44348 18.5037 3.44348 20.3587 5.29847L20.7019 5.64161C22.5568 7.4966 22.5568 10.5041 20.7019 12.3591L17.3587 15.7023C15.5037 17.5573 12.4962 17.5573 10.6412 15.7023L10.298 15.3591C9.52244 14.5835 9.07043 13.6044 8.9438 12.5936C8.89232 12.1826 9.18376 11.8077 9.59476 11.7562C10.0058 11.7047 10.3807 11.9961 10.4322 12.4071C10.5188 13.0988 10.8271 13.7668 11.3587 14.2985L11.7019 14.6416C12.9711 15.9108 15.0288 15.9108 16.298 14.6416L19.6412 11.2985C20.9104 10.0293 20.9104 7.97148 19.6412 6.70228L19.298 6.35913C18.0288 5.08993 15.9711 5.08993 14.7019 6.35913L14.5304 6.53063C14.2375 6.82356 13.7627 6.82362 13.4697 6.53077C13.1768 6.23791 13.1767 5.76304 13.4696 5.47011L13.6412 5.29847Z" fill="currentColor"/></svg>
220  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> RevOps </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Unify your revenue data</span> </div> </a><a href="/solutions/agency" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M3.75 3C3.33579 3 3 3.33579 3 3.75V5C3 9.28021 6.46979 12.75 10.75 12.75H11.25V20.25C11.25 20.6642 11.5858 21 12 21C12.4142 21 12.75 20.6642 12.75 20.25V16H13.25C17.5302 16 21 12.5302 21 8.25V6.75C21 6.33579 20.6642 6 20.25 6H19C16.3562 6 14.0216 7.32382 12.6229 9.34475C11.9618 5.73541 8.80036 3 5 3H3.75Z" fill="currentColor"/></svg>
221  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Agency </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Prove ROI for every client</span> </div> </a> </div> </div> <!-- Use Cases Column --> <div class="flex flex-col border-l pl-6 py-6 border-zinc-200" data-astro-cid-voiollt5> <span class="mb-3 px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Use Cases</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/use-cases/account-scoring" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> Account scoring </a><a href="/use-cases/contact-reveal" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> Contact reveal </a><a href="/use-cases/enrich-ga4" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> GA4 enrichment </a><a href="/use-cases/lead-generation" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> Lead generation </a><a href="/use-cases/marketing-attribution" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> Marketing attribution </a><a href="/use-cases/visitor-identification" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> Visitor identification </a> </div> </div> </div> </div> </div> </div> <!-- Center nav item (Resources) --> <div class="flex items-center shrink-0" data-astro-cid-voiollt5> <!-- Resources Dropdown --> <div class="nav-dropdown-wrapper" data-dropdown="resources" data-astro-cid-voiollt5> <button type="button" class="nav-link nav-link-dropdown" data-astro-cid-voiollt5>
222Resources
223<span class="chevron-icon" data-astro-cid-voiollt5></span> </button> <div class="nav-dropdown-panel bg-white" data-astro-cid-voiollt5> <div class="grid grid-cols-[320px_192px] gap-x-6 px-6" data-astro-cid-voiollt5> <!-- Left Column: Learn, Support, Partners --> <div class="flex flex-col gap-5 py-6" data-astro-cid-voiollt5> <div data-astro-cid-voiollt5> <span class="mb-3 block px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Learn</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/blog" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M11.25 5.37706L5.34848 4.06118C3.63055 3.67813 2 4.98515 2 6.74526V17.0845C2 18.3727 2.89421 19.4883 4.15152 19.7686L11.25 21.3514V5.37706Z" fill="currentColor"/><path d="M12.75 5.37706V21.3514L19.8485 19.7686C21.1058 19.4883 22 18.3727 22 17.0845V6.74526C22 4.98515 20.3694 3.67813 18.6515 4.06118L12.75 5.37706Z" fill="currentColor"/></svg>
224  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="flex items-center gap-2" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Blog </span>  </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Read playbooks &amp; updates</span> </div> </a> </div> </div> <div data-astro-cid-voiollt5> <span class="mb-3 block px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Support</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="https://docs.snitcher.com" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" target="_blank" rel="noopener noreferrer" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 7.25C12 8.76878 13.2312 10 14.75 10H20V19.25C20 20.7688 18.7688 22 17.25 22H6.75C5.23122 22 4 20.7688 4 19.25V4.75C4 3.23122 5.23122 2 6.75 2H12V7.25ZM8.75 17.5C8.33579 17.5 8 17.8358 8 18.25C8 18.6642 8.33579 19 8.75 19H15.25C15.6642 19 16 18.6642 16 18.25C16 17.8358 15.6642 17.5 15.25 17.5H8.75ZM8.75 13.5C8.33579 13.5 8 13.8358 8 14.25C8 14.6642 8.33579 15 8.75 15H12.25C12.6642 15 13 14.6642 13 14.25C13 13.8358 12.6642 13.5 12.25 13.5H8.75Z" fill="currentColor"/><path d="M13.5732 2.5127L19.4873 8.42676C19.5111 8.45056 19.5344 8.475 19.5566 8.5H14.75C14.0597 8.5 13.5 7.94032 13.5 7.25V2.44336C13.525 2.46564 13.5494 2.48889 13.5732 2.5127Z" fill="currentColor"/></svg>
225  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="flex items-center gap-2" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Documentation </span> <svg width="14" height="14" class="text-zinc-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M18.25 15.25V5.75M18.25 5.75H8.75M18.25 5.75L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
226 </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Set up &amp; integrate Snitcher</span> </div> </a><a href="https://help.snitcher.com" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" target="_blank" rel="noopener noreferrer" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.2324 8.35396C13.966 7.4249 14.5031 6.45579 15.4322 6.18939L16.8741 5.77593C17.8032 5.50953 18.7723 6.04672 19.0387 6.97577L22.2085 18.0303C22.4749 18.9593 21.9377 19.9285 21.0087 20.1949L19.5668 20.6083C18.6377 20.8747 17.6686 20.3375 17.4022 19.4085L14.2324 8.35396Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.75 3C7.7835 3 7 3.7835 7 4.75V19.25C7 20.2165 7.7835 21 8.75 21H12.25C13.2165 21 14 20.2165 14 19.25V4.75C14 3.7835 13.2165 3 12.25 3H8.75ZM8.5 7.75C8.5 7.33579 8.83579 7 9.25 7H11.75C12.1642 7 12.5 7.33579 12.5 7.75C12.5 8.16421 12.1642 8.5 11.75 8.5H9.25C8.83579 8.5 8.5 8.16421 8.5 7.75ZM12.5 16.25C12.5 15.8358 12.1642 15.5 11.75 15.5H9.25C8.83579 15.5 8.5 15.8358 8.5 16.25C8.5 16.6642 8.83579 17 9.25 17H11.75C12.1642 17 12.5 16.6642 12.5 16.25Z" fill="currentColor"/><path d="M3.75 5C2.7835 5 2 5.7835 2 6.75V19.25C2 20.2165 2.7835 21 3.75 21H4.25C5.2165 21 6 20.2165 6 19.25V6.75C6 5.7835 5.2165 5 4.25 5H3.75Z" fill="currentColor"/></svg>
227  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="flex items-center gap-2" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Help center </span> <svg width="14" height="14" class="text-zinc-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M18.25 15.25V5.75M18.25 5.75H8.75M18.25 5.75L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
228 </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Read our knowledge base</span> </div> </a> </div> </div> <div data-astro-cid-voiollt5> <span class="mb-3 block px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Partners</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/partners" class="group flex items-center gap-3 rounded-xl p-3 no-underline transition-colors hover:bg-zinc-50" data-astro-cid-voiollt5> <div class="flex shrink-0 items-center justify-center overflow-hidden rounded-lg bg-jade
228-500 h-11 w-11 rounded-xl"> <div class="h-5 w-5">  <svg width="20" height="20" class="text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M9.5 4V3.5C9.5 2.11929 10.6193 1 12 1C13.3807 1 14.5 2.11929 14.5 3.5V4H18.25C19.7688 4 21 5.23122 21 6.75V9C21 9.27614 20.7761 9.5 20.5 9.5C19.1193 9.5 18 10.6193 18 12C18 13.3807 19.1193 14.5 20.5 14.5C20.7761 14.5 21 14.7239 21 15V17.25C21 18.7688 19.7688 20 18.25 20H5.75C4.23122 20 3 18.7688 3 17.25V6.75C3 5.23122 4.23122 4 5.75 4H9.5Z" fill="currentColor"/></svg>
229  </div> </div> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <span class="text-sm font-semibold transition-colors group-hover:text-primary-500 text-zinc-800" data-astro-cid-voiollt5> Partner Program </span> <span class="text-sm leading-5 text-zinc-700" data-astro-cid-voiollt5>Agency, Expert &amp; Creator programs</span> </div> </a> </div> </div> </div> <!-- Right Column: Company, Contact --> <div class="flex flex-col gap-5 border-l pl-6 py-6 border-zinc-200" data-astro-cid-voiollt5> <div data-astro-cid-voiollt5> <span class="mb-3 block px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Company</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <a href="/about" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> About us </a><a href="/careers" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> Careers </a> </div> </div> <div data-astro-cid-voiollt5> <span class="mb-3 block px-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Contact</span> <div class="flex flex-col gap-1" data-astro-cid-voiollt5> <button type="button" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 cursor-pointer text-left text-zinc-800 hover:bg-zinc-50" data-intercom-action="showNewMessage" data-astro-cid-voiollt5>
229 Chat to support </button><a href="/demo" class="group rounded-xl px-3 py-3 text-sm font-semibold no-underline transition-colors hover:text-primary-500 text-zinc-800 hover:bg-zinc-50" data-astro-cid-voiollt5> Talk to sales </a> </div> </div> </div> </div> </div> </div> </div> <!-- Right nav group --> <div class="flex flex-1 items-center gap-1 xl:gap-2" data-astro-cid-voiollt5> <a href="/customers" class="nav-link" data-astro-cid-voiollt5>
230Customers
231</a> <a href="/pricing" class="nav-link" data-astro-cid-voiollt5>
232Pricing
233</a> </div> </div> <!-- Action Buttons --> <div class="relative z-10 flex flex-1 items-center justify-end gap-2 pointer-events-none [&>*]:pointer-events-auto" data-astro-cid-voiollt5>  <button id="mobile-menu-toggle" type="button" class="relative inline-flex h-10 items-center justify-center gap-2 rounded-full border border-[var(--alpha-border)] px-4 text-base font-semibold shadow transition-colors lg:hidden bg-white text-zinc-700 hover:bg-zinc-50" aria-expanded="false" aria-controls="mobile-menu" data-astro-cid-voiollt5> <span class="relative flex h-6 w-6 items-center justify-center" data-astro-cid-voiollt5> <svg id="hamburger-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" class="absolute h-6 w-6 transition-opacity duration-200" data-astro-cid-voiollt5> <path d="M2.75 12H21.25M2.75 5.75H21.25M2.75 18.25H21.25" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-voiollt5></path> </svg> <svg id="close-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" class="absolute h-5 w-5 opacity-0 transition-opacity duration-200" data-astro-cid-voiollt5> <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-voiollt5></path> </svg> </span> <span class="relative" data-astro-cid-voiollt5> <span id="menu-label" data-astro-cid-voiollt5>Menu</span> <span id="close-label" class="absolute left-0 opacity-0 transition-opacity duration-200" data-astro-cid-voiollt5>Close</span> </span> </button> <a href="https://app.snitcher.com/login" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-white ring-1 ring-[var(--alpha-border)] !text-zinc-700 hover:bg-zinc-50 hidden lg:inline-flex" data-astro-cid-voiollt5>Log in</a>
233<script>
234  (function() {
235    function initButtonArrows() {
236      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
237        if (button.dataset.btnArrowInit) return;
238        button.dataset.btnArrowInit = 'true';
239        
240        var icon = button.querySelector('.btn-arrow-icon');
241        if (!icon) return;
242        
243        button.addEventListener('mouseenter', function() {
244          icon.classList.remove('slide-out');
245          icon.classList.add('slide-in');
246        });
247        
248        button.addEventListener('mouseleave', function() {
249          icon.classList.remove('slide-in');
250          icon.classList.add('slide-out');
251        });
252      });
253    }
254
255    if (document.readyState === 'loading') {
256      document.addEventListener('DOMContentLoaded', initButtonArrows);
257    } else {
258      initButtonArrows();
259    }
260    
261    document.addEventListener('astro:page-load', initButtonArrows);
262  })();
263</script>
263   <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600 !pl-3 hidden lg:inline-flex"> <svg width="20" height="20" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0" aria-hidden="true"> <path d="M211.265 148.37C187.598 224.219 123.858 249.286 104.886 255.161C89.5631 259.93 84.2516 243.014 99.6384 238.244C116.524 233.017 173.258 210.709 194.355 143.094C205.691 106.783 186.837 68.5577 152.325 57.79C117.074 46.7923 80.2423 68.8045 69.2412 104.054C67.5848 109.361 63.152 113.363 58.9333 113.363C52.8997 113.363 50.3043 105.281 52.3341 98.7783C66.1181 54.6057 112.724 26.8804 157.601 40.8841C202.129 54.7776 225.257 103.517 211.265 148.37ZM168.681 5.37712C102.536 -15.2639 36.1026 25.9353 16.8302 87.6986C7.05086 119.034 28.0846 150.559 58.9017 150.559C79.3873 150.559 98.2403 135.991 104.747 115.134C109.855 98.7636 126.062 88.5621 141.246 93.2947C156.164 97.95 164.06 115.32 158.854 132.015C145.032 176.301 103.905 207.232 58.8369 207.236H58.8306C53.1805 207.236 47.4893 206.748 41.9193 205.783C26.0231 203.042 23.0907 220.506 38.9072 223.237C45.4654 224.373 52.1665 224.95 58.822 224.95C111.569 224.95 159.656 188.902 175.758 137.291C183.809 111.494 170.991 84.021 146.522 76.39C121.831 68.6852 95.7658 84.4535 87.8419 109.858C83.6147 123.396 71.7306 132.852 58.9427 132.852C40.047 132.852 27.4971 112.952 33.7365 92.9742C51.7151 35.4079 111.149 5.98231 163.405 22.2851C217.821 39.2652 247.198 98.6229 229.863 154.174C220.278 184.887 202.64 212.731 179.141 234.367C167.297 245.262 179.436 258.135 191.286 247.224C217.073 223.484 236.259 193.132 246.77 159.45C267.275 93.7541 231.625 25.0164 168.681 5.37712ZM58.6439 187.8C95.3789 187.8 128.937 162.473 140.255 126.211C142.694 118.381 139.514 113.349 135.392 112.062C131.306 110.787 125.784 113.124 123.348 120.937C114.327 149.843 87.7136 170.032 58.6287 170.032C44.0506 170.032 30.2484 164.946 18.717 155.324C6.35199 145.002 -4.98893 158.544 7.38454 168.884C22.2568 181.257 39.9787 187.797 58.6349 187.8H58.6439Z" fill="currentColor"></path> </svg> <span>Start for free</span> </a>
263<script>
264  (function() {
265    function initButtonArrows() {
266      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
267        if (button.dataset.btnArrowInit) return;
268        button.dataset.btnArrowInit = 'true';
269        
270        var icon = button.querySelector('.btn-arrow-icon');
271        if (!icon) return;
272        
273        button.addEventListener('mouseenter', function() {
274          icon.classList.remove('slide-out');
275          icon.classList.add('slide-in');
276        });
277        
278        button.addEventListener('mouseleave', function() {
279          icon.classList.remove('slide-in');
280          icon.classList.add('slide-out');
281        });
282      });
283    }
284
285    if (document.readyState === 'loading') {
286      document.addEventListener('DOMContentLoaded', initButtonArrows);
287    } else {
288      initButtonArrows();
289    }
290    
291    document.addEventListener('astro:page-load', initButtonArrows);
292  })();
293</script>
293 </div> </div> </div> </div> <div id="mobile-menu" class="absolute left-0 right-0 top-full z-40 max-h-[calc(100dvh-64px)] overflow-hidden rounded-b-2xl shadow-lg transition-[height] duration-300 ease-out lg:hidden bg-white" style="height: 0;" data-astro-cid-voiollt5> <div class="mobile-menu-scroll h-full px-6 pb-6 pt-4" data-astro-cid-voiollt5> <nav class="mb-6 space-y-2" data-astro-cid-voiollt5> <!-- Product dropdown --> <div class="mobile-dropdown" data-astro-cid-voiollt5> <button type="button" class="mobile-nav-link mobile-dropdown-toggle" aria-expanded="false" data-astro-cid-voiollt5>
294Product
295<span class="mobile-chevron" data-astro-cid-voiollt5></span> </button> <div class="mobile-submenu" data-astro-cid-voiollt5> <span class="block px-4 py-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>GTM Platform</span> <a href="/platform" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Platform </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Powered by Snitcher</span> <a href="/radar" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Radar </a><a href="/ip-to-company-api" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> IP to Company </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>How It Works</span> <a href="/identify" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Identify </a><a href="/signal" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Signal </a><a href="/automate" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Automate </a><a href="/engage" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Engage </a><a href="/measure" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Measure </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Explore</span> <a href="/changelog" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Changelog  </span> </a><a href="/integrations" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Integrations  </span> </a><a href="https://trust.snitcher.com" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" target="_blank" rel="noopener noreferrer" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Trust centre <svg width="16" height="16" class="text-zinc-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M18.25 15.25V5.75M18.25 5.75H8.75M18.25 5.75L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
296 </span> </a><a href="/demo" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Talk to sales  </span> </a> </div> </div> <!-- Solutions dropdown --> <div class="mobile-dropdown" data-astro-cid-voiollt5> <button type="button" class="mobile-nav-link mobile-dropdown-toggle" aria-expanded="false" data-astro-cid-voiollt5>
297Solutions
298<span class="mobile-chevron" data-astro-cid-voiollt5></span> </button> <div class="mobile-submenu" data-astro-cid-voiollt5> <span class="block px-4 py-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Teams</span> <a href="/solutions/sales" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Sales </a><a href="/solutions/marketing" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Marketing </a><a href="/solutions/revops" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> RevOps </a><a href="/solutions/agency" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Agency </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Use Cases</span> <a href="/use-cases/account-scoring" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50 text-primary-500" data-astro-cid-voiollt5> Account scoring </a><a href="/use-cases/contact-reveal" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Contact reveal </a><a href="/use-cases/enrich-ga4" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> GA4 enrichment </a><a href="/use-cases/lead-generation" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Lead generation </a><a href="/use-cases/marketing-attribution" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Marketing attribution </a><a href="/use-cases/visitor-identification" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Visitor identification </a> </div> </div> <!-- Resources dropdown --> <div class="mobile-dropdown" data-astro-cid-voiollt5> <button type="button" class="mobile-nav-link mobile-dropdown-toggle" aria-expanded="false" data-astro-cid-voiollt5>
299Resources
300<span class="mobile-chevron" data-astro-cid-voiollt5></span> </button> <div class="mobile-submenu" data-astro-cid-voiollt5> <span class="block px-4 py-1 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Learn</span> <a href="/blog" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Blog  </span> </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Support</span> <a href="https://docs.snitcher.com" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" target="_blank" rel="noopener noreferrer" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Documentation <svg width="16" height="16" class="text-zinc-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M18.25 15.25V5.75M18.25 5.75H8.75M18.25 5.75L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
301 </span> </a><a href="https://help.snitcher.com" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" target="_blank" rel="noopener noreferrer" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Help center <svg width="16" height="16" class="text-zinc-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M18.25 15.25V5.75M18.25 5.75H8.75M18.25 5.75L6 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
302 </span> </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Partners</span> <a href="/partners" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> <span class="inline-flex items-center gap-1.5" data-astro-cid-voiollt5> Partner Program  </span> </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Company</span> <a href="/about" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> About us </a><a href="/careers" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Careers </a> <span class="block px-4 pb-1 pt-3 eyebrow text-xs text-zinc-400" data-astro-cid-voiollt5>Contact</span> <button type="button" class="block rounded-lg px-4 py-2.5 text-base min-h-8 w-full text-left cursor-pointer hover:bg-zinc-50" data-intercom-action="showNewMessage" data-astro-cid-voiollt5>
302 Chat to support </button><a href="/demo" class="block rounded-lg px-4 py-2.5 text-base min-h-8 hover:bg-zinc-50" data-astro-cid-voiollt5> Talk to sales </a> </div> </div> <!-- Direct links --> <a href="/customers" class="mobile-nav-link" data-astro-cid-voiollt5>
303Customers
304</a> <a href="/pricing" class="mobile-nav-link" data-astro-cid-voiollt5>
305Pricing
306</a> </nav> <div class="flex flex-col gap-2" data-astro-cid-voiollt5> <a href="https://app.snitcher.com/login" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-white ring-1 ring-[var(--alpha-border)] !text-zinc-700 hover:bg-zinc-50 w-full justify-center" data-astro-cid-voiollt5>Log in</a>
306<script>
307  (function() {
308    function initButtonArrows() {
309      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
310        if (button.dataset.btnArrowInit) return;
311        button.dataset.btnArrowInit = 'true';
312        
313        var icon = button.querySelector('.btn-arrow-icon');
314        if (!icon) return;
315        
316        button.addEventListener('mouseenter', function() {
317          icon.classList.remove('slide-out');
318          icon.classList.add('slide-in');
319        });
320        
321        button.addEventListener('mouseleave', function() {
322          icon.classList.remove('slide-in');
323          icon.classList.add('slide-out');
324        });
325      });
326    }
327
328    if (document.readyState === 'loading') {
329      document.addEventListener('DOMContentLoaded', initButtonArrows);
330    } else {
331      initButtonArrows();
332    }
333    
334    document.addEventListener('astro:page-load', initButtonArrows);
335  })();
336</script>
336 <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600 !pl-3 w-full justify-center"> <svg width="20" height="20" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0" aria-hidden="true"> <path d="M211.265 148.37C187.598 224.219 123.858 249.286 104.886 255.161C89.5631 259.93 84.2516 243.014 99.6384 238.244C116.524 233.017 173.258 210.709 194.355 143.094C205.691 106.783 186.837 68.5577 152.325 57.79C117.074 46.7923 80.2423 68.8045 69.2412 104.054C67.5848 109.361 63.152 113.363 58.9333 113.363C52.8997 113.363 50.3043 105.281 52.3341 98.7783C66.1181 54.6057 112.724 26.8804 157.601 40.8841C202.129 54.7776 225.257 103.517 211.265 148.37ZM168.681 5.37712C102.536 -15.2639 36.1026 25.9353 16.8302 87.6986C7.05086 119.034 28.0846 150.559 58.9017 150.559C79.3873 150.559 98.2403 135.991 104.747 115.134C109.855 98.7636 126.062 88.5621 141.246 93.2947C156.164 97.95 164.06 115.32 158.854 132.015C145.032 176.301 103.905 207.232 58.8369 207.236H58.8306C53.1805 207.236 47.4893 206.748 41.9193 205.783C26.0231 203.042 23.0907 220.506 38.9072 223.237C45.4654 224.373 52.1665 224.95 58.822 224.95C111.569 224.95 159.656 188.902 175.758 137.291C183.809 111.494 170.991 84.021 146.522 76.39C121.831 68.6852 95.7658 84.4535 87.8419 109.858C83.6147 123.396 71.7306 132.852 58.9427 132.852C40.047 132.852 27.4971 112.952 33.7365 92.9742C51.7151 35.4079 111.149 5.98231 163.405 22.2851C217.821 39.2652 247.198 98.6229 229.863 154.174C220.278 184.887 202.64 212.731 179.141 234.367C167.297 245.262 179.436 258.135 191.286 247.224C217.073 223.484 236.259 193.132 246.77 159.45C267.275 93.7541 231.625 25.0164 168.681 5.37712ZM58.6439 187.8C95.3789 187.8 128.937 162.473 140.255 126.211C142.694 118.381 139.514 113.349 135.392 112.062C131.306 110.787 125.784 113.124 123.348 120.937C114.327 149.843 87.7136 170.032 58.6287 170.032C44.0506 170.032 30.2484 164.946 18.717 155.324C6.35199 145.002 -4.98893 158.544 7.38454 168.884C22.2568 181.257 39.9787 187.797 58.6349 187.8H58.6439Z" fill="currentColor"></path> </svg> <span>Start for free</span> </a>
336<script>
337  (function() {
338    function initButtonArrows() {
339      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
340        if (button.dataset.btnArrowInit) return;
341        button.dataset.btnArrowInit = 'true';
342        
343        var icon = button.querySelector('.btn-arrow-icon');
344        if (!icon) return;
345        
346        button.addEventListener('mouseenter', function() {
347          icon.classList.remove('slide-out');
348          icon.classList.add('slide-in');
349        });
350        
351        button.addEventListener('mouseleave', function() {
352          icon.classList.remove('slide-in');
353          icon.classList.add('slide-out');
354        });
355      });
356    }
357
358    if (document.readyState === 'loading') {
359      document.addEventListener('DOMContentLoaded', initButtonArrows);
360    } else {
361      initButtonArrows();
362    }
363    
364    document.addEventListener('astro:page-load', initButtonArrows);
365  })();
366</script>
366 </div> </div> </div> </div>  <div class="relative z-0 w-full bg-white" id="subnav" data-astro-cid-voiollt5> <div class="px-6 md:px-16" data-astro-cid-voiollt5> <div class="max-w-7xl mx-auto" data-astro-cid-voiollt5> <div class="flex items-center justify-center gap-1 overflow-x-auto subnav-scrollbar-hide -mb-px" data-astro-cid-voiollt5> <a href="/use-cases/account-scoring" data-astro-cid-voiollt5 class="relative flex items-center gap-2 px-4 py-3 text-sm font-medium whitespace-nowrap transition-colors text-primary-500">Account scoring<span class="absolute bottom-0 left-4 right-4 h-0.5 rounded-full bg-primary-500" data-astro-cid-voiollt5></span></a><a href="/use-cases/contact-reveal" data-astro-cid-voiollt5 class="relative flex items-center gap-2 px-4 py-3 text-sm font-medium whitespace-nowrap transition-colors text-zinc-500 hover:text-zinc-800">Contact reveal</a><a href="/use-cases/enrich-ga4" data-astro-cid-voiollt5 class="relative flex items-center gap-2 px-4 py-3 text-sm font-medium whitespace-nowrap transition-colors text-zinc-500 hover:text-zinc-800">GA4 enrichment</a><a href="/use-cases/lead-generation" data-astro-cid-voiollt5 class="relative flex items-center gap-2 px-4 py-3 text-sm font-medium whitespace-nowrap transition-colors text-zinc-500 hover:text-zinc-800">Lead generation</a><a href="/use-cases/marketing-attribution" data-astro-cid-voiollt5 class="relative flex items-center gap-2 px-4 py-3 text-sm font-medium whitespace-nowrap transition-colors text-zinc-500 hover:text-zinc-800">Marketing attribution</a><a href="/use-cases/visitor-identification" data-astro-cid-voiollt5 class="relative flex items-center gap-2 px-4 py-3 text-sm font-medium whitespace-nowrap transition-colors text-zinc-500 hover:text-zinc-800">Visitor identification</a> </div> </div> </div> </div> </nav> <!-- Backdrop blur overlay (visible when dropdown is open) --> <div id="navbar-backdrop" class="pointer-events-none fixed inset-0 z-40 opacity-0 backdrop-blur-sm transition-opacity duration-200 bg-white/60" data-astro-cid-voiollt5></div>   <main class="w-full">  
366<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.snitcher.com"},{"@type":"ListItem","position":2,"name":"Use Cases","item":"https://www.snitcher.com/use-cases"},{"@type":"ListItem","position":3,"name":"Account Scoring","item":"https://www.snitcher.com/use-cases/account-scoring"}]}</script>
366  <section class="page-section" data-variant="light" id="hero" data-astro-cid-dnku4hyr>        <div class="section-container" data-astro-cid-dnku4hyr> <!-- Corner decorations -->     <!-- Content -->  <section class="w-full relative isolate overflow-x-clip" data-astro-cid-eaz7zv6b> <!-- Animated Dot Grid Background -->
367    <div class="hero-dot-grid absolute -z-30 pointer-events-none" aria-hidden="true" data-astro-cid-wlyiyr5g> <canvas id="hero-dot-canvas" width="960" height="880" data-astro-cid-wlyiyr5g></canvas> </div> 
367<script>(function(){const fingerprintPath = "M479.105 123.715C508.165 123.715 537.121 127.711 565.171 135.593H565.172C723.388 180.032 810.209 336.775 758.861 484.95C672.839 733.133 441.175 815.165 372.169 834.403H372.168C366.003 836.13 360.107 837 354.642 837C336.377 837 326.758 827.516 324.962 818.309L324.883 817.87C323.209 807.91 329.776 793.276 355.402 786.121C417.687 768.769 627.121 694.667 705.011 469.948C725.42 411.091 720.361 348.893 690.761 294.827C661.139 240.726 610.544 201.314 548.32 183.835C525.75 177.497 502.431 174.283 479.011 174.283C371.227 174.283 272.458 241.933 238.85 338.877C233.287 354.919 218.695 366.846 205.139 366.846C197.37 366.846 192.438 362.809 189.639 359.385C182.575 350.738 180.643 336.461 185.006 323.875C225.841 206.064 346.768 123.715 479.105 123.715ZM478.957 1C521.618 1.00001 564.274 6.90814 605.741 18.5576C716.526 49.6745 807.083 118.96 860.766 213.628C914.723 308.784 924.703 418.105 888.864 521.47C850.909 630.962 781.867 729.724 689.108 807.245L686.913 809.072C674.246 819.571 663.235 821.729 656.295 821.729C645.632 821.729 636.927 816.576 633.413 808.462C628.742 797.678 633.925 784.249 648.096 772.514H648.097C735.016 700.475 799.655 608.478 835.02 506.468C866.145 416.68 857.829 321.486 811.604 238.445C765.548 155.708 687.314 95.0634 591.164 67.4512L588.89 66.8057C553.722 56.9306 517.085 51.9238 479.998 51.9238C310.011 51.9239 160.83 152.525 108.854 302.354C96.7623 337.202 102.92 374.427 125.368 401.906C144.581 425.426 173.675 438.9 205.174 438.9C253.822 438.9 298.979 406.62 315.014 360.395V360.394C338.279 293.254 405.65 246.323 478.859 246.323C494.333 246.323 509.728 248.445 524.608 252.625C566.639 264.424 600.584 291.382 620.213 328.518C639.767 365.513 642.843 408.092 628.859 448.432C570.466 616.91 396.076 734.653 204.729 734.653C180.618 734.653 156.325 732.773 132.521 729.062H132.52C106.527 725.021 96.6245 711.156 97.7158 699.718C98.7049 689.31 109.097 678.338 130.959 678.338C134.503 678.338 138.264 678.642 142.138 679.243C162.762 682.456 183.832 684.085 204.76 684.085H204.761C370.933 684.071 522.658 581.841 574.417 435.154L575.021 433.426C594.797 376.342 564.645 316.848 507.754 300.864H507.753C498.292 298.212 488.494 296.864 478.629 296.864C430.011 296.864 384.88 329.156 368.849 375.396V375.396C345.592 442.527 278.225 489.448 205.022 489.448C155.516 489.448 109.979 468.431 80.0645 431.818C47.034 391.388 37.6623 337.388 55.0059 287.355C113.434 118.797 287.749 1 478.957 1ZM477.126 369.297C479.15 369.297 481.136 369.531 483.041 369.995L483.853 370.208C490.288 372.016 496.057 376.531 499.22 383.507C502.381 390.481 502.979 400.016 498.863 411.912C457.99 529.799 336.787 612.2 204.079 612.2H204.047C137.242 612.195 73.7533 591.267 20.3223 551.662L19.0625 550.723C3.84284 539.273 -2.02901 525.738 2.49023 514.525C5.87123 506.138 14.6726 500.811 25.6582 500.811C35.1161 500.811 45.338 504.677 55.2158 512.099C98.2043 544.388 149.664 561.455 204.021 561.455C312.304 561.455 411.42 493.831 445.02 396.916V396.915C452.117 376.42 466.351 369.297 477.126 369.297Z";
368const dark = false;
369
370  // Base dimensions - expanded to include full fingerprint with padding
371  const BASE_WIDTH = 960;
372  const BASE_HEIGHT = 880;
373  
374  // Offset to center the fingerprint (original was 911x838, path extends to ~925)
375  const OFFSET_X = 20;
376  const OFFSET_Y = 20;
377  
378  // Vertical fade configuration - fade to background at bottom
379  const FADE_START = 0.45;  // Start fading at 45% down
380  const FADE_END = 0.95;    // Fully faded at 95% down
381  
382  // Center fade configuration - reduce opacity in center for text readability
383  const CENTER_X = 0.5;     // Center of the canvas (normalized)
384  const CENTER_Y = 0.35;    // Slightly above center where text sits
385  const CENTER_FADE_RADIUS = 1;  // Radius of the fade area
386  const CENTER_MIN_OPACITY = 0;   // Minimum opacity multiplier at center
387  
388  // Mobile detection
389  const isMobile = window.innerWidth < 768;
390  
391  // Configuration - adjusted for mobile performance
392  const CONFIG = {
393    cellSize: isMobile ? 10 : 7,        // Larger cells = fewer dots on mobile
394    dotSize: 3,
395    fillRate: isMobile ? 0.7 : 1,       // Sparser on mobile
396    animationSpeed: 0.003,
397    minOpacity: 0.01,
398    maxChannel: 220,
399    frameThrottle: isMobile ? 50 : 33,  // ~20fps on mobile, ~30fps on desktop
400  };
401
402  // Gradient anchor points - different for light and dark modes
403  // Light mode: zinc-500 to zinc-300
404  // Dark mode: zinc-600 to zinc-800 (inverted for dark background)
405  const gradientPoints = dark ? [
406    // Dark mode colors (zinc-600 to zinc-800)
407    // zinc-600: #52525b = RGB(82, 82, 91)
408    // zinc-700: #3f3f46 = RGB(63, 63, 70)
409    // zinc-800: #27272a = RGB(39, 39, 42)
410    { x: 0.0, y: 0.0, color: [82, 82, 91] },    // zinc-600 (top)
411    { x: 1.0, y: 0.0, color: [82, 82, 91] },    // zinc-600 (top)
412    { x: 0.5, y: 0.5, color: [63, 63, 70] },    // zinc-700 (mid)
413    { x: 0.0, y: 1.0, color: [39, 39, 42] },    // zinc-800 (bottom)
414    { x: 1.0, y: 1.0, color: [39, 39, 42] },    // zinc-800 (bottom)
415  ] : [
416    // Light mode colors (zinc-500 to zinc-300)
417    // zinc-500: #71717a = RGB(113, 113, 122)
418    // zinc-300: #d4d4d8 = RGB(212, 212, 216)
419    { x: 0.0, y: 0.0, color: [113, 113, 122] },   // zinc-500 (top)
420    { x: 1.0, y: 0.0, color: [113, 113, 122] },   // zinc-500 (top)
421    { x: 0.5, y: 0.5, color: [162, 162, 169] },   // mid blend
422    { x: 0.0, y: 1.0, color: [212, 212, 216] },   // zinc-300 (bottom)
423    { x: 1.0, y: 1.0, color: [212, 212, 216] },   // zinc-300 (bottom)
424  ];
425  
426  // Mouse hover color effect configuration
427  const BRAND_COLOR = { r: 76, g: 76, b: 255 }; // #4C4CFF - Snitcher brand color
428  const COLOR_RADIUS = 120;  // Radius of the color effect in pixels
429  const COLOR_FALLOFF = 2;   // Falloff exponent for smooth blending
430  const MOUSE_LERP = 0.12;   // Smoothing factor for color effect position
431
432  // Seeded random for consistency
433  function seededRandom(seed) {
434    const x = Math.sin(seed * 12.9898 + seed * 78.233) * 43758.5453;
435    return x - Math.floor(x);
436  }
437
438  // Calculate blended color
439  function getBlendedColor(normalizedX, normalizedY) {
440    let totalWeight = 0;
441    let r = 0, g = 0, b = 0;
442    
443    for (const point of gradientPoints) {
444      const dx = normalizedX - point.x;
445      const dy = normalizedY - point.y;
446      const distance = Math.sqrt(dx * dx + dy * dy);
447      const weight = 1 / Math.pow(distance + 0.12, 3);
448      totalWeight += weight;
449      r += point.color[0] * weight;
450      g += point.color[1] * weight;
451      b += point.color[2] * weight;
452    }
453    
454    r = Math.min(Math.round(r / totalWeight), CONFIG.maxChannel);
455    g = Math.min(Math.round(g / totalWeight), CONFIG.maxChannel);
456    b = Math.min(Math.round(b / totalWeight), CONFIG.maxChannel);
457    
458    return { r, g, b };
459  }
460
461  // Store cleanup function for page transitions
462  let cleanupHeroDotGrid = null;
463  
464  function initHeroDotGrid() {
465    // Clean up any existing instance first
466    if (cleanupHeroDotGrid) {
467      cleanupHeroDotGrid();
468      cleanupHeroDotGrid = null;
469    }
470    
471    const canvas = document.getElementById('hero-dot-canvas');
472    if (!canvas) return;
473    const ctx = canvas.getContext('2d', { willReadFrequently: false });
474    
475    // Handle high-DPI/retina displays
476    const dpr = window.devicePixelRatio || 1;
477    
478    // Set canvas size accounting for pixel ratio
479    canvas.width = BASE_WIDTH * dpr;
480    canvas.height = BASE_HEIGHT * dpr;
481    
482    // Scale context to match
483    ctx.scale(dpr, dpr);
484    
485    // Use base dimensions for all calculations
486    const width = BASE_WIDTH;
487    const height = BASE_HEIGHT;
488    
489    // Create fingerprint mask at base resolution
490    const maskCanvas = document.createElement('canvas');
491    maskCanvas.width = width;
492    maskCanvas.height = height;
493    const maskCtx = maskCanvas.getContext('2d');
494    
495    // Draw fingerprint path to mask with offset for padding
496    maskCtx.translate(OFFSET_X, OFFSET_Y);
497    const path = new Path2D(fingerprintPath);
498    maskCtx.fillStyle = 'white';
499    maskCtx.fill(path);
500    maskCtx.lineWidth = 20;
501    maskCtx.strokeStyle = 'white';
502    maskCtx.stroke(path);
503    maskCtx.translate(-OFFSET_X, -OFFSET_Y);
504    
505    // Get mask data
506    const maskData = maskCtx.getImageData(0, 0, width, height).data;
507    
508    // Check if point is inside fingerprint
509    function getMaskValue(x, y) {
510      const px = Math.floor(x);
511      const py = Math.floor(y);
512      if (px < 0 || px >= width || py < 0 || py >= height) return 0;
513      const idx = (py * width + px) * 4;
514      return maskData[idx];
515    }
516    
517    function isInsideFingerprint(x, y) {
518      return getMaskValue(x, y) > 128;
519    }
520    
521    // Check if point is near the edge of the fingerprint
522    function getEdgeDistance(x, y, checkRadius) {
523      const inside = isInsideFingerprint(x, y);
524      let minDist = checkRadius;
525      
526      // Sample points in a circle to find edge
527      for (let angle = 0; angle < Math.PI * 2; angle += Math.PI / 4) {
528        for (let r = 1; r <= checkRadius; r += 2) {
529          const sx = x + Math.cos(angle) * r;
530          const sy = y + Math.sin(angle) * r;
531          const sampleInside = isInsideFingerprint(sx, sy);
532          if (sampleInside !== inside) {
533            minDist = Math.min(minDist, r);
534            break;
535          }
536        }
537      }
538      return { inside, distToEdge: minDist };
539    }
540    
541    // Generate dots
542    const gridCols = Math.ceil(width / CONFIG.cellSize);
543    const gridRows = Math.ceil(height / CONFIG.cellSize);
544    const dots = [];
545    const SCATTER_RADIUS = 25; // How far to scatter dots from edge
546    
547    for (let row = 0; row < gridRows; row++) {
548      for (let col = 0; col < gridCols; col++) {
549        const seed = row * gridCols + col;
550        const random = seededRandom(seed);
551        
552        if (random > CONFIG.fillRate) continue;
553        
554        const x = col * CONFIG.cellSize;
555        const y = row * CONFIG.cellSize;
556        
557        const { inside, distToEdge } = getEdgeDistance(x, y, SCATTER_RADIUS);
558        
559        // Determine if dot should be shown based on edge proximity
560        let showDot = false;
561        if (inside) {
562          // Inside the shape - always show unless near edge with random chance
563          if (distToEdge > SCATTER_RADIUS * 0.4) {
564            showDot = true; // Far from edge, always show
565          } else {
566            // Near edge - small random chance to hide (creates scattered inner edge)
567            const hideChance = (1 - distToEdge / (SCATTER_RADIUS * 0.4)) * 0.25;
568            showDot = seededRandom(seed + 7000) > hideChance;
569          }
570        } else {
571          // Outside the shape - show with decreasing probability near edge (more dense)
572          if (distToEdge < SCATTER_RADIUS) {
573            const showChance = Math.pow(1 - distToEdge / SCATTER_RADIUS, 1.5) * 0.75;
574            showDot = seededRandom(seed + 8000) < showChance;
575          }
576        }
577        
578        if (!showDot) continue;
579        
580        const normalizedX = col / gridCols;
581        const normalizedY = row / gridRows;
582        const color = getBlendedColor(normalizedX, normalizedY);
583        const baseOpacity = 0.5 + seededRandom(seed + 3000) * 0.45;
584        const phase = seededRandom(seed + 4000) * Math.PI * 2;
585        
586        // Calculate edge fade - dots near/outside edges are always lighter
587        let edgeFade = 1;
588        if (!inside) {
589          // Outside dots are always very light (20-40% opacity)
590          edgeFade = 0.2 + (1 - distToEdge / SCATTER_RADIUS) * 0.2;
591        } else if (distToEdge < SCATTER_RADIUS * 0.6) {
592          // Inside but near edge - fade based on distance
593          edgeFade = 0.4 + (distToEdge / (SCATTER_RADIUS * 0.6)) * 0.6;
594        }
595        
596        // Calculate vertical fade factor (1 at top, 0 at bottom)
597        let verticalFade = 1;
598        if (normalizedY > FADE_START) {
599          verticalFade = 1 - Math.min(1, (normalizedY - FADE_START) / (FADE_END - FADE_START));
600          // Apply easing for smoother fade
601          verticalFade = verticalFade * verticalFade;
602        }
603        
604        // Calculate center fade factor (reduce opacity near center for text readability)
605        const dx = normalizedX - CENTER_X;
606        const dy = normalizedY - CENTER_Y;
607        const distFromCenter = Math.sqrt(dx * dx + dy * dy);
608        let centerFade = 1;
609        if (distFromCenter < CENTER_FADE_RADIUS) {
610          // Smooth falloff from edge to center
611          const t = 1 - (distFromCenter / CENTER_FADE_RADIUS);
612          centerFade = CENTER_MIN_OPACITY + (1 - CENTER_MIN_OPACITY) * (1 - t * t);
613        }
614        
615        // Combined fade factor
616        const fadeFactor = verticalFade * centerFade * edgeFade;
617        
618        // Individual animation speed variation (0.7x to 1.3x base speed)
619        const speedMult = 0.7 + seededRandom(seed + 5000) * 0.6;
620        
621        // Secondary wave phase for more complex movement
622        const phase2 = seededRandom(seed + 6000) * Math.PI * 2;
623        
624        dots.push({ 
625          x, y, 
626          // Current offset from original position (for mouse repulsion)
627          offsetX: 0, 
628          offsetY: 0,
629          color, baseOpacity, phase, phase2, speedMult, fadeFactor, seed 
630        });
631      }
632    }
633    
634    // Check for reduced motion preference
635    const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
636    
637    // Mouse interaction configuration
638    const MOUSE_RADIUS = 80;      // Radius of mouse influence
639    const REPULSION_STRENGTH = 50; // How far dots move away
640    const RETURN_SPEED = 0.15;     // How fast dots return (0-1, higher = faster)
641    
642    // Mouse position tracking (in canvas coordinates)
643    let mouseX = -1000;
644    let mouseY = -1000;
645    let mouseActive = false;
646    
647    // Smooth mouse position for color effect (lerped)
648    let smoothMouseX = -1000;
649    let smoothMouseY = -1000;
650    let targetMouseX = -1000;
651    let targetMouseY = -1000;
652    
653    // Get canvas bounding rect for coordinate conversion
654    function getCanvasCoords(clientX, clientY) {
655      const rect = canvas.getBoundingClientRect();
656      const scaleX = width / rect.width;
657      const scaleY = height / rect.height;
658      return {
659        x: (clientX - rect.left) * scaleX,
660        y: (clientY - rect.top) * scaleY
661      };
662    }
663    
664    // Check if coordinates are within canvas bounds (with padding for edge effect)
665    function isNearCanvas(canvasX, canvasY) {
666      const padding = COLOR_RADIUS;
667      return canvasX >= -padding && canvasX <= width + padding &&
668             canvasY >= -padding && canvasY <= height + padding;
669    }
670    
671    // Track mouse at window level for color effect (works even when canvas is behind other elements)
672    const windowMouseMoveHandler = (e) => {
673      const coords = getCanvasCoords(e.clientX, e.clientY);
674      if (isNearCanvas(coords.x, coords.y)) {
675        targetMouseX = coords.x;
676        targetMouseY = coords.y;
677      } else {
678        targetMouseX = -1000;
679        targetMouseY = -1000;
680      }
681    };
682    window.addEventListener('mousemove', windowMouseMoveHandler);
683    
684    const documentMouseLeaveHandler = () => {
685      targetMouseX = -1000;
686      targetMouseY = -1000;
687    };
688    document.addEventListener('mouseleave', documentMouseLeaveHandler);
689    
690    // Canvas-level mouse tracking for repulsion (needs pointer-events)
691    const canvasMouseMoveHandler = (e) => {
692      const coords = getCanvasCoords(e.clientX, e.clientY);
693      mouseX = coords.x;
694      mouseY = coords.y;
695      mouseActive = true;
696    };
697    canvas.addEventListener('mousemove', canvasMouseMoveHandler);
698    
699    const canvasMouseLeaveHandler = () => {
700      mouseActive = false;
701    };
702    canvas.addEventListener('mouseleave', canvasMouseLeaveHandler);
703    
704    // Touch support for mobile
705    const touchStartHandler = (e) => {
706      const touch = e.touches[0];
707      const coords = getCanvasCoords(touch.clientX, touch.clientY);
708      if (isNearCanvas(coords.x, coords.y)) {
709        targetMouseX = coords.x;
710        targetMouseY = coords.y;
711        smoothMouseX = targetMouseX;
712        smoothMouseY = targetMouseY;
713      }
714    };
715    window.addEventListener('touchstart', touchStartHandler, { passive: true });
716    
717    const touchMoveHandler = (e) => {
718      const touch = e.touches[0];
719      const coords = getCanvasCoords(touch.clientX, touch.clientY);
720      if (isNearCanvas(coords.x, coords.y)) {
721        targetMouseX = coords.x;
722        targetMouseY = coords.y;
723      } else {
724        targetMouseX = -1000;
725        targetMouseY = -1000;
726      }
727    };
728    window.addEventListener('touchmove', touchMoveHandler, { passive: true });
729    
730    const touchEndHandler = () => {
731      targetMouseX = -1000;
732      targetMouseY = -1000;
733    };
734    window.addEventListener('touchend', touchEndHandler);
735    
736    // Animation loop
737    let animationId;
738    let lastTime = 0;
739    
740    function animate(time) {
741      // Throttle framerate for performance (lower on mobile)
742      if (time - lastTime < CONFIG.frameThrottle) {
743        animationId = requestAnimationFrame(animate);
744        return;
745      }
746      lastTime = time;
747      
748      // Smoothly interpolate mouse position for color effect
749      smoothMouseX += (targetMouseX - smoothMouseX) * MOUSE_LERP;
750      smoothMouseY += (targetMouseY - smoothMouseY) * MOUSE_LERP;
751      
752      ctx.clearRect(0, 0, width, height);
753      
754      const halfDot = CONFIG.dotSize / 2;
755      
756      for (const dot of dots) {
757        // Calculate mouse repulsion
758        if (!prefersReducedMotion) {
759          const dx = dot.x - mouseX;
760          const dy = dot.y - mouseY;
761          const distance = Math.sqrt(dx * dx + dy * dy);
762          
763          if (mouseActive && distance < MOUSE_RADIUS) {
764            // Calculate repulsion force (stronger when closer)
765            const force = (1 - distance / MOUSE_RADIUS) * REPULSION_STRENGTH;
766            const angle = Math.atan2(dy, dx);
767            
768            // Target offset based on repulsion
769            const targetOffsetX = Math.cos(angle) * force;
770            const targetOffsetY = Math.sin(angle) * force;
771            
772            // Smoothly move toward target offset
773            dot.offsetX += (targetOffsetX - dot.offsetX) * 0.3;
774            dot.offsetY += (targetOffsetY - dot.offsetY) * 0.3;
775          } else {
776            // Return to original position with spring effect
777            dot.offsetX *= (1 - RETURN_SPEED);
778            dot.offsetY *= (1 - RETURN_SPEED);
779          }
780        }
781        
782        let opacity;
783        if (prefersReducedMotion) {
784          opacity = dot.baseOpacity;
785        } else {
786          // Primary wave with individual speed
787          const wave1 = Math.sin(time * CONFIG.animationSpeed * dot.speedMult + dot.phase);
788          
789          // Secondary wave at different frequency for complexity
790          const wave2 = Math.sin(time * CONFIG.animationSpeed * 0.7 + dot.phase2);
791          
792          // Combine waves (primary dominates, secondary adds variation)
793          const combinedWave = wave1 * 0.7 + wave2 * 0.3;
794          
795          // Sharpen the wave for more "pop" (power curve)
796          const normalizedWave = (combinedWave + 1) / 2; // 0 to 1
797          const sharpenedWave = Math.pow(normalizedWave, 1.5);
798          
799          // Occasional sparkle effect - random bright flash
800          const sparkleChance = Math.sin(time * 0.001 + dot.seed) * 0.5 + 0.5;
801          const sparkle = sparkleChance > 0.97 ? 1.5 : 1;
802          
803          const minOp = Math.max(CONFIG.minOpacity, dot.baseOpacity * 0.08);
804          opacity = (minOp + (dot.baseOpacity - minOp) * sharpenedWave) * sparkle;
805          opacity = Math.min(opacity, 1); // Clamp to 1
806        }
807        
808        // Apply vertical fade
809        const finalOpacity = opacity * dot.fadeFactor;
810        
811        // Calculate color based on distance to mouse (brand color glow effect)
812        const colorDx = dot.x - smoothMouseX;
813        const colorDy = dot.y - smoothMouseY;
814        const colorDistance = Math.sqrt(colorDx * colorDx + colorDy * colorDy);
815        
816        let finalR = dot.color.r;
817        let finalG = dot.color.g;
818        let finalB = dot.color.b;
819        let opacityBoost = 1;
820        
821        if (colorDistance < COLOR_RADIUS) {
822          // Calculate blend factor with smooth falloff
823          const normalizedDist = colorDistance / COLOR_RADIUS;
824          const blendFactor = Math.pow(1 - normalizedDist, COLOR_FALLOFF);
825          
826          // Lerp colors toward brand color
827          finalR = Math.round(dot.color.r + (BRAND_COLOR.r - dot.color.r) * blendFactor);
828          finalG = Math.round(dot.color.g + (BRAND_COLOR.g - dot.color.g) * blendFactor);
829          finalB = Math.round(dot.color.b + (BRAND_COLOR.b - dot.color.b) * blendFactor);
830          
831          // Boost opacity slightly for dots near cursor (creates glow effect)
832          opacityBoost = 1 + blendFactor * 0.6;
833        }
834        
835        const effectiveOpacity = Math.min(finalOpacity * opacityBoost, 1);
836        
837        // Render dot with offset
838        const renderX = dot.x + dot.offsetX;
839        const renderY = dot.y + dot.offsetY;
840        
841        ctx.fillStyle = `rgba(${finalR}, ${finalG}, ${finalB}, ${effectiveOpacity})`;
842        ctx.fillRect(
843          renderX - halfDot,
844          renderY - halfDot,
845          CONFIG.dotSize,
846          CONFIG.dotSize
847        );
848      }
849      
850      animationId = requestAnimationFrame(animate);
851    }
852    
853    // Only start animation when visible (IntersectionObserver fires immediately on observe)
854    const observer = new IntersectionObserver((entries) => {
855      entries.forEach(entry => {
856        if (entry.isIntersecting) {
857          if (!animationId) {
858            lastTime = 0; // Reset timing
859            animationId = requestAnimationFrame(animate);
860          }
861        } else {
862          if (animationId) {
863            cancelAnimationFrame(animationId);
864            animationId = null;
865          }
866        }
867      });
868    }, { threshold: 0 });
869    
870    // Start observing - animation will only begin if canvas is visible
871    observer.observe(canvas);
872    
873    // Store cleanup function
874    cleanupHeroDotGrid = () => {
875      if (animationId) {
876        cancelAnimationFrame(animationId);
877        animationId = null;
878      }
879      observer.disconnect();
880      window.removeEventListener('mousemove', windowMouseMoveHandler);
881      document.removeEventListener('mouseleave', documentMouseLeaveHandler);
882      canvas.removeEventListener('mousemove', canvasMouseMoveHandler);
883      canvas.removeEventListener('mouseleave', canvasMouseLeaveHandler);
884      window.removeEventListener('touchstart', touchStartHandler);
885      window.removeEventListener('touchmove', touchMoveHandler);
886      window.removeEventListener('touchend', touchEndHandler);
887    };
888  }
889  
890  // Run on page load
891  if (document.readyState === 'loading') {
892    document.addEventListener('DOMContentLoaded', initHeroDotGrid);
893  } else {
894    initHeroDotGrid();
895  }
896  
897  // Re-run on Astro page transitions
898  document.addEventListener('astro:page-load', initHeroDotGrid);
899  
900  // Cleanup on page navigation
901  document.addEventListener('astro:before-swap', () => {
902    if (cleanupHeroDotGrid) {
903      cleanupHeroDotGrid();
904      cleanupHeroDotGrid = null;
905    }
906  });
907})();</script>
907   <div class="px-6 md:px-16" data-astro-cid-eaz7zv6b> <div class="max-w-3xl mx-auto" data-astro-cid-eaz7zv6b> <div class="flex flex-col gap-8 items-center w-full relative z-10" data-astro-cid-eaz7zv6b> <!-- Badge --> <div class="inline-flex items-center gap-2 h-8 px-4 rounded-full border border-[var(--alpha-border)] bg-white shadow-sm"><svg width="16" height="16" class="text-zinc-700" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M12 2C11.5858 2 11.25 2.33579 11.25 2.75V5.25C11.25 5.66421 11.5858 6 12 6C12.4142 6 12.75 5.66421 12.75 5.25V3.53263C17.0931 3.91233 20.5 7.55831 20.5 12C20.5 16.6944 16.6944 20.5 12 20.5C7.30558 20.5 3.5 16.6944 3.5 12C3.5 10.682 3.79943 9.43614 4.33327 8.32473C4.51261 7.95135 4.35532 7.50329 3.98194 7.32394C3.60857 7.1446 3.1605 7.3019 2.98116 7.67527C2.35206 8.985 2 10.4524 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2Z" fill="currentColor"/><path d="M4.96967 4.96967C5.26256 4.67678 5.73744 4.67678 6.03033 4.96967L10.1126 9.05197C10.6572 8.7026 11.3049 8.5 12 8.5C13.933 8.5 15.5 10.067 15.5 12C15.5 13.933 13.933 15.5 12 15.5C10.067 15.5 8.5 13.933 8.5 12C8.5 11.3049 8.7026 10.6572 9.05197 10.1126L4.96967 6.03033C4.67678 5.73744 4.67678 5.26256 4.96967 4.96967Z" fill="currentColor"/></svg>
908<span class="eyebrow text-xs text-zinc-700">Account scoring</span></div><style is:global>
909    .mask-logo {
910      mask-image: url('/logo-symbol.svg');
911      mask-size: contain;
912      mask-repeat: no-repeat;
913      mask-position: center;
914      -webkit-mask-image: url('/logo-symbol.svg');
915      -webkit-mask-size: contain;
916      -webkit-mask-repeat: no-repeat;
917      -webkit-mask-position: center;
918    }
919  </style> <!-- Heading and Description --> <div class="flex flex-col gap-3 items-center text-center [&#38;_p:not([class*=max-w-])]:max-w-2xl w-full [&#38;_h1]:text-balance" data-astro-cid-eaz7zv6b>   <h1>
920Your best accounts should be obvious
921</h1> <p class="text-lg">
922Every visitor looks the same until you score them — Snitcher ranks accounts by fit and intent so your team stops guessing and starts closing.
923</p>   </div> <!-- Actions --> <div class="flex flex-col gap-8 items-center" data-astro-cid-eaz7zv6b> <div class="flex flex-col items-center gap-6 w-full sm:w-auto"> <div class="flex flex-col sm:flex-row gap-2 items-stretch sm:items-start w-full sm:w-auto"> <a href="/demo" class="inline-flex items-center justify-center gap-2 pl-1 pr-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-white ring-1 ring-[var(--alpha-border)] !text-zinc-700 hover:bg-zinc-50 w-full sm:w-auto justify-center"><span class="flex items-center -space-x-1.5 isolate"> <span class="w-8 h-8 bg-jade-500 rounded-full border-2 border-white flex items-center justify-center z-30"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" class="w-5 h-5"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.0017 14C9.0017 10.134 12.1357 6.99999 16.0017 6.99999C19.8677 6.99999 23.0017 10.134 23.0017 14C23.0017 17.866 19.8677 21 16.0017 21C12.1357 21 9.0017 17.866 9.0017 14ZM16.0017 11C16.554 11 17.0017 11.4477 17.0017 12V13.5858L18.3755 14.9595C18.766 15.3501 18.766 15.9832 18.3755 16.3738C17.9849 16.7643 17.3518 16.7643 16.9613 16.3738L15.2946 14.7071C15.1071 14.5196 15.0017 14.2652 15.0017 14V12C15.0017 11.4477 15.4494 11 16.0017 11Z" fill="white"></path> <path d="M1.59659 9.34793C1.21298 7.17236 2.66566 5.09772 4.84123 4.71411L11.7349 3.49857C13.2569 3.23019 14.7296 3.86059 15.6083 5.00852C13.1074 5.11659 10.871 6.24533 9.30541 7.98866L1.59659 9.34793Z" fill="white"></path> <path d="M7.80399 10.2843L1.94389 11.3175L2.63848 15.2568C3.0221 17.4324 5.09673 18.885 7.27231 18.5014L8.12348 18.3513C7.40983 17.0617 7.00356 15.5783 7.00356 14C7.00356 12.675 7.28987 11.417 7.80399 10.2843Z" fill="white"></path> </svg> </span> <img src="/_astro/leon.c0wmlxiL_Z2wsuca.webp" alt="" class="w-8 h-8 border-2 border-white rounded-full object-cover z-20" loading="lazy" decoding="auto" width="600" height="600"><img src="/_astro/dean.7I-5NM-k_Z114K5E.webp" alt="" class="w-8 h-8 border-2 border-white rounded-full object-cover z-10" loading="lazy" decoding="auto" width="600" height="600"> </span><span>Talk to sales</span></a>
923<script>
924  (function() {
925    function initButtonArrows() {
926      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
927        if (button.dataset.btnArrowInit) return;
928        button.dataset.btnArrowInit = 'true';
929        
930        var icon = button.querySelector('.btn-arrow-icon');
931        if (!icon) return;
932        
933        button.addEventListener('mouseenter', function() {
934          icon.classList.remove('slide-out');
935          icon.classList.add('slide-in');
936        });
937        
938        button.addEventListener('mouseleave', function() {
939          icon.classList.remove('slide-in');
940          icon.classList.add('slide-out');
941        });
942      });
943    }
944
945    if (document.readyState === 'loading') {
946      document.addEventListener('DOMContentLoaded', initButtonArrows);
947    } else {
948      initButtonArrows();
949    }
950    
951    document.addEventListener('astro:page-load', initButtonArrows);
952  })();
953</script>
953 <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600 !pl-3 w-full sm:w-auto justify-center"> <svg width="20" height="20" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0" aria-hidden="true"> <path d="M211.265 148.37C187.598 224.219 123.858 249.286 104.886 255.161C89.5631 259.93 84.2516 243.014 99.6384 238.244C116.524 233.017 173.258 210.709 194.355 143.094C205.691 106.783 186.837 68.5577 152.325 57.79C117.074 46.7923 80.2423 68.8045 69.2412 104.054C67.5848 109.361 63.152 113.363 58.9333 113.363C52.8997 113.363 50.3043 105.281 52.3341 98.7783C66.1181 54.6057 112.724 26.8804 157.601 40.8841C202.129 54.7776 225.257 103.517 211.265 148.37ZM168.681 5.37712C102.536 -15.2639 36.1026 25.9353 16.8302 87.6986C7.05086 119.034 28.0846 150.559 58.9017 150.559C79.3873 150.559 98.2403 135.991 104.747 115.134C109.855 98.7636 126.062 88.5621 141.246 93.2947C156.164 97.95 164.06 115.32 158.854 132.015C145.032 176.301 103.905 207.232 58.8369 207.236H58.8306C53.1805 207.236 47.4893 206.748 41.9193 205.783C26.0231 203.042 23.0907 220.506 38.9072 223.237C45.4654 224.373 52.1665 224.95 58.822 224.95C111.569 224.95 159.656 188.902 175.758 137.291C183.809 111.494 170.991 84.021 146.522 76.39C121.831 68.6852 95.7658 84.4535 87.8419 109.858C83.6147 123.396 71.7306 132.852 58.9427 132.852C40.047 132.852 27.4971 112.952 33.7365 92.9742C51.7151 35.4079 111.149 5.98231 163.405 22.2851C217.821 39.2652 247.198 98.6229 229.863 154.174C220.278 184.887 202.64 212.731 179.141 234.367C167.297 245.262 179.436 258.135 191.286 247.224C217.073 223.484 236.259 193.132 246.77 159.45C267.275 93.7541 231.625 25.0164 168.681 5.37712ZM58.6439 187.8C95.3789 187.8 128.937 162.473 140.255 126.211C142.694 118.381 139.514 113.349 135.392 112.062C131.306 110.787 125.784 113.124 123.348 120.937C114.327 149.843 87.7136 170.032 58.6287 170.032C44.0506 170.032 30.2484 164.946 18.717 155.324C6.35199 145.002 -4.98893 158.544 7.38454 168.884C22.2568 181.257 39.9787 187.797 58.6349 187.8H58.6439Z" fill="currentColor"></path> </svg> <span>Start for free</span> </a>
953<script>
954  (function() {
955    function initButtonArrows() {
956      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
957        if (button.dataset.btnArrowInit) return;
958        button.dataset.btnArrowInit = 'true';
959        
960        var icon = button.querySelector('.btn-arrow-icon');
961        if (!icon) return;
962        
963        button.addEventListener('mouseenter', function() {
964          icon.classList.remove('slide-out');
965          icon.classList.add('slide-in');
966        });
967        
968        button.addEventListener('mouseleave', function() {
969          icon.classList.remove('slide-in');
970          icon.classList.add('slide-out');
971        });
972      });
973    }
974
975    if (document.readyState === 'loading') {
976      document.addEventListener('DOMContentLoaded', initButtonArrows);
977    } else {
978      initButtonArrows();
979    }
980    
981    document.addEventListener('astro:page-load', initButtonArrows);
982  })();
983</script>
983 </div> </div> <!-- Features -->  </div> </div> </div> </div> </section>     </div> </section>     <section class="page-section" data-variant="light" data-astro-cid-dnku4hyr>        <div class="section-container" data-astro-cid-dnku4hyr> <!-- Corner decorations -->     <!-- Content -->  <div class="grid md:grid-cols-2 gap-6 max-w-5xl mx-auto"> <!-- Old Way Card --> <div class="bg-white border border-zinc-200 shadow overflow-hidden  rounded-2xl p-0 overflow-hidden shadow-none border-0 !bg-zinc-50">  <div class="aspect-[4/3] bg-zinc-100 flex items-center justify-center overflow-hidden"> <img src="/_astro/signal-data-exclusion-tags.BaOFmj4g_UyGJf.webp" alt="Unstructured data tags representing manual scoring approach" class="w-full h-full object-cover" loading="lazy" decoding="auto" width="1200" height="960"> </div> <div class="p-8 flex flex-col gap-4"> <span class="eyebrow text-xs text-zinc-500">Old way</span> <h4>Sorting by gut feel</h4> <ul class="list-none p-0 m-0 space-y-3 text-zinc-500">  <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-zinc-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
984 <span>Fortune 500 and 5-person startups sit in the same queue with no signal to differentiate</span> </li> <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-zinc-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
985 <span>Reps spend mornings manually qualifying accounts instead of selling</span> </li> <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-zinc-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
986 <span>Hot buyers cool off in the same list as tire-kickers who will never buy</span> </li> <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-zinc-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
987 <span>Marketing and sales argue about "qualified" because there's no shared definition</span> </li>  </ul> </div>  </div>  <!-- New Way Card --> <div class="bg-white border border-zinc-200 shadow overflow-hidden  rounded-2xl p-0 overflow-hidden !border-primary-500 ![box-shadow:0_8px_16px_
987-4px_rgba(99,62,204,0.15),0_4px_8px_-4px_rgba(99,62,204,0.1)]">  <div class="aspect-[4/3] bg-zinc-100 flex items-center justify-center overflow-hidden"> <img src="/_astro/signal-custom-signal-rules.pznhMj7M_101w4Y.webp" alt="Structured signal rules with AND logic for automated scoring" class="w-full h-full object-cover" loading="lazy" decoding="auto" width="1200" height="960"> </div> <div class="p-8 flex flex-col gap-4"> <span class="eyebrow text-xs text-primary-500">New way</span> <h4>Sorting by signal</h4> <ul class="list-none p-0 m-0 space-y-3">  <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-jade-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
988 <span>Best-fit accounts with buying behavior automatically rise to the top</span> </li> <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-jade-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
989 <span>Reps open a prioritized list and start calling, no sorting required</span> </li> <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-jade-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
990 <span>High-intent accounts trigger alerts so you catch them while they're still hot</span> </li> <li class="flex items-start gap-3"> <svg width="20" height="20" class="mt-0.5 shrink-0 text-jade-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4299 4.20121C20.0092 4.57669 20.1744 5.3507 19.799 5.93002L11.049 19.43C10.835 19.7601 10.4782 19.9702 10.0858 19.9972C9.69333 20.0242 9.31109 19.8649 9.05399 19.5672L4.30399 14.0672C3.85276 13.5447 3.91052 12.7554 4.433 12.3041C4.95547 11.8529 5.74482 11.9106 6.19605 12.4331L9.85717 16.6723L17.7011 4.57028C18.0766 3.99096 18.8506 3.82573 19.4299 4.20121Z" fill="currentColor"/></svg>
991 <span>Everyone agrees on qualified because the scoring criteria are transparent</span> </li>  </ul> </div>  </div>  </div>  </div> </section>     <section class="page-section" data-variant="light" data-astro-cid-dnku4hyr>        <div class="section-container" data-astro-cid-dnku4hyr> <!-- Corner decorations -->     <!-- Content -->  <div class="space-y-16 md:space-y-24"> <div class="bg-white border border-zinc-200 shadow overflow-hidden  rounded-2xl p-0 overflow-hidden">  <div class="grid md:grid-cols-2"> <!-- Visual area --> <div class="bg-zinc-100 flex items-center justify-center overflow-hidden"> <div class="relative w-full h-full"> <img src="/_astro/signal-important-segments-table.BDlTEUqf_20nLrx.webp" alt="" class="w-full h-full object-cover" loading="lazy" decoding="auto" width="1152" height="1152"> <div class="hidden md:block absolute inset-y-0 w-1/3 right-0 bg-gradient-to-r from-transparent to-white"></div> </div> </div> <!-- Content --> <div class="flex flex-col justify-center gap-4 md:gap-6 p-6 md:p-8 lg:p-10">  <div class="flex items-center gap-3"> <svg width="20" height="20" class="text-primary-600" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM8.21967 10.4697L11.4697 7.21967C11.7626 6.92678 12.2374 6.92678 12.5303 7.21967L15.7803 10.4697C16.0732 10.7626 16.0732 11.2374 15.7803 11.5303C15.4874 11.8232 15.0126 11.8232 14.7197 11.5303L12.75 9.56066V16.25C12.75 16.6642 12.4142 17 12 17C11.5858 17 11.25 16.6642 11.25 16.25V9.56066L9.28033 11.5303C8.98744 11.8232 8.51256 11.8232 8.21967 11.5303C7.92678 11.2374 7.92678 10.7626 8.21967 10.4697Z" fill="currentColor"/></svg>
992 <div class="inline-flex items-center text-primary-500"><span class="eyebrow text-sm">PRIORITIZE</span></div> </div> <h2> Best accounts surface first </h2> <p>Accounts matching your ICP with strong buying signals rise to the top automatically — no manual sorting, no guessing, no missed opportunities.</p>    <div> <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600">Try for free</a>
992<script>
993  (function() {
994    function initButtonArrows() {
995      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
996        if (button.dataset.btnArrowInit) return;
997        button.dataset.btnArrowInit = 'true';
998        
999        var icon = button.querySelector('.btn-arrow-icon');
1000        if (!icon) return;
1001        
1002        button.addEventListener('mouseenter', function() {
1003          icon.classList.remove('slide-out');
1004          icon.classList.add('slide-in');
1005        });
1006        
1007        button.addEventListener('mouseleave', function() {
1008          icon.classList.remove('slide-in');
1009          icon.classList.add('slide-out');
1010        });
1011      });
1012    }
1013
1014    if (document.readyState === 'loading') {
1015      document.addEventListener('DOMContentLoaded', initButtonArrows);
1016    } else {
1017      initButtonArrows();
1018    }
1019    
1020    document.addEventListener('astro:page-load', initButtonArrows);
1021  })();
1022</script>
1022 </div> </div> </div>  </div> <div class="bg-white border border-zinc-200 shadow overflow-hidden  rounded-2xl p-0 overflow-hidden">  <div class="grid md:grid-cols-2"> <!-- Visual area --> <div class="bg-zinc-100 flex items-center justify-center overflow-hidden"> <div class="relative w-full h-full"> <img src="/_astro/identify-high-intent-visitors-table.Nn1Ci9bV_ZKfXBk.webp" alt="" class="w-full h-full object-cover" loading="lazy" decoding="auto" width="1152" height="1152"> <div class="hidden md:block absolute inset-y-0 w-1/3 right-0 bg-gradient-to-r from-transparent to-white"></div> </div> </div> <!-- Content --> <div class="flex flex-col justify-center gap-4 md:gap-6 p-6 md:p-8 lg:p-10">  <div class="flex items-center gap-3"> <svg width="20" height="20" class="text-primary-600" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 6.5C8.96243 6.5 6.5 8.96243 6.5 12C6.5 15.0376 8.96243 17.5 12 17.5C15.0376 17.5 17.5 15.0376 17.5 12C17.5 8.96243 15.0376 6.5 12 6.5ZM12 14C13.1046 14 14 13.1046 14 12C14 10.8954 13.1046 10 12 10C10.8954 10 10 10.8954 10 12C10 13.1046 10.8954 14 12 14Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM5 12C5 8.13401 8.13401 5 12 5C15.866 5 19 8.13401 19 12C19 15.866 15.866 19 12 19C8.13401 19 5 15.866 5 12Z" fill="currentColor"/></svg>
1023 <div class="inline-flex items-center text-primary-500"><span class="eyebrow text-sm">DETECT</span></div> </div> <h2> See who&#39;s ready to buy </h2> <p>Behavioral signals like pricing page visits and repeat sessions reveal which accounts are actively evaluating — not just browsing out of curiosity.</p>    <div> <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600">Try for free</a>
1023<script>
1024  (function() {
1025    function initButtonArrows() {
1026      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1027        if (button.dataset.btnArrowInit) return;
1028        button.dataset.btnArrowInit = 'true';
1029        
1030        var icon = button.querySelector('.btn-arrow-icon');
1031        if (!icon) return;
1032        
1033        button.addEventListener('mouseenter', function() {
1034          icon.classList.remove('slide-out');
1035          icon.classList.add('slide-in');
1036        });
1037        
1038        button.addEventListener('mouseleave', function() {
1039          icon.classList.remove('slide-in');
1040          icon.classList.add('slide-out');
1041        });
1042      });
1043    }
1044
1045    if (document.readyState === 'loading') {
1046      document.addEventListener('DOMContentLoaded', initButtonArrows);
1047    } else {
1048      initButtonArrows();
1049    }
1050    
1051    document.addEventListener('astro:page-load', initButtonArrows);
1052  })();
1053</script>
1053 </div> </div> </div>  </div> <div class="bg-white border border-zinc-200 shadow overflow-hidden  rounded-2xl p-0 overflow-hidden">  <div class="grid md:grid-cols-2"> <!-- Visual area --> <div class="bg-zinc-100 flex items-center justify-center overflow-hidden"> <div class="relative w-full h-full"> <img src="/_astro/identify-icp-sales-leaders-table.BIVBGWqq_Zhg7by.webp" alt="" class="w-full h-full object-cover" loading="lazy" decoding="auto" width="1152" height="1152"> <div class="hidden md:block absolute inset-y-0 w-1/3 right-0 bg-gradient-to-r from-transparent to-white"></div> </div> </div> <!-- Content --> <div class="flex flex-col justify-center gap-4 md:gap-6 p-6 md:p-8 lg:p-10">  <div class="flex items-center gap-3"> <svg width="20" height="20" class="text-primary-600" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M12 2C9.51472 2 7.5 4.01472 7.5 6.5C7.5 8.98528 9.51472 11 12 11C14.4853 11 16.5 8.98528 16.5 6.5C16.5 4.01472 14.4853 2 12 2Z" fill="currentColor"/><path d="M12.0014 12.5C8.27968 12.5 5.43692 14.7258 4.28043 17.8527C3.97401 18.6813 4.18231 19.4953 4.67127 20.078C5.14989 20.6484 5.89317 21 6.69823 21H17.3046C18.1096 21 18.8529 20.6484 19.3315 20.078C19.8205 19.4953 20.0288 18.6813 19.7223 17.8527C18.5659 14.7258 15.7231 12.5 12.0014 12.5Z" fill="currentColor"/></svg>
1054 <div class="inline-flex items-center text-primary-500"><span class="eyebrow text-sm">ALIGN</span></div> </div> <h2> End the qualified debate </h2> <p>Sales and marketing work from the same scoring criteria — visible, objective, based on real data instead of opinions.</p>    <div> <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600">Try for free</a>
1054<script>
1055  (function() {
1056    function initButtonArrows() {
1057      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1058        if (button.dataset.btnArrowInit) return;
1059        button.dataset.btnArrowInit = 'true';
1060        
1061        var icon = button.querySelector('.btn-arrow-icon');
1062        if (!icon) return;
1063        
1064        button.addEventListener('mouseenter', function() {
1065          icon.classList.remove('slide-out');
1066          icon.classList.add('slide-in');
1067        });
1068        
1069        button.addEventListener('mouseleave', function() {
1070          icon.classList.remove('slide-in');
1071          icon.classList.add('slide-out');
1072        });
1073      });
1074    }
1075
1076    if (document.readyState === 'loading') {
1077      document.addEventListener('DOMContentLoaded', initButtonArrows);
1078    } else {
1079      initButtonArrows();
1080    }
1081    
1082    document.addEventListener('astro:page-load', initButtonArrows);
1083  })();
1084</script>
1084 </div> </div> </div>  </div> <div class="bg-white border border-zinc-200 shadow overflow-hidden  rounded-2xl p-0 overflow-hidden">  <div class="grid md:grid-cols-2"> <!-- Visual area --> <div class="bg-zinc-100 flex items-center justify-center overflow-hidden"> <div class="relative w-full h-full"> <img src="/_astro/signal-live-company-icp-alert.C2_B1jq-_1Dn2Ez.webp" alt="" class="w-full h-full object-cover" loading="lazy" decoding="auto" width="1152" height="1152"> <div class="hidden md:block absolute inset-y-0 w-1/3 right-0 bg-gradient-to-r from-transparent to-white"></div> </div> </div> <!-- Content --> <div class="flex flex-col justify-center gap-4 md:gap-6 p-6 md:p-8 lg:p-10">  <div class="flex items-center gap-3"> <svg width="20" height="20" class="text-primary-600" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M9.32916 2C8.70285 2 8.12428 2.33472 7.81208 2.87768L3.21208 10.8777C2.54125 12.0443 3.38339 13.5 4.72916 13.5H7.67252C7.83072 13.5 7.94915 13.6451 7.91745 13.8001L6.68268 19.8386C6.33503 21.5388 8.40755 22.6537 9.63464 21.4267L20.5739 10.4874C21.6763 9.385 20.8955 7.5 19.3364 7.5H16.8687C16.6828 7.5 16.562 7.30442 16.6451 7.1382L17.9479 4.53262C18.5296 3.36905 17.6835 2 16.3826 2H9.32916Z" fill="currentColor"/></svg>
1085 <div class="inline-flex items-center text-primary-500"><span class="eyebrow text-sm">ACT</span></div> </div> <h2> Strike while they&#39;re hot </h2> <p>High-scoring accounts trigger instant alerts so you engage while they&#39;re still on your site — not days later when they&#39;ve already talked to competitors.</p>    <div> <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600">Try for free</a>
1085<script>
1086  (function() {
1087    function initButtonArrows() {
1088      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1089        if (button.dataset.btnArrowInit) return;
1090        button.dataset.btnArrowInit = 'true';
1091        
1092        var icon = button.querySelector('.btn-arrow-icon');
1093        if (!icon) return;
1094        
1095        button.addEventListener('mouseenter', function() {
1096          icon.classList.remove('slide-out');
1097          icon.classList.add('slide-in');
1098        });
1099        
1100        button.addEventListener('mouseleave', function() {
1101          icon.classList.remove('slide-in');
1102          icon.classList.add('slide-out');
1103        });
1104      });
1105    }
1106
1107    if (document.readyState === 'loading') {
1108      document.addEventListener('DOMContentLoaded', initButtonArrows);
1109    } else {
1110      initButtonArrows();
1111    }
1112    
1113    document.addEventListener('astro:page-load', initButtonArrows);
1114  })();
1115</script>
1115 </div> </div> </div>  </div>  </div>  </div> </section>     <section class="page-section" data-variant="light" data-astro-cid-dnku4hyr>        <div class="section-container" data-astro-cid-dnku4hyr> <!-- Corner decorations -->     <!-- Content -->  <div class="grid md:grid-cols-2 gap-12 items-center"> <div class="flex flex-col justify-center"> <img src="/logos/main/talentdesk.svg" alt="TalentDesk" class="h-8 w-auto object-contain object-left mb-6" loading="lazy" decoding="auto"> <blockquote class="text-xl md:text-2xl font-display font-semibold text-zinc-900">
1116"From a marketing standpoint, existing leads are the real gold mine. Having a solution that allows you to nurture and convert these leads into customers is a game-changer."
1117</blockquote> <div class="flex flex-col gap-6 mt-6"> <p>Stefani Thrasyvoulou, VP, Marketing at TalentDesk</p> <div class="bg-zinc-50 p-6 stat-block h-full rounded-xl max-w-xs"> <!-- Stat --> <div class="font-display font-semibold text-h3 text-zinc-900 mb-2 stat-value" data-stat="1.8x"> 1.8x </div> <!-- Metric --> <div class="font-medium text-base"> more companies identified </div> <!-- Logo section (optional) -->  </div>  <div> <a href="/customers/talentdesk" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-white ring-1 ring-[var(--alpha-border)] !text-zinc-700 hover:bg-zinc-50">
1118Read the full story
1119</a>
1119<script>
1120  (function() {
1121    function initButtonArrows() {
1122      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1123        if (button.dataset.btnArrowInit) return;
1124        button.dataset.btnArrowInit = 'true';
1125        
1126        var icon = button.querySelector('.btn-arrow-icon');
1127        if (!icon) return;
1128        
1129        button.addEventListener('mouseenter', function() {
1130          icon.classList.remove('slide-out');
1131          icon.classList.add('slide-in');
1132        });
1133        
1134        button.addEventListener('mouseleave', function() {
1135          icon.classList.remove('slide-in');
1136          icon.classList.add('slide-out');
1137        });
1138      });
1139    }
1140
1141    if (document.readyState === 'loading') {
1142      document.addEventListener('DOMContentLoaded', initButtonArrows);
1143    } else {
1144      initButtonArrows();
1145    }
1146    
1147    document.addEventListener('astro:page-load', initButtonArrows);
1148  })();
1149</script>
1149 </div> </div> </div> <div class="bg-zinc-100 aspect-square flex items-center justify-center overflow-hidden rounded-2xl"> <img src="/_astro/talentdesk-hero.K23dqNo7_ZiUDAG.webp" alt="TalentDesk" class="w-full h-full object-cover" loading="lazy" decoding="auto" width="1471" height="948"> </div> </div>  </div> </section>    <section class="page-section bg-zinc-50" data-variant="light" data-astro-cid-dnku4hyr>        <div class="section-container bg-white !p-0" data-astro-cid-dnku4hyr> <!-- Corner decorations -->     <!-- Content -->  <section class="testimonial-section relative overflow-hidden flex items-center justify-center px-6 sm:px-10 py-8 md:py-10 bg-palatinate-100" data-testimonial-section data-variant="light" data-carousel="true" data-interval="6000" id="testimonial-section-trzop3y" style="--ts-dot-inactive:rgba(63,63,70,0.25);--ts-dot-inactive-hover:rgba(63,63,70,0.5);--ts-dot-active:var(--color-palatinate-600, #3e3ee6);--ts-dot-focus:var(--color-palatinate-500, #4c4cff);" data-astro-cid-7ajslof7> <!-- Wavy lines decorative background -->  <!-- Bordered card (border applied via variant; particles is borderless) --> <div class="relative w-full max-w-[1340px] bg-transparent md:min-h-[496px]" data-astro-cid-7ajslof7> <div class="relative overflow-hidden flex flex-col items-center justify-center h-full px-6 sm:px-10 md:px-20 py-12 md:py-16 md:min-h-[496px]" data-astro-cid-7ajslof7> <!-- Soft radial glow behind quote --> <div class="pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-[120%] max-w-[1400px] aspect-[1200/449]" aria-hidden="true" style="background: radial-gradient(ellipse at center, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.5) 35%, rgba(255,255,255,0) 70%);" data-astro-cid-7ajslof7></div> <!-- Slides (grid stack so the container sizes to the tallest) --> <div class="testimonial-section__slides relative grid w-full place-items-center" role="region" aria-roledescription="carousel" aria-label="Customer testimonials" data-astro-cid-7ajslof7> <article class="testimonial-section__slide is-active" data-slide-index="0" role="group" aria-roledescription="slide" aria-label="1 of 3" data-astro-cid-7ajslof7> <div class="flex flex-col items-center justify-center gap-4 text-center h-full" data-astro-cid-7ajslof7> <div class="size-12 rounded-xl overflow-hidden bg-palatinate-100" data-astro-cid-7ajslof7> <img src="/_astro/hs-praveen-das.DecM-5nI_ZFFo9l.webp" alt="Praveen Das" class="size-12 rounded-xl object-cover" loading="lazy" decoding="auto" data-astro-cid-7ajslof7 width="200" height="200"> </div> <div class="flex flex-col items-center gap-8 max-w-[1080px]" data-astro-cid-7ajslof7> <h2 class="font-display font-semibold text-3xl md:text-5xl leading-[1.15] tracking-tight text-balance text-zinc-800" data-astro-cid-7ajslof7>
1150&ldquo;Our sales team now has visibility into which accounts are actively researching our product. It&#39;s transformed our outbound strategy.&rdquo;
1151</h2> <div class="flex flex-wrap items-center justify-center gap-4" data-astro-cid-7ajslof7> <div class="flex h-6 items-center pr-4 border-r border-zinc-200" data-astro-cid-7ajslof7> <img src="/logos/main/factorsai.svg" alt="Factors.ai logo" class="h-full w-auto object-contain" loading="lazy" decoding="auto" data-astro-cid-7ajslof7> </div> <div class="flex items-center gap-1" data-astro-cid-7ajslof7> <span class="text-sm font-semibold leading-none text-zinc-800" data-astro-cid-7ajslof7>Praveen Das</span>  <span class="text-xs leading-4 text-zinc-500/50" aria-hidden="true" data-astro-cid-7ajslof7>∙</span> <span class="text-sm leading-4 text-zinc-500" data-astro-cid-7ajslof7>Co-founder</span>  </div> </div> </div> </div> </article><article class="testimonial-section__slide" data-slide-index="1" role="group" aria-roledescription="slide" aria-label="2 of 3" aria-hidden="true" data-astro-cid-7ajslof7> <div class="flex flex-col items-center justify-center gap-4 text-center h-full" data-astro-cid-7ajslof7> <div class="size-12 rounded-xl overflow-hidden bg-lavender-100" data-astro-cid-7ajslof7> <img src="/_astro/hs-wouter-van-hofwegen.BzJoLhj1_ZblwQI.webp" alt="Wouter van Hofwegen" class="size-12 rounded-xl object-cover" loading="lazy" decoding="auto" data-astro-cid-7ajslof7 width="200" height="200"> </div> <div class="flex flex-col items-center gap-8 max-w-[1080px]" data-astro-cid-7ajslof7> <h2 class="font-display font-semibold text-3xl md:text-5xl leading-[1.15] tracking-tight text-balance text-zinc-800" data-astro-cid-7ajslof7>
1152&ldquo;We chose Snitcher because better data up front means better results downstream.&rdquo;
1153</h2> <div class="flex flex-wrap items-center justify-center gap-4" data-astro-cid-7ajslof7> <div class="flex h-6 items-center pr-4 border-r border-zinc-200" data-astro-cid-7ajslof7> <img src="/logos/main/mapiq.svg" alt="Mapiq logo" class="h-full w-auto object-contain" loading="lazy" decoding="auto" data-astro-cid-7ajslof7> </div> <div class="flex items-center gap-1" data-astro-cid-7ajslof7> <span class="text-sm font-semibold leading-none text-zinc-800" data-astro-cid-7ajslof7>Wouter van Hofwegen</span>  <span class="text-xs leading-4 text-zinc-500/50" aria-hidden="true" data-astro-cid-7ajslof7>∙</span> <span class="text-sm leading-4 text-zinc-500" data-astro-cid-7ajslof7>Head of Global Sales</span>  </div> </div> </div> </div> </article>
1153<article class="testimonial-section__slide" data-slide-index="2" role="group" aria-roledescription="slide" aria-label="3 of 3" aria-hidden="true" data-astro-cid-7ajslof7> <div class="flex flex-col items-center justify-center gap-4 text-center h-full" data-astro-cid-7ajslof7> <div class="size-12 rounded-xl overflow-hidden bg-jade-100" data-astro-cid-7ajslof7> <img src="/_astro/hs-rhea-sanger.D95Msm8E_pJmOn.webp" alt="Rhea Sanger" class="size-12 rounded-xl object-cover" loading="lazy" decoding="auto" data-astro-cid-7ajslof7 width="200" height="200"> </div> <div class="flex flex-col items-center gap-8 max-w-[1080px]" data-astro-cid-7ajslof7> <h2 class="font-display font-semibold text-3xl md:text-5xl leading-[1.15] tracking-tight text-balance text-zinc-800" data-astro-cid-7ajslof7>
1154&ldquo;Snitcher improved our website visitor match rate, enabling us to be a market leader in website intent.&rdquo;
1155</h2> <div class="flex flex-wrap items-center justify-center gap-4" data-astro-cid-7ajslof7> <div class="flex h-6 items-center pr-4 border-r border-zinc-200" data-astro-cid-7ajslof7> <img src="/logos/main/unify.svg" alt="Unify logo" class="h-full w-auto object-contain" loading="lazy" decoding="auto" data-astro-cid-7ajslof7> </div> <div class="flex items-center gap-1" data-astro-cid-7ajslof7> <span class="text-sm font-semibold leading-none text-zinc-800" data-astro-cid-7ajslof7>Rhea Sanger</span>  <span class="text-xs leading-4 text-zinc-500/50" aria-hidden="true" data-astro-cid-7ajslof7>∙</span> <span class="text-sm leading-4 text-zinc-500" data-astro-cid-7ajslof7>Growth Lead</span>  </div> </div> </div> </div> </article> </div> <!-- Dots --> <div class="testimonial-section__dots relative z-10 mt-8 flex items-center justify-center gap-2" role="tablist" aria-label="Select testimonial" data-astro-cid-7ajslof7> <button type="button" class="testimonial-section__dot is-active" data-dot-index="0" role="tab" tabindex="0" aria-selected="true" aria-label="Show testimonial 1: Praveen Das" data-astro-cid-7ajslof7></button><button type="button" class="testimonial-section__dot" data-dot-index="1" role="tab" tabindex="-1" aria-selected="false" aria-label="Show testimonial 2: Wouter van Hofwegen" data-astro-cid-7ajslof7></button><button type="button" class="testimonial-section__dot" data-dot-index="2" role="tab" tabindex="-1" aria-selected="false" aria-label="Show testimonial 3: Rhea Sanger" data-astro-cid-7ajslof7></button> </div> <!-- Optional slot for extra content below the testimonial (e.g. CTA) -->  </div> </div> </section> <!-- Global rules: the TestimonialSection sits CONTAINED inside the standard
1156     PageSection box (side borders + corner pseudos stay visible — same
1157     visual language as every other section on the page). We:
1158       - zero the section-container's vertical padding so the testimonial's
1159         own padding governs spacing (no double-padding); horizontal padding
1160         is preserved so the side borders + corner pseudos keep their gutter
1161       - paint the page-section bg (the bleed) with the variant's colour so
1162         purple content isn't surrounded by grey -->   <!-- Dot styles are GLOBAL so other components (e.g. the careers photo carousel)
1163     can reuse the exact same selectors + active state without redefining. The
1164     --ts-dot-* variables are inherited from any ancestor [data-testimonial-section]
1165     so colour palette follows the variant automatically. -->    </div> </section>    <section class="page-section" data-variant="light" data-astro-cid-dnku4hyr>        <div class="section-container" data-astro-cid-dnku4hyr> <!-- Corner decorations -->     <!-- Content -->  <div class="rounded-2xl overflow-hidden p-8 md:p-10 bg-zinc-50"><div class="flex flex-col gap-6 lg:flex-row lg:justify-between lg:items-end"><div class="flex flex-col gap-4 lg:max-w-[50%]"><h2 class="tracking-tight text-balance">Your team is chasing accounts that&#39;ll never close</h2><p class="text-balance">Your reps treat every opportunity the same because nothing in the CRM tells them which ones are real. Snitcher scores visitors by fit and site activity, so the highest-intent companies get worked first.</p></div><div class="flex flex-col sm:flex-row gap-2 items-stretch sm:items-start w-full sm:w-auto lg:shrink-0"><a href="/demo" class="inline-flex items-center justify-center gap-2 pl-1 pr-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-white ring-1 ring-[var(--alpha-border)] !text-zinc-700 hover:bg-zinc-50 w-full sm:w-auto justify-center"><span class="flex items-center -space-x-1.5 isolate">
1165 <span class="w-8 h-8 bg-jade-500 rounded-full border-2 border-white flex items-center justify-center z-30"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" class="w-5 h-5"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.0017 14C9.0017 10.134 12.1357 6.99999 16.0017 6.99999C19.8677 6.99999 23.0017 10.134 23.0017 14C23.0017 17.866 19.8677 21 16.0017 21C12.1357 21 9.0017 17.866 9.0017 14ZM16.0017 11C16.554 11 17.0017 11.4477 17.0017 12V13.5858L18.3755 14.9595C18.766 15.3501 18.766 15.9832 18.3755 16.3738C17.9849 16.7643 17.3518 16.7643 16.9613 16.3738L15.2946 14.7071C15.1071 14.5196 15.0017 14.2652 15.0017 14V12C15.0017 11.4477 15.4494 11 16.0017 11Z" fill="white"></path> <path d="M1.59659 9.34793C1.21298 7.17236 2.66566 5.09772 4.84123 4.71411L11.7349 3.49857C13.2569 3.23019 14.7296 3.86059 15.6083 5.00852C13.1074 5.11659 10.871 6.24533 9.30541 7.98866L1.59659 9.34793Z" fill="white"></path> <path d="M7.80399 10.2843L1.94389 11.3175L2.63848 15.2568C3.0221 17.4324 5.09673 18.885 7.27231 18.5014L8.12348 18.3513C7.40983 17.0617 7.00356 15.5783 7.00356 14C7.00356 12.675 7.28987 11.417 7.80399 10.2843Z" fill="white"></path> </svg> </span> <img src="/_astro/leon.c0wmlxiL_Z2wsuca.webp" alt="" class="w-8 h-8 border-2 border-white rounded-full object-cover z-20" loading="lazy" decoding="auto" width="600" height="600"><img src="/_astro/dean.7I-5NM-k_Z114K5E.webp" alt="" class="w-8 h-8 border-2 border-white rounded-full object-cover z-10" loading="lazy" decoding="auto" width="600" height="600"> </span><span>Talk to sales</span></a>
1165<script>
1166  (function() {
1167    function initButtonArrows() {
1168      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1169        if (button.dataset.btnArrowInit) return;
1170        button.dataset.btnArrowInit = 'true';
1171        
1172        var icon = button.querySelector('.btn-arrow-icon');
1173        if (!icon) return;
1174        
1175        button.addEventListener('mouseenter', function() {
1176          icon.classList.remove('slide-out');
1177          icon.classList.add('slide-in');
1178        });
1179        
1180        button.addEventListener('mouseleave', function() {
1181          icon.classList.remove('slide-in');
1182          icon.classList.add('slide-out');
1183        });
1184      });
1185    }
1186
1187    if (document.readyState === 'loading') {
1188      document.addEventListener('DOMContentLoaded', initButtonArrows);
1189    } else {
1190      initButtonArrows();
1191    }
1192    
1193    document.addEventListener('astro:page-load', initButtonArrows);
1194  })();
1195</script>
1195<a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-primary-500 !text-white hover:bg-primary-600 !pl-3 w-full sm:w-auto justify-center"> <svg width="20" height="20" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0" aria-hidden="true"> <path d="M211.265 148.37C187.598 224.219 123.858 249.286 104.886 255.161C89.5631 259.93 84.2516 243.014 99.6384 238.244C116.524 233.017 173.258 210.709 194.355 143.094C205.691 106.783 186.837 68.5577 152.325 57.79C117.074 46.7923 80.2423 68.8045 69.2412 104.054C67.5848 109.361 63.152 113.363 58.9333 113.363C52.8997 113.363 50.3043 105.281 52.3341 98.7783C66.1181 54.6057 112.724 26.8804 157.601 40.8841C202.129 54.7776 225.257 103.517 211.265 148.37ZM168.681 5.37712C102.536 -15.2639 36.1026 25.9353 16.8302 87.6986C7.05086 119.034 28.0846 150.559 58.9017 150.559C79.3873 150.559 98.2403 135.991 104.747 115.134C109.855 98.7636 126.062 88.5621 141.246 93.2947C156.164 97.95 164.06 115.32 158.854 132.015C145.032 176.301 103.905 207.232 58.8369 207.236H58.8306C53.1805 207.236 47.4893 206.748 41.9193 205.783C26.0231 203.042 23.0907 220.506 38.9072 223.237C45.4654 224.373 52.1665 224.95 58.822 224.95C111.569 224.95 159.656 188.902 175.758 137.291C183.809 111.494 170.991 84.021 146.522 76.39C121.831 68.6852 95.7658 84.4535 87.8419 109.858C83.6147 123.396 71.7306 132.852 58.9427 132.852C40.047 132.852 27.4971 112.952 33.7365 92.9742C51.7151 35.4079 111.149 5.98231 163.405 22.2851C217.821 39.2652 247.198 98.6229 229.863 154.174C220.278 184.887 202.64 212.731 179.141 234.367C167.297 245.262 179.436 258.135 191.286 247.224C217.073 223.484 236.259 193.132 246.77 159.45C267.275 93.7541 231.625 25.0164 168.681 5.37712ZM58.6439 187.8C95.3789 187.8 128.937 162.473 140.255 126.211C142.694 118.381 139.514 113.349 135.392 112.062C131.306 110.787 125.784 113.124 123.348 120.937C114.327 149.843 87.7136 170.032 58.6287 170.032C44.0506 170.032 30.2484 164.946 18.717 155.324C6.35199 145.002 -4.98893 158.544 7.38454 168.884C22.2568 181.257 39.9787 187.797 58.6349 187.8H58.6439Z" fill="currentColor"></path> </svg> <span>Try for free</span> </a>
1195<script>
1196  (function() {
1197    function initButtonArrows() {
1198      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1199        if (button.dataset.btnArrowInit) return;
1200        button.dataset.btnArrowInit = 'true';
1201        
1202        var icon = button.querySelector('.btn-arrow-icon');
1203        if (!icon) return;
1204        
1205        button.addEventListener('mouseenter', function() {
1206          icon.classList.remove('slide-out');
1207          icon.classList.add('slide-in');
1208        });
1209        
1210        button.addEventListener('mouseleave', function() {
1211          icon.classList.remove('slide-in');
1212          icon.classList.add('slide-out');
1213        });
1214      });
1215    }
1216
1217    if (document.readyState === 'loading') {
1218      document.addEventListener('DOMContentLoaded', initButtonArrows);
1219    } else {
1220      initButtonArrows();
1221    }
1222    
1223    document.addEventListener('astro:page-load', initButtonArrows);
1224  })();
1225</script>
1225</div></div></div>  </div> </section>     </main> <footer class="w-full relative z-0" data-astro-cid-fqw42ge2> <!-- Footer CTA Section -->
1226  <section class="w-full bg-zinc-950 relative overflow-hidden" data-astro-cid-fqw42ge2> <!-- Fingerprint SVG Background with Solar Flare Animation --> <div class="absolute" style="top: -55.24%; left: 50%; transform: translateX(-50%); bottom: -58.45%; width: 1280px; height: 725px;" data-astro-cid-fqw42ge2> <svg xmlns="http://www.w3.org/2000/svg" width="1280" height="725" viewBox="0 0 911 516" fill="none" style="width: 100%; height: 100%; display: block;" class="fingerprint-svg" data-astro-cid-fqw42ge2> <defs data-astro-cid-fqw42ge2> <!-- Fade mask for bottom of fingerprint --> <mask id="footer-fingerprint-fade" data-astro-cid-fqw42ge2> <rect width="911" height="516" fill="white" data-astro-cid-fqw42ge2></rect> <rect x="0" y="376" width="911" height="140" fill="url(#footer-fade-gradient)" data-astro-cid-fqw42ge2></rect> </mask> <linearGradient id="footer-fade-gradient" x1="0" y1="0" x2="0" y2="1" gradientUnits="objectBoundingBox" data-astro-cid-fqw42ge2> <stop offset="0" stop-color="white" data-astro-cid-fqw42ge2></stop> <stop offset="1" stop-color="black" data-astro-cid-fqw42ge2></stop> </linearGradient> </defs> <!-- Base fingerprint path --> <path d="M479.105 123.715C508.165 123.715 537.121 127.711 565.171 135.593H565.172C723.388 180.032 810.209 336.775 758.861 484.95C672.839 733.133 441.175 815.165 372.169 834.403H372.168C366.003 836.13 360.107 837 354.642 837C336.377 837 326.758 827.516 324.962 818.309L324.883 817.87C323.209 807.91 329.776 793.276 355.402 786.121C417.687 768.769 627.121 694.667 705.011 469.948C725.42 411.091 720.361 348.893 690.761 294.827C661.139 240.726 610.544 201.314 548.32 183.835C525.75 177.497 502.431 174.283 479.011 174.283C371.227 174.283 272.458 241.933 238.85 338.877C233.287 354.919 218.695 366.846 205.139 366.846C197.37 366.846 192.438 362.809 189.639 359.385C182.575 350.738 180.643 336.461 185.006 323.875C225.841 206.064 346.768 123.715 479.105 123.715ZM478.957 1C521.618 1.00001 564.274 6.90814 605.741 18.5576C716.526 49.6745 807.083 118.96 860.766 213.628C914.723 308.784 924.703 418.105 888.864 521.47C850.909 630.962 781.867 729.724 689.108 807.245L686.913 809.072C674.246 819.571 663.235 821.729 656.295 821.729C645.632 821.729 636.927 816.576 633.413 808.462C628.742 797.678 633.925 784.249 648.096 772.514H648.097C735.016 700.475 799.655 608.478 835.02 506.468C866.145 416.68 857.829 321.486 811.604 238.445C765.548 155.708 687.314 95.0634 591.164 67.4512L588.89 66.8057C553.722 56.9306 517.085 51.9238 479.998 51.9238C310.011 51.9239 160.83 152.525 108.854 302.354C96.7623 337.202 102.92 374.427 125.368 401.906C144.581 425.426 173.675 438.9 205.174 438.9C253.822 438.9 298.979 406.62 315.014 360.395V360.394C338.279 293.254 405.65 246.323 478.859 246.323C494.333 246.323 509.728 248.445 524.608 252.625C566.639 264.424 600.584 291.382 620.213 328.518C639.767 365.513 642.843 408.092 628.859 448.432C570.466 616.91 396.076 734.653 204.729 734.653C180.618 734.653 156.325 732.773 132.521 729.062H132.52C106.527 725.021 96.6245 711.156 97.7158 699.718C98.7049 689.31 109.097 678.338 130.959 678.338C134.503 678.338 138.264 678.642 142.138 679.243C162.762 682.456 183.832 684.085 204.76 684.085H204.761C370.933 684.071 522.658 581.841 574.417 435.154L575.021 433.426C594.797 376.342 564.645 316.848 507.754 300.864H507.753C498.292 298.212 488.494 296.864 478.629 296.864C430.011 296.864 384.88 329.156 368.849 375.396V375.396C345.592 442.527 278.225 489.448 205.022 489.448C155.516 489.448 109.979 468.431 80.0645 431.818C47.034 391.388 37.6623 337.388 55.0059 287.355C113.434 118.797 287.749 1 478.957 1ZM477.126 369.297C479.15 369.297 481.136 369.531 483.041 369.995L483.853 370.208C490.288 372.016 496.057 376.531 499.22 383.507C502.381 390.481 502.979 400.016 498.863 411.912C457.99 529.799 336.787 612.2 204.079 612.2H204.047C137.242 612.195 73.7533 591.267 20.3223 551.662L19.0625 550.723C3.84284 539.273 -2.02901 525.738 2.49023 514.525C5.87123 506.138 14.6726 500.811 25.6582 500.811C35.1161 500.811 45.338 504.677 55.2158 512.099C98.2043 544.388 149.664 561.455 204.021 561.455C312.304 561.455 411.42 493.831 445.02 396.916V396.915C452.117 376.42 466.351 369.297 477.126 369.297Z" stroke="white" stroke-opacity="0.1" stroke-width="2" mask="url(#footer-fingerprint-fade)" data-astro-cid-fqw42ge2></path> </svg> <!-- Canvas overlay for GPU-accelerated flare animation --> <canvas class="fingerprint-canvas" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;" aria-hidden="true" data-astro-cid-fqw42ge2></canvas> </div> <!-- Gradient fade at bottom --> <div class="absolute bottom-0 left-1/2 -translate-x-1/2 w-full max-w-screen-2xl h-60 bg-gradient-to-b from-transparent via-zinc-950/50 to-zinc-950 pointer-events-none" data-astro-cid-fqw42ge2></div> <!-- Content Container --> <div class="relative z-10 py-20 md:py-40 px-6 md:px-16" data-astro-cid-fqw42ge2> <div class="max-w-7xl mx-auto" data-astro-cid-fqw42ge2> <div class="flex flex-col gap-8 items-center justify-center px-0 rounded-t-3xl" data-astro-cid-fqw42ge2> <div class="flex flex-col gap-2 items-center max-w-xl w-full" data-astro-cid-fqw42ge2> <!-- Heading --> <h2 class="text-center text-white" data-astro-cid-fqw42ge2>
1227Own every revenue moment
1228</h2> <!-- Subheading --> <p class="text-lg text-center text-white" data-astro-cid-fqw42ge2>
1229Spot real buyers, take action and win more deals with Snitcher.
1230</p> </div> <!-- Action Buttons --> <div class="flex flex-col md:flex-row gap-2 items-stretch md:items-start w-full md:w-auto" data-astro-cid-fqw42ge2> <a href="/demo" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-white/10 border border-white/10 !text-zinc-100 hover:bg-white/20 backdrop-blur-sm w-full md:w-auto justify-center">Talk to sales</a>
1230<script>
1231  (function() {
1232    function initButtonArrows() {
1233      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1234        if (button.dataset.btnArrowInit) return;
1235        button.dataset.btnArrowInit = 'true';
1236        
1237        var icon = button.querySelector('.btn-arrow-icon');
1238        if (!icon) return;
1239        
1240        button.addEventListener('mouseenter', function() {
1241          icon.classList.remove('slide-out');
1242          icon.classList.add('slide-in');
1243        });
1244        
1245        button.addEventListener('mouseleave', function() {
1246          icon.classList.remove('slide-in');
1247          icon.classList.add('slide-out');
1248        });
1249      });
1250    }
1251
1252    if (document.readyState === 'loading') {
1253      document.addEventListener('DOMContentLoaded', initButtonArrows);
1254    } else {
1255      initButtonArrows();
1256    }
1257    
1258    document.addEventListener('astro:page-load', initButtonArrows);
1259  })();
1260</script>
1260 <a href="https://app.snitcher.com/register" class="inline-flex items-center justify-center gap-2 px-4 h-10 rounded-full font-semibold text-base transition-colors shadow group !no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2  bg-white !text-zinc-950 hover:bg-zinc-100 !pl-3 w-full md:w-auto justify-center"> <svg width="20" height="20" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0" aria-hidden="true"> <path d="M211.265 148.37C187.598 224.219 123.858 249.286 104.886 255.161C89.5631 259.93 84.2516 243.014 99.6384 238.244C116.524 233.017 173.258 210.709 194.355 143.094C205.691 106.783 186.837 68.5577 152.325 57.79C117.074 46.7923 80.2423 68.8045 69.2412 104.054C67.5848 109.361 63.152 113.363 58.9333 113.363C52.8997 113.363 50.3043 105.281 52.3341 98.7783C66.1181 54.6057 112.724 26.8804 157.601 40.8841C202.129 54.7776 225.257 103.517 211.265 148.37ZM168.681 5.37712C102.536 -15.2639 36.1026 25.9353 16.8302 87.6986C7.05086 119.034 28.0846 150.559 58.9017 150.559C79.3873 150.559 98.2403 135.991 104.747 115.134C109.855 98.7636 126.062 88.5621 141.246 93.2947C156.164 97.95 164.06 115.32 158.854 132.015C145.032 176.301 103.905 207.232 58.8369 207.236H58.8306C53.1805 207.236 47.4893 206.748 41.9193 205.783C26.0231 203.042 23.0907 220.506 38.9072 223.237C45.4654 224.373 52.1665 224.95 58.822 224.95C111.569 224.95 159.656 188.902 175.758 137.291C183.809 111.494 170.991 84.021 146.522 76.39C121.831 68.6852 95.7658 84.4535 87.8419 109.858C83.6147 123.396 71.7306 132.852 58.9427 132.852C40.047 132.852 27.4971 112.952 33.7365 92.9742C51.7151 35.4079 111.149 5.98231 163.405 22.2851C217.821 39.2652 247.198 98.6229 229.863 154.174C220.278 184.887 202.64 212.731 179.141 234.367C167.297 245.262 179.436 258.135 191.286 247.224C217.073 223.484 236.259 193.132 246.77 159.45C267.275 93.7541 231.625 25.0164 168.681 5.37712ZM58.6439 187.8C95.3789 187.8 128.937 162.473 140.255 126.211C142.694 118.381 139.514 113.349 135.392 112.062C131.306 110.787 125.784 113.124 123.348 120.937C114.327 149.843 87.7136 170.032 58.6287 170.032C44.0506 170.032 30.2484 164.946 18.717 155.324C6.35199 145.002 -4.98893 158.544 7.38454 168.884C22.2568 181.257 39.9787 187.797 58.6349 187.8H58.6439Z" fill="currentColor"></path> </svg> <span>Start for free</span> </a>
1260<script>
1261  (function() {
1262    function initButtonArrows() {
1263      document.querySelectorAll('.btn-with-arrow').forEach(function(button) {
1264        if (button.dataset.btnArrowInit) return;
1265        button.dataset.btnArrowInit = 'true';
1266        
1267        var icon = button.querySelector('.btn-arrow-icon');
1268        if (!icon) return;
1269        
1270        button.addEventListener('mouseenter', function() {
1271          icon.classList.remove('slide-out');
1272          icon.classList.add('slide-in');
1273        });
1274        
1275        button.addEventListener('mouseleave', function() {
1276          icon.classList.remove('slide-in');
1277          icon.classList.add('slide-out');
1278        });
1279      });
1280    }
1281
1282    if (document.readyState === 'loading') {
1283      document.addEventListener('DOMContentLoaded', initButtonArrows);
1284    } else {
1285      initButtonArrows();
1286    }
1287    
1288    document.addEventListener('astro:page-load', initButtonArrows);
1289  })();
1290</script>
1290 </div> </div> </div> </div> </section> <!-- Main Footer Content. Normally `pt-0` — the callout above supplies the top
1291       space. Without it the link columns would jam against the page. --> <div class="w-full bg-zinc-950 px-6 md:px-16 pb-8 pt-0" data-astro-cid-fqw42ge2> <div class="max-w-7xl mx-auto" data-astro-cid-fqw42ge2> <!-- Main Content: Logo and Navigation --> <div class="flex flex-col md:flex-row gap-24 items-start mb-16 md:mb-24 pt-0" data-astro-cid-fqw42ge2> <!-- Left Column: Logo, Tagline, Badges --> <div class="flex flex-col gap-8 w-full md:w-1/2" data-astro-cid-fqw42ge2> <!-- Logo --> <a href="/" class="flex items-center gap-2.5 w-64 h-14" data-astro-cid-fqw42ge2> <img src="/logo-symbol.svg" alt="Snitcher symbol" class="w-12 h-12 object-contain brightness-0 invert" loading="lazy" decoding="auto" data-astro-cid-fqw42ge2> <img src="/logo-wordmark.svg" alt="Snitcher" class="w-48 h-9 object-contain brightness-0 invert" loading="lazy" decoding="auto" data-astro-cid-fqw42ge2> </a> <!-- Tagline --> <p class="text-lg text-white" data-astro-cid-fqw42ge2>
1292Uncover your hidden website visitors.
1293</p> <!-- G2 Badges — the current release, straight off src/data/g2-badges.ts --> <a href="https://www.g2.com/products/snitcher/reviews" target="_blank" rel="noopener noreferrer" class="flex gap-2 items-center flex-wrap hover:opacity-80 transition-opacity"> <img src="/_astro/g2-summer-2026-leader.DXAU52y-.svg" alt="G2 Summer 2026 Leader" class="w-20 object-contain" loading="lazy" decoding="auto"><img src="/_astro/g2-summer-2026-best-results.DpsubBts.svg" alt="G2 Summer 2026 Best Results" class="w-20 object-contain" loading="lazy" decoding="auto"><img src="/_astro/g2-summer-2026-best-usability-smb.DbiWjGVi.svg" alt="G2 Summer 2026 Best Usability Small Business" class="w-20 object-contain" loading="lazy" decoding="auto"><img src="/_astro/g2-summer-2026-most-implementable.XtG3_GLc.svg" alt="G2 Summer 2026 Most Implementable" class="w-20 object-contain" loading="lazy" decoding="auto"><img src="/_astro/g2-summer-2026-best-estimated-roi-mid-market.CYMbXl6r.svg" alt="G2 Summer 2026 Best Estimated ROI Mid-Market" class="w-20 object-contain" loading="lazy" decoding="auto"><img src="/_astro/g2-summer-2026-best-relationship-smb.D5l7xB20.svg" alt="G2 Summer 2026 Best Relationship Small Business" class="w-20 object-contain" loading="lazy" decoding="auto"> </a> <!-- Compliance Badges --> <a href="https://trust.snitcher.com" target="_blank" rel="noopener noreferrer" class="flex gap-4 items-center hover:opacity-80 transition-opacity" data-astro-cid-fqw42ge2> <!-- GDPR Badge --> <img src="/footer-badges/gdpr-compliant.svg" alt="GDPR Compliant" class="w-16 object-contain" loading="lazy" decoding="auto" data-astro-cid-fqw42ge2> <!-- ISO 27001 Badge --> <img src="/footer-badges/iso-27001.svg" alt="ISO 27001 In Progress" class="w-16 object-contain" loading="lazy" decoding="auto" data-astro-cid-fqw42ge2> </a> <!-- Partner Program Callout --> <div class="partner-callout flex items-center gap-2.5 pt-2" data-astro-cid-fqw42ge2> <!-- Partner badge → links to the agency partner program explainer --> <a href="/partners/agency-program" class="partner-badge-link inline-flex shrink-0 rounded-xl transition-transform duration-200 hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-lavender-400 focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-950" aria-label="Join the Snitcher agency partner program" data-astro-cid-fqw42ge2> <img src="/footer-badges/snitcher-partner.svg" alt="Snitcher Certified Partner" class="w-32 object-contain" loading="lazy" decoding="auto" data-astro-cid-fqw42ge2> </a> <!-- Doodle arrow pointing left at the badge --> <svg class="fill-current w-8 h-8 shrink-0 rotate-180 text-lavender-300" viewBox="0 -66.5 220 220" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-fqw42ge2> <path d="M3.17247 25.8421C5.28745 28.1788 7.82542 30.0907 9.7289 32.6399C26.0142 55.3699 49.279 66.6287 75.0817 72.7892C83.9646 74.9135 94.1165 74.7011 103.211 72.7892C129.225 67.6909 152.913 56.8569 173.428 39.8625C179.35 34.9766 184.426 28.8161 188.656 21.8059C186.33 22.6556 183.792 23.5054 181.465 24.5675C174.697 27.5415 167.929 30.728 160.95 33.2772C157.989 34.3393 154.393 34.3393 151.009 34.1269C149.74 34.1269 147.837 32.215 147.625 30.9404C147.414 29.6658 148.683 27.3291 149.74 27.1167C167.718 21.5935 183.369 10.972 199.654 1.83746C205.364 -1.34899 208.96 -0.49927 211.498 5.23635C217.631 19.4692 220.381 34.5517 219.958 50.0592C219.958 50.484 219.112 51.1213 217.843 52.3959C205.364 47.7224 209.171 34.1269 203.038 23.2929C201.557 25.8421 200.5 27.9664 199.231 29.6658C172.582 62.5926 137.262 80.0118 96.2315 86.3848C90.0981 87.4469 83.3301 87.022 76.9852 85.9599C53.7205 81.9237 32.9937 72.1519 15.8623 55.7948C10.3634 50.484 6.34493 43.4738 2.32647 36.8885C0.634492 34.3393 0.634494 30.728 0 27.754C1.05749 27.1167 2.11498 26.4794 3.17247 25.8421Z" data-astro-cid-fqw42ge2></path> </svg> <!-- Hand-written note --> <span class="font-hand text-2xl leading-[1.05] text-lavender-300 -rotate-2" data-astro-cid-fqw42ge2>
1294Run an agency?<br data-astro-cid-fqw42ge2>Join our partner programme
1295</span> </div> </div> <!-- Right Column: Navigation Links --> <div class="w-full md:w-1/2" data-astro-cid-fqw42ge2> <div class="grid grid-cols-2 md:grid-cols-3 gap-x-4 gap-y-8" data-astro-cid-fqw42ge2> <div class="flex flex-col gap-4" data-astro-cid-fqw42ge2> <h5 class="text-white" data-astro-cid-fqw42ge2>Product</h5> <a href="/platform" class="footer-nav-link" data-astro-cid-fqw42ge2> Platform </a><a href="/radar" class="footer-nav-link" data-astro-cid-fqw42ge2> Radar </a><a href="/ip-to-company-api" class="footer-nav-link" data-astro-cid-fqw42ge2> IP to Company </a><a href="/integrations" class="footer-nav-link" data-astro-cid-fqw42ge2> Integrations </a><a href="/changelog" class="footer-nav-link" data-astro-cid-fqw42ge2> Changelog </a> </div><div class="flex flex-col gap-4" data-astro-cid-fqw42ge2> <h5 class="text-white" data-astro-cid-fqw42ge2>Journey</h5> <a href="/identify" class="footer-nav-link" data-astro-cid-fqw42ge2> Identify </a><a href="/signal" class="footer-nav-link" data-astro-cid-fqw42ge2> Signal </a><a href="/automate" class="footer-nav-link" data-astro-cid-fqw42ge2> Automate </a><a href="/engage" class="footer-nav-link" data-astro-cid-fqw42ge2> Engage </a><a href="/measure" class="footer-nav-link" data-astro-cid-fqw42ge2> Measure </a> </div><div class="flex flex-col gap-4" data-astro-cid-fqw42ge2> <h5 class="text-white" data-astro-cid-fqw42ge2>Teams</h5> <a href="/solutions/sales" class="footer-nav-link" data-astro-cid-fqw42ge2> Sales </a><a href="/solutions/marketing" class="footer-nav-link" data-astro-cid-fqw42ge2> Marketing </a><a href="/solutions/revops" class="footer-nav-link" data-astro-cid-fqw42ge2> RevOps </a><a href="/solutions/agency" class="footer-nav-link" data-astro-cid-fqw42ge2> Agency </a> </div><div class="flex flex-col gap-4" data-astro-cid-fqw42ge2> <h5 class="text-white" data-astro-cid-fqw42ge2>Use Cases</h5> <a href="/use-cases/account-scoring" class="footer-nav-link" data-astro-cid-fqw42ge2> Account scoring </a><a href="/use-cases/contact-reveal" class="footer-nav-link" data-astro-cid-fqw42ge2> Contact reveal </a><a href="/use-cases/enrich-ga4" class="footer-nav-link" data-astro-cid-fqw42ge2> GA4 enrichment </a><a href="/use-cases/lead-generation" class="footer-nav-link" data-astro-cid-fqw42ge2> Lead generation </a><a href="/use-cases/marketing-attribution" class="footer-nav-link" data-astro-cid-fqw42ge2> Marketing attribution </a><a href="/use-cases/visitor-identification" class="footer-nav-link" data-astro-cid-fqw42ge2> Visitor identification </a> </div><div class="flex flex-col gap-4" data-astro-cid-fqw42ge2> <h5 class="text-white" data-astro-cid-fqw42ge2>Resources</h5> <a href="/blog" class="footer-nav-link" data-astro-cid-fqw42ge2> Blog </a><a href="https://docs.snitcher.com" class="footer-nav-link" target="_blank" rel="noopener noreferrer" data-astro-cid-fqw42ge2> Documentation </a><a href="https://help.snitcher.com" class="footer-nav-link" target="_blank" rel="noopener noreferrer" data-astro-cid-fqw42ge2> Help center </a><a href="/partners" class="footer-nav-link" data-astro-cid-fqw42ge2> Partner Program </a><a href="/refer" class="footer-nav-link" data-astro-cid-fqw42ge2> Refer a friend </a> </div><div class="flex flex-col gap-4" data-astro-cid-fqw42ge2> <h5 class="text-white" data-astro-cid-fqw42ge2>Company</h5> <a href="/about" class="footer-nav-link" data-astro-cid-fqw42ge2> About us </a><a href="/careers" class="footer-nav-link" data-astro-cid-fqw42ge2> Careers </a><a href="#" class="footer-nav-link" data-astro-cid-fqw42ge2> Contact </a><a href="/customers" class="footer-nav-link" data-astro-cid-fqw42ge2> Customers </a><a href="https://trust.snitcher.com" class="footer-nav-link" target="_blank" rel="noopener noreferrer" data-astro-cid-fqw42ge2> Trust centre </a> </div> </div> </div> </div> <!-- Bottom Row: Copyright and Links --> <div class="flex items-center justify-between pt-0" data-astro-cid-fqw42ge2> <p class="text-sm text-zinc-400" data-astro-cid-fqw42ge2>
1296&copy; 2026 Snitcher. All rights reserved.
1297</p> <div class="flex gap-4 items-center" data-astro-cid-fqw42ge2> <a href="/privacy-policy" class="footer-bottom-link" data-astro-cid-fqw42ge2>Privacy Policy</a><a href="/terms-conditions" class="footer-bottom-link" data-astro-cid-fqw42ge2>Terms &amp; Conditions</a><a href="/cookie-policy" class="footer-bottom-link" data-astro-cid-fqw42ge2>Cookie Policy</a> </div> </div> </div> </div> </footer>   <!-- Footer Scripts --> <!-- Showdown (Markdown converter - may be needed for dynamic content) -->
1297<script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/2.1.0/showdown.min.js" async></script>
1297 <!-- 
1298  UTM Parameter Persistence is now handled by the AttributionProvider component.
1299  See: src/components/components/AttributionProvider.astro
1300  See: src/lib/attribution.ts
1301  
1302  The AttributionProvider captures UTM params, stores them, and updates
1303  all app.snitcher.com links automatically.
1304--><!-- Intercom Chat Triggers (event delegation — survives View Transitions) -->
1304<script>
1305if (!window.__intercomChatTriggersAdded) {
1306  window.__intercomChatTriggersAdded = true;
1307  document.addEventListener('click', function(e) {
1308    var target = e.target.closest('#start-chat, #start-whitelabel-chat');
1309    if (!target) return;
1310    if (typeof Intercom === 'undefined') return;
1311
1312    if (target.id === 'start-chat') {
1313      Intercom('showNewMessage');
1314    } else if (target.id === 'start-whitelabel-chat') {
1315      Intercom('showNewMessage', 'Can you tell me more about your whitelabel programme?');
1316    }
1317  });
1318}
1319</script>
1319 <!-- 
1320  Currency Localization is now handled by the CurrencyProvider component.
1321  See: src/components/components/CurrencyProvider.astro
1322  
1323  The CurrencyProvider also maintains backward compatibility with 
1324  .swap-currency and .swap-currency-2 classes for legacy elements.
1325--> <!-- Attribution & Currency -->   <!-- Event Tracking --> 
1325<script>
1326(function() {
1327  window.dataLayer = window.dataLayer || [];
1328
1329  // --- Page metadata ---
1330  function pushPageMetadata() {
1331    var path = window.location.pathname;
1332    var pageType = 'page';
1333    if (path === '/') pageType = 'homepage';
1334    else if (path.startsWith('/blog')) pageType = 'blog';
1335    else if (path.startsWith('/customers')) pageType = 'case-study';
1336    else if (path.startsWith('/partners')) pageType = 'partner';
1337    else if (path.startsWith('/solutions')) pageType = 'solution';
1338    else if (path.startsWith('/features')) pageType = 'feature';
1339    else if (path.startsWith('/use-cases')) pageType = 'use-case';
1340    else if (path.startsWith('/pricing')) pageType = 'pricing';
1341    else if (path.startsWith('/demo')) pageType = 'demo';
1342    else if (path.startsWith('/integrations')) pageType = 'integration';
1343    else if (path.startsWith('/privacy') || path.startsWith('/terms') || path.startsWith('/legal')) pageType = 'legal';
1344
1345    // dataLayer-only: Radar's native pageview already covers page context.
1346    window.dataLayer.push({
1347      event: 'page_context',
1348      page_type: pageType,
1349      page_path: path,
1350      page_title: document.title
1351    });
1352  }
1353
1354  // --- CTA click tracking ---
1355  function trackCTAClicks() {
1356    document.addEventListener('click', function(e) {
1357      var link = e.target.closest('a[href]');
1358      if (!link) return;
1359
1360      var href = link.getAttribute('href') || '';
1361      var text = (link.textContent || '').trim().substring(0, 100);
1362      var classes = link.className || '';
1363
1364      // Track clicks to app.snitcher.com (signup/login CTAs)
1365      if (href.indexOf('app.snitcher.com') !== -1) {
1366        window.snitcherTrack('cta_clicked', {
1367          cta_text: text,
1368          cta_url: href,
1369          cta_location: getLinkLocation(link),
1370          cta_type: 'app_link'
1371        });
1372        return;
1373      }
1374
1375      // Track clicks on button-styled elements (primary CTAs)
1376      if (classes.indexOf('btn') !== -1 || classes.indexOf('button') !== -1 ||
1377          link.querySelector('button') || link.getAttribute('role') === 'button') {
1378        window.snitcherTrack('cta_clicked', {
1379          cta_text: text,
1380          cta_url: href,
1381          cta_location: getLinkLocation(link),
1382          cta_type: 'button'
1383        });
1384        return;
1385      }
1386
1387      // Track demo page links
1388      if (href.indexOf('/demo') !== -1) {
1389        window.snitcherTrack('cta_clicked', {
1390          cta_text: text,
1391          cta_url: href,
1392          cta_location: getLinkLocation(link),
1393          cta_type: 'demo_request'
1394        });
1395      }
1396    });
1397  }
1398
1399  // --- Intercom chat tracking ---
1400  function trackIntercomOpens() {
1401    var chatButtons = document.querySelectorAll('#start-chat, #start-whitelabel-chat');
1402    chatButtons.forEach(function(btn) {
1403      if (btn.hasAttribute('data-track-bound')) return;
1404      btn.setAttribute('data-track-bound', 'true');
1405      btn.addEventListener('click', function() {
1406        window.snitcherTrack('intercom_chat_opened', {
1407          chat_trigger: btn.id
1408        });
1409      });
1410    });
1411  }
1412
1413  // --- HubSpot form submission tracking (iframe embeds) ---
1414  // Radar's native formTracking can't see inside HubSpot iframes; this
1415  // postMessage hook is the only signal for those, and the submitted email
1416  // de-anonymizes the visitor's whole session via identify().
1417  function trackHubSpotForms() {
1418    window.addEventListener('message', function(event) {
1419      if (event.data && event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmitted') {
1420        window.snitcherTrack('hubspot_form_submitted', {
1421          form_id: event.data.id || 'unknown'
1422        });
1423
1424        try {
1425          var values = event.data.data && event.data.data.submissionValues;
1426          var email = values && values.email;
1427          if (email && email.indexOf('@') !== -1 &&
1428              window.Snitcher && typeof window.Snitcher.identify === 'function') {
1429            window.Snitcher.identify(email);
1430          }
1431        } catch (err) { /* ignore */ }
1432      }
1433    });
1434  }
1435
1436  // --- Identify visitors we already know by email (personalized links) ---
1437  // PersonalizationCapture stores the email from outbound-campaign URLs;
1438  // pass it to Radar once per session so the whole visit is de-anonymized.
1439  function identifyFromPersonalization() {
1440    try {
1441      var api = window.SnitcherPersonalization;
1442      var data = api && api.get && api.get();
1443      var email = data && data.email;
1444      if (!email || email.indexOf('@') === -1) return;
1445
1446      var key = 'snitcher_identified_' + email.toLowerCase();
1447      if (sessionStorage.getItem(key)) return;
1448      if (window.Snitcher && typeof window.Snitcher.identify === 'function') {
1449        window.Snitcher.identify(email);
1450        sessionStorage.setItem(key, '1');
1451      }
1452    } catch (err) { /* ignore */ }
1453  }
1454
1455  // --- Persist attribution + geo as Radar visitor traits ---
1456  // Radar has no client-side UTM breakout; register() stores traits on the
1457  // visitor without emitting an event, so every later event carries them.
1458  function registerVisitorTraits() {
1459    function pushAttributionTraits(attribution) {
1460      try {
1461        if (attribution && Object.keys(attribution).length > 0 &&
1462            window.Snitcher && typeof window.Snitcher.register === 'function') {
1463          window.Snitcher.register(attribution);
1464        }
1465      } catch (err) { /* ignore */ }
1466    }
1467
1468    // AttributionProvider may have dispatched attributionReady before this
1469    // inline script's init ran — read the current state directly, then keep
1470    // listening for later captures (view-transition navigations).
1471    try {
1472      var api = window.SnitcherAttribution;
1473      if (api && typeof api.get === 'function') {
1474        pushAttributionTraits(api.get());
1475      }
1476    } catch (err) { /* ignore */ }
1477
1478    window.addEventListener('attributionReady', function(e) {
1479      pushAttributionTraits(e.detail || {});
1480    });
1481
1482    try {
1483      var currency = window.SnitcherCurrency;
1484      if (currency && typeof currency.onCountryReady === 'function') {
1485        currency.onCountryReady(function(geo) {
1486          try {
1487            if (geo && window.Snitcher && typeof window.Snitcher.register === 'function') {
1488              window.Snitcher.register({
1489                country_code: geo.countryCode || null,
1490                region: geo.region || null,
1491                is_eu: Boolean(geo.isEu)
1492              });
1493            }
1494          } catch (err) { /* ignore */ }
1495        });
1496      }
1497    } catch (err) { /* ignore */ }
1498  }
1499
1500  // --- Tab / filter interactions (Tabs.astro dispatches bubbling 'tabchange') ---
1501  function trackTabChanges() {
1502    document.addEventListener('tabchange', function(e) {
1503      var el = e.target;
1504      var elId = (el && el.id) || '';
1505      // PricingSection emits its own richer pricing_billing_toggled event.
1506      if (elId === 'billing-tabs') return;
1507      window.snitcherTrack('tab_filter_changed', {
1508        tab_id: (e.detail && e.detail.tabId) || '',
1509        tabs_element: elId,
1510        page_path: window.location.pathname
1511      });
1512    });
1513  }
1514
1515  // --- Integration detail views ---
1516  // The detail page stamps [data-track-integration] with name/category/status
1517  // so coming-soon and beta interest is measurable per integration.
1518  function trackIntegrationView() {
1519    var el = document.querySelector('[data-track-integration]');
1520    if (!el) return;
1521    window.snitcherTrack('integration_viewed', {
1522      integration: el.getAttribute('data-integration-name') || '',
1523      category: el.getAttribute('data-integration-category') || '',
1524      status: el.getAttribute('data-integration-status') || 'stable',
1525      page_path: window.location.pathname
1526    });
1527  }
1528
1529  // --- Journey story pages: which sections actually get seen ---
1530  // Active time on page is native to Radar, but where the scroll story
1531  // loses people isn't. Fires once per section per pageview when the
1532  // section crosses the middle band of the viewport.
1533  var JOURNEY_PATHS = ['/identify', '/measure', '/engage', '/signal', '/automate'];
1534
1535  function trackJourneySections() {
1536    var path = window.location.pathname.replace(/\/$/, '');
1537    if (JOURNEY_PATHS.indexOf(path) === -1) return;
1538    if (!('IntersectionObserver' in window)) return;
1539
1540    var sections = document.querySelectorAll('section.page-section');
1541    if (!sections.length) return;
1542
1543    var observer = new IntersectionObserver(function(entries) {
1544      entries.forEach(function(entry) {
1545        if (!entry.isIntersecting) return;
1546        var el = entry.target;
1547        observer.unobserve(el);
1548        var heading = el.querySelector('h1, h2, h3');
1549        window.snitcherTrack('journey_section_viewed', {
1550          page_path: path,
1551          section_index: parseInt(el.getAttribute('data-journey-index') || '0', 10),
1552          section_title: heading ? (heading.textContent || '').trim().substring(0, 80) : ''
1553        });
1554      });
1555    }, { rootMargin: '-30% 0px -30% 0px', threshold: 0 });
1556
1557    sections.forEach(function(el, i) {
1558      el.setAttribute('data-journey-index', String(i));
1559      observer.observe(el);
1560    });
1561  }
1562
1563  // --- Article read depth (blog posts + customer stories) ---
1564  // Radar has no scroll-depth signal; active time alone can't tell
1565  // "finished the article" from "left the tab open".
1566  var articleRead = { path: null, article: null, fired: {} };
1567  var ARTICLE_MILESTONES = [50, 90];
1568
1569  function resetArticleRead() {
1570    articleRead.path = window.location.pathname;
1571    articleRead.fired = {};
1572    articleRead.article = null;
1573    var path = articleRead.path;
1574    if (/^\/(blog|customers)\/.+/.test(path)) {
1575      articleRead.article = document.querySelector('article.editorial-prose');
1576    }
1577  }
1578
1579  function trackArticleReadDepth() {
1580    var rafPending = false;
1581    window.addEventListener('scroll', function() {
1582      if (!articleRead.article || rafPending) return;
1583      rafPending = true;
1584      requestAnimationFrame(function() {
1585        rafPending = false;
1586        var article = articleRead.article;
1587        if (!article || !document.contains(article)) return;
1588        var rect = article.getBoundingClientRect();
1589        var articleTop = rect.top + window.scrollY;
1590        var readPx = window.scrollY + window.innerHeight - articleTop;
1591        var progress = Math.min(100, Math.round((readPx / article.offsetHeight) * 100));
1592
1593        ARTICLE_MILESTONES.forEach(function(milestone) {
1594          if (progress >= milestone && !articleRead.fired[milestone]) {
1595            articleRead.fired[milestone] = true;
1596            window.snitcherTrack('article_read', {
1597              milestone: milestone,
1598              page_path: articleRead.path
1599            });
1600          }
1601        });
1602      });
1603    }, { passive: true });
1604  }
1605
1606  // --- Helper: determine link location on page ---
1607  function getLinkLocation(el) {
1608    var nav = el.closest('nav, [role="navigation"]');
1609    if (nav) return 'navbar';
1610    var footer = el.closest('footer');
1611    if (footer) return 'footer';
1612    var hero = el.closest('[class*="hero"], section:first-of-type');
1613    if (hero) return 'hero';
1614    return 'body';
1615  }
1616
1617  // Initialize on DOMContentLoaded
1618  if (document.readyState === 'loading') {
1619    document.addEventListener('DOMContentLoaded', init);
1620  } else {
1621    init();
1622  }
1623
1624  function init() {
1625    pushPageMetadata();
1626    trackCTAClicks();
1627    trackIntercomOpens();
1628    trackHubSpotForms();
1629    trackTabChanges();
1630    trackArticleReadDepth();
1631    registerVisitorTraits();
1632    // Per-page trackers (re-run on view transitions below)
1633    identifyFromPersonalization();
1634    trackIntegrationView();
1635    trackJourneySections();
1636    resetArticleRead();
1637  }
1638
1639  // --- Re-init on Astro View Transitions (client-side navigation) ---
1640  // `astro:page-load` fires on both initial load AND subsequent navigations.
1641  // We skip the first fire to avoid double-tracking (inline scripts already ran).
1642  var isInitialLoad = true;
1643
1644  document.addEventListener('astro:page-load', function() {
1645    if (isInitialLoad) {
1646      isInitialLoad = false;
1647      return;
1648    }
1649
1650    // Re-push page metadata to dataLayer
1651    pushPageMetadata();
1652    trackIntercomOpens();
1653
1654    // Per-page trackers for the newly swapped-in page
1655    identifyFromPersonalization();
1656    trackIntegrationView();
1657    trackJourneySections();
1658    resetArticleRead();
1659
1660    // Push virtual pageview for GTM (triggers GTM tags including Intercom)
1661    window.dataLayer.push({
1662      event: 'virtualPageview',
1663      page_path: window.location.pathname,
1664      page_title: document.title
1665    });
1666
1667    // Re-trigger Segment page tracking
1668    if (window.analytics && typeof window.analytics.page === 'function') {
1669      window.analytics.page();
1670    }
1671
1672    // Re-trigger Meta Pixel pageview
1673    if (typeof window.fbq === 'function') {
1674      window.fbq('track', 'PageView');
1675    }
1676
1677    // Re-trigger Snitcher Radar page tracking
1678    if (window.Snitcher && typeof window.Snitcher.page === 'function') {
1679      window.Snitcher.page();
1680    }
1681
1682    // Re-render Intercom widget (its DOM is destroyed by the body swap,
1683    // but the JS singleton on window survives — 'update' triggers a fresh render)
1684    if (typeof window.Intercom === 'function') {
1685      window.Intercom('update');
1686    }
1687  });
1688})();
1689</script>
1689 </body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.